pmdomain providers:

- bcm: Increase ASB control timeout for bcm2835
  - mediatek: Fix power domain count
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCgA1FiEEugLDXPmKSktSkQsV/iaEJXNYjCkFAmm9KSkXHHVsZi5oYW5z
 c29uQGxpbmFyby5vcmcACgkQ/iaEJXNYjCmNvQ//YrJVq4giZeGSGQJ9LjPWN4gp
 YFkwTSWBpav751hx5xp9d7ua7pPZ+Z+FoKVYIHQvgsHqQv4eQqYa3kpeHLiUYBIW
 oLbRXIj2kyEOXAMUqhtHLN0E3dCM14sB6lsRi7yGJEXo8CD1hML1G6g2zxzwKpCC
 2zBTKbU4T30/eL+3/X45+uN46oREpx32oeiHpKF6UBLWScjmDuSXllt64cTPCTMr
 LX2X67DEL72tlGeVNYZLxMpV4M0BY0v1AMO64cbTpiJDo/AmmTnWROOqHLb0m8I1
 HqnHq8fWu7qXPwDM7zsxi9GY4kdBk4hCZouVA69SL+/9AVFI9Xx4TK99jqsZq7tM
 IePRE+5aCHgtcGiP290yxFfpSqzuCBil8xFm97FDdrMfMczO9B2Djf4jYNm+0vuy
 ZKuLw7TX6EsNrEwMILlb704T9xOUPfj2vVht7SnCWLigRL5ovZAMYgJUAfyyN3Q6
 G3ilm6QwNgxV/epoA9XzBUhdV5AMxCbtCbM14zaaoq4bxFZeRO2G8L+7RVQZDpLW
 i5TdUDRO9U169BvosKB48UE22XBH3R+0ktbXB6y2+BjDLtTt9bpGcWVC9YTMrDHs
 uX62v0jLjmzCECV1KjJ61xQeL2uiTtrTVasSlfazJmYGoFoEjJh2heIizaXfuXqX
 gAsC+WMyQYKE8jR2JKQ=
 =JfPZ
 -----END PGP SIGNATURE-----

Merge tag 'pmdomain-v7.0-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm

Pull pmdomain fixes from Ulf Hansson:

 - bcm: increase ASB control timeout for bcm2835

 - mediatek: fix power domain count

* tag 'pmdomain-v7.0-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm:
  pmdomain: bcm: bcm2835-power: Increase ASB control timeout
  pmdomain: mediatek: Fix power domain count
This commit is contained in:
Linus Torvalds 2026-03-20 09:46:15 -07:00
commit c715f13bb3
2 changed files with 5 additions and 9 deletions

View File

@ -9,6 +9,7 @@
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/iopoll.h>
#include <linux/mfd/bcm2835-pm.h>
#include <linux/module.h>
#include <linux/platform_device.h>
@ -153,7 +154,6 @@ struct bcm2835_power {
static int bcm2835_asb_control(struct bcm2835_power *power, u32 reg, bool enable)
{
void __iomem *base = power->asb;
u64 start;
u32 val;
switch (reg) {
@ -166,8 +166,6 @@ static int bcm2835_asb_control(struct bcm2835_power *power, u32 reg, bool enable
break;
}
start = ktime_get_ns();
/* Enable the module's async AXI bridges. */
if (enable) {
val = readl(base + reg) & ~ASB_REQ_STOP;
@ -176,11 +174,9 @@ static int bcm2835_asb_control(struct bcm2835_power *power, u32 reg, bool enable
}
writel(PM_PASSWORD | val, base + reg);
while (!!(readl(base + reg) & ASB_ACK) == enable) {
cpu_relax();
if (ktime_get_ns() - start >= 1000)
return -ETIMEDOUT;
}
if (readl_poll_timeout_atomic(base + reg, val,
!!(val & ASB_ACK) != enable, 0, 5))
return -ETIMEDOUT;
return 0;
}

View File

@ -1203,7 +1203,7 @@ static int scpsys_probe(struct platform_device *pdev)
scpsys->soc_data = soc;
scpsys->pd_data.domains = scpsys->domains;
scpsys->pd_data.num_domains = soc->num_domains;
scpsys->pd_data.num_domains = num_domains;
parent = dev->parent;
if (!parent) {