What:		/sys/class/ata_...
Date:		August 2008
Contact:	Gwendal Grignou<gwendal@google.com>
Description:

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.

idle_irq (read)

	Number of IRQ received by the port while idle [some ata HBA only].

nr_pmp_links (read)

	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.

hw_sata_spd_limit

	Maximum speed supported by the connected SATA device.

sata_spd_limit

	Maximum speed imposed by libata.

sata_spd

	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.

class
	Device class. Can be "ata" for disk, "atapi" for packet device,
	"pmp" for PM, or "none" if no device was found behind the link.

dma_mode

	Transfer modes supported by the device when in DMA mode.
	Mostly used by PATA device.

pio_mode

	Transfer modes supported by the device when in PIO mode.
	Mostly used by PATA device.

xfer_mode

	Current transfer mode.

id

	Cached result of IDENTIFY command, as described in ATA8 7.16 and 7.17.
	Only valid if the device is not a PM.

gscr

	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.

trim

	Shows the DSM TRIM mode currently used by the device. Valid
	values are:
	unsupported:		Drive does not support DSM TRIM
	unqueued:		Drive supports unqueued DSM TRIM only
	queued:			Drive supports queued DSM TRIM
	forced_unqueued:	Drive's queued DSM support is known to be
				buggy and only unqueued TRIM commands
				are sent

spdn_cnt

	Number of time libata decided to lower the speed of link due to errors.

ering

	Formatted output of the error ring of the device.
