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.hI'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