OSDN Git Service

drm/nouveau/pmu/gk20a: simplify code a bit
authorAlexandre Courbot <acourbot@nvidia.com>
Tue, 13 Dec 2016 08:11:23 +0000 (17:11 +0900)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 17 Feb 2017 05:14:31 +0000 (15:14 +1000)
Some functions always succeed - change their return type to void and
remove the error-handling code in their caller.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gk20a.c

index e897bbd..4a0f809 100644 (file)
@@ -43,9 +43,8 @@ struct gk20a_pmu {
 };
 
 struct gk20a_pmu_dvfs_dev_status {
-       unsigned long total;
-       unsigned long busy;
-       int cur_state;
+       u32 total;
+       u32 busy;
 };
 
 static int
@@ -56,13 +55,12 @@ gk20a_pmu_dvfs_target(struct gk20a_pmu *pmu, int *state)
        return nvkm_clk_astate(clk, *state, 0, false);
 }
 
-static int
+static void
 gk20a_pmu_dvfs_get_cur_state(struct gk20a_pmu *pmu, int *state)
 {
        struct nvkm_clk *clk = pmu->base.subdev.device->clk;
 
        *state = clk->pstate;
-       return 0;
 }
 
 static int
@@ -90,20 +88,16 @@ gk20a_pmu_dvfs_get_target_state(struct gk20a_pmu *pmu,
 
        *state = level;
 
-       if (level == cur_level)
-               return 0;
-       else
-               return 1;
+       return (level != cur_level);
 }
 
-static int
+static void
 gk20a_pmu_dvfs_get_dev_status(struct gk20a_pmu *pmu,
                              struct gk20a_pmu_dvfs_dev_status *status)
 {
        struct nvkm_device *device = pmu->base.subdev.device;
        status->busy = nvkm_rd32(device, 0x10a508 + (BUSY_SLOT * 0x10));
        status->total= nvkm_rd32(device, 0x10a508 + (CLK_SLOT * 0x10));
-       return 0;
 }
 
 static void
@@ -127,7 +121,7 @@ gk20a_pmu_dvfs_work(struct nvkm_alarm *alarm)
        struct nvkm_timer *tmr = device->timer;
        struct nvkm_volt *volt = device->volt;
        u32 utilization = 0;
-       int state, ret;
+       int state;
 
        /*
         * The PMU is initialized before CLK and VOLT, so we have to make sure the
@@ -136,11 +130,7 @@ gk20a_pmu_dvfs_work(struct nvkm_alarm *alarm)
        if (!clk || !volt)
                goto resched;
 
-       ret = gk20a_pmu_dvfs_get_dev_status(pmu, &status);
-       if (ret) {
-               nvkm_warn(subdev, "failed to get device status\n");
-               goto resched;
-       }
+       gk20a_pmu_dvfs_get_dev_status(pmu, &status);
 
        if (status.total)
                utilization = div_u64((u64)status.busy * 100, status.total);
@@ -150,11 +140,7 @@ gk20a_pmu_dvfs_work(struct nvkm_alarm *alarm)
        nvkm_trace(subdev, "utilization = %d %%, avg_load = %d %%\n",
                   utilization, data->avg_load);
 
-       ret = gk20a_pmu_dvfs_get_cur_state(pmu, &state);
-       if (ret) {
-               nvkm_warn(subdev, "failed to get current state\n");
-               goto resched;
-       }
+       gk20a_pmu_dvfs_get_cur_state(pmu, &state);
 
        if (gk20a_pmu_dvfs_get_target_state(pmu, &state, data->avg_load)) {
                nvkm_trace(subdev, "set new state to %d\n", state);