Currently both conditionals checked to enable indirect SRAM are repeated for all HW/IP models. Let's just simplify it a bit so code is more compact and readable. While at it, add the legacy names as a comment per case block, to help whoever is reading the code and doesn't have much experience with the name/number mapping. Cc: James Zhu <James.Zhu@xxxxxxx> Cc: Lazar Lijo <Lijo.Lazar@xxxxxxx> Cc: Leo Liu <leo.liu@xxxxxxx> Cc: Mario Limonciello <mario.limonciello@xxxxxxx> Cc: Sonny Jiang <sonny.jiang@xxxxxxx> Signed-off-by: Guilherme G. Piccoli <gpiccoli@xxxxxxxxxx> --- Hi folks, first of all thanks in advance for reviews/comments! This work is based on agd5f/amd-staging-drm-next branch - there is this patch from Mario that refactored the amdgpu_vcn.c, and since it dropped the legacy names from the switch cases, I've decided to also include them here as comments. I'm not sure if that's a good idea, feels good for somebody not so used to the code read the codenames instead of purely numbers, but if you wanna move away from the legacy names for good, lemme know and I can rework without these comments. Cheers, Guilherme drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 84 +++++-------------------- 1 file changed, 16 insertions(+), 68 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c index 1b1a3c9e1863..1f880e162d9d 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c @@ -111,78 +111,26 @@ int amdgpu_vcn_sw_init(struct amdgpu_device *adev) atomic_set(&adev->vcn.inst[i].dpg_enc_submission_cnt, 0); switch (adev->ip_versions[UVD_HWIP][0]) { - case IP_VERSION(1, 0, 0): - case IP_VERSION(1, 0, 1): - case IP_VERSION(2, 5, 0): - if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && - (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) - adev->vcn.indirect_sram = true; - break; - case IP_VERSION(2, 2, 0): - if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && - (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) - adev->vcn.indirect_sram = true; - break; - case IP_VERSION(2, 6, 0): - if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && - (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) - adev->vcn.indirect_sram = true; - break; - case IP_VERSION(2, 0, 0): - if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && - (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) - adev->vcn.indirect_sram = true; - break; - case IP_VERSION(2, 0, 2): - if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && - (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) - adev->vcn.indirect_sram = true; - break; - case IP_VERSION(3, 0, 0): - case IP_VERSION(3, 0, 64): - case IP_VERSION(3, 0, 192): - if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && - (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) - adev->vcn.indirect_sram = true; - break; - case IP_VERSION(3, 0, 2): - if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && - (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) - adev->vcn.indirect_sram = true; - break; - case IP_VERSION(3, 0, 16): - if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && - (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) - adev->vcn.indirect_sram = true; - break; - case IP_VERSION(3, 0, 33): - if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && - (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) - adev->vcn.indirect_sram = true; - break; - case IP_VERSION(3, 1, 1): - if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && - (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) - adev->vcn.indirect_sram = true; - break; + case IP_VERSION(1, 0, 0): /* Raven (1/2) / Picasso */ + case IP_VERSION(1, 0, 1): /* Raven (1/2) / Picasso */ + case IP_VERSION(2, 0, 0): /* Navi10 */ + case IP_VERSION(2, 0, 2): /* Navi12 / Navi14 */ + case IP_VERSION(2, 2, 0): /* Renoir / Green Sardine */ + case IP_VERSION(2, 5, 0): /* Arcturus */ + case IP_VERSION(2, 6, 0): /* Aldebaran */ + case IP_VERSION(3, 0, 0): /* Sienna Cichlid / Navy Flounder */ + case IP_VERSION(3, 0, 2): /* Vangogh */ + case IP_VERSION(3, 0, 64): /* Sienna Cichlid / Navy Flounder */ + case IP_VERSION(3, 0, 16): /* Dimgray Cavefish */ + case IP_VERSION(3, 0, 33): /* Beige Goby */ + case IP_VERSION(3, 0, 192): /* Sienna Cichlid / Navy Flounder */ + case IP_VERSION(3, 1, 1): /* Yellow Carp */ case IP_VERSION(3, 1, 2): - if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && - (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) - adev->vcn.indirect_sram = true; - break; - case IP_VERSION(4, 0, 0): - if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && - (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) - adev->vcn.indirect_sram = true; - break; + case IP_VERSION(4, 0, 0): /* Vega10 */ case IP_VERSION(4, 0, 2): - if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && - (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) - adev->vcn.indirect_sram = true; - break; case IP_VERSION(4, 0, 4): if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && - (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) + (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) adev->vcn.indirect_sram = true; break; default: -- 2.39.0