Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp3533921imm; Mon, 13 Aug 2018 13:31:11 -0700 (PDT) X-Google-Smtp-Source: AA+uWPyatLq4dgagl7f2yLzyYYPqHHrMBWRbjfTLrspx6rQn8AEr9P10Z8KTrVAUnxoZwj8IhG3z X-Received: by 2002:a63:2263:: with SMTP id t35-v6mr18022045pgm.272.1534192271733; Mon, 13 Aug 2018 13:31:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534192271; cv=none; d=google.com; s=arc-20160816; b=Du+xwOR/H8MlhjiFBuaJKzxZfeBYRPCIf/IgptMzBoEV/eTfhgdMWJCegk7l/KtJ74 qyMLgpUfl8VOS1U/hVH5iU2UGAATFm4gyuBvL5OGevkSQus2E+d3dcIwhftQYNo3c8Jy SXg1f95yD+A4XgQemCUMC187WIWO4BO6jS2FXr6EY3QczS3jDwhiSEqL13rvSFGnMvBd P0daqhWsju/XdHTLG9uqnqgjOlLSmXUPPQoDSRRMaQJgCAmhichtGURgRdBBLOwIObSu cmCoPBD+lUnrErm3sNZtRO8OXmeaP/mkYEG6Td5KYjWl7bjcVHTXF+DE58m18pxxsxUO r+bA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:organization:message-id:date:subject:cc:to :from:dkim-signature:arc-authentication-results; bh=m+ZjmbYRI+uHt3FvfPpZfupQyCFX2jfz2YgA3klpCVk=; b=b9smiwmCPxHNbeP9+6UMT6Td71d46+JWuJtG63h5oNcHAtlVfJ+Ms6zBlq0TqNchi/ eg3q7EUhzJe58JC1rjIcoCvC+a2ac+hVfNlKdbGqPs6DVk+5Mohb0cDzuYly74dZcLnx REKYBpOaP4HBVjuyf7D/ygJkv4+av7yauxTf+E4qQiE3AIJ0BUUaRGjsaUGZJKxwjn/w VGnUuuP5fIgZymh0SI00cizRo5E1lWsbgZpHK06CcnlHJ+Tldk70ZC+Ti4ltsbmUEC1M KUUPIuT1wvqPe4NN3zjfCnTJYlt3RUU0ClBGDovcIDyezmcXD861yANfFRPBPT5V4LQq 5VNA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=YeUFuV1D; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q74-v6si21658060pfq.32.2018.08.13.13.30.57; Mon, 13 Aug 2018 13:31:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=YeUFuV1D; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730464AbeHMWk4 (ORCPT + 99 others); Mon, 13 Aug 2018 18:40:56 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:43208 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729891AbeHMWk4 (ORCPT ); Mon, 13 Aug 2018 18:40:56 -0400 Received: from avalon.localnet (h-17-125.A137.corp.bahnhof.se [94.254.17.125]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 7CDB7CE; Mon, 13 Aug 2018 21:57:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1534190233; bh=OUzYTxg3ac6ta2nATG7wn3A2xQ3/AJuit3Z8ebD3mNg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YeUFuV1DFnmVxXKVzjzXynowACLyk+x8HOKFEHbaMgYf4qfwU9dDoV/LLFP1HjFsk V5cxbspcjMm32uK9dk8BtYts40q6ICoeQ7e57/igLV+g7ISf+Meuk6+9e+j0cgtsxu W6IqgPTzA5+Wvwm7ak6gh0ZrBXO09RRv2JDPO/xk= From: Laurent Pinchart To: Souptick Joarder Cc: Liviu Dudau , Brian Starkey , malidp@foss.arm.com, airlied@linux.ie, Gustavo Padovan , Maarten Lankhorst , Sean Paul , Ajit Linux , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org Subject: Re: [PATCH] drm: Convert drm_atomic_helper_suspend/resume() Date: Mon, 13 Aug 2018 22:58:01 +0300 Message-ID: <1727410.cC7tJrXHPR@avalon> Organization: Ideas on Board Oy In-Reply-To: References: <20180730190137.GA25420@jordon-HP-15-Notebook-PC> <20180813171611.GE907@e110455-lin.cambridge.arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Souptick, On Monday, 13 August 2018 21:51:31 EEST Souptick Joarder wrote: > On Mon, Aug 13, 2018 at 10:46 PM, Liviu Dudau wrote: > > On Thu, Aug 02, 2018 at 03:25:24PM +0530, Souptick Joarder wrote: > >> On Wed, Aug 1, 2018 at 12:11 AM, Souptick Joarder wrote: > >>> On Tue, Jul 31, 2018 at 4:04 PM, Liviu Dudau wrote: > >>>> On Tue, Jul 31, 2018 at 12:31:37AM +0530, Souptick Joarder wrote: > >>>>> convert drm_atomic_helper_suspend/resume() to use > >>>>> drm_mode_config_helper_suspend/resume(). > >>>>>=20 > >>>>> With this conversion, drm_fbdev_cma_set_suspend_unlocked() > >>>>> will left with no consumer. So this function can be removed. > >>>>>=20 > >>>>> Signed-off-by: Souptick Joarder > >>>>> Signed-off-by: Ajit Negi > >>>>> --- > >>>>>=20 > >>>>> drivers/gpu/drm/arm/hdlcd_drv.c | 26 ++---------------------= =2D-- > >>>>> drivers/gpu/drm/drm_fb_cma_helper.c | 18 ------------------ > >>>>> drivers/gpu/drm/rcar-du/rcar_du_drv.c | 21 ++------------------- > >>>>> include/drm/drm_fb_cma_helper.h | 2 -- > >>>>> 4 files changed, 4 insertions(+), 63 deletions(-) > >>>>>=20 > >>>>> diff --git a/drivers/gpu/drm/arm/hdlcd_drv.c > >>>>> b/drivers/gpu/drm/arm/hdlcd_drv.c index feaa8bc..4e617e0 100644 > >>>>> --- a/drivers/gpu/drm/arm/hdlcd_drv.c > >>>>> +++ b/drivers/gpu/drm/arm/hdlcd_drv.c > >>>>> @@ -427,37 +427,15 @@ static int hdlcd_remove(struct platform_device > >>>>> *pdev) > >>>>> static int __maybe_unused hdlcd_pm_suspend(struct device *dev) > >>>>> { > >>>>> struct drm_device *drm =3D dev_get_drvdata(dev); > >>>>> - struct hdlcd_drm_private *hdlcd =3D drm ? drm->dev_private : > >>>>> NULL; > >>>>>=20 > >>>>> - if (!hdlcd) > >>>>> - return 0; > >>>>> - > >>>>> - drm_kms_helper_poll_disable(drm); > >>>>> - drm_fbdev_cma_set_suspend_unlocked(hdlcd->fbdev, 1); > >>>>> - > >>>>> - hdlcd->state =3D 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); > >>>>> - } > >>>>> - > >>>>> - return 0; > >>>>> + return drm_mode_config_helper_suspend(drm); > >>>>> } > >>>>> =20 > >>>>> static int __maybe_unused hdlcd_pm_resume(struct device *dev) > >>>>> { > >>>>> struct drm_device *drm =3D dev_get_drvdata(dev); > >>>>> - struct hdlcd_drm_private *hdlcd =3D drm ? drm->dev_private : > >>>>> NULL; > >>>>> - > >>>>> - if (!hdlcd) > >>>>> - return 0; > >>>>>=20 > >>>>> - drm_atomic_helper_resume(drm, hdlcd->state); > >>>>> - drm_fbdev_cma_set_suspend_unlocked(hdlcd->fbdev, 0); > >>>>> - drm_kms_helper_poll_enable(drm); > >>>>> - > >>>>> - return 0; > >>>>> + return drm_mode_config_helper_resume(drm); > >>>>> } > >>>>=20 > >>>> This patch is similar to the one Noralf Tr=F8nnes submitted, and his= is > >>>> also cleaning up the state variable in hdlcd_drm_private. The patch > >>>> has been queued as commit f69d9686e5d9 in git://linux-arm.org/ > >>>> linux-ld.git for-upstream/hdlcd and I will send a pull request today > >>>> for it. > >>>=20 > >>> unable to clone this repository. > >>> can you please post the patchwork link ? > >=20 > > Sorry, I was on holiday until today. > >=20 > >> Liviu, is commit f69d9686e5d9 in > >> git://linux-arm.org/linux-ld.gitfor-upstream/hdlcd > >> contains only changes in drivers/gpu/drm/arm/hdlcd_drv.c driver ?? > >=20 > > That's right, that tree only deals with HDLCD changes. The rest of the > > patch is up to you to upstream into drm-misc. >=20 > As Liviu mentioned, drivers/gpu/drm/arm/hdlcd_drv.c is only changed, > so we left with drivers/gpu/drm/rcar-du/rcar_du_drv.c and remove > drm_fbdev_cma_set_suspend_unlocked(). >=20 > Would you like to see both rcar_du driver change and removing > drm_fbdev_cma_set_suspend_unlocked() in a single commit ?? > or 2 different commit ? I have a slight preference for two patches, but I'm fine with either. If yo= u=20 decide to go for two patches, please make sure they get upstreamed at the s= ame=20 time. Thanks for handling this. [snip] =2D-=20 Regards, Laurent Pinchart