[PATCH] drm/amdgpu: correct the UCODE ID used for VCN 4.0.3 SRAM update

Lazar, Lijo lijo.lazar at amd.com
Fri Jul 7 11:53:01 UTC 2023



On 7/7/2023 5:19 PM, Lang Yu wrote:
> On 07/07/ , Lazar, Lijo wrote:
>>
>>
>> On 7/7/2023 5:01 PM, Lang Yu wrote:
>>> It uses the same UCODE ID(VCN0_RAM) but differnet cmd buffers
>>> for all instances.
>>>
>>> Fixes: e928b52c58dd ("drm/amdgpu: use psp_execute_load_ip_fw_cmd_buf instead")
>>>
>>> Signed-off-by: Lang Yu <Lang.Yu at amd.com>
>>> ---
>>>    drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c | 2 +-
>>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c
>>> index ce8c766dcc73..8ff814b6b656 100644
>>> --- a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c
>>> +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c
>>> @@ -778,7 +778,7 @@ static int vcn_v4_0_3_start_dpg_mode(struct amdgpu_device *adev, int inst_idx, b
>>>    		UVD_MASTINT_EN__VCPU_EN_MASK, 0, indirect);
>>>    	if (indirect)
>>> -		amdgpu_vcn_psp_update_sram(adev, inst_idx);
>>> +		amdgpu_vcn_psp_update_sram(adev, 0);
>>
>> This doesn't work either for passing the right buffer. Could you revert the
>> two patches? Not seeing any simplification with those. Previously it was one
>> psp API to be called.
> 
> Oh, thanks. I got it ...
> 
> The purpose of psp_execute_load_ip_fw_cmd_buf is to serve other IPs,
> they have same use cases like what psp_update_vcn_sram does.
> 
> How about just call psp_execute_load_ip_fw_cmd_buf in VCN directly?
> 
> Or revert the two patches and add some functions
> like psp_update_AAA, psp_update_BBB, ... for Other IPs.
> 

At least for now, I think VCN is the only case which requires an extra 
specific ucode API. All other ucodes are loaded during psp hw_init.

Thanks,
Lijo

> Regards,
> Lang
> 
> 
>> Thanks,
>> Lijo
>>
>>>>    	ring = &adev->vcn.inst[inst_idx].ring_enc[0];


More information about the amd-gfx mailing list