]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu: Make pre_asic_init optional
authorLijo Lazar <lijo.lazar@amd.com>
Fri, 28 Nov 2025 07:06:46 +0000 (12:36 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 8 Dec 2025 18:56:42 +0000 (13:56 -0500)
pre_asic_init is not required for all SOCs. Make it optional and remove
empty implementations.

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Asad Kamal <asad.kamal@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/cik.c
drivers/gpu/drm/amd/amdgpu/nv.c
drivers/gpu/drm/amd/amdgpu/si.c
drivers/gpu/drm/amd/amdgpu/soc15.c
drivers/gpu/drm/amd/amdgpu/soc21.c
drivers/gpu/drm/amd/amdgpu/soc24.c
drivers/gpu/drm/amd/amdgpu/vi.c

index 790e84fec949f512b9048c45c9cc834fcaf02de0..fa71df36f4b38b4032aed1245985fafee8b45ca2 100644 (file)
@@ -1549,7 +1549,11 @@ int emu_soc_asic_init(struct amdgpu_device *adev);
 #define amdgpu_asic_get_pcie_replay_count(adev) ((adev)->asic_funcs->get_pcie_replay_count((adev)))
 #define amdgpu_asic_supports_baco(adev) \
     ((adev)->asic_funcs->supports_baco ? (adev)->asic_funcs->supports_baco((adev)) : 0)
-#define amdgpu_asic_pre_asic_init(adev) (adev)->asic_funcs->pre_asic_init((adev))
+#define amdgpu_asic_pre_asic_init(adev)                                      \
+       {                                                                    \
+               if ((adev)->asic_funcs && (adev)->asic_funcs->pre_asic_init) \
+                       (adev)->asic_funcs->pre_asic_init((adev));           \
+       }
 #define amdgpu_asic_update_umd_stable_pstate(adev, enter) \
        ((adev)->asic_funcs->update_umd_stable_pstate ? (adev)->asic_funcs->update_umd_stable_pstate((adev), (enter)) : 0)
 #define amdgpu_asic_query_video_codecs(adev, e, c) (adev)->asic_funcs->query_video_codecs((adev), (e), (c))
index 9cd63b4177bf2969e9074be5aba913873f6b3fc6..fc0d2524b16fa83c089e97f8c5f4dff8a30b4788 100644 (file)
@@ -1957,10 +1957,6 @@ static uint64_t cik_get_pcie_replay_count(struct amdgpu_device *adev)
        return (nak_r + nak_g);
 }
 
-static void cik_pre_asic_init(struct amdgpu_device *adev)
-{
-}
-
 static const struct amdgpu_asic_funcs cik_asic_funcs =
 {
        .read_disabled_bios = &cik_read_disabled_bios,
@@ -1981,7 +1977,6 @@ static const struct amdgpu_asic_funcs cik_asic_funcs =
        .need_reset_on_init = &cik_need_reset_on_init,
        .get_pcie_replay_count = &cik_get_pcie_replay_count,
        .supports_baco = &cik_asic_supports_baco,
-       .pre_asic_init = &cik_pre_asic_init,
        .query_video_codecs = &cik_query_video_codecs,
 };
 
index 50e77d9b30afaa1945c8bbd5c24524361dca63b6..f17c3839aea195d33032af2d532f8ae69aa49431 100644 (file)
@@ -593,10 +593,6 @@ static void nv_init_doorbell_index(struct amdgpu_device *adev)
        adev->doorbell_index.sdma_doorbell_range = 20;
 }
 
-static void nv_pre_asic_init(struct amdgpu_device *adev)
-{
-}
-
 static int nv_update_umd_stable_pstate(struct amdgpu_device *adev,
                                       bool enter)
 {
@@ -630,7 +626,6 @@ static const struct amdgpu_asic_funcs nv_asic_funcs = {
        .need_reset_on_init = &nv_need_reset_on_init,
        .get_pcie_replay_count = &amdgpu_nbio_get_pcie_replay_count,
        .supports_baco = &amdgpu_dpm_is_baco_supported,
-       .pre_asic_init = &nv_pre_asic_init,
        .update_umd_stable_pstate = &nv_update_umd_stable_pstate,
        .query_video_codecs = &nv_query_video_codecs,
 };
index f7288372ee6138d082c4d74add2f525454fac605..70e9ba9d927c424f417702f494ebd5b34b334e7e 100644 (file)
@@ -2003,10 +2003,6 @@ static int si_set_vce_clocks(struct amdgpu_device *adev, u32 evclk, u32 ecclk)
        return 0;
 }
 
