]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
drivers: fpga: intel_sdm_mb: Check SIP SMC status in send_bitstream()
authorNaresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
Tue, 1 Jul 2025 04:43:11 +0000 (21:43 -0700)
committerMichal Simek <michal.simek@amd.com>
Tue, 8 Jul 2025 12:58:43 +0000 (14:58 +0200)
While sending bitstream via SIP SMC, busy status received does not
correspond to error, instead it means transfer is accepted but SDM
doesn't have any more free buffer space. Hence, data transmission
is continued when busy status is received.

Signed-off-by: Naresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
Link: https://lore.kernel.org/r/20250701044311.3670-1-nareshkumar.ravulapalli@altera.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
drivers/fpga/intel_sdm_mb.c

index a2f3b160a73c77d11ea388858c09332db8bae711..5f4aae47d6d09a0d5972f5182338aeac2396b7c3 100644 (file)
@@ -687,7 +687,8 @@ static int send_bitstream(const void *rbf_data, size_t rbf_size)
                        debug("wr_ret = %d, rbf_data = %p, buf_size = %08lx\n",
                              wr_ret, rbf_data, buf_size);
 
-                       if (wr_ret)
+                       if (wr_ret != INTEL_SIP_SMC_STATUS_OK &&
+                           wr_ret != INTEL_SIP_SMC_STATUS_BUSY)
                                continue;
 
                        rbf_size -= buf_size;