Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752354AbdFSQQz (ORCPT ); Mon, 19 Jun 2017 12:16:55 -0400 Received: from foss.arm.com ([217.140.101.70]:53210 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751858AbdFSQQl (ORCPT ); Mon, 19 Jun 2017 12:16:41 -0400 Date: Mon, 19 Jun 2017 17:16:39 +0100 From: Liviu Dudau To: Noralf =?utf-8?Q?Tr=C3=B8nnes?= Cc: Mali DP Maintainers , DRI devel , LKML Subject: Re: [PATCH v2] drm: hdlcd: Update PM code to save/restore console. Message-ID: <20170619161639.GU1322@e110455-lin.cambridge.arm.com> References: <20170619135341.4357-1-Liviu.Dudau@arm.com> <6c1a7f41-872e-fd95-770a-ed057d89580d@tronnes.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <6c1a7f41-872e-fd95-770a-ed057d89580d@tronnes.org> User-Agent: Mutt/1.8.3 (2017-05-23) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2395 Lines: 74 On Mon, Jun 19, 2017 at 05:47:07PM +0200, Noralf Trønnes wrote: > > Den 19.06.2017 15.53, skrev Liviu Dudau: > > Update the PM code to suspend/resume the fbdev_cma console. > > > > Changelog: > > - v2: Use drm_fbdev_cma_set_suspend_unlocked() function for taking the > > console lock (suggested by Noralf Trønnes ) > > - v1: Initial submission [1] > > > > > > [1] https://lists.freedesktop.org/archives/dri-devel/2017-June/144502.html > > > > Signed-off-by: Liviu Dudau > > --- > > drivers/gpu/drm/arm/hdlcd_drv.c | 5 ++++- > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c b/drivers/gpu/drm/arm/hdlcd_drv.c > > index d3da87fbd85a..11ecda211f7f 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 > > This include isn't necessary now. Ah, thanks for catching this! Will respin. Also, Brian pointed out that while the pm_runtime_set_active() call being removed is the right thing to do, it is not necessarily done in the right patch, so I need to figure out if I need another patch that does more tweaks to the pm_runtime. Best regards, Liviu > > Noralf. > > > #include > > #include > > #include > > @@ -435,9 +436,11 @@ static int __maybe_unused hdlcd_pm_suspend(struct device *dev) > > return 0; > > drm_kms_helper_poll_disable(drm); > > + drm_fbdev_cma_set_suspend_unlocked(hdlcd->fbdev, 1); > > hdlcd->state = drm_atomic_helper_suspend(drm); > > if (IS_ERR(hdlcd->state)) { > > + drm_fbdev_cma_set_suspend_unlocked(hdlcd->fbdev, 0); > > drm_kms_helper_poll_enable(drm); > > return PTR_ERR(hdlcd->state); > > } > > @@ -454,8 +457,8 @@ static int __maybe_unused hdlcd_pm_resume(struct device *dev) > > return 0; > > drm_atomic_helper_resume(drm, hdlcd->state); > > + drm_fbdev_cma_set_suspend_unlocked(hdlcd->fbdev, 0); > > 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! / --------------- ¯\_(ツ)_/¯