]> 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:06:57 +0000 (17:06 +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 a664a0a284784443951f0f6b7bdfcb111c8b0f21..47ff3694ffa57fefe1375b452fd61fa4ad6a51dc 100644 (file)
@@ -1221,7 +1221,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 1ab77a6cdb65365747ad7fc6dcde8f6c30df93a0..4174cb295dd0b2853c6872256609a50d4e0efd7d 100644 (file)
@@ -844,7 +844,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 d6479a8088554591b056401dbcbff5fb7d0c8ca3..636b9579b96b0eaa13c19b4374ec447c54308bf4 100644 (file)
@@ -298,8 +298,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 ca278280865fac515be968600b30364a3b5479e1..ed2112efc6c6860cb5e5084855b5a2f4799a8e0f 100644 (file)
@@ -2368,8 +2368,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 fbc4d706748b7b2ad4b31f3f542243d672f134a4..cfd41d56e970142cc3799dedaf98aa0502561a43 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 3104d49379090e2aac9b466da94a2260cfadbaf3..1b0fb93539ec4faa154b68143066c201f44b27c3 100644 (file)
@@ -2486,8 +2486,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 =