summaryrefslogtreecommitdiffstats
path: root/sbin/camcontrol/camcontrol.c
diff options
context:
space:
mode:
Diffstat (limited to 'sbin/camcontrol/camcontrol.c')
-rw-r--r--sbin/camcontrol/camcontrol.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/sbin/camcontrol/camcontrol.c b/sbin/camcontrol/camcontrol.c
index 1bba49c..7da0200 100644
--- a/sbin/camcontrol/camcontrol.c
+++ b/sbin/camcontrol/camcontrol.c
@@ -1055,23 +1055,22 @@ atacapprint(struct ata_params *parm)
printf("\n");
printf("PIO supported PIO");
- if (parm->atavalid & ATA_FLAG_64_70) {
- if (parm->apiomodes & 0x02)
- printf("4");
- else if (parm->apiomodes & 0x01)
- printf("3");
- } else if (parm->mwdmamodes & 0x04)
+ switch (ata_max_pmode(parm)) {
+ case ATA_PIO4:
printf("4");
- else if (parm->mwdmamodes & 0x02)
+ break;
+ case ATA_PIO3:
printf("3");
- else if (parm->mwdmamodes & 0x01)
+ break;
+ case ATA_PIO2:
printf("2");
- else if ((parm->retired_piomode & ATA_RETIRED_PIO_MASK) == 0x200)
- printf("2");
- else if ((parm->retired_piomode & ATA_RETIRED_PIO_MASK) == 0x100)
+ break;
+ case ATA_PIO1:
printf("1");
- else
+ break;
+ default:
printf("0");
+ }
printf("\n");
printf("DMA%ssupported ",
OpenPOWER on IntegriCloud