]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
Improve power state flags and max power decoding
authorAndy Lutomirski <luto@kernel.org>
Fri, 22 Jan 2016 20:51:08 +0000 (12:51 -0800)
committerAndy Lutomirski <luto@kernel.org>
Fri, 22 Jan 2016 20:51:08 +0000 (12:51 -0800)
Signed-off-by: Andy Lutomirski <luto@kernel.org>
common.c

index b0f5309a1a07a3e5a584406d36e20ff1e44e84c6..20318e73b3844bb94be3d8d4b9dba17b87a528cf 100644 (file)
--- a/common.c
+++ b/common.c
@@ -579,9 +579,17 @@ void show_nvme_id_ctrl(struct nvme_id_ctrl *ctrl, unsigned int mode)
                show_nvme_id_ctrl_sgls(ctrl->sgls);
 
        for (i = 0; i <= ctrl->npss; i++) {
-               printf("ps %4d : mp:%d flags:%x enlat:%d exlat:%d rrt:%d rrl:%d\n"
+               printf("ps %4d : mp:", i);
+
+               if (ctrl->psd[i].flags & NVME_PS_FLAGS_MAX_POWER_SCALE)
+                       printf("%01u.%04uW ", ctrl->psd[i].max_power / 10000, ctrl->psd[i].max_power % 10000);
+               else
+                       printf("%01u.%02uW ", ctrl->psd[i].max_power / 100, ctrl->psd[i].max_power % 100);
+
+               if (ctrl->psd[i].flags & NVME_PS_FLAGS_NON_OP_STATE)
+                       printf("non-");
+               printf("operational enlat:%d exlat:%d rrt:%d rrl:%d\n"
                        "          rwt:%d rwl:%d idlp:%d ips:%x actp:%x ap flags:%x\n",
-                       i, ctrl->psd[i].max_power, ctrl->psd[i].flags,
                        ctrl->psd[i].entry_lat, ctrl->psd[i].exit_lat,
                        ctrl->psd[i].read_tput, ctrl->psd[i].read_lat,
                        ctrl->psd[i].write_tput, ctrl->psd[i].write_lat,