1 What:		/sys/class/ata_*
2 Description:
3 		Provide a place in sysfs for storing the ATA topology of the
4 		system. This allows retrieving various information about ATA
5 		objects.
6 
7 Files under /sys/class/ata_port
8 -------------------------------
9 
10 For each port, a directory ataX is created where X is the ata_port_id of the
11 port. The device parent is the ata host device.
12 
13 
14 What:		/sys/class/ata_port/ataX/nr_pmp_links
15 What:		/sys/class/ata_port/ataX/idle_irq
16 Date:		May, 2010
17 KernelVersion:	v2.6.37
18 Contact:	Gwendal Grignou <gwendal@chromium.org>
19 Description:
20 		nr_pmp_links:	(RO) If a SATA Port Multiplier (PM) is
21 				connected, the number of links behind it.
22 
23 		idle_irq:	(RO) Number of IRQ received by the port while
24 				idle [some ata HBA only].
25 
26 
27 What:		/sys/class/ata_port/ataX/port_no
28 Date:		May, 2013
29 KernelVersion:	v3.11
30 Contact:	Gwendal Grignou <gwendal@chromium.org>
31 Description:
32 		(RO) Host local port number. While registering host controller,
33 		port numbers are tracked based upon number of ports available on
34 		the controller. This attribute is needed by udev for composing
35 		persistent links in /dev/disk/by-path.
36 
37 Files under /sys/class/ata_link
38 -------------------------------
39 
40 Behind each port, there is a ata_link. If there is a SATA PM in the topology, 15
41 ata_link objects are created.
42 
43 If a link is behind a port, the directory name is linkX, where X is ata_port_id
44 of the port. If a link is behind a PM, its name is linkX.Y where X is
45 ata_port_id of the parent port and Y the PM port.
46 
47 
48 What:		/sys/class/ata_link/linkX[.Y]/hw_sata_spd_limit
49 What:		/sys/class/ata_link/linkX[.Y]/sata_spd_limit
50 What:		/sys/class/ata_link/linkX[.Y]/sata_spd
51 Date:		May, 2010
52 KernelVersion:	v2.6.37
53 Contact:	Gwendal Grignou <gwendal@chromium.org>
54 Description:
55 		hw_sata_spd_limit:	(RO) Maximum speed supported by the
56 					connected SATA device.
57 
58 		sata_spd_limit:		(RO) Maximum speed imposed by libata.
59 
60 		sata_spd:		(RO) Current speed of the link
61 					eg. 1.5, 3 Gbps etc.
62 
63 
64 Files under /sys/class/ata_device
65 ---------------------------------
66 
67 Behind each link, up to two ata devices are created.
68 The name of the directory is devX[.Y].Z where:
69 - X is ata_port_id of the port where the device is connected,
70 - Y the port of the PM if any, and
71 - Z the device id: for PATA, there is usually 2 devices [0,1], only 1 for SATA.
72 
73 
74 What:		/sys/class/ata_device/devX[.Y].Z/spdn_cnt
75 What:		/sys/class/ata_device/devX[.Y].Z/gscr
76 What:		/sys/class/ata_device/devX[.Y].Z/ering
77 What:		/sys/class/ata_device/devX[.Y].Z/id
78 What:		/sys/class/ata_device/devX[.Y].Z/pio_mode
79 What:		/sys/class/ata_device/devX[.Y].Z/xfer_mode
80 What:		/sys/class/ata_device/devX[.Y].Z/dma_mode
81 What:		/sys/class/ata_device/devX[.Y].Z/class
82 Date:		May, 2010
83 KernelVersion:	v2.6.37
84 Contact:	Gwendal Grignou <gwendal@chromium.org>
85 Description:
86 		spdn_cnt:	(RO) Number of times libata decided to lower the
87 				speed of link due to errors.
88 
89 		gscr:		(RO) Cached result of the dump of PM GSCR
90 				register. Valid registers are:
91 
92 				0:      SATA_PMP_GSCR_PROD_ID,
93 				1:	SATA_PMP_GSCR_REV,
94 				2:      SATA_PMP_GSCR_PORT_INFO,
95 				32:     SATA_PMP_GSCR_ERROR,
96 				33:     SATA_PMP_GSCR_ERROR_EN,
97 				64:     SATA_PMP_GSCR_FEAT,
98 				96:     SATA_PMP_GSCR_FEAT_EN,
99 				130:    SATA_PMP_GSCR_SII_GPIO
100 
101 				Only valid if the device is a PM.
102 
103 		ering:		(RO) Formatted output of the error ring of the
104 				device.
105 
106 		id:		(RO) Cached result of IDENTIFY command, as
107 				described in ATA8 7.16 and 7.17. Only valid if
108 				the device is not a PM.
109 
110 		pio_mode:	(RO) PIO transfer mode used by the device.
111 				Mostly used by PATA devices.
112 
113 		xfer_mode:	(RO) Current transfer mode. Mostly used by
114 				PATA devices.
115 
116 		dma_mode:	(RO) DMA transfer mode used by the device.
117 				Mostly used by PATA devices.
118 
119 		class:		(RO) Device class. Can be "ata" for disk,
120 				"atapi" for packet device, "pmp" for PM, or
121 				"none" if no device was found behind the link.
122 
123 
124 What:		/sys/class/ata_device/devX[.Y].Z/trim
125 Date:		May, 2015
126 KernelVersion:	v4.10
127 Contact:	Gwendal Grignou <gwendal@chromium.org>
128 Description:
129 		(RO) Shows the DSM TRIM mode currently used by the device. Valid
130 		values are:
131 
132 		unsupported:		Drive does not support DSM TRIM
133 
134 		unqueued:               Drive supports unqueued DSM TRIM only
135 
136 		queued:                 Drive supports queued DSM TRIM
137 
138 		forced_unqueued:	Drive's queued DSM support is known to
139 					be buggy and only unqueued TRIM commands
140 					are sent
141