Lines Matching refs:slave
119 * @slave: slave engine for this instance
134 struct dma_device slave;
501 * byte data), slave is still not aligned, then its width will be reduced to
693 * - if slave is not then we must set its width down
876 if (plchan->slave && pl08x->pd->get_signal) {
937 if (!plchan->slave && !plchan->phychan) {
1088 if (!plchan->slave)
1154 * Slave transactions callback to the slave device to allow
1155 * synchronization of slave DMA signals with the DMAC enable
1220 if (plchan->slave) {
1428 * Mark physical channel as free and free any slave
1556 * Free any allocated signal on slave transfers too
1592 /* Don't try to unmap buffers on slave channels */
1593 if (!plchan->slave)
1652 chan->slave = true;
1663 * Initialise the DMAC memcpy/slave channels.
1667 struct dma_device *dmadev, unsigned int channels, bool slave)
1690 if (slave) {
1723 i, slave ? "slave" : "memcpy");
1790 seq_printf(s, "\nPL08x virtual slave channels:\n");
1793 list_for_each_entry(chan, &pl08x->slave.channels, chan.device_node) {
1859 /* Initialize slave engine */
1860 dma_cap_set(DMA_SLAVE, pl08x->slave.cap_mask);
1861 pl08x->slave.dev = &adev->dev;
1862 pl08x->slave.device_alloc_chan_resources = pl08x_alloc_chan_resources;
1863 pl08x->slave.device_free_chan_resources = pl08x_free_chan_resources;
1864 pl08x->slave.device_prep_dma_interrupt = pl08x_prep_dma_interrupt;
1865 pl08x->slave.device_tx_status = pl08x_dma_tx_status;
1866 pl08x->slave.device_issue_pending = pl08x_issue_pending;
1867 pl08x->slave.device_prep_slave_sg = pl08x_prep_slave_sg;
1868 pl08x->slave.device_control = pl08x_control;
1953 /* Register slave channels */
1954 ret = pl08x_dma_init_virtual_channels(pl08x, &pl08x->slave,
1958 "%s failed to enumerate slave channels - %d\n",
1962 pl08x->slave.chancnt = ret;
1972 ret = dma_async_device_register(&pl08x->slave);
1975 "%s failed to register slave as an async device - %d\n",
1992 pl08x_free_virtual_channels(&pl08x->slave);