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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.