]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd: Drop all hand-built MIN and MAX macros in the amdgpu base driver
authorMario Limonciello <mario.limonciello@amd.com>
Sat, 30 Sep 2023 03:14:17 +0000 (22:14 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 4 Oct 2023 22:39:52 +0000 (18:39 -0400)
Several files declare MIN() or MAX() macros that ignore the types of the
values being compared.  Drop these macros and switch to min() min_t(),
and max() from `linux/minmax.h`.

Suggested-by: Hamza Mahfooz <Hamza.Mahfooz@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c
drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu7_thermal.c
drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c
drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega20_thermal.c
drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c

index fb16814e769bdc3c154018039e89ecf11e20c8af..4bb7e46f761953bdd7231cce703b3005836de7a5 100644 (file)
@@ -1328,8 +1328,6 @@ int emu_soc_asic_init(struct amdgpu_device *adev);
        for (i = ffs(inst_mask); i-- != 0; \
             i = ffs(inst_mask & BIT_MASK_UPPER(i + 1)))
 
-#define MIN(X, Y) ((X) < (Y) ? (X) : (Y))
-
 /* Common functions */
 bool amdgpu_device_has_job_running(struct amdgpu_device *adev);
 bool amdgpu_device_should_recover_gpu(struct amdgpu_device *adev);
index 02e69ccff3bac47cefb29b4369e196bd09dfae9d..fc8e4ac6c8e76b5a5e9b52789369f9d8329ebab1 100644 (file)
@@ -6600,7 +6600,7 @@ static int si_dpm_get_fan_speed_pwm(void *handle,
 
        tmp64 = (u64)duty * 255;
        do_div(tmp64, duty100);
-       *speed = MIN((u32)tmp64, 255);
+       *speed = min_t(u32, tmp64, 255);
 
        return 0;
 }
index a6c3610db23ee63328c33d6fbf78717e67c89a9a..a8fc0fa44db69d0135c714b77bedb549b7036434 100644 (file)
@@ -72,7 +72,7 @@ int smu7_fan_ctrl_get_fan_speed_pwm(struct pp_hwmgr *hwmgr,
 
        tmp64 = (uint64_t)duty * 255;
        do_div(tmp64, duty100);
-       *speed = MIN((uint32_t)tmp64, 255);
+       *speed = min_t(uint32_t, tmp64, 255);
 
        return 0;
 }
@@ -210,7 +210,7 @@ int smu7_fan_ctrl_set_fan_speed_pwm(struct pp_hwmgr *hwmgr,
        if (hwmgr->thermal_controller.fanInfo.bNoFan)
                return 0;
 
-       speed = MIN(speed, 255);
+       speed = min_t(uint32_t, speed, 255);
 
        if (PP_CAP(PHM_PlatformCaps_MicrocodeFanControl))
                smu7_fan_ctrl_stop_smc_fan_control(hwmgr);
index 190af79f3236fdb097b6c9e521ad8aac76bbbbe4..379012494da57bf00caf7108602ab42fd1aee739 100644 (file)
@@ -81,7 +81,7 @@ int vega10_fan_ctrl_get_fan_speed_pwm(struct pp_hwmgr *hwmgr,
 
        tmp64 = (uint64_t)duty * 255;
        do_div(tmp64, duty100);
-       *speed = MIN((uint32_t)tmp64, 255);
+       *speed = min_t(uint32_t, tmp64, 255);
 
        return 0;
 }
@@ -255,7 +255,7 @@ int vega10_fan_ctrl_set_fan_speed_pwm(struct pp_hwmgr *hwmgr,
        if (hwmgr->thermal_controller.fanInfo.bNoFan)
                return 0;
 
-       speed = MIN(speed, 255);
+       speed = min_t(uint32_t, speed, 255);
 
        if (PP_CAP(PHM_PlatformCaps_MicrocodeFanControl))
                vega10_fan_ctrl_stop_smc_fan_control(hwmgr);
index e9737ca8418a5242855a6054b978bc2586fb294c..a3331ffb2daf7f5670dc8e1e19f59cce8e3bee5e 100644 (file)
@@ -131,7 +131,7 @@ int vega20_fan_ctrl_get_fan_speed_pwm(struct pp_hwmgr *hwmgr,
 
        tmp64 = (uint64_t)duty * 255;
        do_div(tmp64, duty100);
-       *speed = MIN((uint32_t)tmp64, 255);
+       *speed = min_t(uint32_t, tmp64, 255);
 
        return 0;
 }
@@ -144,7 +144,7 @@ int vega20_fan_ctrl_set_fan_speed_pwm(struct pp_hwmgr *hwmgr,
        uint32_t duty;
        uint64_t tmp64;
 
-       speed = MIN(speed, 255);
+       speed = min_t(uint32_t, speed, 255);
 
        if (PP_CAP(PHM_PlatformCaps_MicrocodeFanControl))
                vega20_fan_ctrl_stop_smc_fan_control(hwmgr);
index 6e2e665ad383e422d30571c1f428551298e4ec85..a2bbc180b160f48bb436a869af257aece8100675 100644 (file)
@@ -1203,7 +1203,7 @@ static int arcturus_set_fan_speed_pwm(struct smu_context *smu,
        uint32_t duty100, duty;
        uint64_t tmp64;
 
-       speed = MIN(speed, 255);
+       speed = min_t(uint32_t, speed, 255);
 
        duty100 = REG_GET_FIELD(RREG32_SOC15(THM, 0, mmCG_FDO_CTRL1_ARCT),
                                CG_FDO_CTRL1, FMAX_DUTY100);
@@ -1267,7 +1267,7 @@ static int arcturus_get_fan_speed_pwm(struct smu_context *smu,
        if (duty100) {
                tmp64 = (uint64_t)duty * 255;
                do_div(tmp64, duty100);
-               *speed = MIN((uint32_t)tmp64, 255);
+               *speed = min_t(uint32_t, tmp64, 255);
        } else {
                *speed = 0;
        }
index dd07662262e47a0ce734101d95e6821f2df54684..ad2884088e69dd905ac02376b62eb09b9a2c8f59 100644 (file)
@@ -2089,8 +2089,6 @@ static int sienna_cichlid_display_disable_memory_clock_switch(struct smu_context
        return ret;
 }
 
-#define MAX(a, b)      ((a) > (b) ? (a) : (b))
-
 static int sienna_cichlid_update_pcie_parameters(struct smu_context *smu,
                                                 uint8_t pcie_gen_cap,
                                                 uint8_t pcie_width_cap)
@@ -2106,12 +2104,12 @@ static int sienna_cichlid_update_pcie_parameters(struct smu_context *smu,
        GET_PPTABLE_MEMBER(PcieGenSpeed, &table_member1);
        GET_PPTABLE_MEMBER(PcieLaneCount, &table_member2);
 
-       min_gen_speed = MAX(0, table_member1[0]);
-       max_gen_speed = MIN(pcie_gen_cap, table_member1[1]);
+       min_gen_speed = max_t(uint8_t, 0, table_member1[0]);
+       max_gen_speed = min(pcie_gen_cap, table_member1[1]);
        min_gen_speed = min_gen_speed > max_gen_speed ?
                        max_gen_speed : min_gen_speed;
-       min_lane_width = MAX(1, table_member2[0]);
-       max_lane_width = MIN(pcie_width_cap, table_member2[1]);
+       min_lane_width = max_t(uint8_t, 1, table_member2[0]);
+       max_lane_width = min(pcie_width_cap, table_member2[1]);
        min_lane_width = min_lane_width > max_lane_width ?
                         max_lane_width : min_lane_width;
 
index ece43b41141c07a1ce072a70539bd9aec3395108..5a314d0316c1c8410d1f44281e5cc487e4947e81 100644 (file)
@@ -1174,7 +1174,7 @@ smu_v11_0_set_fan_speed_pwm(struct smu_context *smu, uint32_t speed)
        uint32_t duty100, duty;
        uint64_t tmp64;
 
-       speed = MIN(speed, 255);
+       speed = min_t(uint32_t, speed, 255);
 
        duty100 = REG_GET_FIELD(RREG32_SOC15(THM, 0, mmCG_FDO_CTRL1),
                                CG_FDO_CTRL1, FMAX_DUTY100);
@@ -1249,7 +1249,7 @@ int smu_v11_0_get_fan_speed_pwm(struct smu_context *smu,
 
        tmp64 = (uint64_t)duty * 255;
        do_div(tmp64, duty100);
-       *speed = MIN((uint32_t)tmp64, 255);
+       *speed = min_t(uint32_t, tmp64, 255);
 
        return 0;
 }
index 5965bd8b0dfa909c1096e5f514c06973bc7be832..72cf8d32f82b098723a55e92d3926221293fcfbf 100644 (file)
@@ -1170,7 +1170,7 @@ int smu_v13_0_set_fan_speed_pwm(struct smu_context *smu,
        uint32_t duty100, duty;
        uint64_t tmp64;
 
-       speed = MIN(speed, 255);
+       speed = min_t(uint32_t, speed, 255);
 
        if (smu_v13_0_auto_fan_control(smu, 0))
                return -EINVAL;
index 684b4e01fac24cfdf917478ef1cfb535ae44958e..268a85e95f04004edaca44a373b1fd47effab08f 100644 (file)
@@ -1998,7 +1998,6 @@ static int smu_v13_0_0_get_thermal_temperature_range(struct smu_context *smu,
        return 0;
 }
 
-#define MAX(a, b)      ((a) > (b) ? (a) : (b))
 static ssize_t smu_v13_0_0_get_gpu_metrics(struct smu_context *smu,
                                           void **table)
 {
@@ -2022,12 +2021,12 @@ static ssize_t smu_v13_0_0_get_gpu_metrics(struct smu_context *smu,
        gpu_metrics->temperature_mem = metrics->AvgTemperature[TEMP_MEM];
        gpu_metrics->temperature_vrgfx = metrics->AvgTemperature[TEMP_VR_GFX];
        gpu_metrics->temperature_vrsoc = metrics->AvgTemperature[TEMP_VR_SOC];
-       gpu_metrics->temperature_vrmem = MAX(metrics->AvgTemperature[TEMP_VR_MEM0],
+       gpu_metrics->temperature_vrmem = max(metrics->AvgTemperature[TEMP_VR_MEM0],
                                             metrics->AvgTemperature[TEMP_VR_MEM1]);
 
        gpu_metrics->average_gfx_activity = metrics->AverageGfxActivity;
        gpu_metrics->average_umc_activity = metrics->AverageUclkActivity;
-       gpu_metrics->average_mm_activity = MAX(metrics->Vcn0ActivityPercentage,
+       gpu_metrics->average_mm_activity = max(metrics->Vcn0ActivityPercentage,
                                               metrics->Vcn1ActivityPercentage);
 
        gpu_metrics->average_socket_power = metrics->AverageSocketPower;
@@ -2286,7 +2285,7 @@ static int smu_v13_0_0_get_fan_speed_pwm(struct smu_context *smu,
        }
 
        /* Convert the PMFW output which is in percent to pwm(255) based */
-       *speed = MIN(*speed * 255 / 100, 255);
+       *speed = min(*speed * 255 / 100, (uint32_t)255);
 
        return 0;
 }
index 430ad1b05ba31cbec4db11c432f9e0241f0ca620..b8a7a1d853df4866ddb884fb8a2f7973cee69867 100644 (file)
@@ -1946,7 +1946,6 @@ static int smu_v13_0_7_get_thermal_temperature_range(struct smu_context *smu,
        return 0;
 }
 
-#define MAX(a, b)      ((a) > (b) ? (a) : (b))
 static ssize_t smu_v13_0_7_get_gpu_metrics(struct smu_context *smu,
                                           void **table)
 {
@@ -1970,12 +1969,12 @@ static ssize_t smu_v13_0_7_get_gpu_metrics(struct smu_context *smu,
        gpu_metrics->temperature_mem = metrics->AvgTemperature[TEMP_MEM];
        gpu_metrics->temperature_vrgfx = metrics->AvgTemperature[TEMP_VR_GFX];
        gpu_metrics->temperature_vrsoc = metrics->AvgTemperature[TEMP_VR_SOC];
-       gpu_metrics->temperature_vrmem = MAX(metrics->AvgTemperature[TEMP_VR_MEM0],
+       gpu_metrics->temperature_vrmem = max(metrics->AvgTemperature[TEMP_VR_MEM0],
                                             metrics->AvgTemperature[TEMP_VR_MEM1]);
 
        gpu_metrics->average_gfx_activity = metrics->AverageGfxActivity;
        gpu_metrics->average_umc_activity = metrics->AverageUclkActivity;
-       gpu_metrics->average_mm_activity = MAX(metrics->Vcn0ActivityPercentage,
+       gpu_metrics->average_mm_activity = max(metrics->Vcn0ActivityPercentage,
                                               metrics->Vcn1ActivityPercentage);
 
        gpu_metrics->average_socket_power = metrics->AverageSocketPower;
@@ -2210,7 +2209,7 @@ static int smu_v13_0_7_get_fan_speed_pwm(struct smu_context *smu,
        }
 
        /* Convert the PMFW output which is in percent to pwm(255) based */
-       *speed = MIN(*speed * 255 / 100, 255);
+       *speed = min(*speed * 255 / 100, (uint32_t)255);
 
        return 0;
 }