mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH] firmware: zynqmp-fpga: do not load PL with ONLY_BIN flag unless necessary
@ 2022-05-01 18:26 Matthias Fend
  2022-05-02 14:00 ` Michael Tretter
  0 siblings, 1 reply; 3+ messages in thread
From: Matthias Fend @ 2022-05-01 18:26 UTC (permalink / raw)
  To: barebox

Since pmu-fw release 2018.3, the ZYNQMP_FPGA_BIT_ONLY_BIN flag is no
longer used. This wasn't a problem for a while, but in newer versions a
validation sequence will fail if this flag is set. This means that the PL
can no longer be loaded.

Do not set the ZYNQMP_FPGA_BIT_ONLY_BIN flag unless absolutely necessary
to avoid this problem.

Signed-off-by: Matthias Fend <matthias.fend@emfend.at>
---
 drivers/firmware/zynqmp-fpga.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/firmware/zynqmp-fpga.c b/drivers/firmware/zynqmp-fpga.c
index 63d7398fd..db34ac2be 100644
--- a/drivers/firmware/zynqmp-fpga.c
+++ b/drivers/firmware/zynqmp-fpga.c
@@ -261,9 +261,10 @@ static int fpgamgr_program_finish(struct firmware_handler *fh)
 		goto err_free_dma;
 	}
 
-	if (mgr->features & ZYNQMP_PM_FEATURE_SIZE_NOT_NEEDED)
+	if (mgr->features & ZYNQMP_PM_FEATURE_SIZE_NOT_NEEDED) {
+		flags &= ~ZYNQMP_FPGA_BIT_ONLY_BIN;
 		buf_size = body_length;
-	else
+	} else
 		buf_size = addr + body_length;
 
 	status = mgr->eemi_ops->fpga_load((u64)addr, buf_size, flags);
-- 
2.25.1


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-05-02 16:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-01 18:26 [PATCH] firmware: zynqmp-fpga: do not load PL with ONLY_BIN flag unless necessary Matthias Fend
2022-05-02 14:00 ` Michael Tretter
2022-05-02 16:00   ` Matthias Fend

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox