amd-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Alex Deucher <alexdeucher@gmail.com>
To: "Timur Kristóf" <timur.kristof@gmail.com>
Cc: Alex Hung <alex.hung@amd.com>,
	amd-gfx list <amd-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 3/3] drm/amd/display: Don't use non-registered VUPDATE on DCE 6
Date: Mon, 18 Aug 2025 18:03:04 -0400	[thread overview]
Message-ID: <CADnq5_NsTX59k5Pyuv67-dA0S10z3kO9OTF=0W+z_Zkb6yk=MQ@mail.gmail.com> (raw)
In-Reply-To: <CAFF-SiVS9NY2MSd-ZmTnjwrOnC=amJrK2gh1CEOCgwiZOgjL4g@mail.gmail.com>

On Mon, Aug 18, 2025 at 6:02 PM Timur Kristóf <timur.kristof@gmail.com> wrote:
>
>
> Alex Deucher <alexdeucher@gmail.com> ezt írta (időpont: 2025. aug. 18., Hét 22:30):
>>
>> On Mon, Aug 18, 2025 at 4:11 PM Alex Hung <alex.hung@amd.com> wrote:
>> >
>> >
>> >
>> > On 8/2/25 10:06, Timur Kristóf wrote:
>> > > The VUPDATE interrupt isn't registered on DCE 6, so don't try
>> > > to use that.
>> > >
>> > > This fixes a page flip timeout after sleep/resume on DCE 6.
>> > >
>> > > Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
>> > > ---
>> > >   .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 22 ++++++++++++-------
>> > >   .../amd/display/amdgpu_dm/amdgpu_dm_crtc.c    | 16 ++++++++------
>> > >   2 files changed, 23 insertions(+), 15 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 470f831a17f7..e8d2ba58cbfa 100644
>> > > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> > > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> > > @@ -2981,14 +2981,20 @@ static void dm_gpureset_toggle_interrupts(struct amdgpu_device *adev,
>> > >                               drm_warn(adev_to_drm(adev), "Failed to %s pflip interrupts\n",
>> > >                                        enable ? "enable" : "disable");
>> > >
>> > > -                     if (enable) {
>> > > -                             if (amdgpu_dm_crtc_vrr_active(to_dm_crtc_state(acrtc->base.state)))
>> > > -                                     rc = amdgpu_dm_crtc_set_vupdate_irq(&acrtc->base, true);
>> > > -                     } else
>> > > -                             rc = amdgpu_dm_crtc_set_vupdate_irq(&acrtc->base, false);
>> > > -
>> > > -                     if (rc)
>> > > -                             drm_warn(adev_to_drm(adev), "Failed to %sable vupdate interrupt\n", enable ? "en" : "dis");
>> > > +                     if (dc_supports_vrr(adev->dm.dc->ctx->dce_version)) {
>> > > +                             if (enable) {
>> > > +                                     if (amdgpu_dm_crtc_vrr_active(
>> > > +                                                     to_dm_crtc_state(acrtc->base.state)))
>> > > +                                             rc = amdgpu_dm_crtc_set_vupdate_irq(
>> > > +                                                     &acrtc->base, true);
>> > > +                             } else
>> > > +                                     rc = amdgpu_dm_crtc_set_vupdate_irq(
>> > > +                                                     &acrtc->base, false);
>> > > +
>> > > +                             if (rc)
>> > > +                                     drm_warn(adev_to_drm(adev), "Failed to %sable vupdate interrupt\n",
>> > > +                                             enable ? "en" : "dis");
>> > > +                     }
>> >
>> > Hi Timur,
>> >
>> > There seem to be conflicts to amd-staging-drm-next. Could you please
>> > rebase and resend? This helps make sure new change fix the problem you
>> > observed.
>> >
>> > Really appreciate it. Thanks.
>>
>> If it's just the first patch, you can skip that one as the conflict
>> solves the issue with DSC.
>>
>> Alex
>
>
> Hi Alex,
>
> This is a different series, not the same one that had the patch for the DSC crash. I can send a rebased version tomorrow.
>
> Additionally, I have one more patch that solves another case of page flip timeout on DCE 6, I will add that to the next version of the series too if that's okay.

Sure.  Sorry for the confusion.

Alex

>
> Thanks,
> Timur
>
>
>>
>> >
>> > >
>> > >                       irq_source = IRQ_TYPE_VBLANK + acrtc->otg_inst;
>> > >                       /* During gpu-reset we disable and then enable vblank irq, so
>> > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
>> > > index 2551823382f8..f2208e4224f9 100644
>> > > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
>> > > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
>> > > @@ -298,13 +298,15 @@ static inline int amdgpu_dm_crtc_set_vblank(struct drm_crtc *crtc, bool enable)
>> > >
>> > >       irq_type = amdgpu_display_crtc_idx_to_irq_type(adev, acrtc->crtc_id);
>> > >
>> > > -     if (enable) {
>> > > -             /* vblank irq on -> Only need vupdate irq in vrr mode */
>> > > -             if (amdgpu_dm_crtc_vrr_active(acrtc_state))
>> > > -                     rc = amdgpu_dm_crtc_set_vupdate_irq(crtc, true);
>> > > -     } else {
>> > > -             /* vblank irq off -> vupdate irq off */
>> > > -             rc = amdgpu_dm_crtc_set_vupdate_irq(crtc, false);
>> > > +     if (dc_supports_vrr(dm->dc->ctx->dce_version)) {
>> > > +             if (enable) {
>> > > +                     /* vblank irq on -> Only need vupdate irq in vrr mode */
>> > > +                     if (amdgpu_dm_crtc_vrr_active(acrtc_state))
>> > > +                             rc = amdgpu_dm_crtc_set_vupdate_irq(crtc, true);
>> > > +             } else {
>> > > +                     /* vblank irq off -> vupdate irq off */
>> > > +                     rc = amdgpu_dm_crtc_set_vupdate_irq(crtc, false);
>> > > +             }
>> > >       }
>> > >
>> > >       if (rc)
>> >

  reply	other threads:[~2025-08-18 22:03 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-02 16:05 [PATCH 0/3] DC: Fix page flip timeouts on DCE 6 Timur Kristóf
2025-08-02 16:06 ` [PATCH 1/3] drm/amd/display: Disable fastboot on DCE 6 too Timur Kristóf
2025-08-12 21:09   ` Rodrigo Siqueira
2025-08-02 16:06 ` [PATCH 2/3] drm/amd/display: Disable VRR on DCE 6 Timur Kristóf
2025-08-12 21:23   ` Rodrigo Siqueira
2025-08-12 21:25   ` Rodrigo Siqueira
2025-08-02 16:06 ` [PATCH 3/3] drm/amd/display: Don't use non-registered VUPDATE " Timur Kristóf
2025-08-12 21:29   ` Rodrigo Siqueira
2025-08-18 20:11   ` Alex Hung
2025-08-18 20:30     ` Alex Deucher
2025-08-18 22:01       ` Timur Kristóf
2025-08-18 22:03         ` Alex Deucher [this message]
2025-08-18 22:38         ` Alex Hung
2025-08-04 15:50 ` [PATCH 0/3] DC: Fix page flip timeouts " Alex Deucher
2025-08-18  3:04 ` Alex Hung
2025-08-18 17:03   ` Alex Deucher
2025-08-18 17:11     ` Hung, Alex

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CADnq5_NsTX59k5Pyuv67-dA0S10z3kO9OTF=0W+z_Zkb6yk=MQ@mail.gmail.com' \
    --to=alexdeucher@gmail.com \
    --cc=alex.hung@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=timur.kristof@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).