From: Robert Jarzmik <robert.jarzmik@free.fr>
To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
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>
Subject: Re: [PATCH] mtd: nand: pxa3xx_nand: fix dmaengine initialization
Date: Sat, 27 Feb 2016 11:45:23 +0100 [thread overview]
Message-ID: <87r3fytosc.fsf@belgarion.home> (raw)
In-Reply-To: <CAAEAJfCmL4qcKMiTOoM7ixJ_NCTTObUV1v=jE19aWS=18-vqTw@mail.gmail.com> (Ezequiel Garcia's message of "Fri, 26 Feb 2016 22:51:13 -0300")
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 ?
Cheers.
--
Robert
[1] Extract of my zylonite310.dts
nand0: nand@43100000 {
compatible = "marvell,pxa3xx-nand";
reg = <0x43100000 90>;
interrupts = <45>;
clocks = <&clks CLK_NAND>;
dmas = <&pdma 97 3>;
dma-names = "data";
#address-cells = <1>;
#size-cells = <1>;
status = "disabled";
};
next prev parent reply other threads:[~2016-02-27 10:45 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-12 22:29 Robert Jarzmik
2016-02-27 1:51 ` Ezequiel Garcia
2016-02-27 10:45 ` Robert Jarzmik [this message]
2016-02-28 19:15 ` Ezequiel Garcia
2016-03-05 3:07 ` Brian Norris
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=87r3fytosc.fsf@belgarion.home \
--to=robert.jarzmik@free.fr \
--cc=computersforpeace@gmail.com \
--cc=dwmw2@infradead.org \
--cc=ezequiel.garcia@free-electrons.com \
--cc=ezequiel@vanguardiasur.com.ar \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@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
all inboxes | Powered by JetHome®