Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4d10eaff authored by Moritz Fischer's avatar Moritz Fischer Committed by Greg Kroah-Hartman
Browse files

fpga: zynq-fpga: Change fw format to handle bin instead of bit.



This gets rid of the code to strip away the header and byteswap,
as well as the check for the sync word.

Signed-off-by: default avatarMoritz Fischer <moritz.fischer@ettus.com>
Reviewed-by: default avatarJosh Cartwright <joshc@ni.com>
Acked-by: default avatarMichal Simek <michal.simek@xilinx.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6376931b
Loading
Loading
Loading
Loading
+2 −22
Original line number Diff line number Diff line
@@ -287,9 +287,9 @@ static int zynq_fpga_ops_write(struct fpga_manager *mgr,
	struct zynq_fpga_priv *priv;
	int err;
	char *kbuf;
	size_t i, in_count;
	size_t in_count;
	dma_addr_t dma_addr;
	u32 transfer_length = 0;
	u32 transfer_length;
	u32 intr_status;

	in_count = count;
@@ -301,26 +301,6 @@ static int zynq_fpga_ops_write(struct fpga_manager *mgr,

	memcpy(kbuf, buf, count);

	/* look for the sync word */
	for (i = 0; i < count - 4; i++) {
		if (memcmp(kbuf + i, "\xAA\x99\x55\x66", 4) == 0) {
			dev_dbg(priv->dev, "Found swapped sync word\n");
			break;
		}
	}

	/* remove the header, align the data on word boundary */
	if (i != count - 4) {
		count -= i;
		memmove(kbuf, kbuf + i, count);
	}

	/* fixup endianness of the data */
	for (i = 0; i < count; i += 4) {
		u32 *p = (u32 *)&kbuf[i];
		*p = swab32(*p);
	}

	/* enable clock */
	err = clk_enable(priv->clk);
	if (err)