Re: [PATCH 2/2 v2] dma: pl08x: allocate OF slave channel data at probe time

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 28, 2016 at 7:32 PM, Joachim  Eastwood <manabian@xxxxxxxxx> wrote:
> On 26 March 2016 at 00:51, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote:

>> Joachim: Can you please help to try to figure out if this
>> still crashes with LPC, it must be something with the mux
>> layer thing. This is doing the right thing and is needed
>> for atleast 2 platforms to use this driver.
>
> First of all; sorry about the screw up with the attempt to do dynamic
> channel allocation in the xlate. As Linus noted in [1] the dmaengine
> framework doesn't support this as channels are not initialized
> properly and it only seemed to work properly because of the mux. Sorry
> about all this!

Hey we all make mistakes. More often than not, it's actually me.

> Note the LPC18xx didn't really crash with this patch. It was only
> unable to find the dma channels [2]. When the initial patches was
> posted I didn't have the time to debug it properly and I have since
> forgotten about it.
>
> The reason for this, as discovered by Johannes [3], is that
> chan->signal is not properly setup. This variable is set to -1 in
> pl08x_dma_init_virtual_channels() and when pl08x_find_chan_id() is
> called from xlate it doesn't find any channels because the chan->id is
> still -1 (I have verified this with debug prints). Setting chan->id
> make the channel assignment work on LPC18xx again.

OK I think what you mean is that chan->signal must be assigned
by default so the channel can me found?
This should be fixed with the v3 patch I just sent out.
I hope.

> Linus: Could you send an updated version that sets the chan->id
> variable in pl08x_dma_init_virtual_channels()?

chan->signal you mean? Enjoy!

Else comment inline in the patch exactly what I need to do.

> Maybe it would make sense to reorder the patches since this patch is a fix.

Nah I just dropped the first one as Johannes suggested.

It's down to one now.

Tested on the Nomadik, works like a charm.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux