Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3725553pxj; Mon, 24 May 2021 13:24:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyDVlOMNZrdwpMTtTi+Z/3882UDR8pfRy6SseWvd4VteBYH+cE9BxRcuL78R/UVf+aUzfIC X-Received: by 2002:a92:4b08:: with SMTP id m8mr17309816ilg.183.1621887869785; Mon, 24 May 2021 13:24:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621887869; cv=none; d=google.com; s=arc-20160816; b=RRD4RkLmz9hNr5jlZBpCAMTnloSS5iGWdJmh/1LJxjNh3C5722PTHhJzDcR75bs5/t wfi+NOutjmYC09rMS5Xao+DKeuXqkXcr2bFRvQJXxHAjbBSYJ4q0cY/96k6AYHSQAGzi H6GW/owt0Md6QwXbl/O9rkPDEEjoMHfOU8dELbTy2VrrVmcAZM6qFzZpl3hl9i9olgjX 9fcXDv368PwV9nbqvmTk63HkCLt+gIY1c/mRRYbGOjwaByxqpvBxRNmIb+dcCFpKdhS/ VskoNaP+ocpsp9aZw0u9bg2ezUnp7ueFfq+OlNecvetIhFbr+0HpcfyvMOp3vZYh9lT0 g5KQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=MbAIwJkycu2rFgbphHvkNEj5G7717N71rzla5YcYfh8=; b=uvv3C7O2vwLvjE42XE+F4U5OOKTxufVdy8oUQp1Ugr6q6vxgrMvpgEU/B2L4q0Mn5o T/cx/8Mm7H28RhiDz4JpI2hTxFs2e+qjGrs23dnW2taOO47zGXGtDDn7SXOlk9/OTQNc vgLWJX9yEEBjKkFTytMGVYdawa5qGA4XTEvg1Qk0pJKyeHoGWeiOTjJoZcnNFnvN4VxE cSYC1Yvpf/iNFaUPfv3GRZYfY2x2Q+0KU3KQxRZ7J+8EDTQCQGDMq/CYCrM9/FUXb3v0 skPOW6HlWCPlmIb7sZuqLNzso5U7ynpSM/uslzLnWcWPpC6rOtdQcEdIVD488ab7f3Nl HNsw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b="Z/lN2rd7"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 5si17606048ilx.117.2021.05.24.13.24.15; Mon, 24 May 2021 13:24:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b="Z/lN2rd7"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233270AbhEXUXz (ORCPT + 99 others); Mon, 24 May 2021 16:23:55 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:44826 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232900AbhEXUXy (ORCPT ); Mon, 24 May 2021 16:23:54 -0400 Received: from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 0FA5445E; Mon, 24 May 2021 22:22:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1621887744; bh=6/JgaUC+uqJrfLfFJiluCN1zWQh+xIAcm7wr4Ji1UNg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Z/lN2rd7M5BPbXhmULtcNwVVHXg43hCshuaP0dAkJ9dEcfS3+3p1DJWn0aIrMqeVZ 5DmSNfoGIUN1gwwKC+UvYTCjVHjQupIVJGzbHxBQC10ludk8u7sIl1kcNq2+U+kFE4 /ZHOvvxA1tEvLuzGlms7YHw0UZPiZVDfkxeZSgyA= Date: Mon, 24 May 2021 23:22:18 +0300 From: Laurent Pinchart To: Douglas Anderson Cc: Andrzej Hajda , Neil Armstrong , Jonas Karlman , Jernej Skrabec , Sam Ravnborg , robdclark@chromium.org, David Airlie , linux-arm-msm@vger.kernel.org, Stephen Boyd , dri-devel@lists.freedesktop.org, Bjorn Andersson , Stanislav Lisovskiy , Thierry Reding , Steev Klimaszewski , Thierry Reding , linux-kernel@vger.kernel.org Subject: Re: [PATCH v7 01/10] drm/panel: panel-simple: Add missing pm_runtime_dont_use_autosuspend() calls Message-ID: References: <20210517200907.1459182-1-dianders@chromium.org> <20210517130450.v7.1.I9e947183e95c9bd067c9c1d51208ac6a96385139@changeid> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20210517130450.v7.1.I9e947183e95c9bd067c9c1d51208ac6a96385139@changeid> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Doug, Thank you for the patch. On Mon, May 17, 2021 at 01:08:58PM -0700, Douglas Anderson wrote: > The PM Runtime docs specifically call out the need to call > pm_runtime_dont_use_autosuspend() in the remove() callback if > pm_runtime_use_autosuspend() was called in probe(): > > > Drivers in ->remove() callback should undo the runtime PM changes done > > in ->probe(). Usually this means calling pm_runtime_disable(), > > pm_runtime_dont_use_autosuspend() etc. ~/src/kernel/linux $ git grep pm_runtime_use_autosuspend -- drivers | wc -l 209 ~/src/kernel/linux $ git grep pm_runtime_dont_use_autosuspend -- drivers | wc -l 80 Seems like a lost battle :-( The fix is right, but I wonder if this shouldn't be handled automatically by the runtime PM core. The runtime PM API is notoriously difficult to use correctly. > We should do this. This fixes a warning splat that I saw when I was > testing out the panel-simple's remove(). > > Fixes: 3235b0f20a0a ("drm/panel: panel-simple: Use runtime pm to avoid excessive unprepare / prepare") > Signed-off-by: Douglas Anderson Reviewed-by: Laurent Pinchart > --- > > Changes in v7: > - pm_runtime_dont_use_autosuspend() fix new for v7. > > drivers/gpu/drm/panel/panel-simple.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c > index 9be050ab372f..21939d4352cf 100644 > --- a/drivers/gpu/drm/panel/panel-simple.c > +++ b/drivers/gpu/drm/panel/panel-simple.c > @@ -798,6 +798,7 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc) > return 0; > > disable_pm_runtime: > + pm_runtime_dont_use_autosuspend(dev); > pm_runtime_disable(dev); > free_ddc: > if (panel->ddc) > @@ -814,6 +815,7 @@ static int panel_simple_remove(struct device *dev) > drm_panel_disable(&panel->base); > drm_panel_unprepare(&panel->base); > > + pm_runtime_dont_use_autosuspend(dev); > pm_runtime_disable(dev); > if (panel->ddc) > put_device(&panel->ddc->dev); -- Regards, Laurent Pinchart