[PATCH] fixup! arm: socfgpa: iossm: extract initialization of one interface

Michael Tretter m.tretter at pengutronix.de
Wed Apr 15 03:56:29 PDT 2026


Signed-off-by: Michael Tretter <m.tretter at pengutronix.de>
---
 arch/arm/mach-socfpga/iossm_mailbox.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-socfpga/iossm_mailbox.c b/arch/arm/mach-socfpga/iossm_mailbox.c
index 9fd50fe042de..9c34b3b2882c 100644
--- a/arch/arm/mach-socfpga/iossm_mailbox.c
+++ b/arch/arm/mach-socfpga/iossm_mailbox.c
@@ -603,10 +603,13 @@ static int bist_mem_init_by_addr(struct io96b_info *io96b_ctrl,
 	int bist_error = 0;
 	u32 mem_init_status;
 	int ret = 0;
-	u32 mem_exp;
+#define BIST_ADDR_SPACE		GENMASK(5, 0)
+#define BIST_FULL_MEM		BIT(6)
+	u32 cmd_param_0;
 
 	if (io96b_ctrl->inline_ecc) {
 		phys_size_t chunk_size;
+		u32 mem_exp;
 
 		/* Check if size is a power of 2 */
 		if (size == 0 || (size & (size - 1)) != 0)
@@ -619,17 +622,18 @@ static int bist_mem_init_by_addr(struct io96b_info *io96b_ctrl,
 
 		pr_debug("%s: Initializing memory: Addr=0x%llx, Size=2^%u\n",
 			 __func__, base_addr, mem_exp);
+		cmd_param_0 = FIELD_PREP(BIST_ADDR_SPACE, mem_exp);
 	} else {
 		pr_debug("%s: Start memory initialization BIST on full memory address",
 			 __func__);
-		mem_exp = 0x40;
+		cmd_param_0 = BIST_FULL_MEM;
 	}
 
 	ret = io96b_mb_req(io96b_csr_addr,
 			   mb_ctrl->ip_type[interface],
 			   mb_ctrl->ip_instance_id[interface],
 			   CMD_TRIG_CONTROLLER_OP, BIST_MEM_INIT_START,
-			   FIELD_PREP(GENMASK(5, 0), mem_exp),
+			   cmd_param_0,
 			   FIELD_GET(GENMASK(31, 0), base_addr),
 			   FIELD_GET(GENMASK(37, 32), base_addr),
 			   0, 0, 0, 0, &usr_resp);
-- 
2.47.3




More information about the barebox mailing list