From: "Rafał Miłecki" <zajec5@gmail.com>
To: b43-dev@lists.infradead.org
Subject: Problem with understanding DMA on some machines (known solution!), specs needed?
Date: Mon, 25 Jul 2011 23:54:00 +0200 [thread overview]
Message-ID: <CACna6ryCsYicWCmNj5tWZ=w53K9qA8qoFHmNT4bQSSVG+sB-xQ@mail.gmail.com> (raw)
Hey, I've finally came back to my 14e4:4329 with not working DMA. I
hoped disabling parity will make my DMA work, but this didn't do the
trick.
The card is PCI one with following params:
SSB 2.4
BCM4321
SPROM: 4
PMU: ?
Core rev: 11
PHY: N / 1
Radio: 0x2055 / 4
I've dumped wl and b43 ops and compare them. Noticed something
interesting in DMA setup.
wl:
read32 0xc0200200 -> 0x00000000
write32 0xc0200200 <- 0x00000801
write32 0xc0200208 <- 0x5f310000
write32 0xc020020c <- 0x00000000
b43:
write32 0xc0200200 <- 0x00000801
write32 0xc0200208 <- 0x198b2000
write32 0xc020020c <- 0x80000000
Can you see the difference? wl does not put routing (translation) bits
in 0x20c@all. 0x208 on the other hand is suspicious.
It looks that wl is:
1) Using 0x40000000 routing instead of 0x80000000 routing
2) wl puts routing bits in addrlo instead of addrhi
According to the specs, routing goes always to the addrhi:
> The address 2 field is as follows (address 1 contains all address bits):
> Mask Function
> 0x3FFFFFFF Address
> 0xC0000000 Routing
So I've hacked b43 to use 0x40000000 as translation and to put routing
in addrlo. Wohoo, this helped! For the first time I saw packets using
DMA engine.
Now, the question: when for real we should use such a solution?
Larry, could you check your driver? Can you see anything about this?
Is this maybe PCI (not PCIe!) specific?
--
Rafa?
next reply other threads:[~2011-07-25 21:54 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-25 21:54 Rafał Miłecki [this message]
2011-07-25 22:40 ` Problem with understanding DMA on some machines (known solution!), specs needed? Rafał Miłecki
2011-07-26 1:07 ` Larry Finger
2011-07-26 0:35 ` Larry Finger
2011-07-26 7:20 ` Rafał Miłecki
2011-07-26 7:24 ` Rafał Miłecki
2011-07-26 8:24 ` Rafał Miłecki
2011-07-26 15:33 ` Larry Finger
2011-07-26 15:49 ` Michael Büsch
2011-07-26 16:30 ` Rafał Miłecki
2011-07-26 16:32 ` Rafał Miłecki
2011-07-26 17:10 ` Larry Finger
2011-07-26 18:55 ` Michael Büsch
2011-07-30 16:44 ` Michael Büsch
2011-07-30 23:48 ` Rafał Miłecki
2011-07-31 5:54 ` Michael Büsch
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='CACna6ryCsYicWCmNj5tWZ=w53K9qA8qoFHmNT4bQSSVG+sB-xQ@mail.gmail.com' \
--to=zajec5@gmail.com \
--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).