Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1669053

Re: [PATCH] drm: hdlcd: Update PM code to save/restore console.

From Liviu Dudau <Liviu.Dudau@arm.com>
Newsgroups linux.kernel
Subject Re: [PATCH] drm: hdlcd: Update PM code to save/restore console.
Date 2017-06-19 15:20 +0200
Message-ID <tU4KZ-379-7@gated-at.bofh.it> (permalink)
References <tSZX4-Lj-13@gated-at.bofh.it> <tT2Lf-2HQ-9@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Fri, Jun 16, 2017 at 06:58:36PM +0200, Noralf Trønnes wrote:
> 
> Den 16.06.2017 15.53, skrev Liviu Dudau:
> > Update the PM code to suspend/resume the fbdev_cma console.
> > 
> > Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
> > ---
> >   drivers/gpu/drm/arm/hdlcd_drv.c | 11 ++++++++++-
> >   1 file changed, 10 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c
> > index d3da87fbd85a..89cd408cde6f 100644
> > --- a/drivers/gpu/drm/arm/hdlcd_drv.c
> > +++ b/drivers/gpu/drm/arm/hdlcd_drv.c
> > @@ -13,6 +13,7 @@
> >   #include <linux/spinlock.h>
> >   #include <linux/clk.h>
> >   #include <linux/component.h>
> > +#include <linux/console.h>
> >   #include <linux/list.h>
> >   #include <linux/of_graph.h>
> >   #include <linux/of_reserved_mem.h>
> > @@ -435,9 +436,15 @@ static int __maybe_unused hdlcd_pm_suspend(struct device *dev)
> >   		return 0;
> >   	drm_kms_helper_poll_disable(drm);
> > +	console_lock();
> > +	drm_fbdev_cma_set_suspend(hdlcd->fbdev, 1);
> > +	console_unlock();
> 
> You can use drm_fbdev_cma_set_suspend_unlocked() instead, it takes the
> lock for you and can speed up resume if the lock is contented.

Hi Noralf,

Thanks for pointing out the helpful function. As you look to be the author of it,
any reason why the signature of the function doesn't match the drm_fb_helper_ one
being called through? (I'm talking about int vs bool for the state/suspend arguments).

Best regards,
Liviu

> 
> Noralf.
> 
> 
> >   	hdlcd->state = drm_atomic_helper_suspend(drm);
> >   	if (IS_ERR(hdlcd->state)) {
> > +		console_lock();
> > +		drm_fbdev_cma_set_suspend(hdlcd->fbdev, 0);
> > +		console_unlock();
> >   		drm_kms_helper_poll_enable(drm);
> >   		return PTR_ERR(hdlcd->state);
> >   	}
> > @@ -454,8 +461,10 @@ static int __maybe_unused hdlcd_pm_resume(struct device *dev)
> >   		return 0;
> >   	drm_atomic_helper_resume(drm, hdlcd->state);
> > +	console_lock();
> > +	drm_fbdev_cma_set_suspend(hdlcd->fbdev, 0);
> > +	console_unlock();
> >   	drm_kms_helper_poll_enable(drm);
> > -	pm_runtime_set_active(dev);
> >   	return 0;
> >   }
> 

-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] drm: hdlcd: Update PM code to save/restore console. Liviu Dudau <Liviu.Dudau@arm.com> - 2017-06-16 16:00 +0200
  Re: [PATCH] drm: hdlcd: Update PM code to save/restore console. Noralf Trønnes <noralf@tronnes.org> - 2017-06-16 19:00 +0200
    Re: [PATCH] drm: hdlcd: Update PM code to save/restore console. Liviu Dudau <Liviu.Dudau@arm.com> - 2017-06-19 15:20 +0200
      Re: [PATCH] drm: hdlcd: Update PM code to save/restore console. Noralf Trønnes <noralf@tronnes.org> - 2017-06-19 17:50 +0200
    [PATCH v2] drm: hdlcd: Update PM code to save/restore console. Liviu Dudau <Liviu.Dudau@arm.com> - 2017-06-19 16:00 +0200
      Re: [PATCH v2] drm: hdlcd: Update PM code to save/restore console. Noralf Trønnes <noralf@tronnes.org> - 2017-06-19 17:50 +0200
        Re: [PATCH v2] drm: hdlcd: Update PM code to save/restore console. Liviu Dudau <Liviu.Dudau@arm.com> - 2017-06-19 18:20 +0200

csiph-web