|
@@ -179,9 +179,14 @@ static void dma_halt(struct fsl_dma_chan *fsl_chan)
|
|
static void set_ld_eol(struct fsl_dma_chan *fsl_chan,
|
|
static void set_ld_eol(struct fsl_dma_chan *fsl_chan,
|
|
struct fsl_desc_sw *desc)
|
|
struct fsl_desc_sw *desc)
|
|
{
|
|
{
|
|
|
|
+ u64 snoop_bits;
|
|
|
|
+
|
|
|
|
+ snoop_bits = ((fsl_chan->feature & FSL_DMA_IP_MASK) == FSL_DMA_IP_83XX)
|
|
|
|
+ ? FSL_DMA_SNEN : 0;
|
|
|
|
+
|
|
desc->hw.next_ln_addr = CPU_TO_DMA(fsl_chan,
|
|
desc->hw.next_ln_addr = CPU_TO_DMA(fsl_chan,
|
|
- DMA_TO_CPU(fsl_chan, desc->hw.next_ln_addr, 64) | FSL_DMA_EOL,
|
|
|
|
- 64);
|
|
|
|
|
|
+ DMA_TO_CPU(fsl_chan, desc->hw.next_ln_addr, 64) | FSL_DMA_EOL
|
|
|
|
+ | snoop_bits, 64);
|
|
}
|
|
}
|
|
|
|
|
|
static void append_ld_queue(struct fsl_dma_chan *fsl_chan,
|
|
static void append_ld_queue(struct fsl_dma_chan *fsl_chan,
|