linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michal Simek <michal.simek@xilinx.com>
To: Lars-Peter Clausen <lars@metafoo.de>,
	Paul Thomas <pthomas8589@gmail.com>,
	Radhey Shyam Pandey <radheys@xilinx.com>
Cc: Dan Williams <dan.j.williams@intel.com>,
	Vinod Koul <vkoul@kernel.org>,
	Matthew Murrian <matthew.murrian@goctsi.com>,
	Romain Perier <romain.perier@gmail.com>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	"Marc Ferland" <ferlandm@amotus.ca>,
	Sebastian von Ohr <vonohr@smaract.com>,
	"dmaengine@vger.kernel.org" <dmaengine@vger.kernel.org>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	"dave.jiang@intel.com" <dave.jiang@intel.com>,
	Shravya Kumbham <shravyak@xilinx.com>, git <git@xilinx.com>
Subject: Re: dmaengine : xilinx_dma two issues
Date: Mon, 11 Jan 2021 10:32:55 +0100	[thread overview]
Message-ID: <8c0dff8b-eac8-f1d9-0ca9-a901a438d6e9@xilinx.com> (raw)
In-Reply-To: <d153eb8c-bc55-37b5-2b22-a4f6c6263d38@metafoo.de>

Hi Lars,

On 10. 01. 21 16:43, Lars-Peter Clausen wrote:
> On 1/10/21 4:16 PM, Paul Thomas wrote:
>> On Fri, Jan 8, 2021 at 1:36 PM Radhey Shyam Pandey
>> <radheys@xilinx.com> wrote:
>>>> -----Original Message-----
>>>> From: Paul Thomas <pthomas8589@gmail.com>
>>>> Sent: Friday, January 8, 2021 9:27 PM
>>>> To: Radhey Shyam Pandey <radheys@xilinx.com>
>>>> Cc: Dan Williams <dan.j.williams@intel.com>; Vinod Koul
>>>> <vkoul@kernel.org>; Michal Simek <michals@xilinx.com>; Matthew Murrian
>>>> <matthew.murrian@goctsi.com>; Romain Perier
>>>> <romain.perier@gmail.com>; Krzysztof Kozlowski <krzk@kernel.org>; Marc
>>>> Ferland <ferlandm@amotus.ca>; Sebastian von Ohr
>>>> <vonohr@smaract.com>; dmaengine@vger.kernel.org; Linux ARM <linux-
>>>> arm-kernel@lists.infradead.org>; linux-kernel <linux-
>>>> kernel@vger.kernel.org>; dave.jiang@intel.com; Shravya Kumbham
>>>> <shravyak@xilinx.com>; git <git@xilinx.com>
>>>> Subject: Re: dmaengine : xilinx_dma two issues
>>>>
>>>> Hi All,
>>>>
>>>> On Fri, Jan 8, 2021 at 2:13 AM Radhey Shyam Pandey <radheys@xilinx.com>
>>>> wrote:
>>>>>> -----Original Message-----
>>>>>> From: Radhey Shyam Pandey
>>>>>> Sent: Monday, January 4, 2021 10:50 AM
>>>>>> To: Paul Thomas <pthomas8589@gmail.com>; Dan Williams
>>>>>> <dan.j.williams@intel.com>; Vinod Koul <vkoul@kernel.org>; Michal
>>>>>> Simek <michals@xilinx.com>; Matthew Murrian
>>>>>> <matthew.murrian@goctsi.com>; Romain Perier
>>>>>> <romain.perier@gmail.com>; Krzysztof Kozlowski <krzk@kernel.org>;
>>>>>> Marc Ferland <ferlandm@amotus.ca>; Sebastian von Ohr
>>>>>> <vonohr@smaract.com>; dmaengine@vger.kernel.org; Linux ARM <linux-
>>>>>> arm-kernel@lists.infradead.org>; linux-kernel <linux-
>>>>>> kernel@vger.kernel.org>; Shravya Kumbham <shravyak@xilinx.com>; git
>>>>>> <git@xilinx.com>
>>>>>> Subject: RE: dmaengine : xilinx_dma two issues
>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Paul Thomas <pthomas8589@gmail.com>
>>>>>>> Sent: Monday, December 28, 2020 10:14 AM
>>>>>>> To: Dan Williams <dan.j.williams@intel.com>; Vinod Koul
>>>>>>> <vkoul@kernel.org>; Michal Simek <michals@xilinx.com>; Radhey
>>>>>>> Shyam Pandey <radheys@xilinx.com>; Matthew Murrian
>>>>>>> <matthew.murrian@goctsi.com>; Romain Perier
>>>>>> <romain.perier@gmail.com>;
>>>>>>> Krzysztof Kozlowski <krzk@kernel.org>; Marc Ferland
>>>>>>> <ferlandm@amotus.ca>; Sebastian von Ohr <vonohr@smaract.com>;
>>>>>>> dmaengine@vger.kernel.org; Linux ARM <linux-
>>>>>>> arm-kernel@lists.infradead.org>; linux-kernel <linux-
>>>>>>> kernel@vger.kernel.org>
>>>>>>> Subject: dmaengine : xilinx_dma two issues
>>>>>>>
>>>>>>> Hello,
>>>>>>>
>>>>>>> I'm trying to get the 5.10 kernel up and running for our system,
>>>>>>> and I'm running into a couple of issues with xilinx_dma.
>>>>>> + (Xilinx mailing list)
>>>>>>
>>>>>> Thanks for bringing the issues to our notice. Replies inline.
>>>>>>
>>>>>>> First, commit 14ccf0aab46e 'dmaengine: xilinx_dma: In dma channel
>>>>>>> probe fix node order dependency' breaks our usage. Before this
>>>>>>> commit a
>>>>>> call to:
>>>>>>> dma_request_chan(&indio_dev->dev, "axi_dma_0"); returns fine, but
>>>>>>> after that commit it returns -19. The reason for this seems to be
>>>>>>> that the only channel that is setup is channel 1 (chan->id is 1 in
>>>>>> xilinx_dma_chan_probe()).
>>>>>>> However in
>>>>>>> of_dma_xilinx_xlate() chan_id is gets set to 0 (int chan_id =
>>>>>>> dma_spec-
>>>>>>>> args[0];), which causes the:
>>>>>>> !xdev->chan[chan_id]
>>>>>>> test to fail in of_dma_xilinx_xlate()
>>>>>> What is the channel number passed in dmaclient DT?
>>>> Is this a question for me?
>>> Yes, please also share the dmaclient DT client node. Need to see
>>> channel number passed to dmas property. Something like below-
>>>
>>> dmas = <& axi_dma_0 1>
>>> dma-names = "axi_dma_0"
>> OK, I think I need to revisit this and clean it up some. Currently In
>> the driver (a custom iio adc driver) it is hard coded:
>> dma_request_chan(&indio_dev->dev, "axi_dma_0");
>>
>> However, the DT also has the entries (currently unused by the driver):
>>          dmas = <&axi_dma_0 0>;
>>          dma-names = "axi_dma_0";
>>
>> I'll go back and clean up our driver to do something like
>> adi-axi-adc.c does:
>>
>>          if (!device_property_present(dev, "dmas"))
>>                  return 0;
>>
>>          if (device_property_read_string(dev, "dma-names", &dma_name))
>>                  dma_name = "axi_dma_0";
>>
>> Should the dmas node get used by the driver? I see the second argument
>> is: '0' for write/tx and '1' for read/rx channel. So I should be
>> setting this to 1 like this?
>>          dmas = <&axi_dma_0 1>;
>>          dma-names = "axi_dma_0";
>>
>> But where does that field get used?
> 
> This got broken in "dmaengine: xilinx_dma: In dma channel probe fix node
> order dependency"
> <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=14ccf0aab46e1888e2f45b6e995c621c70b32651>.
> Before if there was only one channel that channel was always at index 0.
> Regardless of whether the channel was RX or TX. But after that change
> the RX channel is always at offset 1, regardless of whether the DMA has
> one or two channels. This is a breakage in ABI.
> 
> If you have the choice I'd recommend to not use the Xilinx DMA, it gets
> broken pretty much every other release.

