[PATCH 04/18] mach-k3: common: correct the calculations for determining firewalls

Manorit Chawdhry m-chawdhry at ti.com
Fri Jul 14 07:52:27 CEST 2023


The background firewall calculations were wrong, fix that to determine
both the background and foreground correctly.

Fixes: 8bfce2f9989f ("arm: mach-k3: common: reorder removal of firewalls")

Signed-off-by: Manorit Chawdhry <m-chawdhry at ti.com>
---
 arch/arm/mach-k3/common.c | 3 +--
 arch/arm/mach-k3/common.h | 2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c
index bda01527d3fb..1d262428008c 100644
--- a/arch/arm/mach-k3/common.c
+++ b/arch/arm/mach-k3/common.c
@@ -588,8 +588,7 @@ static void remove_fwl_regions(struct fwl_data fwl_data, size_t num_regions,
 
 		/* Don't disable the background regions */
 		if (region.control != 0 &&
-		    ((region.control & K3_FIREWALL_BACKGROUND_BIT) ==
-		     fwl_type)) {
+		    ((region.control >> K3_FIREWALL_BACKGROUND_BIT) & 1) == fwl_type) {
 			pr_debug("Attempting to disable firewall %5d (%25s)\n",
 				 region.fwl_id, fwl_data.name);
 			region.control = 0;
diff --git a/arch/arm/mach-k3/common.h b/arch/arm/mach-k3/common.h
index 6cffbd444b83..9bd9ad6d1a0f 100644
--- a/arch/arm/mach-k3/common.h
+++ b/arch/arm/mach-k3/common.h
@@ -9,7 +9,7 @@
 #include <asm/armv7_mpu.h>
 #include <asm/hardware.h>
 
-#define K3_FIREWALL_BACKGROUND_BIT BIT(8)
+#define K3_FIREWALL_BACKGROUND_BIT (8)
 
 struct fwl_data {
 	const char *name;

-- 
2.40.1



More information about the U-Boot mailing list