summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>2025-06-30 21:43:11 -0700
committerMichal Simek <michal.simek@amd.com>2025-07-08 14:58:43 +0200
commita988d4ea00809e68617c210aba0bb9ca6fc0ebde (patch)
treea59da8699f278ff4e9d5db53ba92a4a09251b3e1
parent14f627bf43ffa143ee78f8fee726eb57bf349452 (diff)
drivers: fpga: intel_sdm_mb: Check SIP SMC status in send_bitstream()
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>
-rw-r--r--drivers/fpga/intel_sdm_mb.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/fpga/intel_sdm_mb.c b/drivers/fpga/intel_sdm_mb.c
index a2f3b160a73..5f4aae47d6d 100644
--- a/drivers/fpga/intel_sdm_mb.c
+++ b/drivers/fpga/intel_sdm_mb.c
@@ -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;