Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1345370

Re: [PATCH] mtd: nand: pxa3xx_nand: fix dmaengine initialization

Path csiph.com!news.freedyn.net!aioe.org!bofh.it!news.nic.it!robomod
From Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Newsgroups linux.kernel
Subject Re: [PATCH] mtd: nand: pxa3xx_nand: fix dmaengine initialization
Date Sun, 28 Feb 2016 20:20:01 +0100
Message-ID <r7f2N-7dc-3@gated-at.bofh.it> (permalink)
References <r1unU-4EM-9@gated-at.bofh.it> <r6CkP-3SQ-11@gated-at.bofh.it> <r6KBI-1Bx-9@gated-at.bofh.it>
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=vanguardiasur-com-ar.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=aPpVX2ceEABwOPoFOxzfTkK44Mv6ovuH4i+XEMRG+tI=; b=pqPbnNOXJOErngav2sWN5XwAxJqMZnmVvmOi+XxibHGkwJlHFD8RgDQAIDl8RiXpxG E3EpAk5jNgfyoTBpn0hcDAHgNAmmpb7vii5hejaqvrxU5FUYkDsCF+ltKuu2QfA1/Pdl jFAX5jUdaNIrQK0OpL1BYBGXuRLO+irIUvz3yVlTCNj05zMODBprbWIUDakT/JKxpmPL 5itNezKCWWD0MVAJRQTiUHHqcSeQuL6sjcGmBz77Tzn9eyW+3TJQq/a8AmS70fC46RMS wVddDepuwTUAQORUPzr0WTQNonEDsUthEqJfLoAl3YsHxXECrlMqyqkgTwJRY9eTjuPT /OXg==
X-Google-Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=aPpVX2ceEABwOPoFOxzfTkK44Mv6ovuH4i+XEMRG+tI=; b=PTnPelw7Bf4I/3/IUaRAUw8qRpMOGxyi9UCuRS1MiT+vSBM/FHw2swFR7lCB6C2I1s z/abeJhdBslDeddgO8GcuLZQdWR61n+aBLGLRgazIT6kNn2zybNHbKvCBdrcuNH9LsAS a6hp/bC1X/TV0nzYXYQC2TnlQ6lPkXACPZn+mmr/MgJXX+VSpSp77B1Wy5+1wopGfxxo Hene0jmQMmSdZhibprePh2Co3ku32kZO6guGSs0AMggAWhpWqA70DMLHZ5RtgvS6+yuI NQMD2zNLaTDdjwI7nqHQy+KuU+O6ezj11w0zy0XhZK/A0GpR1fuyKZzsXvsCzdNHdiVB q7hg==
X-Gm-Message-State AD7BkJKcXpB26QczA/cwMoc5gCZ8G1BTihPqx6MICBl0Nas7zPWwiocW+80W4wR2h9zytw==
X-Received by 10.55.73.199 with SMTP id w190mr14676844qka.77.1456686910683; Sun, 28 Feb 2016 11:15:10 -0800 (PST)
MIME-Version 1.0
Content-Type text/plain; charset=iso-8859-1
Content-Disposition inline
Content-Transfer-Encoding 8bit
User-Agent Mutt/1.5.24 (2015-08-30)
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 62
Organization linux.* mail to news gateway
X-Original-Cc Ezequiel Garcia <ezequiel.garcia@free-electrons.com>, David Woodhouse <dwmw2@infradead.org>, Brian Norris <computersforpeace@gmail.com>, "linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
X-Original-Date Sun, 28 Feb 2016 16:15:06 -0300
X-Original-Message-ID <20160228191506.GA1907@laptop.cereza>
X-Original-References <1455316144-14464-1-git-send-email-robert.jarzmik@free.fr> <CAAEAJfCmL4qcKMiTOoM7ixJ_NCTTObUV1v=jE19aWS=18-vqTw@mail.gmail.com> <87r3fytosc.fsf@belgarion.home>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1345370

Show key headers only | View raw


On 27 February 2016 at 07:45, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
> Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> writes:
>
>> On 12 February 2016 at 19:29, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
>>> When the driver is initialized in a pure device-tree platform, the
>>> driver's probe fails allocating the dma channel :
>>> [  525.624435] pxa3xx-nand 43100000.nand: no resource defined for data DMA
>>> [  525.632088] pxa3xx-nand 43100000.nand: alloc nand resource failed
>>>
>>> The reason is that the DMA IO resource is not acquired through platform
>>> resources but by OF bindings.
>>>
>>> Fix this by ensuring that DMA IO resources are only queried in the non
>>> device-tree case.
>>>
>>> Fixes: 8f5ba31aa565 ("mtd: nand: pxa3xx-nand: switch to dmaengine")
>>> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
>>> ---
>>>  drivers/mtd/nand/pxa3xx_nand.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
>>> index a168cbcc1086..afd487d4b67f 100644
>>> --- a/drivers/mtd/nand/pxa3xx_nand.c
>>> +++ b/drivers/mtd/nand/pxa3xx_nand.c
>>> @@ -1750,7 +1750,7 @@ static int alloc_nand_resource(struct platform_device *pdev)
>>>         if (ret < 0)
>>>                 return ret;
>>>
>>> -       if (use_dma) {
>>> +       if (!np && use_dma) {
>>>                 r = platform_get_resource(pdev, IORESOURCE_DMA, 0);
>>>                 if (r == NULL) {
>>>                         dev_err(&pdev->dev,
>>
>> Looking through the kernel tree, this change seems to be correct.
>>
>> However, I'm still wondering how DMA resources are obtained in the
>> device-tree case. Can you explain it to me?
>
> In the pxa case, look at my extract in [1].
> The lines to consider are :
>                         dmas = <&pdma 97 3>;
>                         dma-names = "data";
>
> Now have a look at the function pxad_dma_xlate() in drivers/dma/pxa_dma.c.
> You'll see that the "97" ends up in the chanel drcmr, and the "3" in the
> channel's prio, when the chanel is requested in the nand driver by calling
> dma_request_slave_channel_compat(). In the latter case, pxad_filter_fn() is not
> used, it's the pxad_dma_xlate() which is used instead.
>
> Is this what you were looking for ?
>

I see. That's exactly what I was missing.

Acked-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>

Thanks,
-- 
Ezequiel GarcĂ­a, VanguardiaSur
www.vanguardiasur.com.ar

Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

Re: [PATCH] mtd: nand: pxa3xx_nand: fix dmaengine initialization Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> - 2016-02-27 03:00 +0100
  Re: [PATCH] mtd: nand: pxa3xx_nand: fix dmaengine initialization Robert Jarzmik <robert.jarzmik@free.fr> - 2016-02-27 11:50 +0100
    Re: [PATCH] mtd: nand: pxa3xx_nand: fix dmaengine initialization Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> - 2016-02-28 20:20 +0100

csiph-web