W dniu 14 sierpnia 2011 14:06 użytkownik David Woodhouse <[email protected]> napisał: > On Sun, 2011-08-14 at 13:38 +0200, Rafał Miłecki wrote: >> In any case we see it can happen firmware is using that 0x1000 for >> indexing. > > Well yes, but that won't happen if we limit ourselves to 4KiB of ring. > > So continuing to use 4KiB and masking out the 'top' bit works too.
Well, currently we use just 1 KiB for RX ring: #define B43_RXRING_SLOTS 64 (to remind others: sizeof(struct b43_dmadesc64) equals 0x10) Setting 0x1000 bit with value taken from address sounds like pure bug, I can not image any real use of that. Why we should ever want to read single bit of ring base address from descriptor... In the future, if Broadcom will use more than 256 slots (more than 4 KiB) for RX ring, we will need that bit. I prefer to add workaround for this hardware bug now, rather than fixing this little hack in the future. -- Rafał _______________________________________________ b43-dev mailing list [email protected] http://lists.infradead.org/mailman/listinfo/b43-dev
