Jeff Garzik wrote:
On Thu, Nov 08, 2007 at 03:19:52PM -0500, Mark Lord wrote:
..
MMmm.. I wonder what the most common use case is for target mode?
Everybody I've dealt with thus far uses it as a high-speed local comms
interface,
which would suggest that it might be done as a network interface (ethernet
emulation).
But that would confusingly go across driver subsystems,
despite that this is how it actually is used.
The low-level driver itself will just be a dumb DMA send/receive engine,
with submit/completion APIs highly similar to the existing ones. Then
you can easily provide a network interface interface (not a typo) on top
of that.
..
The obvious BIG difference is that in host mode, *we* initiate communcations,
whereas in target mode, it has to just sit there waiting for a host to say something.
That's a pretty big change from how libata operates today,
in just about every respect.
The biggest use case I've seen is in the embedded space, where you
really are creating a SCSI (or ATA) target, that appears to the
initiator/client to be a real SCSI-or-ATA device.
There are certainly other uses: networking, creating a cheap SATA bus
analyzer, creating a cheap SATA bridge, ...
My main goal is to ensure that the low-level driver is as simple as
possible, which permits upper layers to actually figure out what
purposes it shall use.
Modern SATA is just a DMA engine with PHY control anyway (just like
networking), so we really just need to be sure to abstract away
initiator-mode (aka host mode) specifics in drivers that support target
mode.
-
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