diff mbox series

[v2,1/2] soc: bcm: bcm2835-pm: Fix PM_IMAGE_PERI power domain support.

Message ID 20190220181951.12670-1-eric@anholt.net (mailing list archive)
State Mainlined, archived
Commit 7f3d6c8e8f5f041c86c0a9f64e4b4ab7c6373ac2
Headers show
Series [v2,1/2] soc: bcm: bcm2835-pm: Fix PM_IMAGE_PERI power domain support. | expand

Commit Message

Eric Anholt Feb. 20, 2019, 6:19 p.m. UTC
We don't have ASB master/slave regs for this domain, so just skip that
step.

Signed-off-by: Eric Anholt <eric@anholt.net>
Fixes: 670c672608a1 ("soc: bcm: bcm2835-pm: Add support for power domains under a new binding.")
---
 drivers/soc/bcm/bcm2835-power.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

Comments

Florian Fainelli March 4, 2019, 9:08 p.m. UTC | #1
On 2/20/19 10:19 AM, Eric Anholt wrote:
> We don't have ASB master/slave regs for this domain, so just skip that
> step.
> 
> Signed-off-by: Eric Anholt <eric@anholt.net>
> Fixes: 670c672608a1 ("soc: bcm: bcm2835-pm: Add support for power domains under a new binding.")

Eric, do you want put that in a pull request for me to send to the ARM
SoC maintainers?

> ---
>  drivers/soc/bcm/bcm2835-power.c | 14 ++++++++++++--
>  1 file changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/soc/bcm/bcm2835-power.c b/drivers/soc/bcm/bcm2835-power.c
> index 48412957ec7a..4a1b99b773c0 100644
> --- a/drivers/soc/bcm/bcm2835-power.c
> +++ b/drivers/soc/bcm/bcm2835-power.c
> @@ -150,7 +150,12 @@ struct bcm2835_power {
>  
>  static int bcm2835_asb_enable(struct bcm2835_power *power, u32 reg)
>  {
> -	u64 start = ktime_get_ns();
> +	u64 start;
> +
> +	if (!reg)
> +		return 0;
> +
> +	start = ktime_get_ns();
>  
>  	/* Enable the module's async AXI bridges. */
>  	ASB_WRITE(reg, ASB_READ(reg) & ~ASB_REQ_STOP);
> @@ -165,7 +170,12 @@ static int bcm2835_asb_enable(struct bcm2835_power *power, u32 reg)
>  
>  static int bcm2835_asb_disable(struct bcm2835_power *power, u32 reg)
>  {
> -	u64 start = ktime_get_ns();
> +	u64 start;
> +
> +	if (!reg)
> +		return 0;
> +
> +	start = ktime_get_ns();
>  
>  	/* Enable the module's async AXI bridges. */
>  	ASB_WRITE(reg, ASB_READ(reg) | ASB_REQ_STOP);
>
diff mbox series

Patch

diff --git a/drivers/soc/bcm/bcm2835-power.c b/drivers/soc/bcm/bcm2835-power.c
index 48412957ec7a..4a1b99b773c0 100644
--- a/drivers/soc/bcm/bcm2835-power.c
+++ b/drivers/soc/bcm/bcm2835-power.c
@@ -150,7 +150,12 @@  struct bcm2835_power {
 
 static int bcm2835_asb_enable(struct bcm2835_power *power, u32 reg)
 {
-	u64 start = ktime_get_ns();
+	u64 start;
+
+	if (!reg)
+		return 0;
+
+	start = ktime_get_ns();
 
 	/* Enable the module's async AXI bridges. */
 	ASB_WRITE(reg, ASB_READ(reg) & ~ASB_REQ_STOP);
@@ -165,7 +170,12 @@  static int bcm2835_asb_enable(struct bcm2835_power *power, u32 reg)
 
 static int bcm2835_asb_disable(struct bcm2835_power *power, u32 reg)
 {
-	u64 start = ktime_get_ns();
+	u64 start;
+
+	if (!reg)
+		return 0;
+
+	start = ktime_get_ns();
 
 	/* Enable the module's async AXI bridges. */
 	ASB_WRITE(reg, ASB_READ(reg) | ASB_REQ_STOP);