Merge tag 'pmdomain-v6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 27 May 2024 15:18:31 +0000 (08:18 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 27 May 2024 15:18:31 +0000 (08:18 -0700)
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

drivers/pmdomain/imx/gpcv2.c

index 4b828d74a6064c0d8ba8a1e153c6c3bbea678ddd..856eaac0ec140d9668a814dbf84b8e649cb26abf 100644 (file)
@@ -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 */