RE: [PATCH 1/1] drm/amdgpu/vcn: update vcn4 fw shared data structure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[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,




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux