Author: smh
Date: Thu Apr 24 02:16:23 2014
New Revision: 264863
URL: http://svnweb.freebsd.org/changeset/base/264863

Log:
  Add information about supported NCQ functionality to camcontrol identify.
  
  MFC after:    2 weeks

Modified:
  head/sbin/camcontrol/camcontrol.c

Modified: head/sbin/camcontrol/camcontrol.c
==============================================================================
--- head/sbin/camcontrol/camcontrol.c   Thu Apr 24 02:02:51 2014        
(r264862)
+++ head/sbin/camcontrol/camcontrol.c   Thu Apr 24 02:16:23 2014        
(r264863)
@@ -1214,6 +1214,18 @@ atahpa_print(struct ata_params *parm, u_
        }
 }
 
+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");
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to