[PATCH 0/4] drivers/ata: add low-level I/O calls

Benjamin Herrenschmidt benh at kernel.crashing.org
Fri Jan 12 21:41:06 EST 2007


On Fri, 2007-01-12 at 10:24 +0000, Alan wrote:
> On Fri, 12 Jan 2007 19:00:45 +0900
> Akira Iguchi <akira2.iguchi at toshiba.co.jp> wrote:
> 
> > Dear everyone,
> > 
> > This is the patchset (based on 2.6.20-rc4) to add low-level I/O calls
> > which access the taskfile registers. The idea comes from drivers/ide
> > IN*/OUT* calls.
> 
> I think this is the wrong approach. The existing code provides methods
> for things like "read the status", "write a taskfile" and this is the
> style that should be kept.

I agree (Sorry Akira-san for the added work !), I've looked a bit and I
think that what we need is mainly an accessor for the control register
and for the LBA, and an ack for dmdma. It's unclear to me wether the
full taskfile access would be a good way to do the later though, I'm a
bit worried some HW might get upset if not accessing strictly only the
right registers (we all know how "touchy" those IDE controllers can be).

That would give us something like:

 - bmdma_irq_ack
 - dev_ctrl_read/write (unless we want to split that but there are
   quite a few different accesses so maybe not)
 - dev_sig read/write (read/write nsect/lbal, or maybe we want to let
drivers do their own post_reset)

I think that's it, unless I missd something. 'special' drivers can still
replace bmdma_start/stop etc..

That's just a very quick look, I might have missed something.

Ben.
 






More information about the Linuxppc-dev mailing list