On Tue, Sep 16, 2014 at 10:13:27PM +0800, Chen-Yu Tsai wrote: > >> + /* > >> + * sun8i variant requires us to toggle an undocumented register, > >> + * as seen in Allwinner's SDK. > > > > The BSP I have has this: > > > > static void sunxi_dma_hw_init(struct sunxi_dmadev *dev) > > { > > struct sunxi_dmadev *sunxi_dev = dev; > > > > clk_prepare_enable(sunxi_dev->ahb_clk); > > #ifdef CONFIG_ARCH_SUN8IW3 > > writel(0x04, sunxi_dev->base + DMA_GATE); > > #endif > > } > > > > /* All is ok, and open the clock */ > > sunxi_dma_hw_init(sunxi_dev); > > > > So I guess we can say that it's not that undocumented :) > > That's right. I meant undocumented in the user manual. > I did reference the SDK in the comment, didn't I? :) So something like writel(DMA_GATE_ENABLE, base->DMA_GATE_REG) wouldn't be too far off :) Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com