Applied the series. Thanks! Alex On Tue, Jan 17, 2023 at 1:15 PM Guilherme G. Piccoli <gpiccoli@xxxxxxxxxx> wrote: > > The HW model validation that guards the indirect SRAM checking in the > VCN code path is redundant - there's no model that's not included in the > switch, making it useless in practice [0]. > > So, let's remove this switch statement for good. > > [0] lore.kernel.org/amd-gfx/MN0PR12MB61013D20B8A2263B22AE1BCFE2C19@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx > > Suggested-by: Alex Deucher <Alexander.Deucher@xxxxxxx> > Reviewed-by: Mario Limonciello <mario.limonciello@xxxxxxx> > Cc: James Zhu <James.Zhu@xxxxxxx> > Cc: Lazar Lijo <Lijo.Lazar@xxxxxxx> > Cc: Leo Liu <leo.liu@xxxxxxx> > Cc: Sonny Jiang <sonny.jiang@xxxxxxx> > Signed-off-by: Guilherme G. Piccoli <gpiccoli@xxxxxxxxxx> > --- > > > V3: > * Added Mario's review tag and Alex's suggested tag - thanks > for the reminder Mario! > > V2: > * Changed the approach after ML discussion- instead of cleaning up > the switch statement, removed it entirely - special thanks to Alex > and Mario for the feedback! > > > drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 81 +------------------------ > 1 file changed, 3 insertions(+), 78 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c > index 1b1a3c9e1863..02d428ddf2f8 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c > @@ -110,84 +110,9 @@ int amdgpu_vcn_sw_init(struct amdgpu_device *adev) > for (i = 0; i < adev->vcn.num_vcn_inst; i++) > 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(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, 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->vcn.indirect_sram = true; > - break; > - default: > - return -EINVAL; > - } > + if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && > + (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) > + adev->vcn.indirect_sram = true; > > hdr = (const struct common_firmware_header *)adev->vcn.fw->data; > adev->vcn.fw_version = le32_to_cpu(hdr->ucode_version); > -- > 2.39.0 >