I expect that you are talking about Xilinx releases and I hope that this
has changed over times when most of changes are upstreamed already. The
patch above you are referencing has been applied by Vinod and he is
checking patches a lot. If there is a problem and any breakage it needs
to be fixed. And bugs happen all the time and we have a way how to work
with it.
If you see there any issue please report them and let's fix them and
continue on this topic from technical point of view.
In connection to this problem what are you suggesting? Just revert this
patch or fix ordering differently? Would be good to provide your
suggestion and fix it.

Thanks,
Michal


  reply	other threads:[~2021-01-11  9:34 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-28  4:44 dmaengine : xilinx_dma two issues Paul Thomas
2021-01-04  5:19 ` Radhey Shyam Pandey
2021-01-08  7:13   ` Radhey Shyam Pandey
2021-01-08 15:56     ` Paul Thomas
2021-01-08 18:36       ` Radhey Shyam Pandey
2021-01-10 15:16         ` Paul Thomas
2021-01-10 15:43           ` Lars-Peter Clausen
2021-01-11  9:32             ` Michal Simek [this message]
2021-01-11 15:33               ` Lars-Peter Clausen
2021-01-11 16:07                 ` Michal Simek
2021-01-11 14:16           ` Paul Thomas
2021-01-15 19:30     ` Paul Thomas
2021-01-18  4:32       ` Radhey Shyam Pandey

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=8c0dff8b-eac8-f1d9-0ca9-a901a438d6e9@xilinx.com \
    --to=michal.simek@xilinx.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=ferlandm@amotus.ca \
    --cc=git@xilinx.com \
    --cc=krzk@kernel.org \
    --cc=lars@metafoo.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matthew.murrian@goctsi.com \
    --cc=pthomas8589@gmail.com \
    --cc=radheys@xilinx.com \
    --cc=romain.perier@gmail.com \
    --cc=shravyak@xilinx.com \
    --cc=vkoul@kernel.org \
    --cc=vonohr@smaract.com \
    /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).