summaryrefslogtreecommitdiffstats
path: root/drivers/pmdomain
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2024-05-27 17:18:31 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2024-05-27 17:18:31 +0200
commit2bfcfd584ff5ccc8bb7acde19b42570414bf880b (patch)
treedd473fd33decd6e627e16544e8ba815feb9225d8 /drivers/pmdomain
parentMerge tag 'vfs-6.10-rc2.fixes' of git://git.kernel.org/pub/scm/linux/kernel/g... (diff)
parentpmdomain: imx: gpcv2: Add delay after power up handshake (diff)
downloadlinux-2bfcfd584ff5ccc8bb7acde19b42570414bf880b.tar.xz
linux-2bfcfd584ff5ccc8bb7acde19b42570414bf880b.zip
Merge tag 'pmdomain-v6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm
Pull pmdomain fix from Ulf Hansson: - Fix regression in gpcv2 PM domain for i.MX8 * tag 'pmdomain-v6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm: pmdomain: imx: gpcv2: Add delay after power up handshake
Diffstat (limited to 'drivers/pmdomain')
-rw-r--r--drivers/pmdomain/imx/gpcv2.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/pmdomain/imx/gpcv2.c b/drivers/pmdomain/imx/gpcv2.c
index 4b828d74a606..856eaac0ec14 100644
--- a/drivers/pmdomain/imx/gpcv2.c
+++ b/drivers/pmdomain/imx/gpcv2.c
@@ -393,6 +393,17 @@ static int imx_pgc_power_up(struct generic_pm_domain *genpd)
* automatically there. Just add a delay and suppose the handshake finish
* after that.
*/
+
+ /*
+ * For some BLK-CTL module (eg. AudioMix on i.MX8MP) doesn't have BUS
+ * clk-en bit, it is better to add delay here, as the BLK-CTL module
+ * doesn't need to care about how it is powered up.
+ *
+ * regmap_read_bypassed() is to make sure the above write IO transaction
+ * already reaches target before udelay()
+ */
+ regmap_read_bypassed(domain->regmap, domain->regs->hsk, &reg_val);
+ udelay(5);
}
/* Disable reset clocks for all devices in the domain */