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