| Gwendal Grignou | d902747 | 2010-05-25 12:31:38 -0700 | [diff] [blame] | 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. |