brcm2708: organize kernel patches
[openwrt/staging/dedeckeh.git] / target / linux / brcm2708 / patches-4.19 / 950-0508-soc-bcm-bcm2835-pm-Fix-PM_IMAGE_PERI-power-domain-su.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0508-soc-bcm-bcm2835-pm-Fix-PM_IMAGE_PERI-power-domain-su.patch b/target/linux/brcm2708/patches-4.19/950-0508-soc-bcm-bcm2835-pm-Fix-PM_IMAGE_PERI-power-domain-su.patch
new file mode 100644 (file)
index 0000000..05ae67a
--- /dev/null
@@ -0,0 +1,45 @@
+From ea44a81b7daf511788aecaee7575feff359c5d19 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Fri, 11 Jan 2019 17:29:10 -0800
+Subject: [PATCH] soc: bcm: bcm2835-pm: Fix PM_IMAGE_PERI power domain
+ support.
+
+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(-)
+
+--- 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 bcm
+ 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);