Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752826AbdFTJhn (ORCPT ); Tue, 20 Jun 2017 05:37:43 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:33676 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751795AbdFTJhj (ORCPT ); Tue, 20 Jun 2017 05:37:39 -0400 Date: Tue, 20 Jun 2017 11:37:29 +0200 From: Daniel Vetter To: Noralf =?iso-8859-1?Q?Tr=F8nnes?= Cc: Liviu Dudau , Mali DP Maintainers , LKML , DRI devel Subject: Re: [PATCH] drm: hdlcd: Update PM code to save/restore console. Message-ID: <20170620093729.4wldbtug4vdflcll@phenom.ffwll.local> Mail-Followup-To: Noralf =?iso-8859-1?Q?Tr=F8nnes?= , Liviu Dudau , Mali DP Maintainers , LKML , DRI devel References: <20170616135333.27796-1-Liviu.Dudau@arm.com> <20170619131709.GR1322@e110455-lin.cambridge.arm.com> <926a4247-a62c-a64c-2349-52f63b1da2a0@tronnes.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <926a4247-a62c-a64c-2349-52f63b1da2a0@tronnes.org> X-Operating-System: Linux phenom 4.9.0-2-amd64 User-Agent: NeoMutt/20170306 (1.8.0) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2076 Lines: 49 On Mon, Jun 19, 2017 at 05:45:21PM +0200, Noralf Tr?nnes wrote: > > Den 19.06.2017 15.17, skrev Liviu Dudau: > > 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 > > > > --- > > > > 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 > > > > #include > > > > #include > > > > +#include > > > > #include > > > > #include > > > > #include > > > > @@ -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). > > I don't remember, but probably to match drm_fbdev_cma_set_suspend() > which uses int. drm_fb_helper_set_suspend*() uses bool, but calls > into fb_set_suspend() which uses int, but as a boolean. I'd be happy to apply a patch which changes them all to bool ... Cheers, Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch