Re: [PATCH/RFC 2/5] mmc: tmio: add complete to DMA ops

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 16, 2017 at 09:33:31AM +0200, Simon Horman wrote:
> On Fri, Jun 16, 2017 at 09:23:15AM +0200, Geert Uytterhoeven wrote:
> > Hi Simon,
> > 
> > On Fri, Jun 16, 2017 at 9:13 AM, Simon Horman <horms@xxxxxxxxxxxx> wrote:
> > > Sorry for letting this bug creep in to renesas-drivers.
> > > Do you want a patch against your tree? I will plan to post v2 of
> > > this patchset soon in any case.
> > 
> > You can post such a patch to please users of renesas-drivers, but I won't
> > apply it now. I assume the issue will be fixed when next renesas-drivers
> > release is created ;-)
> 
> That is my assumption too :)

Revised patches posted as "[PATCH mmc/next v2 0/4] mmc: renesas_sdhi: add
support for R-Car Gen3 SDHI DMAC"

Pushed to topic/sdhi-gen3-dma-2017-v2 in my renesas tree.
Do you need a fresh pull request?

> I'll see about providing a fix patch too.

Fix is:

From: Simon Horman <horms+renesas@xxxxxxxxxxxx>
Subject: [PATCH] mmc: renesas-sdhi: implement complete to DMA op

Implement complete DMA op to resolve regression introduced by
the introduction of that DMA op.

This resolves a panic when initialising SDHI on non Gen3 platforms
which use DMA with SDHI.

This is planned to be squashed into
"mmc: tmio, renesas-sdhi: add complete to DMA ops" for
submission to upstream.

Fixes: f6bcd9f5e392 ("mmc: tmio: add complete to DMA ops")
Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx>
---
 drivers/mmc/host/renesas_sdhi_sys_dmac.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/mmc/host/renesas_sdhi_sys_dmac.c b/drivers/mmc/host/renesas_sdhi_sys_dmac.c
index 90f8d11c4868..2897ee0b444a 100644
--- a/drivers/mmc/host/renesas_sdhi_sys_dmac.c
+++ b/drivers/mmc/host/renesas_sdhi_sys_dmac.c
@@ -106,6 +106,11 @@ static void renesas_sdhi_sys_dmac_abort_dma(struct tmio_mmc_host *host)
 	renesas_sdhi_sys_dmac_enable_dma(host, true);
 }
 
+static void renesas_sdhi_sys_dmac_complete_dma(struct tmio_mmc_host *host)
+{
+	complete(&host->dma_dataend);
+}
+
 static void renesas_sdhi_sys_dmac_dma_callback(void *arg)
 {
 	struct tmio_mmc_host *host = arg;
@@ -427,6 +432,7 @@ static const struct tmio_mmc_dma_ops renesas_sdhi_sys_dmac_dma_ops = {
 	.request = renesas_sdhi_sys_dmac_request_dma,
 	.release = renesas_sdhi_sys_dmac_release_dma,
 	.abort = renesas_sdhi_sys_dmac_abort_dma,
+	.complete = renesas_sdhi_sys_dmac_complete_dma,
 };
 
 static int renesas_sdhi_sys_dmac_probe(struct platform_device *pdev)
-- 
2.1.4






[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux