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

2019-03-04 Thread Florian Fainelli
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 
> 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);
> 


-- 
Florian


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

2019-02-20 Thread Eric Anholt
We don't have ASB master/slave regs for this domain, so just skip that
step.

Signed-off-by: Eric Anholt 
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(-)

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);
-- 
2.20.1