162306a36Sopenharmony_ciWhat:		/sys/class/ata_*
262306a36Sopenharmony_ciDescription:
362306a36Sopenharmony_ci		Provide a place in sysfs for storing the ATA topology of the
462306a36Sopenharmony_ci		system. This allows retrieving various information about ATA
562306a36Sopenharmony_ci		objects.
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciFiles under /sys/class/ata_port
862306a36Sopenharmony_ci-------------------------------
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciFor each port, a directory ataX is created where X is the ata_port_id of the
1162306a36Sopenharmony_ciport. The device parent is the ata host device.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciWhat:		/sys/class/ata_port/ataX/nr_pmp_links
1562306a36Sopenharmony_ciWhat:		/sys/class/ata_port/ataX/idle_irq
1662306a36Sopenharmony_ciDate:		May, 2010
1762306a36Sopenharmony_ciKernelVersion:	v2.6.37
1862306a36Sopenharmony_ciContact:	Gwendal Grignou <gwendal@chromium.org>
1962306a36Sopenharmony_ciDescription:
2062306a36Sopenharmony_ci		nr_pmp_links:	(RO) If a SATA Port Multiplier (PM) is
2162306a36Sopenharmony_ci				connected, the number of links behind it.
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci		idle_irq:	(RO) Number of IRQ received by the port while
2462306a36Sopenharmony_ci				idle [some ata HBA only].
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciWhat:		/sys/class/ata_port/ataX/port_no
2862306a36Sopenharmony_ciDate:		May, 2013
2962306a36Sopenharmony_ciKernelVersion:	v3.11
3062306a36Sopenharmony_ciContact:	Gwendal Grignou <gwendal@chromium.org>
3162306a36Sopenharmony_ciDescription:
3262306a36Sopenharmony_ci		(RO) Host local port number. While registering host controller,
3362306a36Sopenharmony_ci		port numbers are tracked based upon number of ports available on
3462306a36Sopenharmony_ci		the controller. This attribute is needed by udev for composing
3562306a36Sopenharmony_ci		persistent links in /dev/disk/by-path.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ciFiles under /sys/class/ata_link
3862306a36Sopenharmony_ci-------------------------------
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciBehind each port, there is a ata_link. If there is a SATA PM in the topology, 15
4162306a36Sopenharmony_ciata_link objects are created.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciIf a link is behind a port, the directory name is linkX, where X is ata_port_id
4462306a36Sopenharmony_ciof the port. If a link is behind a PM, its name is linkX.Y where X is
4562306a36Sopenharmony_ciata_port_id of the parent port and Y the PM port.
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciWhat:		/sys/class/ata_link/linkX[.Y]/hw_sata_spd_limit
4962306a36Sopenharmony_ciWhat:		/sys/class/ata_link/linkX[.Y]/sata_spd_limit
5062306a36Sopenharmony_ciWhat:		/sys/class/ata_link/linkX[.Y]/sata_spd
5162306a36Sopenharmony_ciDate:		May, 2010
5262306a36Sopenharmony_ciKernelVersion:	v2.6.37
5362306a36Sopenharmony_ciContact:	Gwendal Grignou <gwendal@chromium.org>
5462306a36Sopenharmony_ciDescription:
5562306a36Sopenharmony_ci		hw_sata_spd_limit:	(RO) Maximum speed supported by the
5662306a36Sopenharmony_ci					connected SATA device.
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci		sata_spd_limit:		(RO) Maximum speed imposed by libata.
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci		sata_spd:		(RO) Current speed of the link
6162306a36Sopenharmony_ci					eg. 1.5, 3 Gbps etc.
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ciFiles under /sys/class/ata_device
6562306a36Sopenharmony_ci---------------------------------
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ciBehind each link, up to two ata devices are created.
6862306a36Sopenharmony_ciThe name of the directory is devX[.Y].Z where:
6962306a36Sopenharmony_ci- X is ata_port_id of the port where the device is connected,
7062306a36Sopenharmony_ci- Y the port of the PM if any, and
7162306a36Sopenharmony_ci- Z the device id: for PATA, there is usually 2 devices [0,1], only 1 for SATA.
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ciWhat:		/sys/class/ata_device/devX[.Y].Z/spdn_cnt
7562306a36Sopenharmony_ciWhat:		/sys/class/ata_device/devX[.Y].Z/gscr
7662306a36Sopenharmony_ciWhat:		/sys/class/ata_device/devX[.Y].Z/ering
7762306a36Sopenharmony_ciWhat:		/sys/class/ata_device/devX[.Y].Z/id
7862306a36Sopenharmony_ciWhat:		/sys/class/ata_device/devX[.Y].Z/pio_mode
7962306a36Sopenharmony_ciWhat:		/sys/class/ata_device/devX[.Y].Z/xfer_mode
8062306a36Sopenharmony_ciWhat:		/sys/class/ata_device/devX[.Y].Z/dma_mode
8162306a36Sopenharmony_ciWhat:		/sys/class/ata_device/devX[.Y].Z/class
8262306a36Sopenharmony_ciDate:		May, 2010
8362306a36Sopenharmony_ciKernelVersion:	v2.6.37
8462306a36Sopenharmony_ciContact:	Gwendal Grignou <gwendal@chromium.org>
8562306a36Sopenharmony_ciDescription:
8662306a36Sopenharmony_ci		spdn_cnt:	(RO) Number of times libata decided to lower the
8762306a36Sopenharmony_ci				speed of link due to errors.
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci		gscr:		(RO) Cached result of the dump of PM GSCR
9062306a36Sopenharmony_ci				register. Valid registers are:
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci				0:      SATA_PMP_GSCR_PROD_ID,
9362306a36Sopenharmony_ci				1:	SATA_PMP_GSCR_REV,
9462306a36Sopenharmony_ci				2:      SATA_PMP_GSCR_PORT_INFO,
9562306a36Sopenharmony_ci				32:     SATA_PMP_GSCR_ERROR,
9662306a36Sopenharmony_ci				33:     SATA_PMP_GSCR_ERROR_EN,
9762306a36Sopenharmony_ci				64:     SATA_PMP_GSCR_FEAT,
9862306a36Sopenharmony_ci				96:     SATA_PMP_GSCR_FEAT_EN,
9962306a36Sopenharmony_ci				130:    SATA_PMP_GSCR_SII_GPIO
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci				Only valid if the device is a PM.
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci		ering:		(RO) Formatted output of the error ring of the
10462306a36Sopenharmony_ci				device.
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci		id:		(RO) Cached result of IDENTIFY command, as
10762306a36Sopenharmony_ci				described in ATA8 7.16 and 7.17. Only valid if
10862306a36Sopenharmony_ci				the device is not a PM.
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci		pio_mode:	(RO) PIO transfer mode used by the device.
11162306a36Sopenharmony_ci				Mostly used by PATA devices.
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci		xfer_mode:	(RO) Current transfer mode. Mostly used by
11462306a36Sopenharmony_ci				PATA devices.
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci		dma_mode:	(RO) DMA transfer mode used by the device.
11762306a36Sopenharmony_ci				Mostly used by PATA devices.
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci		class:		(RO) Device class. Can be "ata" for disk,
12062306a36Sopenharmony_ci				"atapi" for packet device, "pmp" for PM, or
12162306a36Sopenharmony_ci				"none" if no device was found behind the link.
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ciWhat:		/sys/class/ata_device/devX[.Y].Z/trim
12562306a36Sopenharmony_ciDate:		May, 2015
12662306a36Sopenharmony_ciKernelVersion:	v4.10
12762306a36Sopenharmony_ciContact:	Gwendal Grignou <gwendal@chromium.org>
12862306a36Sopenharmony_ciDescription:
12962306a36Sopenharmony_ci		(RO) Shows the DSM TRIM mode currently used by the device. Valid
13062306a36Sopenharmony_ci		values are:
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci		unsupported:		Drive does not support DSM TRIM
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci		unqueued:               Drive supports unqueued DSM TRIM only
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ci		queued:                 Drive supports queued DSM TRIM
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci		forced_unqueued:	Drive's queued DSM support is known to
13962306a36Sopenharmony_ci					be buggy and only unqueued TRIM commands
14062306a36Sopenharmony_ci					are sent
141