Message ID | 20200602095140.36678-3-daniel.vetter@ffwll.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/3] drm/atomic-helper: reset vblank on crtc reset | expand |
On Tue, Jun 02, 2020 at 11:51:40AM +0200, Daniel Vetter wrote: > This is already taken care of by drm_atomic_helper_shutdown(), and > in that case only for the CRTC which are actually on. > > Only tricky bit here is that we kill the interrupt handling before we > shut down crtc, so need to reorder that. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > Cc: Liviu Dudau <liviu.dudau@arm.com> Acked-by: Liviu Dudau <liviu.dudau@arm.com> Best regards, Liviu > Cc: Brian Starkey <brian.starkey@arm.com> > Cc: > --- > drivers/gpu/drm/arm/hdlcd_drv.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c > index 194419f47c5e..26bc5d7766f5 100644 > --- a/drivers/gpu/drm/arm/hdlcd_drv.c > +++ b/drivers/gpu/drm/arm/hdlcd_drv.c > @@ -347,9 +347,8 @@ static void hdlcd_drm_unbind(struct device *dev) > of_node_put(hdlcd->crtc.port); > hdlcd->crtc.port = NULL; > pm_runtime_get_sync(dev); > - drm_crtc_vblank_off(&hdlcd->crtc); > - drm_irq_uninstall(drm); > drm_atomic_helper_shutdown(drm); > + drm_irq_uninstall(drm); > pm_runtime_put(dev); > if (pm_runtime_enabled(dev)) > pm_runtime_disable(dev); > -- > 2.26.2 >
On Tue, Jun 02, 2020 at 02:00:16PM +0100, Liviu Dudau wrote: > On Tue, Jun 02, 2020 at 11:51:40AM +0200, Daniel Vetter wrote: > > This is already taken care of by drm_atomic_helper_shutdown(), and > > in that case only for the CRTC which are actually on. > > > > Only tricky bit here is that we kill the interrupt handling before we > > shut down crtc, so need to reorder that. > > > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > > Cc: Liviu Dudau <liviu.dudau@arm.com> > > Acked-by: Liviu Dudau <liviu.dudau@arm.com> Ok I merged the two arm patches, thanks for taking a look. First patch needs more work ... -Daniel > > Best regards, > Liviu > > > Cc: Brian Starkey <brian.starkey@arm.com> > > Cc: > > --- > > drivers/gpu/drm/arm/hdlcd_drv.c | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c > > index 194419f47c5e..26bc5d7766f5 100644 > > --- a/drivers/gpu/drm/arm/hdlcd_drv.c > > +++ b/drivers/gpu/drm/arm/hdlcd_drv.c > > @@ -347,9 +347,8 @@ static void hdlcd_drm_unbind(struct device *dev) > > of_node_put(hdlcd->crtc.port); > > hdlcd->crtc.port = NULL; > > pm_runtime_get_sync(dev); > > - drm_crtc_vblank_off(&hdlcd->crtc); > > - drm_irq_uninstall(drm); > > drm_atomic_helper_shutdown(drm); > > + drm_irq_uninstall(drm); > > pm_runtime_put(dev); > > if (pm_runtime_enabled(dev)) > > pm_runtime_disable(dev); > > -- > > 2.26.2 > > > > -- > ==================== > | I would like to | > | fix the world, | > | but they're not | > | giving me the | > \ source code! / > --------------- > ¯\_(ツ)_/¯
diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c index 194419f47c5e..26bc5d7766f5 100644 --- a/drivers/gpu/drm/arm/hdlcd_drv.c +++ b/drivers/gpu/drm/arm/hdlcd_drv.c @@ -347,9 +347,8 @@ static void hdlcd_drm_unbind(struct device *dev) of_node_put(hdlcd->crtc.port); hdlcd->crtc.port = NULL; pm_runtime_get_sync(dev); - drm_crtc_vblank_off(&hdlcd->crtc); - drm_irq_uninstall(drm); drm_atomic_helper_shutdown(drm); + drm_irq_uninstall(drm); pm_runtime_put(dev); if (pm_runtime_enabled(dev)) pm_runtime_disable(dev);
This is already taken care of by drm_atomic_helper_shutdown(), and in that case only for the CRTC which are actually on. Only tricky bit here is that we kill the interrupt handling before we shut down crtc, so need to reorder that. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Liviu Dudau <liviu.dudau@arm.com> Cc: Brian Starkey <brian.starkey@arm.com> Cc: --- drivers/gpu/drm/arm/hdlcd_drv.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)