| What: /sys/class/ata_... | |
| Date: August 2008 | |
| Contact: Gwendal Grignou<gwendal@google.com> | |
| Description: | |
| Provide a place in sysfs for storing the ATA topology of the system. This allows | |
| retrieving various information about ATA objects. | |
| Files under /sys/class/ata_port | |
| ------------------------------- | |
| For each port, a directory ataX is created where X is the ata_port_id of | |
| the port. The device parent is the ata host device. | |
| idle_irq (read) | |
| Number of IRQ received by the port while idle [some ata HBA only]. | |
| nr_pmp_links (read) | |
| If a SATA Port Multiplier (PM) is connected, number of link behind it. | |
| Files under /sys/class/ata_link | |
| ------------------------------- | |
| Behind each port, there is a ata_link. If there is a SATA PM in the | |
| topology, 15 ata_link objects are created. | |
| If a link is behind a port, the directory name is linkX, where X is | |
| ata_port_id of the port. | |
| If a link is behind a PM, its name is linkX.Y where X is ata_port_id | |
| of the parent port and Y the PM port. | |
| hw_sata_spd_limit | |
| Maximum speed supported by the connected SATA device. | |
| sata_spd_limit | |
| Maximum speed imposed by libata. | |
| sata_spd | |
| Current speed of the link [1.5, 3Gps,...]. | |
| Files under /sys/class/ata_device | |
| --------------------------------- | |
| Behind each link, up to two ata device are created. | |
| The name of the directory is devX[.Y].Z where: | |
| - X is ata_port_id of the port where the device is connected, | |
| - Y the port of the PM if any, and | |
| - Z the device id: for PATA, there is usually 2 devices [0,1], | |
| only 1 for SATA. | |
| class | |
| Device class. Can be "ata" for disk, "atapi" for packet device, | |
| "pmp" for PM, or "none" if no device was found behind the link. | |
| dma_mode | |
| Transfer modes supported by the device when in DMA mode. | |
| Mostly used by PATA device. | |
| pio_mode | |
| Transfer modes supported by the device when in PIO mode. | |
| Mostly used by PATA device. | |
| xfer_mode | |
| Current transfer mode. | |
| id | |
| Cached result of IDENTIFY command, as described in ATA8 7.16 and 7.17. | |
| Only valid if the device is not a PM. | |
| gscr | |
| Cached result of the dump of PM GSCR register. | |
| Valid registers are: | |
| 0: SATA_PMP_GSCR_PROD_ID, | |
| 1: SATA_PMP_GSCR_REV, | |
| 2: SATA_PMP_GSCR_PORT_INFO, | |
| 32: SATA_PMP_GSCR_ERROR, | |
| 33: SATA_PMP_GSCR_ERROR_EN, | |
| 64: SATA_PMP_GSCR_FEAT, | |
| 96: SATA_PMP_GSCR_FEAT_EN, | |
| 130: SATA_PMP_GSCR_SII_GPIO | |
| Only valid if the device is a PM. | |
| spdn_cnt | |
| Number of time libata decided to lower the speed of link due to errors. | |
| ering | |
| Formatted output of the error ring of the device. |