[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