| 
 | 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.  | 
0 commit comments