From: Jit Loon Lim Date: Thu, 10 Nov 2022 14:08:13 +0000 (+0800) Subject: fix(intel): missing NCORE CCU snoop filter fix in BL2 X-Git-Tag: baikal/aarch64/sdk5.10~1^2~300^2 X-Git-Url: https://git.baikalelectronics.ru/?a=commitdiff_plain;h=b34a48c1ce0dd7e44eac4ceb0537b337857b057f;p=arm-tf.git fix(intel): missing NCORE CCU snoop filter fix in BL2 Clear Ncore CCU snoop filter. There is hardware bug in NCORE CCU IP and it is causing an issue in the coherent directory tracking of outstanding cache lines. Signed-off-by: Jit Loon Lim Change-Id: I9ee67c94e6379d318516ae8f660a62323ce8d563 --- diff --git a/plat/intel/soc/common/drivers/ccu/ncore_ccu.c b/plat/intel/soc/common/drivers/ccu/ncore_ccu.c index d9a238ed2..99d48d2f7 100644 --- a/plat/intel/soc/common/drivers/ccu/ncore_ccu.c +++ b/plat/intel/soc/common/drivers/ccu/ncore_ccu.c @@ -40,7 +40,7 @@ uint32_t directory_init(void) dir_sf_en = DIRECTORY_UNIT(dir, NCORE_DIRUSFER); /* Initialize All Entries */ - mmio_write_32(dir_sf_mtn, SNOOP_FILTER_ID(dir)); + mmio_write_32(dir_sf_mtn, SNOOP_FILTER_ID(sf)); /* Poll Active Bit */ ret = poll_active_bit(dir); @@ -49,8 +49,9 @@ uint32_t directory_init(void) return -ETIMEDOUT; } - /* Snoope Filter Enable */ - mmio_setbits_32(dir_sf_en, BIT(sf)); + /* Disable snoop filter, a bit per snoop filter */ + mmio_clrbits_32(dir_sf_en, BIT(sf)); + } }