Merge branch 'dma_slave_direction' into next_test_dirn
resolved conflicts: drivers/media/video/mx3_camera.c
Цей коміт міститься в:
@@ -662,7 +662,7 @@ err_desc_get:
|
||||
*/
|
||||
static struct dma_async_tx_descriptor *
|
||||
atc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
|
||||
unsigned int sg_len, enum dma_data_direction direction,
|
||||
unsigned int sg_len, enum dma_transfer_direction direction,
|
||||
unsigned long flags)
|
||||
{
|
||||
struct at_dma_chan *atchan = to_at_dma_chan(chan);
|
||||
@@ -680,7 +680,7 @@ atc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
|
||||
|
||||
dev_vdbg(chan2dev(chan), "prep_slave_sg (%d): %s f0x%lx\n",
|
||||
sg_len,
|
||||
direction == DMA_TO_DEVICE ? "TO DEVICE" : "FROM DEVICE",
|
||||
direction == DMA_MEM_TO_DEV ? "TO DEVICE" : "FROM DEVICE",
|
||||
flags);
|
||||
|
||||
if (unlikely(!atslave || !sg_len)) {
|
||||
@@ -694,7 +694,7 @@ atc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
|
||||
ctrlb = ATC_IEN;
|
||||
|
||||
switch (direction) {
|
||||
case DMA_TO_DEVICE:
|
||||
case DMA_MEM_TO_DEV:
|
||||
ctrla |= ATC_DST_WIDTH(reg_width);
|
||||
ctrlb |= ATC_DST_ADDR_MODE_FIXED
|
||||
| ATC_SRC_ADDR_MODE_INCR
|
||||
@@ -727,7 +727,7 @@ atc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
|
||||
total_len += len;
|
||||
}
|
||||
break;
|
||||
case DMA_FROM_DEVICE:
|
||||
case DMA_DEV_TO_MEM:
|
||||
ctrla |= ATC_SRC_WIDTH(reg_width);
|
||||
ctrlb |= ATC_DST_ADDR_MODE_INCR
|
||||
| ATC_SRC_ADDR_MODE_FIXED
|
||||
@@ -789,7 +789,7 @@ err_desc_get:
|
||||
*/
|
||||
static int
|
||||
atc_dma_cyclic_check_values(unsigned int reg_width, dma_addr_t buf_addr,
|
||||
size_t period_len, enum dma_data_direction direction)
|
||||
size_t period_len, enum dma_transfer_direction direction)
|
||||
{
|
||||
if (period_len > (ATC_BTSIZE_MAX << reg_width))
|
||||
goto err_out;
|
||||
@@ -797,7 +797,7 @@ atc_dma_cyclic_check_values(unsigned int reg_width, dma_addr_t buf_addr,
|
||||
goto err_out;
|
||||
if (unlikely(buf_addr & ((1 << reg_width) - 1)))
|
||||
goto err_out;
|
||||
if (unlikely(!(direction & (DMA_TO_DEVICE | DMA_FROM_DEVICE))))
|
||||
if (unlikely(!(direction & (DMA_DEV_TO_MEM | DMA_MEM_TO_DEV))))
|
||||
goto err_out;
|
||||
|
||||
return 0;
|
||||
@@ -812,7 +812,7 @@ err_out:
|
||||
static int
|
||||
atc_dma_cyclic_fill_desc(struct at_dma_slave *atslave, struct at_desc *desc,
|
||||
unsigned int period_index, dma_addr_t buf_addr,
|
||||
size_t period_len, enum dma_data_direction direction)
|
||||
size_t period_len, enum dma_transfer_direction direction)
|
||||
{
|
||||
u32 ctrla;
|
||||
unsigned int reg_width = atslave->reg_width;
|
||||
@@ -824,7 +824,7 @@ atc_dma_cyclic_fill_desc(struct at_dma_slave *atslave, struct at_desc *desc,
|
||||
| period_len >> reg_width;
|
||||
|
||||
switch (direction) {
|
||||
case DMA_TO_DEVICE:
|
||||
case DMA_MEM_TO_DEV:
|
||||
desc->lli.saddr = buf_addr + (period_len * period_index);
|
||||
desc->lli.daddr = atslave->tx_reg;
|
||||
desc->lli.ctrla = ctrla;
|
||||
@@ -835,7 +835,7 @@ atc_dma_cyclic_fill_desc(struct at_dma_slave *atslave, struct at_desc *desc,
|
||||
| ATC_DIF(AT_DMA_PER_IF);
|
||||
break;
|
||||
|
||||
case DMA_FROM_DEVICE:
|
||||
case DMA_DEV_TO_MEM:
|
||||
desc->lli.saddr = atslave->rx_reg;
|
||||
desc->lli.daddr = buf_addr + (period_len * period_index);
|
||||
desc->lli.ctrla = ctrla;
|
||||
@@ -863,7 +863,7 @@ atc_dma_cyclic_fill_desc(struct at_dma_slave *atslave, struct at_desc *desc,
|
||||
*/
|
||||
static struct dma_async_tx_descriptor *
|
||||
atc_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len,
|
||||
size_t period_len, enum dma_data_direction direction)
|
||||
size_t period_len, enum dma_transfer_direction direction)
|
||||
{
|
||||
struct at_dma_chan *atchan = to_at_dma_chan(chan);
|
||||
struct at_dma_slave *atslave = chan->private;
|
||||
@@ -874,7 +874,7 @@ atc_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len,
|
||||
unsigned int i;
|
||||
|
||||
dev_vdbg(chan2dev(chan), "prep_dma_cyclic: %s buf@0x%08x - %d (%d/%d)\n",
|
||||
direction == DMA_TO_DEVICE ? "TO DEVICE" : "FROM DEVICE",
|
||||
direction == DMA_MEM_TO_DEV ? "TO DEVICE" : "FROM DEVICE",
|
||||
buf_addr,
|
||||
periods, buf_len, period_len);
|
||||
|
||||
|
Посилання в новій задачі
Заблокувати користувача