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>