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:
commit
c715f13bb3
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue