libata-trace: decode subcommands

Some commands like FPDMA RECEIVE or NCQ NON DATA can encapsulate
other commands to NCQ transport. So decode the subcmds, too.

Signed-off-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
Hannes Reinecke
2016-04-25 12:45:49 +02:00
committed by Tejun Heo
parent fe5af0cc30
commit a570384964
3 changed files with 66 additions and 1 deletions

View File

@@ -313,6 +313,11 @@ enum {
ATA_SUBCMD_FPDMA_SEND_DSM = 0x00,
ATA_SUBCMD_FPDMA_SEND_WR_LOG_DMA_EXT = 0x02,
/* Subcmds for ATA_CMD_NCQ_NON_DATA */
ATA_SUBCMD_NCQ_NON_DATA_ABORT_QUEUE = 0x00,
ATA_SUBCMD_NCQ_NON_DATA_SET_FEATURES = 0x05,
ATA_SUBCMD_NCQ_NON_DATA_ZERO_EXT = 0x06,
/* READ_LOG_EXT pages */
ATA_LOG_DIRECTORY = 0x0,
ATA_LOG_SATA_NCQ = 0x10,
@@ -338,6 +343,18 @@ enum {
ATA_LOG_NCQ_SEND_RECV_WR_LOG_SUPPORTED = (1 << 0),
ATA_LOG_NCQ_SEND_RECV_SIZE = 0x10,
/* NCQ Non-Data log */
ATA_LOG_NCQ_NON_DATA_SUBCMDS_OFFSET = 0x00,
ATA_LOG_NCQ_NON_DATA_ABORT_OFFSET = 0x00,
ATA_LOG_NCQ_NON_DATA_ABORT_NCQ = (1 << 0),
ATA_LOG_NCQ_NON_DATA_ABORT_ALL = (1 << 1),
ATA_LOG_NCQ_NON_DATA_ABORT_STREAMING = (1 << 2),
ATA_LOG_NCQ_NON_DATA_ABORT_NON_STREAMING = (1 << 3),
ATA_LOG_NCQ_NON_DATA_ABORT_SELECTED = (1 << 4),
ATA_LOG_NCQ_NON_DATA_ZAC_MGMT_OFFSET = 0x1C,
ATA_LOG_NCQ_NON_DATA_ZAC_MGMT_OUT = (1 << 0),
ATA_LOG_NCQ_NON_DATA_SIZE = 0x40,
/* READ/WRITE LONG (obsolete) */
ATA_CMD_READ_LONG = 0x22,
ATA_CMD_READ_LONG_ONCE = 0x23,