From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Matthew Wilcox <matthew@wil.cx>
Cc: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>,
Linux Kernel list <linux-kernel@vger.kernel.org>,
linux-ia64@vger.kernel.org, Linas Vepstas <linas@austin.ibm.com>,
long <tlnguyen@snoqualmie.dp.intel.com>,
linux-pci@atrey.karlin.mff.cuni.cz,
linuxppc64-dev <linuxppc64-dev@ozlabs.org>
Subject: Re: [PATCH 00/10] IOCHK interface for I/O error handling/detecting
Date: Fri, 10 Jun 2005 08:26:39 +1000 [thread overview]
Message-ID: <1118355999.6850.177.camel@gaston> (raw)
In-Reply-To: <20050609171332.GC24611@parcelfarce.linux.theplanet.co.uk>
> It makes sense to sandwich other kinds of device accesses. I don't
> think the previous clear/read_pci_errors() interface was intended *only*
> to sandwich readX().
On many platforms, only read() is guaranteed to reliably report errors
though.
> > - Additionally adds special token - abstract "iocookie" structure
> > to control/identifies/manage I/Os, by passing it to OS.
> > Actual type of "iocookie" could be arch-specific. Device drivers
> > could use the iocookie structure without knowing its detail.
>
> I'm not sure we need this. Surely it can be deduced from the pci_dev or
> struct device?
Might be useful to know more though, wether it was PIO or MMIO or other
things. Also, I'd like to carry around the possible error details as can
be returned by the firmware in some platforms.
In fact, Is there any reason this is not ioerr_cookie instead of
iocookie ? :)
> > Expected usage(sample) is:
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > #include <linux/pci.h>
> > #include <asm/io.h>
> >
> > int sample_read_with_iochk(struct pci_dev *dev, u32 *buf, int words)
> > {
> > unsigned long ofs = pci_resource_start(dev, 0) + DATA_OFFSET;
> > int i;
> >
> > /* Create magical cookie on the stack */
> > iocookie cookie;
> >
> > /* Critical section start */
> > iochk_clear(&dev, &cookie);
> > {
> > /* Get the whole packet of data */
> > for (i = 0; i < words; i++)
> > *buf++ = ioread32(dev, ofs);
>
> You do know that ioread32() doesn't take a pci_dev, right? I hope you
> weren't counting on that for the rest of your implementation.
>
> > }
> > /* Critical section end. Did we have any trouble? */
> > if ( iochk_read(&cookie) ) return -1;
> >
> > /* OK, all system go. */
> > return 0;
> > }
>
next prev parent reply other threads:[~2005-06-09 22:30 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-09 12:39 [PATCH 00/10] IOCHK interface for I/O error handling/detecting Hidetoshi Seto
2005-06-09 12:48 ` [PATCH 01/10] " Hidetoshi Seto
2005-06-09 16:53 ` Greg KH
2005-06-10 10:29 ` Hidetoshi Seto
2005-06-09 12:50 ` [PATCH 02/10] " Hidetoshi Seto
2005-06-09 12:51 ` [PATCH 03/10] " Hidetoshi Seto
2005-06-09 16:57 ` Greg KH
2005-06-10 10:31 ` Hidetoshi Seto
2005-06-09 17:20 ` Matthew Wilcox
2005-06-10 10:31 ` Hidetoshi Seto
2005-06-09 12:53 ` [PATCH 04/10] " Hidetoshi Seto
2005-06-09 16:57 ` Greg KH
2005-06-09 12:54 ` [PATCH 05/10] " Hidetoshi Seto
2005-06-09 12:56 ` [PATCH 06/10] " Hidetoshi Seto
2005-06-09 12:58 ` [PATCH 07/10] " Hidetoshi Seto
2005-06-09 17:40 ` David Mosberger
2005-06-10 10:29 ` Hidetoshi Seto
2005-06-10 17:25 ` David Mosberger
2005-06-13 6:54 ` Hidetoshi Seto
2005-06-09 13:00 ` [PATCH 08/10] " Hidetoshi Seto
2005-06-09 13:02 ` [PATCH 09/10] " Hidetoshi Seto
2005-06-09 13:04 ` [PATCH 10/10] " Hidetoshi Seto
2005-06-09 16:59 ` [PATCH 00/10] " Greg KH
2005-06-09 17:13 ` Matthew Wilcox
2005-06-09 22:26 ` Benjamin Herrenschmidt [this message]
2005-06-10 10:31 ` Hidetoshi Seto
2005-06-10 10:30 ` Hidetoshi Seto
2005-06-09 17:34 ` Matthew Wilcox
2005-06-10 10:32 ` Hidetoshi Seto
2005-06-10 23:25 ` Benjamin Herrenschmidt
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=1118355999.6850.177.camel@gaston \
--to=benh@kernel.crashing.org \
--cc=linas@austin.ibm.com \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
--cc=linuxppc64-dev@ozlabs.org \
--cc=matthew@wil.cx \
--cc=seto.hidetoshi@jp.fujitsu.com \
--cc=tlnguyen@snoqualmie.dp.intel.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