[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <87po8ig8eg.wl%kuninori.morimoto.gx@renesas.com>
Date: Thu, 16 Nov 2017 04:31:00 +0000
From: Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>
To: Geert Uytterhoeven <geert@...ux-m68k.org>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Dan Williams <dan.j.williams@...el.com>,
Vinod Koul <vinod.koul@...el.com>
Cc: Niklas Söderlund
<niklas.soderlund+renesas@...natech.se>, dmaengine@...r.kernel.org,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@...esas.com>
Subject: [PATCH 0/2 v2] dmaengine: rcar-dmac: use TCRB instead of TCR
Hi Vinod
Cc Geert, Laurent
These are v2 of dmaengine fixup for Renesas SoC.
v1 patch solved "sound noise" issue, but breaked "serial input".
The reason was that DMAC buffers read data until transferable size to write side.
This buffered data will be transfered if <1> it reached to transferable size,
<2> DE bit became 0.
In current driver, DE bit will be 0 if driver called dmaengine_terminate_all().
Thus, we need to flush this buffered data before getting residue.
And we need to check this DE bit was realy 0 when we cleared it.
Because DMAC will start to transfer bufferred data if DE was cleared, and then,
DE was 1 until finished.
I tested this patch with CONFIG_SERIAL_SH_SCI_DMA, and serial works correctly.
Kuninori Morimoto (2):
dmaengine: rcar-dmac: ensure CHCR DE bit is actually 0 after clear
dmaengine: rcar-dmac: use TCRB instead of TCR for residue
--
1.9.1
Powered by blists - more mailing lists