|author||Gwendal Grignou <firstname.lastname@example.org>||2010-05-25 12:31:38 -0700|
|committer||Jeff Garzik <email@example.com>||2010-10-21 20:21:03 -0400|
[libata] Add ATA transport class
This is a scheleton for libata transport class. All information is read only, exporting information from libata: - ata_port class: one per ATA port - ata_link class: one per ATA port or 15 for SATA Port Multiplier - ata_device class: up to 2 for PATA link, usually one for SATA. Signed-off-by: Gwendal Grignou <firstname.lastname@example.org> Reviewed-by: Grant Grundler <email@example.com> Signed-off-by: Jeff Garzik <firstname.lastname@example.org>
Diffstat (limited to 'Documentation/ABI/testing')
1 files changed, 99 insertions, 0 deletions
diff --git a/Documentation/ABI/testing/sysfs-ata b/Documentation/ABI/testing/sysfs-ata
new file mode 100644
@@ -0,0 +1,99 @@
+Date: August 2008
+Contact: Gwendal Grignou<email@example.com>
+Provide a place in sysfs for storing the ATA topology of the system. This allows
+retrieving various information about ATA objects.
+Files under /sys/class/ata_port
+ For each port, a directory ataX is created where X is the ata_port_id of
+ the port. The device parent is the ata host device.
+ Number of IRQ received by the port while idle [some ata HBA only].
+ If a SATA Port Multiplier (PM) is connected, number of link behind it.
+Files under /sys/class/ata_link
+ Behind each port, there is a ata_link. If there is a SATA PM in the
+ topology, 15 ata_link objects are created.
+ If a link is behind a port, the directory name is linkX, where X is
+ ata_port_id of the port.
+ If a link is behind a PM, its name is linkX.Y where X is ata_port_id
+ of the parent port and Y the PM port.
+ Maximum speed supported by the connected SATA device.
+ Maximum speed imposed by libata.
+ Current speed of the link [1.5, 3Gps,...].
+Files under /sys/class/ata_device
+ Behind each link, up to two ata device are created.
+ The name of the directory is devX[.Y].Z where:
+ - X is ata_port_id of the port where the device is connected,
+ - Y the port of the PM if any, and
+ - Z the device id: for PATA, there is usually 2 devices [0,1],
+ only 1 for SATA.
+ Device class. Can be "ata" for disk, "atapi" for packet device,
+ "pmp" for PM, or "none" if no device was found behind the link.
+ Transfer modes supported by the device when in DMA mode.
+ Mostly used by PATA device.
+ Transfer modes supported by the device when in PIO mode.
+ Mostly used by PATA device.
+ Current transfer mode.
+ Cached result of IDENTIFY command, as described in ATA8 7.16 and 7.17.
+ Only valid if the device is not a PM.
+ Cached result of the dump of PM GSCR register.
+ Valid registers are:
+ 0: SATA_PMP_GSCR_PROD_ID,
+ 1: SATA_PMP_GSCR_REV,
+ 2: SATA_PMP_GSCR_PORT_INFO,
+ 32: SATA_PMP_GSCR_ERROR,
+ 33: SATA_PMP_GSCR_ERROR_EN,
+ 64: SATA_PMP_GSCR_FEAT,
+ 96: SATA_PMP_GSCR_FEAT_EN,
+ 130: SATA_PMP_GSCR_SII_GPIO
+ Only valid if the device is a PM.
+ Number of time libata decided to lower the speed of link due to errors.
+ Formatted output of the error ring of the device.