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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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.


-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux