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

2023-07-07 Thread Lazar, Lijo




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 
---
  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.


Thanks,
Lijo


>ring = &adev->vcn.inst[inst_idx].ring_enc[0];
  


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

2023-07-07 Thread Lang Yu
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 
> > ---
> >   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.

Regards,
Lang


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


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

2023-07-07 Thread Lazar, Lijo




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 
---
   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];