diff mbox

[PATCH/RFC,5/5] mmc: renesas-sdhi: remove gen3 support from sysc dmac driver

Message ID 1496927368-18897-8-git-send-email-horms+renesas@verge.net.au (mailing list archive)
State New, archived
Headers show

Commit Message

Simon Horman June 8, 2017, 1:09 p.m. UTC
Gen3 SoCs are now supported by the internal dmac variant of the SDHI driver.
Remove them from the sys dmac variant where only PIO mode is supported.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
 drivers/mmc/host/renesas_sdhi_sys_dmac.c | 21 ---------------------
 1 file changed, 21 deletions(-)

Comments

Geert Uytterhoeven June 9, 2017, 7:40 a.m. UTC | #1
Hi Simon,

On Thu, Jun 8, 2017 at 3:09 PM, Simon Horman <horms+renesas@verge.net.au> wrote:
> Gen3 SoCs are now supported by the internal dmac variant of the SDHI driver.
> Remove them from the sys dmac variant where only PIO mode is supported.
>
> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>

Is it possible to fall back to PIO with the new DMAC driver?
If not, is this desirable?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
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
Magnus Damm June 9, 2017, 8:40 a.m. UTC | #2
Hi Geert and Simon,

On Fri, Jun 9, 2017 at 4:40 PM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> Hi Simon,
>
> On Thu, Jun 8, 2017 at 3:09 PM, Simon Horman <horms+renesas@verge.net.au> wrote:
>> Gen3 SoCs are now supported by the internal dmac variant of the SDHI driver.
>> Remove them from the sys dmac variant where only PIO mode is supported.
>>
>> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
>
> Is it possible to fall back to PIO with the new DMAC driver?
> If not, is this desirable?

I believe R-Car Gen3 SDHI may depending on SoC use either on-chip bus
mastering DMA or SYS-DMAC via DMA Engine. In both cases fall back to
PIO is most likely valid. For any given SoC which is better of on-chip
DMA or SYS-DMAC needs to be investigated together with IPMMU.

Cheers,

/ magnus
--
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
Simon Horman June 16, 2017, 7:01 a.m. UTC | #3
On Fri, Jun 09, 2017 at 05:40:15PM +0900, Magnus Damm wrote:
> Hi Geert and Simon,
> 
> On Fri, Jun 9, 2017 at 4:40 PM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> > Hi Simon,
> >
> > On Thu, Jun 8, 2017 at 3:09 PM, Simon Horman <horms+renesas@verge.net.au> wrote:
> >> Gen3 SoCs are now supported by the internal dmac variant of the SDHI driver.
> >> Remove them from the sys dmac variant where only PIO mode is supported.
> >>
> >> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
> >
> > Is it possible to fall back to PIO with the new DMAC driver?
> > If not, is this desirable?
> 
> I believe R-Car Gen3 SDHI may depending on SoC use either on-chip bus
> mastering DMA or SYS-DMAC via DMA Engine. In both cases fall back to
> PIO is most likely valid. For any given SoC which is better of on-chip
> DMA or SYS-DMAC needs to be investigated together with IPMMU.

My answer is a bit different:

With this patchset there are two variants of the SDHI driver, one that
supports SYS-DMAC via DMA Engine and one that supports on-chip bus
mastering DMA.

My understanding is that prior to this patch set the SYS-DMAC and only
variant of the SDHI driver supported fallback to PIO. And as the internal
DMAC variant uses the same core code my assumption is that it should also
have that property.  I would need to investigate things in more detail to
confirm that assumption.

In terms of supporting Gen3 with SYS-DMAC or on-chip bus mastering DMA,
I believe those cases should use compat strings and soc-match in each of
the two variants of the SDHI driver as appropriate.
--
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
diff mbox

Patch

diff --git a/drivers/mmc/host/renesas_sdhi_sys_dmac.c b/drivers/mmc/host/renesas_sdhi_sys_dmac.c
index cc3e0f94b276..1f8863e725aa 100644
--- a/drivers/mmc/host/renesas_sdhi_sys_dmac.c
+++ b/drivers/mmc/host/renesas_sdhi_sys_dmac.c
@@ -63,25 +63,6 @@  static const struct renesas_sdhi_of_data of_rcar_gen2_compatible = {
 	.taps_num	= ARRAY_SIZE(rcar_gen2_scc_taps),
 };
 
-/* Definitions for sampling clocks */
-static struct renesas_sdhi_scc rcar_gen3_scc_taps[] = {
-	{
-		.clk_rate = 0,
-		.tap = 0x00000300,
-	},
-};
-
-static const struct renesas_sdhi_of_data of_rcar_gen3_compatible = {
-	.tmio_flags	= TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_WRPROTECT_DISABLE |
-			  TMIO_MMC_CLK_ACTUAL | TMIO_MMC_MIN_RCAR2,
-	.capabilities	= MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
-			  MMC_CAP_CMD23,
-	.bus_shift	= 2,
-	.scc_offset	= 0x1000,
-	.taps		= rcar_gen3_scc_taps,
-	.taps_num	= ARRAY_SIZE(rcar_gen3_scc_taps),
-};
-
 static const struct of_device_id renesas_sdhi_sys_dmac_of_match[] = {
 	{ .compatible = "renesas,sdhi-shmobile" },
 	{ .compatible = "renesas,sdhi-sh73a0", .data = &of_default_cfg, },
@@ -95,8 +76,6 @@  static const struct of_device_id renesas_sdhi_sys_dmac_of_match[] = {
 	{ .compatible = "renesas,sdhi-r8a7792", .data = &of_rcar_gen2_compatible, },
 	{ .compatible = "renesas,sdhi-r8a7793", .data = &of_rcar_gen2_compatible, },
 	{ .compatible = "renesas,sdhi-r8a7794", .data = &of_rcar_gen2_compatible, },
-	{ .compatible = "renesas,sdhi-r8a7795", .data = &of_rcar_gen3_compatible, },
-	{ .compatible = "renesas,sdhi-r8a7796", .data = &of_rcar_gen3_compatible, },
 	{},
 };
 MODULE_DEVICE_TABLE(of, renesas_sdhi_sys_dmac_of_match);