[libata] Add ATA transport class
[linux-2.6.git] / Documentation / ABI / testing / sysfs-ata
1 What:           /sys/class/ata_...
2 Date:           August 2008
3 Contact:        Gwendal Grignou<gwendal@google.com>
4 Description:
5
6 Provide a place in sysfs for storing the ATA topology of the system.  This allows
7 retrieving various information about ATA objects.
8
9 Files under /sys/class/ata_port
10 -------------------------------
11
12         For each port, a directory ataX is created where X is the ata_port_id of
13         the port. The device parent is the ata host device.
14
15 idle_irq (read)
16
17         Number of IRQ received by the port while idle [some ata HBA only].
18
19 nr_pmp_links (read)
20
21         If a SATA Port Multiplier (PM) is connected, number of link behind it.
22
23 Files under /sys/class/ata_link
24 -------------------------------
25
26         Behind each port, there is a ata_link. If there is a SATA PM in the
27         topology, 15 ata_link objects are created.
28
29         If a link is behind a port, the directory name is linkX, where X is
30         ata_port_id of the port.
31         If a link is behind a PM, its name is linkX.Y where X is ata_port_id
32         of the parent port and Y the PM port.
33
34 hw_sata_spd_limit
35
36         Maximum speed supported by the connected SATA device.
37
38 sata_spd_limit
39
40         Maximum speed imposed by libata.
41
42 sata_spd
43
44         Current speed of the link [1.5, 3Gps,...].
45
46 Files under /sys/class/ata_device
47 ---------------------------------
48
49         Behind each link, up to two ata device are created.
50         The name of the directory is devX[.Y].Z where:
51         - X is ata_port_id of the port where the device is connected,
52         - Y the port of the PM if any, and
53         - Z the device id: for PATA, there is usually 2 devices [0,1],
54         only 1 for SATA.
55
56 class
57         Device class. Can be "ata" for disk, "atapi" for packet device,
58         "pmp" for PM, or "none" if no device was found behind the link.
59
60 dma_mode
61
62         Transfer modes supported by the device when in DMA mode.
63         Mostly used by PATA device.
64
65 pio_mode
66
67         Transfer modes supported by the device when in PIO mode.
68         Mostly used by PATA device.
69
70 xfer_mode
71
72         Current transfer mode.
73
74 id
75
76         Cached result of IDENTIFY command, as described in ATA8 7.16 and 7.17.
77         Only valid if the device is not a PM.
78
79 gscr
80
81         Cached result of the dump of PM GSCR register.
82         Valid registers are:
83         0:      SATA_PMP_GSCR_PROD_ID,
84         1:      SATA_PMP_GSCR_REV,
85         2:      SATA_PMP_GSCR_PORT_INFO,
86         32:     SATA_PMP_GSCR_ERROR,
87         33:     SATA_PMP_GSCR_ERROR_EN,
88         64:     SATA_PMP_GSCR_FEAT,
89         96:     SATA_PMP_GSCR_FEAT_EN,
90         130:    SATA_PMP_GSCR_SII_GPIO
91         Only valid if the device is a PM.
92
93 spdn_cnt
94
95         Number of time libata decided to lower the speed of link due to errors.
96
97 ering
98
99         Formatted output of the error ring of the device.