]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd: Update `update_pcie_parameters` functions to use uint8_t arguments
authorMario Limonciello <mario.limonciello@amd.com>
Sat, 30 Sep 2023 03:12:18 +0000 (22:12 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:14:44 +0000 (17:14 +0000)
[ Upstream commit 7752ccf85b929a22e658ec145283e8f31232f4bb ]

The matching values for `pcie_gen_cap` and `pcie_width_cap` when
fetched from powerplay tables are 1 byte, so narrow the arguments
to match to ensure min() and max() comparisons without casts.

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h
drivers/gpu/drm/amd/pm/swsmu/inc/smu_v13_0.h
drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c

index 222af2fae745852bfa00b7fd41ae603f1f8e5414..16c03771c1239f291f1ac021ca90fa283c0b28a7 100644 (file)
@@ -1232,7 +1232,7 @@ static int smu_smc_hw_setup(struct smu_context *smu)
 {
        struct smu_feature *feature = &smu->smu_feature;
        struct amdgpu_device *adev = smu->adev;
-       uint32_t pcie_gen = 0, pcie_width = 0;
+       uint8_t pcie_gen = 0, pcie_width = 0;
        uint64_t features_supported;
        int ret = 0;
 
index 6e2069dcb6b9d64b4d692d69d7469cd4827289f6..d1d7713b9779402c4a5cd3fe179c8498cf517834 100644 (file)
@@ -856,7 +856,7 @@ struct pptable_funcs {
         * &pcie_gen_cap: Maximum allowed PCIe generation.
         * &pcie_width_cap: Maximum allowed PCIe width.
         */
-       int (*update_pcie_parameters)(struct smu_context *smu, uint32_t pcie_gen_cap, uint32_t pcie_width_cap);
+       int (*update_pcie_parameters)(struct smu_context *smu, uint8_t pcie_gen_cap, uint8_t pcie_width_cap);
 
        /**
         * @i2c_init: Initialize i2c.
index 355c156d871aff86aff1c64d8bc1278c14ea9cbb..cc02f979e9e9843e10d2fd0ca3c6764cb2cdf91f 100644 (file)
@@ -296,8 +296,8 @@ int smu_v13_0_get_pptable_from_firmware(struct smu_context *smu,
                                        uint32_t pptable_id);
 
 int smu_v13_0_update_pcie_parameters(struct smu_context *smu,
-                                    uint32_t pcie_gen_cap,
-                                    uint32_t pcie_width_cap);
+                                    uint8_t pcie_gen_cap,
+                                    uint8_t pcie_width_cap);
 
 #endif
 #endif
index 95f6d821bacbcb57513ed2904f03b383f58661b7..addaa69119b8e56812950ad229258a9a3eb58549 100644 (file)
@@ -2375,8 +2375,8 @@ static int navi10_get_power_limit(struct smu_context *smu,
 }
 
 static int navi10_update_pcie_parameters(struct smu_context *smu,
-                                    uint32_t pcie_gen_cap,
-                                    uint32_t pcie_width_cap)
+                                        uint8_t pcie_gen_cap,
+                                        uint8_t pcie_width_cap)
 {
        struct smu_11_0_dpm_context *dpm_context = smu->smu_dpm.dpm_context;
        PPTable_t *pptable = smu->smu_table.driver_pptable;
index 9119b0df2419f37666cfeb7fcbe22ac9caec5429..9a5f3d31e77806ba094c23f4e8d365126b7e6f77 100644 (file)
@@ -2084,14 +2084,14 @@ static int sienna_cichlid_display_disable_memory_clock_switch(struct smu_context
 #define MAX(a, b)      ((a) > (b) ? (a) : (b))
 
 static int sienna_cichlid_update_pcie_parameters(struct smu_context *smu,
-                                        uint32_t pcie_gen_cap,
-                                        uint32_t pcie_width_cap)
+                                                uint8_t pcie_gen_cap,
+                                                uint8_t pcie_width_cap)
 {
        struct smu_11_0_dpm_context *dpm_context = smu->smu_dpm.dpm_context;
        struct smu_11_0_pcie_table *pcie_table = &dpm_context->dpm_tables.pcie_table;
        uint8_t *table_member1, *table_member2;
-       uint32_t min_gen_speed, max_gen_speed;
-       uint32_t min_lane_width, max_lane_width;
+       uint8_t min_gen_speed, max_gen_speed;
+       uint8_t min_lane_width, max_lane_width;
        uint32_t smu_pcie_arg;
        int ret, i;
 
index 9b62b45ebb7f0a38d9527ba19eec124a52bed591..4fa94f583b87cafc97a9aa2e6c36611033c4a9a8 100644 (file)
@@ -2426,8 +2426,8 @@ int smu_v13_0_mode1_reset(struct smu_context *smu)
 }
 
 int smu_v13_0_update_pcie_parameters(struct smu_context *smu,
-                                    uint32_t pcie_gen_cap,
-                                    uint32_t pcie_width_cap)
+                                    uint8_t pcie_gen_cap,
+                                    uint8_t pcie_width_cap)
 {
        struct smu_13_0_dpm_context *dpm_context = smu->smu_dpm.dpm_context;
        struct smu_13_0_pcie_table *pcie_table =