[Server-devel] Suggested SATA change by Marvell
Jeff Garzik
jeff at garzik.org
Sat Jul 7 11:20:26 EDT 2007
Various comments:
* 6121/6141 SATA support has been added to 'ahci' driver, in
libata-dev.git branch mv-ahci. Once NCQ and PCI MSI are turned off,
works great. Upstream soon.
* 6121/6141 PATA support has been added to 'ahci' driver, in
libata-dev.git branch mv-ahci-pata. Completely untested, probably
broken without a key bug fix.
* libata port multiplier support is complete, merely waiting to reviewed
and merged. Tejun Heo posted a refresh on July 1 to linux-ide list.
* The Marvell-specific portion of port multiplier support has not even
been contemplated yet, much less coded. I think Tejun's stuff only
works with AHCI and SiI 3124 family for now. The good news: Given that
Marvell's 6121/6141 SATA support is intentionally AHCI-like, it will
require very little effort to add PMP support once the core PMP support
lands.
* Considering existing technology, I would recommend the "Two SATA
interfaces on an 88SE6121" path. Rationale:
a) uses superior AHCI technology
b) ahci driver in good shape, whereas
sata_mv driver needs key exception handling (EH) updates
c) While port multiplier support is nice, directly using
6121's is much more simple and straightforward
d) in particular, Linux PMP support, while it exists, is not
yet mature -- like PMP technology itself, which is
in general immature
The AHCI interface is an open standard, and Marvell is 99% compatible
with it. AHCI brings with it many benefits: standard method of
submitting SATA FIS's (low level SATA frames). standardized support for
hotplug, port multipliers, advanced SATA devices, 64-bit platforms, and
more.
So the general recommends could be summed up as:
1) AHCI-compatible (6121/6141): good
2) PMP support: exists, but not mature
3) sata_mv (pre-AHCI chips): works, but exception handling not reliable
Jeff
More information about the Server-devel
mailing list