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

Commit ac850cc7 authored by Maxime Ripard's avatar Maxime Ripard Committed by Vinod Koul
Browse files

dmaengine: moxart: Split device_control



Split the device_control callback of the Moxart DMA driver to make use of the
newly introduced callbacks, that will eventually be used to retrieve slave
capabilities.

Signed-off-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
parent f43a6fd4
Loading
Loading
Loading
Loading
+2 −23
Original line number Diff line number Diff line
@@ -263,28 +263,6 @@ static int moxart_slave_config(struct dma_chan *chan,
	return 0;
}

static int moxart_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd,
			  unsigned long arg)
{
	int ret = 0;

	switch (cmd) {
	case DMA_PAUSE:
	case DMA_RESUME:
		return -EINVAL;
	case DMA_TERMINATE_ALL:
		moxart_terminate_all(chan);
		break;
	case DMA_SLAVE_CONFIG:
		ret = moxart_slave_config(chan, (struct dma_slave_config *)arg);
		break;
	default:
		ret = -ENOSYS;
	}

	return ret;
}

static struct dma_async_tx_descriptor *moxart_prep_slave_sg(
	struct dma_chan *chan, struct scatterlist *sgl,
	unsigned int sg_len, enum dma_transfer_direction dir,
@@ -531,7 +509,8 @@ static void moxart_dma_init(struct dma_device *dma, struct device *dev)
	dma->device_free_chan_resources		= moxart_free_chan_resources;
	dma->device_issue_pending		= moxart_issue_pending;
	dma->device_tx_status			= moxart_tx_status;
	dma->device_control			= moxart_control;
	dma->device_config			= moxart_slave_config;
	dma->device_terminate_all		= moxart_terminate_all;
	dma->dev				= dev;

	INIT_LIST_HEAD(&dma->channels);