Lines Matching +full:fpga +full:- +full:mgr
1 // SPDX-License-Identifier: GPL-2.0+
6 #include <linux/dma-mapping.h>
7 #include <linux/fpga/fpga-mgr.h>
13 #include <linux/firmware/xlnx-zynqmp.h>
19 * struct zynqmp_fpga_priv - Private data structure
28 static int zynqmp_fpga_ops_write_init(struct fpga_manager *mgr, in zynqmp_fpga_ops_write_init() argument
34 priv = mgr->priv; in zynqmp_fpga_ops_write_init()
35 priv->flags = info->flags; in zynqmp_fpga_ops_write_init()
40 static int zynqmp_fpga_ops_write(struct fpga_manager *mgr, in zynqmp_fpga_ops_write() argument
49 priv = mgr->priv; in zynqmp_fpga_ops_write()
51 kbuf = dma_alloc_coherent(priv->dev, size, &dma_addr, GFP_KERNEL); in zynqmp_fpga_ops_write()
53 return -ENOMEM; in zynqmp_fpga_ops_write()
59 if (priv->flags & FPGA_MGR_PARTIAL_RECONFIG) in zynqmp_fpga_ops_write()
64 dma_free_coherent(priv->dev, size, kbuf, dma_addr); in zynqmp_fpga_ops_write()
69 static enum fpga_mgr_states zynqmp_fpga_ops_state(struct fpga_manager *mgr) in zynqmp_fpga_ops_state() argument
108 struct device *dev = &pdev->dev; in zynqmp_fpga_probe()
110 struct fpga_manager *mgr; in zynqmp_fpga_probe() local
114 return -ENOMEM; in zynqmp_fpga_probe()
116 priv->dev = dev; in zynqmp_fpga_probe()
118 mgr = devm_fpga_mgr_register(dev, "Xilinx ZynqMP FPGA Manager", in zynqmp_fpga_probe()
120 return PTR_ERR_OR_ZERO(mgr); in zynqmp_fpga_probe()
125 { .compatible = "xlnx,zynqmp-pcap-fpga", },
143 MODULE_DESCRIPTION("Xilinx ZynqMp FPGA Manager");