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

Commit 60092d0b authored by Tomoya MORINAGA's avatar Tomoya MORINAGA Committed by Vinod Koul
Browse files

pch_dma: Fix DMA setting issue



Currently, Direct-Start mode(*) is enabled.
Our IOH's devices must not use this mode.
This causes unexpected behavior.
This patch deletes Direct-Start setting.
(*) This mode is used in order for CPU to generate the DMA request.

Signed-off-by: default avatarTomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
parent 08645fdc
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -254,9 +254,6 @@ static bool pdc_is_idle(struct pch_dma_chan *pd_chan)

static void pdc_dostart(struct pch_dma_chan *pd_chan, struct pch_dma_desc* desc)
{
	struct pch_dma *pd = to_pd(pd_chan->chan.device);
	u32 val;

	if (!pdc_is_idle(pd_chan)) {
		dev_err(chan2dev(&pd_chan->chan),
			"BUG: Attempt to start non-idle channel\n");
@@ -282,10 +279,6 @@ static void pdc_dostart(struct pch_dma_chan *pd_chan, struct pch_dma_desc* desc)
		channel_writel(pd_chan, NEXT, desc->txd.phys);
		pdc_set_mode(&pd_chan->chan, DMA_CTL0_SG);
	}

	val = dma_readl(pd, CTL2);
	val |= 1 << (DMA_CTL2_START_SHIFT_BITS + pd_chan->chan.chan_id);
	dma_writel(pd, CTL2, val);
}

static void pdc_chain_complete(struct pch_dma_chan *pd_chan,