drm/amdgpu/powerplay/smu10: refactor AMDGPU_PP_SENSOR_GPU_LOAD
[linux-2.6-microblaze.git] / drivers / gpu / drm / amd / pm / powerplay / hwmgr / smu10_hwmgr.c
index f5d59fa..f5fe540 100644 (file)
@@ -1297,19 +1297,18 @@ static int smu10_read_sensor(struct pp_hwmgr *hwmgr, int idx,
                *size = 4;
                break;
        case AMDGPU_PP_SENSOR_GPU_LOAD:
-               if (has_gfx_busy) {
+               if (!has_gfx_busy)
+                       ret = -EOPNOTSUPP;
+               else {
                        ret = smum_send_msg_to_smc(hwmgr,
                                                   PPSMC_MSG_GetGfxBusy,
                                                   &activity_percent);
                        if (!ret)
-                               activity_percent = activity_percent > 100 ? 100 : activity_percent;
+                               *((uint32_t *)value) = min(activity_percent, (u32)100);
                        else
-                               return -EIO;
-                       *((uint32_t *)value) = activity_percent;
-                       return 0;
-               } else {
-                       return -EOPNOTSUPP;
+                               ret = -EIO;
                }
+               break;
        default:
                ret = -EOPNOTSUPP;
                break;