diff options
author | Tom Rini | 2024-06-03 18:42:11 -0600 |
---|---|---|
committer | Tom Rini | 2024-06-04 08:09:09 -0600 |
commit | 227be29df37545f74243a98c12a4a33c4160e3cd (patch) | |
tree | 8a758001963b7b45f869385ef9d00e30faf04bd3 /drivers/cache | |
parent | 15d0dcc0ec1f424199dff2a3cbe037bc3a7d8749 (diff) | |
parent | c0ea27bccfb7d2d37fd36806ac2a2f7389099420 (diff) |
Merge tag 'v2024.07-rc4' into next
Prepare v2024.070-rc4
Diffstat (limited to 'drivers/cache')
-rw-r--r-- | drivers/cache/cache-andes-l2.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/cache/cache-andes-l2.c b/drivers/cache/cache-andes-l2.c index 7de8f16852d..45a4f216b07 100644 --- a/drivers/cache/cache-andes-l2.c +++ b/drivers/cache/cache-andes-l2.c @@ -29,7 +29,7 @@ struct l2cache { volatile u64 cctl_command2; volatile u64 cctl_access_line2; volatile u64 cctl_command3; - volatile u64 cctl_access_line4; + volatile u64 cctl_access_line3; volatile u64 cctl_status; }; @@ -96,13 +96,15 @@ static int andes_l2_disable(struct udevice *dev) struct andes_l2_plat *plat = dev_get_plat(dev); volatile struct l2cache *regs = plat->regs; u8 hart = gd->arch.boot_hart; + void __iomem *cctlcmd = (void __iomem *)CCTL_CMD_REG(regs, hart); + void __iomem *cctlstatus = (void __iomem *)CCTL_STATUS_REG(regs, hart); if ((regs) && (readl(®s->control) & L2_ENABLE)) { writel(L2_WBINVAL_ALL, cctlcmd); - while ((readl(®s->cctl_status) & CCTL_STATUS_MSK(hart))) { - if ((readl(®s->cctl_status) & CCTL_STATUS_ILLEGAL(hart))) { + while ((readl(cctlstatus) & CCTL_STATUS_MSK(hart))) { + if ((readl(cctlstatus) & CCTL_STATUS_ILLEGAL(hart))) { printf("L2 flush illegal! hanging..."); hang(); } |