All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peng Fan <peng.fan@nxp.com>
To: Lucas Stach <l.stach@pengutronix.de>,
	Shawn Guo <shawnguo@kernel.org>, Rob Herring <robh+dt@kernel.org>
Cc: dl-linux-imx <linux-imx@nxp.com>, Adam Ford <aford173@gmail.com>,
	Frieder Schrempf <frieder.schrempf@kontron.de>,
	Marek Vasut <marex@denx.de>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>,
	"patchwork-lst@pengutronix.de" <patchwork-lst@pengutronix.de>
Subject: RE: [PATCH v2 05/18] soc: imx: gpcv2: add domain option to keep domain clocks enabled
Date: Thu, 5 Aug 2021 09:38:57 +0000	[thread overview]
Message-ID: <AM5PR0402MB27566D344BC0A3D5BB936EA288F29@AM5PR0402MB2756.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <20210721204703.1424034-6-l.stach@pengutronix.de>

> Subject: [PATCH v2 05/18] soc: imx: gpcv2: add domain option to keep
> domain clocks enabled
> 
> Some of the MIX domains are using clocks to drive the bus bridges. Those
> must be enabled at all times, as long as the domain is powered up and they
> don't have any other consumer than the power domain. Add an option to
> keep the clocks attached to a domain enabled as long as the domain is power
> up and only disable them after the domain is powered down.
> 
> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>

Reviewed-by: Peng Fan <peng.fan@nxp.com>

> ---
>  drivers/soc/imx/gpcv2.c | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/soc/imx/gpcv2.c b/drivers/soc/imx/gpcv2.c index
> 35f26f57d1ac..c3b1d2580963 100644
> --- a/drivers/soc/imx/gpcv2.c
> +++ b/drivers/soc/imx/gpcv2.c
> @@ -202,6 +202,7 @@ struct imx_pgc_domain {
>  	} bits;
> 
>  	const int voltage;
> +	const bool keep_clocks;
>  	struct device *dev;
>  };
> 
> @@ -295,7 +296,8 @@ static int imx_pgc_power_up(struct
> generic_pm_domain *genpd)
>  	}
> 
>  	/* Disable reset clocks for all devices in the domain */
> -	clk_bulk_disable_unprepare(domain->num_clks, domain->clks);
> +	if (!domain->keep_clocks)
> +		clk_bulk_disable_unprepare(domain->num_clks, domain->clks);
> 
>  	return 0;
> 
> @@ -317,10 +319,12 @@ static int imx_pgc_power_down(struct
> generic_pm_domain *genpd)
>  	int ret;
> 
>  	/* Enable reset clocks for all devices in the domain */
> -	ret = clk_bulk_prepare_enable(domain->num_clks, domain->clks);
> -	if (ret) {
> -		dev_err(domain->dev, "failed to enable reset clocks\n");
> -		return ret;
> +	if (!domain->keep_clocks) {
> +		ret = clk_bulk_prepare_enable(domain->num_clks, domain->clks);
> +		if (ret) {
> +			dev_err(domain->dev, "failed to enable reset clocks\n");
> +			return ret;
> +		}
>  	}
> 
>  	/* request the ADB400 to power down */
> --
> 2.30.2


WARNING: multiple messages have this Message-ID (diff)
From: Peng Fan <peng.fan@nxp.com>
To: Lucas Stach <l.stach@pengutronix.de>,
	Shawn Guo <shawnguo@kernel.org>, Rob Herring <robh+dt@kernel.org>
Cc: dl-linux-imx <linux-imx@nxp.com>, Adam Ford <aford173@gmail.com>,
	Frieder Schrempf <frieder.schrempf@kontron.de>,
	Marek Vasut <marex@denx.de>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>,
	"patchwork-lst@pengutronix.de" <patchwork-lst@pengutronix.de>
Subject: RE: [PATCH v2 05/18] soc: imx: gpcv2: add domain option to keep domain clocks enabled
Date: Thu, 5 Aug 2021 09:38:57 +0000	[thread overview]
Message-ID: <AM5PR0402MB27566D344BC0A3D5BB936EA288F29@AM5PR0402MB2756.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <20210721204703.1424034-6-l.stach@pengutronix.de>

> Subject: [PATCH v2 05/18] soc: imx: gpcv2: add domain option to keep
> domain clocks enabled
> 
> Some of the MIX domains are using clocks to drive the bus bridges. Those
> must be enabled at all times, as long as the domain is powered up and they
> don't have any other consumer than the power domain. Add an option to
> keep the clocks attached to a domain enabled as long as the domain is power
> up and only disable them after the domain is powered down.
> 
> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>

Reviewed-by: Peng Fan <peng.fan@nxp.com>

> ---
>  drivers/soc/imx/gpcv2.c | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/soc/imx/gpcv2.c b/drivers/soc/imx/gpcv2.c index
> 35f26f57d1ac..c3b1d2580963 100644
> --- a/drivers/soc/imx/gpcv2.c
> +++ b/drivers/soc/imx/gpcv2.c
> @@ -202,6 +202,7 @@ struct imx_pgc_domain {
>  	} bits;
> 
>  	const int voltage;
> +	const bool keep_clocks;
>  	struct device *dev;
>  };
> 
> @@ -295,7 +296,8 @@ static int imx_pgc_power_up(struct
> generic_pm_domain *genpd)
>  	}
> 
>  	/* Disable reset clocks for all devices in the domain */
> -	clk_bulk_disable_unprepare(domain->num_clks, domain->clks);
> +	if (!domain->keep_clocks)
> +		clk_bulk_disable_unprepare(domain->num_clks, domain->clks);
> 
>  	return 0;
> 
> @@ -317,10 +319,12 @@ static int imx_pgc_power_down(struct
> generic_pm_domain *genpd)
>  	int ret;
> 
>  	/* Enable reset clocks for all devices in the domain */
> -	ret = clk_bulk_prepare_enable(domain->num_clks, domain->clks);
> -	if (ret) {
> -		dev_err(domain->dev, "failed to enable reset clocks\n");
> -		return ret;
> +	if (!domain->keep_clocks) {
> +		ret = clk_bulk_prepare_enable(domain->num_clks, domain->clks);
> +		if (ret) {
> +			dev_err(domain->dev, "failed to enable reset clocks\n");
> +			return ret;
> +		}
>  	}
> 
>  	/* request the ADB400 to power down */
> --
> 2.30.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-08-05  9:39 UTC|newest]

Thread overview: 139+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-16 23:28 [PATCH 00/17] i.MX8MM GPC improvements and BLK_CTRL driver Lucas Stach
2021-07-16 23:28 ` Lucas Stach
2021-07-16 23:29 ` [PATCH 01/17] Revert "soc: imx: gpcv2: move reset assert after requesting domain power up" Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-16 23:29 ` [PATCH 02/17] soc: imx: gpcv2: Turn domain->pgc into bitfield Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-16 23:29 ` [PATCH 03/17] soc: imx: gpcv2: Set both GPC_PGC_nCTRL(GPU_2D|GPU_3D) for MX8MM GPU domain Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-16 23:29 ` [PATCH 04/17] soc: imx: gpcv2: add lockdep annotation Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-16 23:29 ` [PATCH 05/17] soc: imx: gpcv2: add domain option to keep domain clocks enabled Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-16 23:29 ` [PATCH 06/17] soc: imx: gpcv2: keep i.MX8M* bus " Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-16 23:29 ` [PATCH 07/17] dt-bindings: soc: add binding for i.MX8MM VPU blk-ctrl Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-19 13:47   ` Rob Herring
2021-07-19 13:47     ` Rob Herring
2021-07-16 23:29 ` [PATCH 08/17] dt-bindings: power: imx8mm: add defines for VPU blk-ctrl domains Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-16 23:29 ` [PATCH 09/17] soc: imx: add i.MX8M blk-ctrl driver Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-16 23:29 ` [PATCH 10/17] dt-bindings: soc: add binding for i.MX8MM DISP blk-ctrl Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-19 13:47   ` Rob Herring
2021-07-19 13:47     ` Rob Herring
2021-07-16 23:29 ` [PATCH 11/17] dt-bindings: power: imx8mm: add defines for DISP blk-ctrl domains Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-16 23:29 ` [PATCH 12/17] soc: imx: imx8m-blk-ctrl: add DISP blk-ctrl Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-16 23:29 ` [PATCH 13/17] arm64: dts: imx8mm: add GPC node Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-16 23:29 ` [PATCH 14/17] arm64: dts: imx8mm: put USB controllers into power-domains Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-16 23:29 ` [PATCH 15/17] arm64: dts: imx8mm: Add GPU nodes for 2D and 3D core Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-16 23:29 ` [PATCH 16/17] arm64: dts: imx8mm: add VPU blk-ctrl Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-16 23:29 ` [PATCH 17/17] arm64: dts: imx8mm: add DISP blk-ctrl Lucas Stach
2021-07-16 23:29   ` Lucas Stach
2021-07-19 12:53 ` [PATCH 00/17] i.MX8MM GPC improvements and BLK_CTRL driver Peng Fan
2021-07-19 12:53   ` Peng Fan
2021-07-19 16:56   ` Lucas Stach
2021-07-19 16:56     ` Lucas Stach
2021-07-21 11:21     ` Lucas Stach
2021-07-21 11:21       ` Lucas Stach
2021-07-21 20:46 ` [PATCH v2 00/18] " Lucas Stach
2021-07-21 20:46   ` Lucas Stach
2021-07-21 20:46   ` [PATCH v2 01/18] Revert "soc: imx: gpcv2: move reset assert after requesting domain power up" Lucas Stach
2021-07-21 20:46     ` Lucas Stach
2021-08-05  9:37     ` Peng Fan
2021-08-05  9:37       ` Peng Fan
2021-07-21 20:46   ` [PATCH v2 02/18] soc: imx: gpcv2: Turn domain->pgc into bitfield Lucas Stach
2021-07-21 20:46     ` Lucas Stach
2021-08-05  9:37     ` Peng Fan
2021-08-05  9:37       ` Peng Fan
2021-07-21 20:46   ` [PATCH v2 03/18] soc: imx: gpcv2: Set both GPC_PGC_nCTRL(GPU_2D|GPU_3D) for MX8MM GPU domain Lucas Stach
2021-07-21 20:46     ` Lucas Stach
2021-08-05  9:37     ` Peng Fan
2021-08-05  9:37       ` Peng Fan
2021-07-21 20:46   ` [PATCH v2 04/18] soc: imx: gpcv2: add lockdep annotation Lucas Stach
2021-07-21 20:46     ` Lucas Stach
2021-08-05  9:38     ` Peng Fan
2021-08-05  9:38       ` Peng Fan
2021-07-21 20:46   ` [PATCH v2 05/18] soc: imx: gpcv2: add domain option to keep domain clocks enabled Lucas Stach
2021-07-21 20:46     ` Lucas Stach
2021-08-05  9:38     ` Peng Fan [this message]
2021-08-05  9:38       ` Peng Fan
2021-07-21 20:46   ` [PATCH v2 06/18] soc: imx: gpcv2: keep i.MX8M* bus " Lucas Stach
2021-07-21 20:46     ` Lucas Stach
2021-08-05  9:39     ` Peng Fan
2021-08-05  9:39       ` Peng Fan
2021-07-21 20:46   ` [PATCH v2 07/18] soc: imx: gpcv2: support system suspend/resume Lucas Stach
2021-07-21 20:46     ` Lucas Stach
2021-08-05  9:47     ` Peng Fan
2021-08-05  9:47       ` Peng Fan
2021-07-21 20:46   ` [PATCH v2 08/18] dt-bindings: soc: add binding for i.MX8MM VPU blk-ctrl Lucas Stach
2021-07-21 20:46     ` Lucas Stach
2021-07-22 14:37     ` Rob Herring
2021-07-22 14:37       ` Rob Herring
2021-07-21 20:46   ` [PATCH v2 09/18] dt-bindings: power: imx8mm: add defines for VPU blk-ctrl domains Lucas Stach
2021-07-21 20:46     ` Lucas Stach
2021-07-21 20:46   ` [PATCH v2 10/18] soc: imx: add i.MX8M blk-ctrl driver Lucas Stach
2021-07-21 20:46     ` Lucas Stach
2021-08-05  9:54     ` Peng Fan
2021-08-05  9:54       ` Peng Fan
2021-07-21 20:46   ` [PATCH v2 11/18] dt-bindings: soc: add binding for i.MX8MM DISP blk-ctrl Lucas Stach
2021-07-21 20:46     ` Lucas Stach
2021-07-22 14:37     ` Rob Herring
2021-07-22 14:37       ` Rob Herring
2021-07-21 20:46   ` [PATCH v2 12/18] dt-bindings: power: imx8mm: add defines for DISP blk-ctrl domains Lucas Stach
2021-07-21 20:46     ` Lucas Stach
2021-07-21 20:46   ` [PATCH v2 13/18] soc: imx: imx8m-blk-ctrl: add DISP blk-ctrl Lucas Stach
2021-07-21 20:46     ` Lucas Stach
2021-08-05  9:53     ` Peng Fan
2021-08-05  9:53       ` Peng Fan
2021-07-21 20:46   ` [PATCH v2 14/18] arm64: dts: imx8mm: add GPC node Lucas Stach
2021-07-21 20:46     ` Lucas Stach
2021-08-05  9:54     ` Peng Fan
2021-08-05  9:54       ` Peng Fan
2021-07-21 20:47   ` [PATCH v2 15/18] arm64: dts: imx8mm: put USB controllers into power-domains Lucas Stach
2021-07-21 20:47     ` Lucas Stach
2021-07-21 20:47   ` [PATCH v2 16/18] arm64: dts: imx8mm: Add GPU nodes for 2D and 3D core Lucas Stach
2021-07-21 20:47     ` Lucas Stach
2021-07-21 20:47   ` [PATCH v2 17/18] arm64: dts: imx8mm: add VPU blk-ctrl Lucas Stach
2021-07-21 20:47     ` Lucas Stach
2021-07-21 20:47   ` [PATCH v2 18/18] arm64: dts: imx8mm: add DISP blk-ctrl Lucas Stach
2021-07-21 20:47     ` Lucas Stach
2021-08-05  9:35   ` [PATCH v2 00/18] i.MX8MM GPC improvements and BLK_CTRL driver Peng Fan (OSS)
2021-08-05  9:35     ` Peng Fan (OSS)
2021-08-05 10:18   ` Frieder Schrempf
2021-08-05 10:18     ` Frieder Schrempf
2021-08-05 18:56     ` Frieder Schrempf
2021-08-05 18:56       ` Frieder Schrempf
2021-08-09 11:01       ` Lucas Stach
2021-08-09 11:01         ` Lucas Stach
2021-08-09 11:50         ` Frieder Schrempf
2021-08-09 11:50           ` Frieder Schrempf
2021-08-09 18:51           ` Adam Ford
2021-08-09 18:51             ` Adam Ford
2021-09-01 10:03           ` Frieder Schrempf
2021-09-01 10:03             ` Frieder Schrempf
2021-09-01 12:16             ` Frieder Schrempf
2021-09-01 12:16               ` Frieder Schrempf
2021-09-02 10:25             ` Lucas Stach
2021-09-02 10:25               ` Lucas Stach
2021-09-06  7:49               ` Frieder Schrempf
2021-09-06  7:49                 ` Frieder Schrempf
2021-08-30 22:06         ` Tim Harvey
2021-08-30 22:06           ` Tim Harvey
2021-09-01 10:30           ` Frieder Schrempf
2021-09-01 10:30             ` Frieder Schrempf
2021-07-18  6:04 [PATCH 09/17] soc: imx: add i.MX8M blk-ctrl driver kernel test robot
2021-07-19  6:12 ` Dan Carpenter
2021-07-19  6:12 ` Dan Carpenter
2021-07-19  6:12 ` Dan Carpenter
2021-07-19  9:11 ` Lucas Stach
2021-07-19  9:11   ` Lucas Stach
2021-07-19  9:11   ` Lucas Stach

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AM5PR0402MB27566D344BC0A3D5BB936EA288F29@AM5PR0402MB2756.eurprd04.prod.outlook.com \
    --to=peng.fan@nxp.com \
    --cc=aford173@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=frieder.schrempf@kontron.de \
    --cc=kernel@pengutronix.de \
    --cc=l.stach@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=marex@denx.de \
    --cc=patchwork-lst@pengutronix.de \
    --cc=robh+dt@kernel.org \
    --cc=shawnguo@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.