[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20141216141059.3036.53205.stgit@dizzy-6.o2s.ch>
Date: Tue, 16 Dec 2014 15:10:59 +0100
From: David Lanzendörfer <david.lanzendoerfer@....ch>
To: Ulf Hansson <ulf.hansson@...aro.org>,
Tomeu Vizoso <tomeu.vizoso@...labora.com>,
Arnd Bergmann <arnd@...db.de>, linux-mmc@...r.kernel.org,
Chris Ball <chris@...ntf.net>, linux-kernel@...r.kernel.org,
Peter Griffin <peter.griffin@...aro.org>,
Hans de Goede <hdegoede@...hat.com>,
Chen-Yu Tsai <wens@...e.org>,
David Lanzendörfer <david.lanzendoerfer@....ch>,
李想 <lixiang@...winnertech.com>,
Maxime Ripard <maxime.ripard@...e-electrons.com>,
linux-arm-kernel@...ts.infradead.org
Subject: [PATCH 1/4] mmc: sunxi: Fix setup of last descriptor of dma transfer
From: Hans de Goede <hdegoede@...hat.com>
The last descriptor might be the first descriptor as well, so use masking to
add the LD (last descriptor) bit and drop the DIC (disable interrupt on
completion) bit rather then hard assignment as hard assigment will override
the FD (first descriptor) bit if there is only 1 descriptor.
Also set the ER (end of ring) bit and clear buf_addr_ptr2 on the last
descriptor, like the android kernel code does.
Signed-off-by: Hans de Goede <hdegoede@...hat.com>
Signed-off-by: David Lanzendörfer <david.lanzendoerfer@....ch>
Reported-by: 李想 <lixiang@...winnertech.com>
---
drivers/mmc/host/sunxi-mmc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c
index 15cb8b7..1fe54a8 100644
--- a/drivers/mmc/host/sunxi-mmc.c
+++ b/drivers/mmc/host/sunxi-mmc.c
@@ -310,7 +310,9 @@ static void sunxi_mmc_init_idma_des(struct sunxi_mmc_host *host,
}
pdes[0].config |= SDXC_IDMAC_DES0_FD;
- pdes[i - 1].config = SDXC_IDMAC_DES0_OWN | SDXC_IDMAC_DES0_LD;
+ pdes[i - 1].config |= SDXC_IDMAC_DES0_LD | SDXC_IDMAC_DES0_ER;
+ pdes[i - 1].config &= ~SDXC_IDMAC_DES0_DIC;
+ pdes[i - 1].buf_addr_ptr2 = 0;
/*
* Avoid the io-store starting the idmac hitting io-mem before the
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists