[PATCH v7 03/11] mmci: implement pre_req() and post_req()
From: Per Forlin <hidden>
Date: 2011-06-22 10:01:58
Also in:
linux-mmc, lkml
On 22 June 2011 01:38, Per Forlin [off-list ref] wrote:
pre_req() runs dma_map_sg() and prepares the dma descriptor for the next mmc data transfer. post_req() runs dma_unmap_sg. If not calling pre_req() before mmci_request(), mmci_request() will prepare the cache and dma just like it did it before. It is optional to use pre_req() and post_req() for mmci. Signed-off-by: Per Forlin <redacted> --- ?drivers/mmc/host/mmci.c | ?146 ++++++++++++++++++++++++++++++++++++++++++---- ?drivers/mmc/host/mmci.h | ? ?8 +++ ?2 files changed, 141 insertions(+), 13 deletions(-)
...
quoted hunk ↗ jump to hunk
@@ -1005,6 +1123,8 @@ static int __devinit mmci_probe(struct amba_device *dev,? ? ? ?host->gpio_cd = -ENOSYS; ? ? ? ?host->gpio_cd_irq = -1; + ? ? ? host->next_data.cookie = 1; +
Doesn't compile without DMA_ENGINE. Issue reported by Nickolay. I simply move the initialization to mmci_dma_setup. I will update in the next patchset.
@@ -215,6 +215,9 @@ static void __devinit mmci_dma_setup(struct mmci_host *host) + /* initialize pre request cookie */ + host->next_data.cookie = 1; +
@@ -1121,8 +1124,6 @@ static int __devinit mmci_probe(struct amba_device *dev, - host->next_data.cookie = 1;