-static void si_pre_asic_init(struct amdgpu_device *adev)
-{
-}
-
 static const struct amdgpu_asic_funcs si_asic_funcs =
 {
        .read_disabled_bios = &si_read_disabled_bios,
@@ -2028,7 +2024,6 @@ static const struct amdgpu_asic_funcs si_asic_funcs =
        .need_reset_on_init = &si_need_reset_on_init,
        .get_pcie_replay_count = &si_get_pcie_replay_count,
        .supports_baco = &si_asic_supports_baco,
-       .pre_asic_init = &si_pre_asic_init,
        .query_video_codecs = &si_query_video_codecs,
 };
 
index 42f5d9c0e3af84ca3034be16c227b6d2d67628ba..54b14751fd7a4b824e489e72faa93775a576bd16 100644 (file)
@@ -951,7 +951,6 @@ static const struct amdgpu_asic_funcs aqua_vanjaram_asic_funcs =
        .need_reset_on_init = &soc15_need_reset_on_init,
        .get_pcie_replay_count = &amdgpu_nbio_get_pcie_replay_count,
        .supports_baco = &soc15_supports_baco,
-       .pre_asic_init = &soc15_pre_asic_init,
        .query_video_codecs = &soc15_query_video_codecs,
        .encode_ext_smn_addressing = &aqua_vanjaram_encode_ext_smn_addressing,
        .get_reg_state = &aqua_vanjaram_get_reg_state,
index ad36c96478a8267c8e585ec2dc655175f215df31..55c3781fc73045f500d9dd2cad7b5f7fadbe1e6e 100644 (file)
@@ -513,10 +513,6 @@ static void soc21_init_doorbell_index(struct amdgpu_device *adev)
        adev->doorbell_index.sdma_doorbell_range = 20;
 }
 
-static void soc21_pre_asic_init(struct amdgpu_device *adev)
-{
-}
-
 static int soc21_update_umd_stable_pstate(struct amdgpu_device *adev,
                                          bool enter)
 {
@@ -546,7 +542,6 @@ static const struct amdgpu_asic_funcs soc21_asic_funcs = {
        .need_reset_on_init = &soc21_need_reset_on_init,
        .get_pcie_replay_count = &amdgpu_nbio_get_pcie_replay_count,
        .supports_baco = &amdgpu_dpm_is_baco_supported,
-       .pre_asic_init = &soc21_pre_asic_init,
        .query_video_codecs = &soc21_query_video_codecs,
        .update_umd_stable_pstate = &soc21_update_umd_stable_pstate,
 };
index 972b449ab89faa8f869c9335af365378bab2d8e4..ecb6c3fcfbd15c311bd663161018e025e7166148 100644 (file)
@@ -327,10 +327,6 @@ static void soc24_init_doorbell_index(struct amdgpu_device *adev)
        adev->doorbell_index.sdma_doorbell_range = 20;
 }
 
-static void soc24_pre_asic_init(struct amdgpu_device *adev)
-{
-}
-
 static int soc24_update_umd_stable_pstate(struct amdgpu_device *adev,
                                          bool enter)
 {
@@ -357,7 +353,6 @@ static const struct amdgpu_asic_funcs soc24_asic_funcs = {
        .need_reset_on_init = &soc24_need_reset_on_init,
        .get_pcie_replay_count = &soc24_get_pcie_replay_count,
        .supports_baco = &amdgpu_dpm_is_baco_supported,
-       .pre_asic_init = &soc24_pre_asic_init,
        .query_video_codecs = &soc24_query_video_codecs,
        .update_umd_stable_pstate = &soc24_update_umd_stable_pstate,
 };
index a611a734512508a87f4aa7510c906ee791a46fb4..6a574b6c8e631a7ec57af09df9ce2cfff577c5a2 100644 (file)
@@ -1424,10 +1424,6 @@ static bool vi_need_reset_on_init(struct amdgpu_device *adev)
        return false;
 }
 
-static void vi_pre_asic_init(struct amdgpu_device *adev)
-{
-}
-
 static const struct amdgpu_asic_funcs vi_asic_funcs =
 {
        .read_disabled_bios = &vi_read_disabled_bios,
@@ -1447,7 +1443,6 @@ static const struct amdgpu_asic_funcs vi_asic_funcs =
        .need_reset_on_init = &vi_need_reset_on_init,
        .get_pcie_replay_count = &vi_get_pcie_replay_count,
        .supports_baco = &vi_asic_supports_baco,
-       .pre_asic_init = &vi_pre_asic_init,
        .query_video_codecs = &vi_query_video_codecs,
 };