From: David Miller <davem@davemloft.net>
To: johnip@sgi.com
Cc: rdreier@cisco.com, matthew@wil.cx, jmodem@AbominableFirebug.com,
mst@mellanox.co.il, linux-kernel@vger.kernel.org,
linux-ia64@vger.kernel.org, jeff@garzik.org,
openib-general@openib.org, linux-pci@atrey.karlin.mff.cuni.cz
Subject: Re: Ordering between PCI config space writes and MMIO reads?
Date: Wed, 01 Nov 2006 15:04:18 -0800 (PST) [thread overview]
Message-ID: <20061101.150418.26278280.davem@davemloft.net> (raw)
In-Reply-To: <4548CAE7.8010300@sgi.com>
From: John Partridge <johnip@sgi.com>
Date: Wed, 01 Nov 2006 10:27:19 -0600
> Sorry, but I find this change a bit puzzling. The problem is
> particular to the PPB on the HCA and not Altix. I can't see anywhere
> that a PCI Config Write is required to block until completion, it is
> the driver and the HCA ,not the Altix hardware that requires the
> Config Write to have completed before we leave mthca_reset()
> Changing pci_write_config_xxx() will change the behavior for ALL
> drivers and the possibility of breaking something else. The fix was
> very low risk in mthca_reset(), changing the PCI code to fix this is
> much more onerous.
The issue is that something as simple as:
val = pci_read_config(REG);
val |= bit;
pci_write_config(REG, val);
newval = pci_read_config(REG);
BUG_ON(!(newval & bit));
is not guarenteed by PCI (aparently).
I see no valid reason why every PCI device driver should
be troubled with this lunacy and the ordering should thus
be ensured by the PCI layer.
It just so happens to take care of the original driver
issue too :-)
next prev parent reply other threads:[~2006-11-01 23:04 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-24 19:13 Ordering between PCI config space writes and MMIO reads? Roland Dreier
2006-10-24 19:22 ` Jeff Garzik
2006-10-24 21:47 ` Matthew Wilcox
2006-10-24 21:51 ` Roland Dreier
2006-10-24 22:12 ` John Partridge
2006-10-24 22:36 ` Matthew Wilcox
2006-10-24 22:43 ` David Miller
2006-10-25 14:15 ` Roland Dreier
2006-10-31 19:02 ` Roland Dreier
2006-10-31 19:53 ` Michael S. Tsirkin
2006-10-31 19:53 ` Roland Dreier
2006-10-31 19:58 ` Matthew Wilcox
2006-10-31 20:28 ` Michael S. Tsirkin
2006-10-31 20:34 ` Richard B. Johnson
2006-10-31 20:47 ` Matthew Wilcox
2006-10-31 22:30 ` Roland Dreier
2006-11-01 16:27 ` John Partridge
2006-11-01 16:46 ` Matthew Wilcox
2006-11-01 17:08 ` John Partridge
2006-11-01 17:14 ` Matthew Wilcox
2006-11-01 23:04 ` David Miller [this message]
2006-11-02 1:08 ` John Partridge
2006-10-31 20:50 ` Michael S. Tsirkin
2006-10-24 22:59 ` [openib-general] " Jason Gunthorpe
2006-10-25 14:04 ` Roland Dreier
2006-10-24 23:09 ` Michael S. Tsirkin
2006-10-24 23:27 ` Jack Steiner
2006-10-25 14:05 ` Roland Dreier
2006-11-02 3:05 ` Jeremy Higdon
2006-10-24 21:01 ` [openib-general] " JWM
2006-10-24 21:24 ` Alan Cox
2006-10-24 21:29 ` Roland Dreier
2006-10-24 21:37 ` Jeff Garzik
2006-10-25 6:30 ` Grant Grundler
2006-10-25 14:11 ` Roland Dreier
2006-10-25 14:18 ` Matthew Wilcox
2006-10-25 17:15 ` [openib-general] " Jason Gunthorpe
2006-10-25 18:22 ` Michael S. Tsirkin
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=20061101.150418.26278280.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=jeff@garzik.org \
--cc=jmodem@AbominableFirebug.com \
--cc=johnip@sgi.com \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
--cc=matthew@wil.cx \
--cc=mst@mellanox.co.il \
--cc=openib-general@openib.org \
--cc=rdreier@cisco.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