Re: [PATCH] drm/amd/display: fix hibernate entry for DCN35+

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

 



On Fri, Oct 4, 2024 at 4:49 PM Hamza Mahfooz <hamza.mahfooz@xxxxxxx> wrote:
>
> On 10/4/24 16:44, Alex Deucher wrote:
> > On Fri, Oct 4, 2024 at 4:43 PM Hamza Mahfooz <hamza.mahfooz@xxxxxxx> wrote:
> >>
> >> Since, two suspend-resume cycles are required to enter hibernate and,
> >> since we only need to enable idle optimizations in the first cycle
> >> (which is pretty much equivalent to s2idle). We can check in_s0ix, to
> >> prevent the system from entering idle optimizations before it actually
> >> enters hibernate (from display's perspective).
> >>
> >> Cc: stable@xxxxxxxxxxxxxxx # 6.10+
> >> Signed-off-by: Hamza Mahfooz <hamza.mahfooz@xxxxxxx>
> >> ---
> >>   drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 7 ++++---
> >>   1 file changed, 4 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> >> index 4651b884d8d9..546a168a2fbf 100644
> >> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> >> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> >> @@ -2996,10 +2996,11 @@ static int dm_suspend(struct amdgpu_ip_block *ip_block)
> >>
> >>          hpd_rx_irq_work_suspend(dm);
> >>
> >> -       if (adev->dm.dc->caps.ips_support)
> >> -               dc_allow_idle_optimizations(adev->dm.dc, true);
> >> -
> >>          dc_set_power_state(dm->dc, DC_ACPI_CM_POWER_STATE_D3);
> >> +
> >> +       if (dm->dc->caps.ips_support && adev->in_s0ix)
> >> +               dc_allow_idle_optimizations(dm->dc, true);
> >> +
> >
> > Is the ordering change with respect to dc_set_power_state() intended?
>
> Yup, it's safer to set idle opts after dc_set_power_state(), since it
> involves a write to DMUB.

Might want to mention that in the commit message.  With that:
Acked-by: Alex Deucher <alexander.deucher@xxxxxxx>

>
> >
> > Alex
> >
> >>          dc_dmub_srv_set_power_state(dm->dc->ctx->dmub_srv, DC_ACPI_CM_POWER_STATE_D3);
> >>
> >>          return 0;
> >> --
> >> 2.46.0
> >>
> --
> Hamza
>





[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