| 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. |