Lines Matching +full:fpga +full:- +full:2
1 /*-
6 * General Public License (GPL) Version 2, available from the file
14 * - Redistributions of source code must retain the above
18 * - Redistributions in binary form must reproduce the above
39 /* #include <linux/dma-direction.h> */
46 * This header defines the in-kernel API for Innova FPGA client drivers.
55 * struct mlx5_fpga_client - Describes an Innova client driver
62 * @fdev: The FPGA device
67 * @fdev: The FPGA device
70 * Any SBU-specific initialization should happen at this stage
77 * @fdev: The FPGA device
78 * SBU-specific cleanup should happen at this stage
84 * @fdev: The FPGA device
95 * struct mlx5_fpga_dma_entry - A scatter-gather DMA entry
102 /** @dma_addr: Private member. Physical DMA-mapped address of the data */
107 * struct mlx5_fpga_dma_buf - A packet buffer
108 * May contain up to 2 scatter-gather data entries
113 /** @sg: Scatter-gather entries pointing to the data in memory */
114 struct mlx5_fpga_dma_entry sg[2];
119 * @conn: FPGA Connection this packet was sent to
120 * @fdev: FPGA device this packet was sent to
130 * struct mlx5_fpga_conn_attr - FPGA connection attributes
143 * buf is guaranteed to only contain a single scatter-gather entry.
145 * When this callback returns, the packet buffer may be re-used for
153 * mlx5_fpga_client_register() - Register a client driver
162 * mlx5_fpga_client_unregister() - Unregister a client driver
172 * mlx5_fpga_device_reload() - Force the FPGA to reload its synthesis from flash
173 * @fdev: The FPGA device
188 * mlx5_fpga_flash_select() - Select the current active flash
189 * @fdev: The FPGA device
194 * This setting is volatile and is reset upon reboot or power-cycle
202 * mlx5_fpga_sbu_conn_create() - Initialize a new FPGA SBU connection
203 * @fdev: The FPGA device
206 * Sets up a new FPGA SBU connection with the specified attributes.
220 * mlx5_fpga_sbu_conn_destroy() - Destroy an FPGA SBU connection
221 * @conn: The FPGA SBU connection to destroy
223 * Cleans up an FPGA SBU connection which was previously created with
229 * mlx5_fpga_sbu_conn_sendmsg() - Queue the transmission of a packet
230 * @fdev: An FPGA SBU connection
233 * Queues a packet for transmission over an FPGA SBU connection.
244 * mlx5_fpga_mem_read() - Read from FPGA memory address space
245 * @fdev: The FPGA device
247 * @addr: Starting address to read from, in FPGA address space
253 * Large reads may be performed internally as several non-atomic operations.
262 * mlx5_fpga_mem_write() - Write to FPGA memory address space
263 * @fdev: The FPGA device
265 * @addr: Starting address to write to, in FPGA address space
269 * Writes the specified buffer data to FPGA memory at the specified address.
271 * Large writes may be performed internally as several non-atomic operations.
280 * mlx5_fpga_get_sbu_caps() - Read the SBU capabilities
281 * @fdev: The FPGA device
285 * Reads the FPGA SBU capabilities into the specified buffer.
286 * The format of the capabilities buffer is SBU-dependent.
289 * -EINVAL if the buffer is not large enough to contain SBU caps
295 * mlx5_fpga_ddr_size_get() - Retrieve the size of FPGA DDR
296 * @fdev: The FPGA device
298 * Return: Size of DDR avaailable for FPGA, in bytes
303 * mlx5_fpga_ddr_base_get() - Retrieve the base address of FPGA DDR
304 * @fdev: The FPGA device
306 * Return: Base address of DDR in FPGA address space
311 * mlx5_fpga_client_data_set() - Attach client-defined private value to a device
312 * @fdev: The FPGA device
316 * Client driver may use the private value for storing device-specific
325 * mlx5_fpga_client_data_get() - Retrieve client-defined private value
326 * @fdev: The FPGA device
329 * Client driver may use the private value for storing device-specific
338 * mlx5_fpga_device_query() - Query FPGA device state information
339 * @fdev: The FPGA device
348 * mlx5_fpga_dev() - Retrieve FPGA device structure
349 * @fdev: The FPGA device
357 * mlx5_fpga_temperature() - Retrieve FPGA sensor of temperature
358 * @fdev: The FPGA device
367 * mlx5_fpga_connectdisconnect() - Connect/disconnect ConnectX to FPGA
368 * @fdev: The FPGA device
377 * mlx5_fpga_get_cap() - Returns the FPGA cap mailbox from FW without parsing.
378 * @fdev: The FPGA device
382 * Returns a copy of the FPGA caps mailbox and returns it in fpga_caps