On Tue, Dec 08, 2020 at 07:19:42PM +0800, Hou, Xiaomeng (Matthew) wrote: > RLC is halted when system suspend/shutdown. However, due to DPM enabled, PMFM is > unaware of RLC being halted and will continue sending messages, which would > eventually caused ACPI related hang. So send message to inform PMFM the rlc > status before start/stop rlc. > > Signed-off-by: Xiaomeng Hou <Xiaomeng.Hou@xxxxxxx> > Change-Id: I7b1a04f6e249ac6753109079ecb3019c99161d9f > --- > drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c > index cf999b7a2164..42a32c0e5bab 100644 > --- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c > +++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c > @@ -920,6 +920,14 @@ static int smu_smc_hw_setup(struct smu_context *smu) > uint32_t pcie_gen = 0, pcie_width = 0; > int ret = 0; > > + if (adev->in_suspend && smu->is_apu) { > + ret = smu_notify_rlc_status(smu, 1); You can create two new callbacks in ppt_funcs->inform_rlc(smu, on), and set on as bool type. Then you can use below macros to implement this callback with RLC notify SMC message. /* RLC Power Status */ #define RLC_STATUS_OFF 0 #define RLC_STATUS_NORMAL 1 Others look good for me. Thanks, Ray > + if (ret) { > + dev_info(adev->dev, "Failed to notify rlc status!\n"); > + return ret; > + } > + } > + > if (adev->in_suspend && smu_is_dpm_running(smu)) { > dev_info(adev->dev, "dpm has been enabled\n"); > /* this is needed specifically */ > @@ -1213,6 +1221,14 @@ static int smu_disable_dpms(struct smu_context *smu) > dev_err(adev->dev, "Failed to disable smu features.\n"); > } > > + if (smu->is_apu) { > + ret = smu_notify_rlc_status(smu, 0); > + if (ret) { > + dev_info(adev->dev, "Failed to notify rlc status!\n"); > + return ret; > + } > + } > + > if (adev->asic_type >= CHIP_NAVI10 && > adev->gfx.rlc.funcs->stop) > adev->gfx.rlc.funcs->stop(adev); > -- > 2.17.1 > _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx