| 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 |
| |
| DMA transfer mode used by the device. |
| Mostly used by PATA device. |
| |
| pio_mode |
| |
| PIO transfer mode used by the device. |
| Mostly used by PATA device. |
| |
| xfer_mode |
| |
| Current transfer mode. |
| Mostly used by PATA device. |
| |
| 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. |
| |
| trim |
| |
| Shows the DSM TRIM mode currently used by the device. Valid |
| values are: |
| unsupported: Drive does not support DSM TRIM |
| unqueued: Drive supports unqueued DSM TRIM only |
| queued: Drive supports queued DSM TRIM |
| forced_unqueued: Drive's queued DSM support is known to be |
| buggy and only unqueued TRIM commands |
| are sent |
| |
| 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. |