From 269ab66f9042f48748b18180d176978e509a11cf Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Sun, 7 Sep 2014 11:32:42 +0200 Subject: [PATCH] added debug information about VCSC information --- src/lib/nvidia.c | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/src/lib/nvidia.c b/src/lib/nvidia.c index 47ec7ae..b9a766a 100644 --- a/src/lib/nvidia.c +++ b/src/lib/nvidia.c @@ -316,6 +316,7 @@ nvidia_psensor_list_add(struct psensor **ss, int values_len) { int i, n, utype, rpm; Bool ret; + char *str; if (!init()) return ss; @@ -329,15 +330,10 @@ nvidia_psensor_list_add(struct psensor **ss, int values_len) values_len); utype = SENSOR_TYPE_GPU | SENSOR_TYPE_USAGE; - add(&ss, i, utype | SENSOR_TYPE_AMBIENT, values_len); - add(&ss, i, utype | SENSOR_TYPE_GRAPHICS, values_len); - add(&ss, i, utype | SENSOR_TYPE_VIDEO, values_len); - add(&ss, i, utype | SENSOR_TYPE_MEMORY, values_len); - add(&ss, i, utype | SENSOR_TYPE_PCIE, values_len); } } @@ -379,6 +375,27 @@ nvidia_psensor_list_add(struct psensor **ss, int values_len) log_err(_("NVIDIA: failed to retrieve number of fans.")); } + ret = XNVCTRLQueryTargetCount(display, NV_CTRL_TARGET_TYPE_VCSC, &n); + if (ret == True) { + log_debug("NVIDIA: number of VCSC: %d", n); + for (i = 0; i < n; i++) { + ret = XNVCTRLQueryTargetStringAttribute + (display, + NV_CTRL_TARGET_TYPE_VCSC, + i, + 0, + NV_CTRL_STRING_VCSC_FAN_STATUS, &str); + if (ret == True) + log_debug("NVIDIA: vcsc fan %d %s", i, str); + else + log_err(_("NVIDIA: " + "failed to retrieve vcsc fan info %d"), + i); + + add(&ss, i, SENSOR_TYPE_FAN, values_len); + } + } + return ss; } -- 2.7.4