What:		/sys/class/ata_*
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.


What:		/sys/class/ata_port/ataX/nr_pmp_links
What:		/sys/class/ata_port/ataX/idle_irq
Date:		May, 2010
KernelVersion:	v2.6.37
Contact:	Gwendal Grignou <gwendal@chromium.org>
Description:
		nr_pmp_links:	(RO) If a SATA Port Multiplier (PM) is
				connected, the number of links behind it.

		idle_irq:	(RO) Number of IRQ received by the port while
				idle [some ata HBA only].


What:		/sys/class/ata_port/ataX/port_no
Date:		May, 2013
KernelVersion:	v3.11
Contact:	Gwendal Grignou <gwendal@chromium.org>
Description:
		(RO) Host local port number. While registering host controller,
		port numbers are tracked based upon number of ports available on
		the controller. This attribute is needed by udev for composing
		persistent links in /dev/disk/by-path.

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.


What:		/sys/class/ata_link/linkX[.Y]/hw_sata_spd_limit
What:		/sys/class/ata_link/linkX[.Y]/sata_spd_limit
What:		/sys/class/ata_link/linkX[.Y]/sata_spd
Date:		May, 2010
KernelVersion:	v2.6.37
Contact:	Gwendal Grignou <gwendal@chromium.org>
Description:
		hw_sata_spd_limit:	(RO) Maximum speed supported by the
					connected SATA device.

		sata_spd_limit:		(RO) Maximum speed imposed by libata.

		sata_spd:		(RO) Current speed of the link
					eg. 1.5, 3 Gbps etc.


Files under /sys/class/ata_device
---------------------------------

Behind each link, up to two ata devices 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.


What:		/sys/class/ata_device/devX[.Y].Z/spdn_cnt
What:		/sys/class/ata_device/devX[.Y].Z/gscr
What:		/sys/class/ata_device/devX[.Y].Z/ering
What:		/sys/class/ata_device/devX[.Y].Z/id
What:		/sys/class/ata_device/devX[.Y].Z/pio_mode
What:		/sys/class/ata_device/devX[.Y].Z/xfer_mode
What:		/sys/class/ata_device/devX[.Y].Z/dma_mode
What:		/sys/class/ata_device/devX[.Y].Z/class
Date:		May, 2010
KernelVersion:	v2.6.37
Contact:	Gwendal Grignou <gwendal@chromium.org>
Description:
		spdn_cnt:	(RO) Number of times libata decided to lower the
				speed of link due to errors.

		gscr:		(RO) 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.

		ering:		(RO) Formatted output of the error ring of the
				device.

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

		pio_mode:	(RO) PIO transfer mode used by the device.
				Mostly used by PATA devices.

		xfer_mode:	(RO) Current transfer mode. Mostly used by
				PATA devices.

		dma_mode:	(RO) DMA transfer mode used by the device.
				Mostly used by PATA devices.

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


What:		/sys/class/ata_device/devX[.Y].Z/trim
Date:		May, 2015
KernelVersion:	v4.10
Contact:	Gwendal Grignou <gwendal@chromium.org>
Description:
		(RO) 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
