From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Jeff Garzik <jeff@garzik.org>
Cc: arnd@arndb.de, linuxppc-dev@ozlabs.org,
linux-ide@vger.kernel.org, paulus@samba.org
Subject: Re: [PATCH 0/4] drivers/ata: add low-level I/O calls
Date: Sat, 13 Jan 2007 07:50:34 +1100 [thread overview]
Message-ID: <1168635034.5011.27.camel@localhost.localdomain> (raw)
In-Reply-To: <45A7BE3A.40508@garzik.org>
> libata intentionally provides higher level hooks than just I/O accessors.
>
> A low level I/O hook approach makes it difficult to take into account
> platform-specific details like mmiowb(), especially on embedded platforms.
>
> The high level hook approach also enables greater efficiency. For
> example, an embedded platform could do
>
> __raw_writeb(datum, mmio_address + ATA_REG_FOO);
> __raw_writeb(datum, mmio_address + ATA_REG_BAR);
> eieio();
>
> to optimize an entire taskfile-read or taskfile-write operation.
I've been looking at that for them and for Efika but it's acutally quite
a bit of a mess. I'd be happy if you could have a look as well, but it's
not simple to find the "right" level of abstraction to be able to use
the reset/probe handling with special reset accessors. And hooking at
the toplevel is such a wastage (LOTS of code duplication) that it's
really no fun (it's what Toshiba initial patch does, though you haven't
commented on it).
So some hints as to where you think the right hooks/abstractions would
be would be much welcome.
Ben.
next prev parent reply other threads:[~2007-01-12 20:52 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200701120958.l0C9wICB019343@toshiba.co.jp>
2007-01-12 10:24 ` [PATCH 0/4] drivers/ata: add low-level I/O calls Alan
2007-01-12 10:41 ` Benjamin Herrenschmidt
2007-01-12 16:58 ` Jeff Garzik
2007-01-12 20:50 ` Benjamin Herrenschmidt [this message]
2007-01-12 10:00 Akira Iguchi
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=1168635034.5011.27.camel@localhost.localdomain \
--to=benh@kernel.crashing.org \
--cc=arnd@arndb.de \
--cc=jeff@garzik.org \
--cc=linux-ide@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=paulus@samba.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).