From: Matthew Wilcox <matthew@wil.cx>
To: "Luis R. Rodriguez" <mcgrof@bombadil.infradead.org>
Cc: "Luis R. Rodriguez" <mcgrof@gmail.com>,
Nick Kossifidis <mickflemm@gmail.com>,
linux-wireless <linux-wireless@vger.kernel.org>,
ath5k-devel@lists.ath5k.org,
Stephen Hemminger <shemminger@vyatta.com>,
Kyle McMartin <kyle@mcmartin.ca>
Subject: Re: pci_set_mwi() and ath5k
Date: Wed, 4 Nov 2009 15:29:04 -0700 [thread overview]
Message-ID: <20091104222904.GJ10555@parisc-linux.org> (raw)
In-Reply-To: <20091104221426.GA2599@bombadil.infradead.org>
On Wed, Nov 04, 2009 at 05:14:26PM -0500, Luis R. Rodriguez wrote:
> On Wed, Nov 04, 2009 at 02:04:11PM -0800, Luis R. Rodriguez wrote:
> > On Wed, Nov 4, 2009 at 2:00 PM, Matthew Wilcox <matthew@wil.cx> wrote:
> > > On Wed, Nov 04, 2009 at 01:52:30PM -0800, Luis R. Rodriguez wrote:
> > >> > Even better: I just confirmation from our systems team that our legacy
> > >> > devices and 11n PCI devices don't support MWR so I'll remove all that
> > >> > cruft crap.
> > >>
> > >> I meant MWI of course.
> > >
> > > Yes, but they don't necessarily just use cacheline size for MWI ... some
> > > devices use cacheline size for setting up data structures. ?Might be
> > > worth just checking explicitly that they don't use the cacheline size
> > > register for anything.
> >
> > Oh right -- so the typical Atheros hack for this is to check the cache
> > line size, and if its 0 set it to L1_CACHE_BYTES. Then eventually read
> > from PCI_CACHE_LINE_SIZE pci config to align the skb data. So what I
> > was doing now is removing all this cruft and replacing it with a
> > generic allocator for atheros drivers that aligns simply to the
> > L1_CACHE_BYTES. Sound kosher?
>
> Something like this:
Doesn't look kosher to me. You're not programming the CLS register
now at all, which means you're relying on something else having set
it up for you. If you could EXPORT_SYMBOL(pci_set_cacheline_size)
and include a call to it somewhere, that would be good. You can rely
on pci_cache_line_size not changing after the system has booted.
> /*
> - * Cache line size is used to size and align various
> - * structures used to communicate with the hardware.
> - */
> - pci_read_config_byte(pdev, PCI_CACHE_LINE_SIZE, &csz);
> - if (csz == 0) {
> - /*
> - * Linux 2.4.18 (at least) writes the cache line size
> - * register as a 16-bit wide register which is wrong.
> - * We must have this setup properly for rx buffer
> - * DMA to work so force a reasonable value here if it
> - * comes up zero.
> - */
> - csz = L1_CACHE_BYTES >> 2;
> - pci_write_config_byte(pdev, PCI_CACHE_LINE_SIZE, csz);
> - }
These comments are what give me pause.
--
Matthew Wilcox Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
next prev parent reply other threads:[~2009-11-04 22:29 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-04 20:04 pci_set_mwi() and ath5k Luis R. Rodriguez
2009-11-04 20:12 ` Nick Kossifidis
2009-11-04 21:30 ` Luis R. Rodriguez
2009-11-04 21:36 ` Luis R. Rodriguez
2009-11-04 21:52 ` Luis R. Rodriguez
2009-11-04 21:52 ` Luis R. Rodriguez
2009-11-04 22:00 ` Matthew Wilcox
2009-11-04 22:04 ` Luis R. Rodriguez
2009-11-04 22:14 ` Luis R. Rodriguez
2009-11-04 22:28 ` Luis R. Rodriguez
2009-11-04 22:29 ` Matthew Wilcox [this message]
2009-11-04 22:39 ` Luis R. Rodriguez
2009-11-04 22:31 ` Nick Kossifidis
2009-11-04 22:45 ` Luis R. Rodriguez
2009-11-04 22:47 ` Luis R. Rodriguez
2009-11-04 23:14 ` Luis R. Rodriguez
2009-11-05 0:16 ` Nick Kossifidis
2009-11-05 2:55 ` Bob Copeland
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=20091104222904.GJ10555@parisc-linux.org \
--to=matthew@wil.cx \
--cc=ath5k-devel@lists.ath5k.org \
--cc=kyle@mcmartin.ca \
--cc=linux-wireless@vger.kernel.org \
--cc=mcgrof@bombadil.infradead.org \
--cc=mcgrof@gmail.com \
--cc=mickflemm@gmail.com \
--cc=shemminger@vyatta.com \
/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