RE: [PATCH] drm/amdgpu/vcn: Need to pause dpg before stop dpg

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

 



[AMD Official Use Only - General]

Hi Leo,
    Sorry, need to correct the commit message, it is unpasue, during unloading driver,  I haven't seen any place call un-pause dpg for vcn4.0 for hw fini. And it will report "[drm] Register(1) [regUVD_POWER_STATUS] failed to reach value
>0x00000001 != 0x00000000n ", and with adding calling un-pause dpg, then issue disappears.

Best wishes
Emily Deng

>-----Original Message-----
>From: Liu, Leo <Leo.Liu@xxxxxxx>
>Sent: Monday, June 19, 2023 9:27 PM
>To: Deng, Emily <Emily.Deng@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx
>Cc: Deng, Emily <Emily.Deng@xxxxxxx>
>Subject: RE: [PATCH] drm/amdgpu/vcn: Need to pause dpg before stop dpg
>
>[AMD Official Use Only - General]
>
>Hi Emily,
>
>Do you want to pause or un-pause dpg mode based on and change and commit
>message?
>
>With bare metal, before calling the stop, the state of dpg should be un-paused
>within the call the of amdgpu_vcn_idle_work_handler, is it not the case for
>SRIOV?
>
>Regards,
>Leo
>
>
>-----Original Message-----
>From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Emily
>Deng
>Sent: Monday, June 19, 2023 6:24 AM
>To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx
>Cc: Deng, Emily <Emily.Deng@xxxxxxx>
>Subject: [PATCH] drm/amdgpu/vcn: Need to pause dpg before stop dpg
>
>Need to pause dpg first, or it will hit follow error during stop dpg:
>"[drm] Register(1) [regUVD_POWER_STATUS] failed to reach value
>0x00000001 != 0x00000000n"
>
>Signed-off-by: Emily Deng <Emily.Deng@xxxxxxx>
>---
> drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c | 2 ++
> 1 file changed, 2 insertions(+)
>
>diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c
>b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c
>index b48bb5212488..259795098173 100644
>--- a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c
>+++ b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c
>@@ -1424,8 +1424,10 @@ static int vcn_v4_0_start_sriov(struct
>amdgpu_device *adev)
>  */
> static void vcn_v4_0_stop_dpg_mode(struct amdgpu_device *adev, int
>inst_idx)  {
>+       struct dpg_pause_state state = {.fw_based =
>VCN_DPG_STATE__UNPAUSE};
>        uint32_t tmp;
>
>+       vcn_v4_0_pause_dpg_mode(adev, inst_idx, &state);
>        /* Wait for power status to be 1 */
>        SOC15_WAIT_ON_RREG(VCN, inst_idx, regUVD_POWER_STATUS, 1,
>                UVD_POWER_STATUS__UVD_POWER_STATUS_MASK);
>--
>2.36.1
>





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux