pccbb pccard rman - Something is very wrong somewhere

Carlos Velasco freebsd at newipnet.com
Thu Apr 8 17:36:11 PDT 2004


On 07/04/2004 at 9:21 M. Warner Losh wrote:

>Cool!  There's some unintended effects of doing this for ALL memory
>allocations on the CardBus cards.  However, it is relatively easy to
>fix in a slightly different way.  Here's the diffs I have in my tree.
>Do they also solve the problems for you?  I've run with a 4k
>allocation boundary locally, but that only helps slightly.

We need the below patch for it to work as pccbb is overriding alignment for
pcic.

However it does not work, it reads CIS but card doesn't work. I think it's
because further resources (pccard0: ccr_res == 88002000-880023ff,
base=ff80) need 64k alignment too for card to work.

--- dev/pccbb/pccbb.c	Sun Apr  4 22:37:54 2004
+++ dev/pccbb/pccbb.c	Thu Apr  8 13:42:53 2004
@@ -1765,8 +1765,9 @@
 			start = cbb_start_mem;
 		if (end < start)
 			end = start;
-		flags = (flags & ~RF_ALIGNMENT_MASK) |
-		    rman_make_alignment_flags(CBB_MEMALIGN);
+		if (RF_ALIGNMENT(flags) < CBB_MEMALIGN_BITS)
+			flags = (flags & ~RF_ALIGNMENT_MASK) |
+			    rman_make_alignment_flags(CBB_MEMALIGN);
 		break;
 	case SYS_RES_IOPORT:
 		if (start < cbb_start_16_io)


Regards,
Carlos Velasco




More information about the freebsd-mobile mailing list