[PATCH 10/11] staging: ralink-gdma: stop using slave_id config
Sergio Paracuellos
sergio.paracuellos at gmail.com
Mon Nov 15 01:55:56 PST 2021
Hi Arnd,
On Mon, Nov 15, 2021 at 9:55 AM Arnd Bergmann <arnd at kernel.org> wrote:
>
> From: Arnd Bergmann <arnd at arndb.de>
>
> Picking the connection between a DMA controller and its attached device
> is done through devicetree using the "dmas" property, which is implemented
> by the gdma driver, but it also allows overriding the "req" configuration
> with the slave_id field, as it was done in some linux-2.6 era drivers.
>
> There is no driver in the tree that sets these values, so stop
> interpreting them before anything accidentally starts relying on it.
> Rename the field in the channel from "slave_id" to "req" to better match
> the purpose and the naming in the hardware.
>
> If any driver actually starts using this DMA engine, it may be necessary
> to implement a .xlate callback that sets this field at probe time.
>
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>
> ---
> drivers/staging/ralink-gdma/ralink-gdma.c | 12 +++++-------
> 1 file changed, 5 insertions(+), 7 deletions(-)
This driver has been already deleted from the staging tree. See [0].
Best regards,
Sergio Paracuellos
[0]: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/?h=staging-testing&id=5bfc10690c6c590a972be014ed8595e77e1e2dea
>
> diff --git a/drivers/staging/ralink-gdma/ralink-gdma.c b/drivers/staging/ralink-gdma/ralink-gdma.c
> index b5229bc6eae5..f00240e62e1b 100644
> --- a/drivers/staging/ralink-gdma/ralink-gdma.c
> +++ b/drivers/staging/ralink-gdma/ralink-gdma.c
> @@ -106,7 +106,7 @@ struct gdma_dma_desc {
> struct gdma_dmaengine_chan {
> struct virt_dma_chan vchan;
> unsigned int id;
> - unsigned int slave_id;
> + unsigned int req;
>
> dma_addr_t fifo_addr;
> enum gdma_dma_transfer_size burst_size;
> @@ -194,7 +194,6 @@ static int gdma_dma_config(struct dma_chan *c,
> dev_err(dma_dev->ddev.dev, "only support 4 byte buswidth\n");
> return -EINVAL;
> }
> - chan->slave_id = config->slave_id;
> chan->fifo_addr = config->dst_addr;
> chan->burst_size = gdma_dma_maxburst(config->dst_maxburst);
> break;
> @@ -203,7 +202,6 @@ static int gdma_dma_config(struct dma_chan *c,
> dev_err(dma_dev->ddev.dev, "only support 4 byte buswidth\n");
> return -EINVAL;
> }
> - chan->slave_id = config->slave_id;
> chan->fifo_addr = config->src_addr;
> chan->burst_size = gdma_dma_maxburst(config->src_maxburst);
> break;
> @@ -288,12 +286,12 @@ static int rt305x_gdma_start_transfer(struct gdma_dmaengine_chan *chan)
> dst_addr = chan->fifo_addr;
> ctrl0 = GDMA_REG_CTRL0_DST_ADDR_FIXED |
> (8 << GDMA_RT305X_CTRL0_SRC_REQ_SHIFT) |
> - (chan->slave_id << GDMA_RT305X_CTRL0_DST_REQ_SHIFT);
> + (chan->req << GDMA_RT305X_CTRL0_DST_REQ_SHIFT);
> } else if (chan->desc->direction == DMA_DEV_TO_MEM) {
> src_addr = chan->fifo_addr;
> dst_addr = sg->dst_addr;
> ctrl0 = GDMA_REG_CTRL0_SRC_ADDR_FIXED |
> - (chan->slave_id << GDMA_RT305X_CTRL0_SRC_REQ_SHIFT) |
> + (chan->req << GDMA_RT305X_CTRL0_SRC_REQ_SHIFT) |
> (8 << GDMA_RT305X_CTRL0_DST_REQ_SHIFT);
> } else if (chan->desc->direction == DMA_MEM_TO_MEM) {
> /*
> @@ -365,12 +363,12 @@ static int rt3883_gdma_start_transfer(struct gdma_dmaengine_chan *chan)
> dst_addr = chan->fifo_addr;
> ctrl0 = GDMA_REG_CTRL0_DST_ADDR_FIXED;
> ctrl1 = (32 << GDMA_REG_CTRL1_SRC_REQ_SHIFT) |
> - (chan->slave_id << GDMA_REG_CTRL1_DST_REQ_SHIFT);
> + (chan->req << GDMA_REG_CTRL1_DST_REQ_SHIFT);
> } else if (chan->desc->direction == DMA_DEV_TO_MEM) {
> src_addr = chan->fifo_addr;
> dst_addr = sg->dst_addr;
> ctrl0 = GDMA_REG_CTRL0_SRC_ADDR_FIXED;
> - ctrl1 = (chan->slave_id << GDMA_REG_CTRL1_SRC_REQ_SHIFT) |
> + ctrl1 = (chan->req << GDMA_REG_CTRL1_SRC_REQ_SHIFT) |
> (32 << GDMA_REG_CTRL1_DST_REQ_SHIFT) |
> GDMA_REG_CTRL1_COHERENT;
> } else if (chan->desc->direction == DMA_MEM_TO_MEM) {
> --
> 2.30.2
>
>
More information about the linux-arm-kernel
mailing list