From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 08/19] mmc: sdhi: Enable the driver on all ARM platforms
Date: Tue, 29 Oct 2013 22:23:15 +0000 [thread overview]
Message-ID: <2104528.1psQi38nVt@avalon> (raw)
In-Reply-To: <52701EE8.4040302@cogentembedded.com>
Hi Sergei,
On Tuesday 29 October 2013 23:47:36 Sergei Shtylyov wrote:
> On 10/29/2013 04:15 PM, Laurent Pinchart wrote:
> >>>>> Renesas ARM platforms are transitioning from single-platform to
> >>>>> multi-platform kernels using the new ARCH_SHMOBILE_MULTI. Make the
> >>>>> driver available on all ARM platforms to enable it on both
> >>>>> ARCH_SHMOBILE and ARCH_SHMOBILE_MULTI and increase build testing
> >>>>> coverage.
> >>>>>
> >>>>> Cc: Chris Ball <cjb@laptop.org>
> >>>>> Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
> >>>>> Cc: Ian Molton <ian@mnementh.co.uk>
> >>>>> Cc: linux-mmc@vger.kernel.org
> >>>>> Signed-off-by: Laurent Pinchart
> >>>>> <laurent.pinchart+renesas@ideasonboard.com>
> >>
> >> [...]
> >>
> >>>>> diff --git a/drivers/mmc/host/tmio_mmc_dma.c
> >>>>> b/drivers/mmc/host/tmio_mmc_dma.c index 65edb4a..535bc35 100644
> >>>>> --- a/drivers/mmc/host/tmio_mmc_dma.c
> >>>>> +++ b/drivers/mmc/host/tmio_mmc_dma.c
> >>>>> @@ -28,7 +28,7 @@ void tmio_mmc_enable_dma(struct tmio_mmc_host *host,
> >>>>> bool enable)>
> >>>>>
> >>>>> if (!host->chan_tx || !host->chan_rx)
> >>>>>
> >>>>> return;
> >>>>>
> >>>>> -#if defined(CONFIG_SUPERH) || defined(CONFIG_ARCH_SHMOBILE)
> >>>>> +#if defined(CONFIG_SUPERH) || defined(CONFIG_ARM)
> >>>>
> >>>> I'm not sure about this one. In principle DMA so far is only used on
> >>>> SDHI with TMIO. But this #if was for a theoretical case, when a TMIO
> >>>> MMC IP inside an MFD is also used with DMA. Bus since I had no
> >>>> indormation about whether the CTL_DMA_ENABLE register was SDHI specific
> >>>> or not, I put it under an #if for the time being. In any case, I don't
> >>>> think making it #ifdef CONFIG_ARM makes much sense. We can either
> >>>> remove the #if completely, or keep it to limit the scope of this write
> >>>> to sh-mobile arches.
> >>>
> >>> SUPERH || ARCH_SHMOBILE covers all the platforms this driver currently
> >>> builds on. Now that we're adding ARCH_SHMOBILE_MULTI the #if needs to
> >>> cover that case as well. I'm fine with limiting the CTL_DMA_ENABLE write
> >>> to SUPERH only (which would modify the driver's behaviour)
> >>
> >> I'm afraid that would break the driver's ability to work in DMA mode on
> >> SH-Mobile SoCs.
> >
> > So can you confirm that writing the CTL_DMA_ENABLE register is required on
> > all Renesas ARM SoCs (including SH-Mobile, R-Mobile and R-Car) ?
>
> I can't actually say anything about all SH-Mobile and R-Mobile SoCs, only
> about the R-Car SoCs: though the datasheets don't contain the SDHI register
> info, from my experience the register exists on R8A777x (I had to fix up the
> broken PIO fallback in the SDHI driver).
OK.
> >>> or enabling it unconditionally, but I don't think adding a
> >>> defined(CONFIG_ARCH_SHMOBILE_MULTI) to the above #if makes sense, unless
> >>> there's a plan to add support for DMA for non-SH (including both SUPERH
> >>> and ARCH_SHMOBILE) platforms.
> >>
> >> Not only the plan -- I have already posted the patches to do it for
> >> R8A777x, and Simon has queued them for 3.13.
> >
> > Could you please point me to those patches ?
>
> https://git.kernel.org/cgit/linux/kernel/git/horms/renesas.git/commit/?h=nex
> t&id\x1eb6b5a0e55bfcfb0852b7d0f9442841ff807345
> https://git.kernel.org/cgit/linux/kernel/git/horms/renesas.git/commit/?h=ne
> xt&id¤3e5bd76a4a3df58167d85e8020a1c9e566ad75
> https://git.kernel.org/cgit/linux/kernel/git/horms/renesas.git/commit/?h=ne
> xt&id]6aa3435275a5308684f90c17424b055ef7f572
> https://git.kernel.org/cgit/linux/kernel/git/horms/renesas.git/commit/?h=ne
> xt&idæa8b11b82fdeaa78dad52552f945b772ee1a5c9
But that's still an ARCH_SHMOBILE platform. Guennadi's point, if I understood
it correctly, was that whether the CTL_DMA_ENABLE register is part of the
standard TMIO controller, or is Renesas-specific, is unknown. As we have no
current or planned TMIO DMA users other than SUPERH and ARCH_SHMOBILE this is
impossible to test. That is why the code is conditionally compiled.
We could either get rid of the #if completely and always write to the
register, or add ARCH_SHMOBILE_MULTI to the condition. I now agree that adding
ARM as a dependency makes no sense. Given that this will break on
multiplatform kernels anyway, I'm enclined to write to the CTL_DMA_ENABLE
register unconditionally. I'll update the patch accordingly.
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2013-10-29 22:23 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1383004027-25036-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com>
2013-10-28 23:46 ` [PATCH 01/19] serial: sh-sci: Enable the driver on all ARM platforms Laurent Pinchart
2013-10-28 23:46 ` [PATCH 02/19] DMA: shdma: " Laurent Pinchart
2013-10-28 23:46 ` [PATCH 03/19] i2c: sh_mobile: " Laurent Pinchart
2013-10-29 5:03 ` Wolfram Sang
2013-10-29 9:43 ` Laurent Pinchart
2013-10-28 23:46 ` [PATCH 04/19] input: sh_keysc: " Laurent Pinchart
2013-10-28 23:46 ` [PATCH 05/19] iommu: shmobile: " Laurent Pinchart
2013-10-28 23:46 ` [PATCH 06/19] i2c: rcar: " Laurent Pinchart
2013-10-29 5:03 ` Wolfram Sang
2013-10-28 23:46 ` [PATCH 07/19] v4l: sh_vou: " Laurent Pinchart
2013-10-30 12:26 ` Mauro Carvalho Chehab
2013-11-06 0:57 ` Laurent Pinchart
2013-10-28 23:46 ` [PATCH 08/19] mmc: sdhi: " Laurent Pinchart
2013-10-29 9:07 ` Guennadi Liakhovetski
2013-10-29 9:52 ` Laurent Pinchart
2013-10-29 12:12 ` Sergei Shtylyov
2013-10-29 13:15 ` Laurent Pinchart
2013-10-29 19:47 ` Sergei Shtylyov
2013-10-29 22:23 ` Laurent Pinchart [this message]
2013-10-28 23:46 ` [PATCH 09/19] mmc: sh_mmcif: " Laurent Pinchart
2013-10-28 23:46 ` [PATCH 10/19] mtd: sh_flctl: " Laurent Pinchart
2013-10-28 23:46 ` [PATCH 11/19] net: sh_eth: Set receive alignment correctly " Laurent Pinchart
2013-10-28 23:47 ` [PATCH 12/19] irda: sh_irda: Enable the driver " Laurent Pinchart
2013-10-28 23:47 ` [PATCH 13/19] pinctrl: sh-pfc: " Laurent Pinchart
2013-10-28 23:47 ` [PATCH 14/19] pwm: pwm-renesas-tpu: " Laurent Pinchart
2013-10-28 23:47 ` [PATCH 15/19] sh: intc: " Laurent Pinchart
2013-10-28 23:47 ` [PATCH 16/19] spi: sh_msiof: " Laurent Pinchart
2013-10-29 16:40 ` Mark Brown
2013-10-28 23:47 ` [PATCH 17/19] spi: sh_hspi: " Laurent Pinchart
2013-10-28 23:47 ` [PATCH 18/19] thermal: rcar-thermal: " Laurent Pinchart
2013-10-28 23:47 ` [PATCH 19/19] fbdev: sh-mobile-lcdcfb: " Laurent Pinchart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2104528.1psQi38nVt@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).