On 09-04-19, 13:34, Sascha Hauer wrote: > The mxs dma driver uses the flags parameter in dmaengine_prep_slave_sg() for > custom flags, but still uses the dmaengine specific names of the flags. > Do a little bit better and at least give the flag a custom name. after subsystem tag to dmaengine: Acked-by: Vinod Koul <vkoul@xxxxxxxxxx> > > Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > --- > drivers/dma/mxs-dma.c | 4 ++-- > drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c | 17 +++++++++++------ > include/linux/dma/mxs-dma.h | 2 ++ > 3 files changed, 15 insertions(+), 8 deletions(-) > > diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c > index 62ee9328aea1..c622bee7eb12 100644 > --- a/drivers/dma/mxs-dma.c > +++ b/drivers/dma/mxs-dma.c > @@ -541,7 +541,7 @@ static struct dma_async_tx_descriptor *mxs_dma_prep_slave_sg( > ccw->bits = 0; > ccw->bits |= CCW_IRQ; > ccw->bits |= CCW_DEC_SEM; > - if (flags & DMA_CTRL_ACK) > + if (flags & MXS_DMA_CTRL_WAIT4END) > ccw->bits |= CCW_WAIT4END; > ccw->bits |= CCW_HALT_ON_TERM; > ccw->bits |= CCW_TERM_FLUSH; > @@ -573,7 +573,7 @@ static struct dma_async_tx_descriptor *mxs_dma_prep_slave_sg( > ccw->bits &= ~CCW_CHAIN; > ccw->bits |= CCW_IRQ; > ccw->bits |= CCW_DEC_SEM; > - if (flags & DMA_CTRL_ACK) > + if (flags & MXS_DMA_CTRL_WAIT4END) > ccw->bits |= CCW_WAIT4END; > } > } > diff --git a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c > index cf016ec0b1c6..9f648b40197e 100644 > --- a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c > +++ b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c > @@ -925,7 +925,8 @@ static int gpmi_send_command(struct gpmi_nand_data *this) > sg_init_one(sgl, this->cmd_buffer, this->command_length); > dma_map_sg(this->dev, sgl, 1, DMA_TO_DEVICE); > desc = dmaengine_prep_slave_sg(channel, > - sgl, 1, DMA_MEM_TO_DEV, DMA_CTRL_ACK); > + sgl, 1, DMA_MEM_TO_DEV, > + MXS_DMA_CTRL_WAIT4END); > if (!desc) > return -EINVAL; > > @@ -996,7 +997,8 @@ static int gpmi_send_data(struct gpmi_nand_data *this, const void *buf, > /* [2] send DMA request */ > prepare_data_dma(this, buf, len, DMA_TO_DEVICE); > desc = dmaengine_prep_slave_sg(channel, &this->data_sgl, > - 1, DMA_MEM_TO_DEV, DMA_CTRL_ACK); > + 1, DMA_MEM_TO_DEV, > + MXS_DMA_CTRL_WAIT4END); > if (!desc) > return -EINVAL; > > @@ -1033,7 +1035,8 @@ static int gpmi_read_data(struct gpmi_nand_data *this, void *buf, int len) > /* [2] : send DMA request */ > direct = prepare_data_dma(this, buf, len, DMA_FROM_DEVICE); > desc = dmaengine_prep_slave_sg(channel, &this->data_sgl, > - 1, DMA_DEV_TO_MEM, DMA_CTRL_ACK); > + 1, DMA_DEV_TO_MEM, > + MXS_DMA_CTRL_WAIT4END); > if (!desc) > return -EINVAL; > > @@ -1083,7 +1086,8 @@ static int gpmi_send_page(struct gpmi_nand_data *this, dma_addr_t payload, > pio[5] = auxiliary; > > desc = mxs_dmaengine_prep_pio(channel, pio, ARRAY_SIZE(pio), > - DMA_TRANS_NONE, DMA_CTRL_ACK); > + DMA_TRANS_NONE, > + MXS_DMA_CTRL_WAIT4END); > if (!desc) > return -EINVAL; > > @@ -1140,7 +1144,8 @@ static int gpmi_read_page(struct gpmi_nand_data *this, > pio[4] = payload; > pio[5] = auxiliary; > desc = mxs_dmaengine_prep_pio(channel, pio, ARRAY_SIZE(pio), > - DMA_TRANS_NONE, DMA_CTRL_ACK); > + DMA_TRANS_NONE, > + MXS_DMA_CTRL_WAIT4END); > if (!desc) > return -EINVAL; > > @@ -1157,7 +1162,7 @@ static int gpmi_read_page(struct gpmi_nand_data *this, > pio[1] = 0; > pio[2] = 0; /* clear GPMI_HW_GPMI_ECCCTRL, disable the BCH. */ > desc = mxs_dmaengine_prep_pio(channel, pio, 3, DMA_TRANS_NONE, > - DMA_CTRL_ACK); > + MXS_DMA_CTRL_WAIT4END); > if (!desc) > return -EINVAL; > > diff --git a/include/linux/dma/mxs-dma.h b/include/linux/dma/mxs-dma.h > index 092b2a7b92ac..4a33f2c8a682 100644 > --- a/include/linux/dma/mxs-dma.h > +++ b/include/linux/dma/mxs-dma.h > @@ -4,6 +4,8 @@ > > #include <linux/dmaengine.h> > > +#define MXS_DMA_CTRL_WAIT4END BIT(31) > + > /* > * The mxs dmaengine can do PIO transfers. We pass a pointer to the PIO words > * in the second argument to dmaengine_prep_slave_sg when the direction is > -- > 2.20.1 -- ~Vinod ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/