drivers: cache: ncore: Disable snoop filter
authorDinesh Maniyam <dinesh.maniyam@intel.com>
Wed, 1 Jun 2022 07:57:25 +0000 (15:57 +0800)
committerTien Fong Chee <tien.fong.chee@intel.com>
Fri, 17 Jun 2022 08:27:05 +0000 (16:27 +0800)
There is hardware bug in NCORE CCU IP and it is causing an issue in the
coherent directory tracking of outstanding cache lines.
The workaround is disabling snoop filter.

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@intel.com>
drivers/cache/cache-ncore.c

index 3beff78..117d2b9 100644 (file)
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
 /*
- * Copyright (C) 2019 Intel Corporation <www.intel.com>
+ * Copyright (C) 2019-2022 Intel Corporation <www.intel.com>
  *
  */
 #include <dm.h>
@@ -81,8 +81,8 @@ static void ncore_ccu_init_dirs(void __iomem *base)
                                hang();
                        }
 
-                       /* Enable snoop filter, a bit per snoop filter */
-                       setbits_le32((ulong)CCU_DIR_REG_ADDR(base, DIRUSFER, i),
+                       /* Disable snoop filter, a bit per snoop filter */
+                       clrbits_le32((ulong)CCU_DIR_REG_ADDR(base, DIRUSFER, i),
                                     BIT(f));
                }
        }