Lines Matching full:offload

14  * processor core to offload the work.
28 #include <linux/spi/offload/consumer.h>
29 #include <linux/spi/offload/provider.h>
30 #include <linux/spi/offload/types.h>
36 struct spi_offload *offload; member
57 * devm_spi_offload_alloc() - Allocate offload instance
61 * Offload providers should use this to allocate offload instances.
63 * Return: Pointer to new offload instance or error on failure.
68 struct spi_offload *offload; in devm_spi_offload_alloc() local
71 offload = devm_kzalloc(dev, sizeof(*offload), GFP_KERNEL); in devm_spi_offload_alloc()
72 if (!offload) in devm_spi_offload_alloc()
79 offload->provider_dev = dev; in devm_spi_offload_alloc()
80 offload->priv = priv; in devm_spi_offload_alloc()
82 return offload; in devm_spi_offload_alloc()
90 resource->controller->put_offload(resource->offload); in spi_offload_put()
95 * devm_spi_offload_get() - Get an offload instance
98 * @config: Offload configuration
100 * Peripheral drivers call this function to get an offload instance that meets
101 * the requirements specified in @config. If no suitable offload instance is
104 * Return: Offload instance or error on failure.
111 struct spi_offload *offload; in devm_spi_offload_get() local
124 offload = spi->controller->get_offload(spi, config); in devm_spi_offload_get()
125 if (IS_ERR(offload)) { in devm_spi_offload_get()
127 return offload; in devm_spi_offload_get()
131 resource->offload = offload; in devm_spi_offload_get()
137 return offload; in devm_spi_offload_get()
198 * devm_spi_offload_trigger_get() - Get an offload trigger instance
200 * @offload: Offload instance connected to a trigger.
203 * Return: Offload trigger instance or error on failure.
207 struct spi_offload *offload, in devm_spi_offload_trigger_get() argument
214 ret = fwnode_property_get_reference_args(dev_fwnode(offload->provider_dev), in devm_spi_offload_trigger_get()
236 * @trigger: Offload trigger instance
264 * spi_offload_trigger_enable - enables trigger for offload
265 * @offload: Offload instance
266 * @trigger: Offload trigger instance
269 * There must be a prepared offload instance with the specified ID (i.e.
270 * spi_optimize_message() was called with the same offload assigned to the
271 * message). This will also reserve the bus for exclusive use by the offload
280 int spi_offload_trigger_enable(struct spi_offload *offload, in spi_offload_trigger_enable() argument
291 if (offload->ops && offload->ops->trigger_enable) { in spi_offload_trigger_enable()
292 ret = offload->ops->trigger_enable(offload); in spi_offload_trigger_enable()
300 if (offload->ops && offload->ops->trigger_disable) in spi_offload_trigger_enable()
301 offload->ops->trigger_disable(offload); in spi_offload_trigger_enable()
311 * spi_offload_trigger_disable - disables hardware trigger for offload
312 * @offload: Offload instance
313 * @trigger: Offload trigger instance
315 * Disables the hardware trigger for the offload instance with the specified ID
320 void spi_offload_trigger_disable(struct spi_offload *offload, in spi_offload_trigger_disable() argument
323 if (offload->ops && offload->ops->trigger_disable) in spi_offload_trigger_disable()
324 offload->ops->trigger_disable(offload); in spi_offload_trigger_disable()
344 * @offload: Offload instance
347 * %SPI_OFFLOAD_XFER_TX_STREAM offload flag.
353 struct spi_offload *offload) in devm_spi_offload_tx_stream_request_dma_chan() argument
358 if (!offload->ops || !offload->ops->tx_stream_request_dma_chan) in devm_spi_offload_tx_stream_request_dma_chan()
361 chan = offload->ops->tx_stream_request_dma_chan(offload); in devm_spi_offload_tx_stream_request_dma_chan()
376 * @offload: Offload instance
379 * %SPI_OFFLOAD_XFER_RX_STREAM offload flag.
385 struct spi_offload *offload) in devm_spi_offload_rx_stream_request_dma_chan() argument
390 if (!offload->ops || !offload->ops->rx_stream_request_dma_chan) in devm_spi_offload_rx_stream_request_dma_chan()
393 chan = offload->ops->rx_stream_request_dma_chan(offload); in devm_spi_offload_rx_stream_request_dma_chan()
423 * devm_spi_offload_trigger_register() - Allocate and register an offload trigger
457 * @trigger: Offload trigger instance.