[Public] > -----Original Message----- > From: Limonciello, Mario <Mario.Limonciello@xxxxxxx> > Sent: Thursday, December 1, 2022 16:54 > To: stable@xxxxxxxxxxxxxxx > Cc: Dong, Ruijing <Ruijing.Dong@xxxxxxx>; Liu, Leo <Leo.Liu@xxxxxxx>; > Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Limonciello, Mario > <Mario.Limonciello@xxxxxxx> > Subject: [PATCH 1/1] drm/amdgpu/vcn: update vcn4 fw shared data > structure > > From: Ruijing Dong <ruijing.dong@xxxxxxx> > > update VF_RB_SETUP_FLAG, add SMU_DPM_INTERFACE_FLAG, > and corresponding change in VCN4. > > Reviewed-by: Leo Liu <leo.liu@xxxxxxx> > Signed-off-by: Ruijing Dong <ruijing.dong@xxxxxxx> > Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> > (cherry picked from commit 167be8522821fd38636410103e1c154b589cb1d9) > Hand modified large dependency of commit aa44beb5f0155 > ("drm/amdgpu/vcn: Add sriov VCN v4_0 unified queue support") > This no longer updates VF_RB_SETUP_FLAG, but just adds > SMU_DPM_INTERFACE_FLAG. > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h | 7 +++++++ > drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c | 4 ++++ > 2 files changed, 11 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h > b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h > index 60c608144480..ecb8db731081 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h > @@ -161,6 +161,7 @@ > #define AMDGPU_VCN_SW_RING_FLAG (1 << 9) > #define AMDGPU_VCN_FW_LOGGING_FLAG (1 << 10) > #define AMDGPU_VCN_SMU_VERSION_INFO_FLAG (1 << 11) > +#define AMDGPU_VCN_SMU_DPM_INTERFACE_FLAG (1 << 11) > > #define AMDGPU_VCN_IB_FLAG_DECODE_BUFFER 0x00000001 > #define AMDGPU_VCN_CMD_FLAG_MSG_BUFFER 0x00000001 > @@ -170,6 +171,9 @@ > #define VCN_CODEC_DISABLE_MASK_HEVC (1 << 2) > #define VCN_CODEC_DISABLE_MASK_H264 (1 << 3) > > +#define AMDGPU_VCN_SMU_DPM_INTERFACE_DGPU (0) > +#define AMDGPU_VCN_SMU_DPM_INTERFACE_APU (1) > + > enum fw_queue_mode { > FW_QUEUE_RING_RESET = 1, > FW_QUEUE_DPG_HOLD_OFF = 2, > @@ -323,6 +327,9 @@ struct amdgpu_vcn4_fw_shared { > struct amdgpu_fw_shared_unified_queue_struct sq; > uint8_t pad1[8]; > struct amdgpu_fw_shared_fw_logging fw_log; > + uint8_t pad2[20]; > + uint32_t pad3[13]; > + struct amdgpu_fw_shared_smu_interface_info > smu_dpm_interface; > }; > > struct amdgpu_vcn_fwlog { > diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c > b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c > index fb2d74f30448..c5afb5bc9eb6 100644 > --- a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c > @@ -132,6 +132,10 @@ static int vcn_v4_0_sw_init(void *handle) > fw_shared->present_flag_0 = > cpu_to_le32(AMDGPU_FW_SHARED_FLAG_0_UNIFIED_QUEUE); > fw_shared->sq.is_enabled = 1; > > + fw_shared->present_flag_0 |= > cpu_to_le32(AMDGPU_VCN_SMU_DPM_INTERFACE_FLAG); > + fw_shared->smu_dpm_interface.smu_interface_type = > (adev->flags & AMD_IS_APU) ? > + AMDGPU_VCN_SMU_DPM_INTERFACE_APU : > AMDGPU_VCN_SMU_DPM_INTERFACE_DGPU; > + > if (amdgpu_vcnfw_log) > amdgpu_vcn_fwlog_init(&adev->vcn.inst[i]); > } > -- > 2.34.1 Hi Greg, I didn't see this one get picked up I sent back a week and half ago, did you miss it or did it need more discussion? The cover letter [1] for it indicated all the background for why it's important and intended kernel (6.0.y). [1] https://lore.kernel.org/stable/20221201225417.12452-1-mario.limonciello@xxxxxxx/ Thanks,