Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 09 Apr 2004 02:34:53 +0200
From:      "Carlos Velasco" <freebsd@newipnet.com>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        marc@mit.edu
Subject:   Re[2]: pccbb pccard rman - Something is very wrong somewhere
Message-ID:  <200404090234530949.15ACB39A@192.168.128.16>
In-Reply-To: <20040407.092146.40772577.imp@bsdimp.com>
References:  <20040406.162834.02299817.imp@bsdimp.com> <20040406.231324.131273745.imp@bsdimp.com> <200404071245040782.0D909C4C@192.168.128.16> <20040407.092146.40772577.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200404090234530949.15ACB39A>