aboutsummaryrefslogtreecommitdiff
path: root/drivers/cache
diff options
context:
space:
mode:
authorTom Rini2024-06-03 18:42:11 -0600
committerTom Rini2024-06-04 08:09:09 -0600
commit227be29df37545f74243a98c12a4a33c4160e3cd (patch)
tree8a758001963b7b45f869385ef9d00e30faf04bd3 /drivers/cache
parent15d0dcc0ec1f424199dff2a3cbe037bc3a7d8749 (diff)
parentc0ea27bccfb7d2d37fd36806ac2a2f7389099420 (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.c8
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(&regs->control) & L2_ENABLE)) {
writel(L2_WBINVAL_ALL, cctlcmd);
- while ((readl(&regs->cctl_status) & CCTL_STATUS_MSK(hart))) {
- if ((readl(&regs->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();
}