From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Date: Sun, 14 Aug 2011 10:14:57 +0200 Subject: [PATCH] Fix alignment issues with DMA TX on BCM4331 In-Reply-To: <1313309045.28740.0.camel@i7.infradead.org> References: <1311114796.3062.9.camel@shinybook.infradead.org> <1313113295.27274.53.camel@i7.infradead.org> <1313144864.27274.81.camel@i7.infradead.org> <4E46F35F.1060900@lwfinger.net> <1313273267.16730.3.camel@i7.infradead.org> <1313273835.18116.1.camel@i7.infradead.org> <1313309045.28740.0.camel@i7.infradead.org> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: b43-dev@lists.infradead.org W dniu 14 sierpnia 2011 10:04 u?ytkownik David Woodhouse napisa?: > On Sun, 2011-08-14 at 09:35 +0200, Rafa? Mi?ecki wrote: >> >> > The brcm80211 driver doesn't; it writes TXCTL last, unconditionally. >> >> Uh, you mead me read that code... OK: >> >> if (!di->aligndesc_4k) >> ? ? ? ? _dma_ddtable_init(di, DMA_TX, di->txdpa); >> >> if ((di->dma.dmactrlflags & DMA_CTRL_PEN) == 0) >> ? ? ? ? control |= D64_XC_PD; >> OR_REG(&di->d64txregs->control, control); >> >> if (di->aligndesc_4k) >> ? ? ? ? _dma_ddtable_init(di, DMA_TX, di->txdpa); > > Hm, so I lied. Sorry about that. Will send a new patch. > > I'll also have another look at the RX path. I had tried enabling RX > after setting the addresses, but that had failed. Dump from ndis on BCM4331 for RX ring: write32 0xb0600228 <- 0x1f85e000 ADDR_LO write32 0xb060022c <- 0x80000000 ADDR_HI read32 0xb0600220 -> 0x00000040 CTL (Frame Offset: 0x20) write32 0xb0600220 <- 0x0000084d CTL (Frame Offset: 0x26 | Parity Disable) write32 0xb0600224 <- 0x1f85e200 DESC_STOP -- Rafa?