From: David Woodhouse <dwmw2@infradead.org>
To: b43-dev@lists.infradead.org
Subject: No DMA RX on some BCM4321, on BCM43224 and BCM43225
Date: Fri, 12 Aug 2011 02:41:33 +0100 [thread overview]
Message-ID: <1313113295.27274.53.camel@i7.infradead.org> (raw)
In-Reply-To: <1311114796.3062.9.camel@shinybook.infradead.org>
On Tue, 2011-07-19 at 15:33 -0700, David Woodhouse wrote:
> The other thing I observed that under ndiswrapper, the Windows driver
> (for BCM4331) was writing the full physical address to the TX_INDEX
> register, not an index at all.
>
> Setup...
> W 4 159.866820 1 0xb06002c8 0x1f86c000 0x0 0
> W 4 159.866822 1 0xb06002cc 0x80000000 0x0 0
> R 4 159.866827 1 0xb06002c0 0x0 0x0 0
> W 4 159.866829 1 0xb06002c0 0x801 0x0 0
>
> ... and use:
> W 4 197.207151 1 0xb06002c4 0x1f86c010 0x0 0
>
> ... and again later:
> W 4 197.228596 1 0xb06002c4 0x1f86c020 0x0 0
>
> Is that behaviour understood?
Having fixed b43 to do the same (and thanks to all of Rafa?'s work), I
now have my BCM4331 working with b43.
Without this change, if the TX descriptor ring was not aligned to 8KiB,
the hardware would get confused when we send the 256th DMA frame and
wrap back to slot zero.
I have to include the higher bits of the address in what I write to the
TXINDEX register, *and* I have to enable the DMA engine by writing to
TXCTL *after* setting the TXRING{HI,LO} registers when setting it up.
The brcmsmac driver seems to do this only if the TXRINGLO register
actually latches the low bits (write 0xff0, read back and see if you get
zero).
I also changed the values of B43_DMA64_[RT]XSTATDPTR to 0xfff, for
similar reasons ? sometimes bit 12 is set when it arguably shouldn't be,
because the hardware works strangely if the table isn't aligned.
--
dwmw2
next prev parent reply other threads:[~2011-08-12 1:41 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-18 20:14 No DMA RX on some BCM4321, on BCM43224 and BCM43225 Rafał Miłecki
2011-07-18 20:29 ` Larry Finger
2011-07-18 22:30 ` Rafał Miłecki
2011-07-18 23:32 ` Rafał Miłecki
2011-07-19 6:56 ` Rafał Miłecki
2011-07-19 14:46 ` Larry Finger
2011-07-19 15:12 ` Jonas Gorski
2011-07-18 20:41 ` Michael Büsch
2011-07-18 22:39 ` Rafał Miłecki
2011-07-18 22:59 ` Michael Büsch
2011-07-18 23:07 ` Rafał Miłecki
2011-07-18 23:08 ` Michael Büsch
2011-07-18 23:15 ` Rafał Miłecki
2011-07-18 23:24 ` Michael Büsch
2011-07-18 23:29 ` Rafał Miłecki
2011-07-18 23:12 ` Rafał Miłecki
2011-07-19 22:33 ` David Woodhouse
2011-08-12 1:41 ` David Woodhouse [this message]
2011-08-12 10:15 ` [PATCH] b43: Mask out unwanted bits of RX slot address David Woodhouse
2011-08-13 19:10 ` Rafał Miłecki
2011-08-13 19:38 ` Michael Büsch
2011-08-13 22:13 ` Rafał Miłecki
2011-08-13 22:56 ` David Woodhouse
2011-08-14 8:18 ` Rafał Miłecki
2011-08-14 8:19 ` David Woodhouse
2011-08-14 9:02 ` Rafał Miłecki
2011-08-14 9:07 ` Rafał Miłecki
2011-08-14 9:24 ` Rafał Miłecki
2011-08-14 9:31 ` Rafał Miłecki
2011-08-14 11:17 ` Rafał Miłecki
2011-08-14 11:22 ` Rafał Miłecki
2011-08-14 11:35 ` David Woodhouse
2011-08-14 15:02 ` Rafał Miłecki
2011-08-14 15:10 ` Michael Büsch
2011-08-14 11:38 ` Rafał Miłecki
2011-08-14 11:52 ` Michael Büsch
2011-08-14 12:06 ` David Woodhouse
2011-08-14 13:43 ` Rafał Miłecki
2011-08-12 10:27 ` [PATCH] Fix alignment issues with DMA TX on BCM4331 David Woodhouse
2011-08-13 19:06 ` Rafał Miłecki
2011-08-13 20:18 ` David Woodhouse
2011-08-13 20:22 ` Rafał Miłecki
2011-08-13 20:36 ` David Woodhouse
2011-08-14 8:09 ` Rafał Miłecki
2011-08-13 21:57 ` Larry Finger
2011-08-13 22:02 ` Rafał Miłecki
2011-08-13 22:07 ` David Woodhouse
2011-08-13 22:12 ` Rafał Miłecki
2011-08-13 22:17 ` David Woodhouse
2011-08-14 7:10 ` Rafał Miłecki
2011-08-14 7:35 ` Rafał Miłecki
2011-08-14 8:04 ` David Woodhouse
2011-08-14 8:14 ` Rafał Miłecki
2011-08-13 22:14 ` Larry Finger
2011-08-13 22:17 ` David Woodhouse
2011-08-13 22:29 ` Larry Finger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1313113295.27274.53.camel@i7.infradead.org \
--to=dwmw2@infradead.org \
--cc=b43-dev@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).