Thread (5 messages) 5 messages, 2 authors, 2011-03-24

RE: [RFC] mmc: msm_sdcc: Use SPS BAM as DMA engine

From: Subhash Jadavani <hidden>
Date: 2011-03-24 07:32:39
Also in: linux-arm-msm, lkml

-----Original Message-----
From: linux-mmc-owner@vger.kernel.org [mailto:linux-mmc-
owner@vger.kernel.org] On Behalf Of Daniel Walker
Sent: Wednesday, March 23, 2011 6:36 PM
To: Subhash Jadavani
Cc: cjb@laptop.org; linux-mmc@vger.kernel.org; linux-arm-
msm@vger.kernel.org; davidb@codeaurora.org; bryanh@codeaurora.org;
linux-kernel@vger.kernel.org
Subject: Re: [RFC] mmc: msm_sdcc: Use SPS BAM as DMA engine

On Fri, 2011-03-18 at 18:54 +0530, Subhash Jadavani wrote:
quoted
On recent MSMs, ADM (Data Mover) HW is not present
which means existing SDCC driver can perform data
transfer in PIO (peripheral IO) mode only.
But PIO mode requires lot of CPU attention which
would mean consuming extra CPU MIPS.

As a replacement on these recent MSMs, there is
a new DMA HW engine named SPS-BAM (as part of
Smart Peripheral System of MSM) is added for
data movement between SDCC core and system memory.

This patch has done changes in existing MSM SDCC
driver for using SPS-BAM as DMA engine.
1300+ lines of code might warrant more of a description .. In the
subject you say "DMA engine" but does this use drivers/dma/dmaengine.c
?
Here "DMA engine" means we are using SPS BAM as DMA HW.
No, we are not using the "drivers/dma/dmaengine.c" because MSM SPS driver is not exporting the dma compliant APIs to client. We are using the MSM SPS driver's exported APIs directly from our driver. Not sure what extra description we can put it in commit text. Any suggestion?

This is where MSM SPS driver patch is available: https://patchwork.kernel.org/patch/586271/

quoted
Signed-off-by: Subhash Jadavani <redacted>
---
 drivers/mmc/host/Kconfig        |   10 +
 drivers/mmc/host/Makefile       |    1 +
 drivers/mmc/host/msm_sdcc.c     |  929
+++++++++++++++++++++++++++++++++++++--
quoted
 drivers/mmc/host/msm_sdcc.h     |   47 ++
 drivers/mmc/host/msm_sdcc_dml.c |  303 +++++++++++++
 drivers/mmc/host/msm_sdcc_dml.h |  120 +++++
 6 files changed, 1374 insertions(+), 36 deletions(-)
 create mode 100644 drivers/mmc/host/msm_sdcc_dml.c
 create mode 100644 drivers/mmc/host/msm_sdcc_dml.h
I'd do at least two patches. One that adds msm_sdcc_dml.[ch] and one
that modifies msm_sdcc.[ch] and the Kconfig and Makefile.

Daniel

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help