dmaengine/ste_dma40: clear LNK on channel startup

Otherwise if a previously physical channel is used as a logical channel, the
LNK may have old values which affect the operation of the logical channel since
the LNK register has different semantics between physical and logical channels.

Signed-off-by: Rabin Vincent <[email protected]>
Reviewed-by: Jonas ABERG <[email protected]>
Signed-off-by: Narayanan G <[email protected]>
Acked-by: Linus Walleij <[email protected]>
Signed-off-by: Vinod Koul <[email protected]>
This commit is contained in:
Rabin Vincent 2011-12-28 11:27:40 +05:30 • committed by Vinod Koul
commit e9f3a49c96

View file

@ -1104,6 +1104,10 @@ static void d40_config_write(struct d40_chan *d40c)
/* Set LIDX for lcla */
writel(lidx, chanbase + D40_CHAN_REG_SSELT);
writel(lidx, chanbase + D40_CHAN_REG_SDELT);
/* Clear LNK which will be used by d40_chan_has_events() */
writel(0, chanbase + D40_CHAN_REG_SSLNK);
writel(0, chanbase + D40_CHAN_REG_SDLNK);
}
}