summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsmh <smh@FreeBSD.org>2014-05-08 08:18:48 +0000
committersmh <smh@FreeBSD.org>2014-05-08 08:18:48 +0000
commitd4010b52670ee5de65a9b218ff7b4461b6f4df81 (patch)
treed098ad7a7a6d0d735a317efed49f9d789775de46
parentc84c4e2d80adee539f6299caa883885e5fa1f29c (diff)
downloadFreeBSD-src-d4010b52670ee5de65a9b218ff7b4461b6f4df81.zip
FreeBSD-src-d4010b52670ee5de65a9b218ff7b4461b6f4df81.tar.gz
MFC r264863
Add information about supported NCQ functionality to camcontrol identify. Sponsored by: Multiplay
-rw-r--r--sbin/camcontrol/camcontrol.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/sbin/camcontrol/camcontrol.c b/sbin/camcontrol/camcontrol.c
index 90a54ff..6783bd3 100644
--- a/sbin/camcontrol/camcontrol.c
+++ b/sbin/camcontrol/camcontrol.c
@@ -1214,6 +1214,18 @@ atahpa_print(struct ata_params *parm, u_int64_t hpasize, int header)
}
}
+static int
+atasata(struct ata_params *parm)
+{
+
+
+ if (parm->satacapabilities != 0xffff &&
+ parm->satacapabilities != 0x0000)
+ return 1;
+
+ return 0;
+}
+
static void
atacapprint(struct ata_params *parm)
{
@@ -1370,6 +1382,17 @@ atacapprint(struct ata_params *parm)
ATA_QUEUE_LEN(parm->queue) + 1);
} else
printf("no\n");
+
+ printf("NCQ Queue Management %s\n", atasata(parm) &&
+ parm->satacapabilities2 & ATA_SUPPORT_NCQ_QMANAGEMENT ?
+ "yes" : "no");
+ printf("NCQ Streaming %s\n", atasata(parm) &&
+ parm->satacapabilities2 & ATA_SUPPORT_NCQ_STREAM ?
+ "yes" : "no");
+ printf("Receive & Send FPDMA Queued %s\n", atasata(parm) &&
+ parm->satacapabilities2 & ATA_SUPPORT_RCVSND_FPDMA_QUEUED ?
+ "yes" : "no");
+
printf("SMART %s %s\n",
parm->support.command1 & ATA_SUPPORT_SMART ? "yes" : "no",
parm->enabled.command1 & ATA_SUPPORT_SMART ? "yes" : "no");
@@ -1418,6 +1441,9 @@ atacapprint(struct ata_params *parm)
printf("unload %s %s\n",
parm->support.extension & ATA_SUPPORT_UNLOAD ? "yes" : "no",
parm->enabled.extension & ATA_SUPPORT_UNLOAD ? "yes" : "no");
+ printf("general purpose logging %s %s\n",
+ parm->support.extension & ATA_SUPPORT_GENLOG ? "yes" : "no",
+ parm->enabled.extension & ATA_SUPPORT_GENLOG ? "yes" : "no");
printf("free-fall %s %s\n",
parm->support2 & ATA_SUPPORT_FREEFALL ? "yes" : "no",
parm->enabled2 & ATA_SUPPORT_FREEFALL ? "yes" : "no");
OpenPOWER on IntegriCloud