[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Y7jJDw4RcNceyLbR@google.com>
Date: Fri, 6 Jan 2023 17:21:19 -0800
From: Brian Norris <briannorris@...omium.org>
To: Michel Dänzer <michel.daenzer@...lbox.org>
Cc: Heiko Stübner <heiko@...ech.de>,
Sean Paul <seanpaul@...omium.org>,
"kernelci.org bot" <bot@...nelci.org>,
linux-kernel@...r.kernel.org, dri-devel@...ts.freedesktop.org,
Sandy Huang <hjc@...k-chips.com>,
linux-rockchip@...ts.infradead.org, stable@...r.kernel.org
Subject: Re: [PATCH 2/2] drm/rockchip: vop: Leave vblank enabled in
self-refresh
On Fri, Jan 06, 2023 at 12:42:54PM +0100, Michel Dänzer wrote:
> On 1/6/23 02:40, Brian Norris wrote:
> > --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> > +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> > @@ -719,11 +719,11 @@ static void vop_crtc_atomic_disable(struct drm_crtc *crtc,
> >
> > mutex_lock(&vop->vop_lock);
> >
> > - drm_crtc_vblank_off(crtc);
> > -
> > if (crtc->state->self_refresh_active)
> > goto out;
> >
> > + drm_crtc_vblank_off(crtc);
> > +
> > /*
> > * Vop standby will take effect at end of current frame,
> > * if dsp hold valid irq happen, it means standby complete.
>
> The out label immediately unlocks vop->vop_lock again, seems a bit pointless. :)
Oops, of course. Will change that in v2.
> AFAICT the self_refresh_active case should just return immediately,
> the out label would also send any pending atomic commit completion
> event, which seems wrong now that the vblank interrupt is left
> enabled.
If I return immediately and drop that completion, I hit a warning:
[ 4.423876] WARNING: CPU: 5 PID: 58 at drivers/gpu/drm/drm_atomic_helper.c:2460 drm_atomic_helper_commit_hw_done+0xe0/0xe8
...
[ 4.424036] Call trace:
[ 4.424039] drm_atomic_helper_commit_hw_done+0xe0/0xe8
[ 4.424045] drm_atomic_helper_commit_tail_rpm+0x58/0x7c
...
I plan to leave it as-is for v2.
> (I also wonder if drm_crtc_vblank_off doesn't take care of
> that already, at least amdgpu doesn't do this explicitly AFAICT)
I'm not sure.
Brian
Powered by blists - more mailing lists