All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Jarzmik <robert.jarzmik@free.fr>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Daniel Mack <daniel@zonque.org>,
	Haojian Zhuang <haojian.zhuang@gmail.com>,
	Vinod Koul <vinod.koul@intel.com>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	dmaengine@vger.kernel.org
Subject: [02/15] ARM: pxa: add dma slave map
Date: Wed, 04 Apr 2018 21:21:55 +0200	[thread overview]
Message-ID: <87d0ze4w18.fsf@belgarion.home> (raw)

Arnd Bergmann <arnd@arndb.de> writes:

> On Tue, Apr 3, 2018 at 10:19 PM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
>> ... chop chop removing unneeded recipients ....
>>
>> Arnd Bergmann <arnd@arndb.de> writes:
>>> It still feels odd to me that there is an entry in the slave map for
>>> a device that does not have a request line. However, it also seems
>>> that the entire code in those two drivers that deals with DMA is specific
>>> to PXA anyway, so maybe it can be done differently: instead of
>>> calling dma_request_slave_channel_compat() or dma_request_chan()
>>> with a fake request line, how about calling dma_request_channel()
>>> with an NULL filter function and data, and have the driver handle
>>> the empty data case the same way as the rq=-1 case today?
>> Okay, in this case :
>>  - the channel priority cannot be passed anymore
>
> Right, but it could just always use a static priority, right?
Yes, an implicit default priority. I'm not a big fan of implicit parameters, yet
I can do it.

>>  - and I don't see how this can work :
>>    dma_request_channel()
>>      __dma_request_channel()
>>        find_candidate()
>>          private_candidate(mask, device, fn, fn_param);
>>            /* Here, fn == NULL and fn_param == NULL as per your proposal */
>>
>>    This function will find the first available dma channel, all right, but
>>    no function will be called in pxa_dma driver, and therefore the last
>>    requestor of the channel will be used, which is bad.
>
> Can't you just reset those in pxad_free_chan_resources()?
I can, let's see what happens next ...

Cheers.

WARNING: multiple messages have this Message-ID (diff)
From: Robert Jarzmik <robert.jarzmik@free.fr>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Daniel Mack <daniel@zonque.org>,
	Haojian Zhuang <haojian.zhuang@gmail.com>,
	Vinod Koul <vinod.koul@intel.com>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	dmaengine@vger.kernel.org
Subject: Re: [PATCH 02/15] ARM: pxa: add dma slave map
Date: Wed, 04 Apr 2018 21:21:55 +0200	[thread overview]
Message-ID: <87d0ze4w18.fsf@belgarion.home> (raw)
In-Reply-To: <CAK8P3a21xkp5KkNRpnxJH1bSZjyiyO=f7_9XyyqvGS3EC=GBWg@mail.gmail.com> (Arnd Bergmann's message of "Wed, 4 Apr 2018 12:18:58 +0200")

Arnd Bergmann <arnd@arndb.de> writes:

> On Tue, Apr 3, 2018 at 10:19 PM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
>> ... chop chop removing unneeded recipients ....
>>
>> Arnd Bergmann <arnd@arndb.de> writes:
>>> It still feels odd to me that there is an entry in the slave map for
>>> a device that does not have a request line. However, it also seems
>>> that the entire code in those two drivers that deals with DMA is specific
>>> to PXA anyway, so maybe it can be done differently: instead of
>>> calling dma_request_slave_channel_compat() or dma_request_chan()
>>> with a fake request line, how about calling dma_request_channel()
>>> with an NULL filter function and data, and have the driver handle
>>> the empty data case the same way as the rq=-1 case today?
>> Okay, in this case :
>>  - the channel priority cannot be passed anymore
>
> Right, but it could just always use a static priority, right?
Yes, an implicit default priority. I'm not a big fan of implicit parameters, yet
I can do it.

>>  - and I don't see how this can work :
>>    dma_request_channel()
>>      __dma_request_channel()
>>        find_candidate()
>>          private_candidate(mask, device, fn, fn_param);
>>            /* Here, fn == NULL and fn_param == NULL as per your proposal */
>>
>>    This function will find the first available dma channel, all right, but
>>    no function will be called in pxa_dma driver, and therefore the last
>>    requestor of the channel will be used, which is bad.
>
> Can't you just reset those in pxad_free_chan_resources()?
I can, let's see what happens next ...

Cheers.

-- 
Robert

WARNING: multiple messages have this Message-ID (diff)
From: robert.jarzmik@free.fr (Robert Jarzmik)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 02/15] ARM: pxa: add dma slave map
Date: Wed, 04 Apr 2018 21:21:55 +0200	[thread overview]
Message-ID: <87d0ze4w18.fsf@belgarion.home> (raw)
In-Reply-To: <CAK8P3a21xkp5KkNRpnxJH1bSZjyiyO=f7_9XyyqvGS3EC=GBWg@mail.gmail.com> (Arnd Bergmann's message of "Wed, 4 Apr 2018 12:18:58 +0200")

Arnd Bergmann <arnd@arndb.de> writes:

> On Tue, Apr 3, 2018 at 10:19 PM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
>> ... chop chop removing unneeded recipients ....
>>
>> Arnd Bergmann <arnd@arndb.de> writes:
>>> It still feels odd to me that there is an entry in the slave map for
>>> a device that does not have a request line. However, it also seems
>>> that the entire code in those two drivers that deals with DMA is specific
>>> to PXA anyway, so maybe it can be done differently: instead of
>>> calling dma_request_slave_channel_compat() or dma_request_chan()
>>> with a fake request line, how about calling dma_request_channel()
>>> with an NULL filter function and data, and have the driver handle
>>> the empty data case the same way as the rq=-1 case today?
>> Okay, in this case :
>>  - the channel priority cannot be passed anymore
>
> Right, but it could just always use a static priority, right?
Yes, an implicit default priority. I'm not a big fan of implicit parameters, yet
I can do it.

>>  - and I don't see how this can work :
>>    dma_request_channel()
>>      __dma_request_channel()
>>        find_candidate()
>>          private_candidate(mask, device, fn, fn_param);
>>            /* Here, fn == NULL and fn_param == NULL as per your proposal */
>>
>>    This function will find the first available dma channel, all right, but
>>    no function will be called in pxa_dma driver, and therefore the last
>>    requestor of the channel will be used, which is bad.
>
> Can't you just reset those in pxad_free_chan_resources()?
I can, let's see what happens next ...

Cheers.

-- 
Robert

             reply	other threads:[~2018-04-04 19:21 UTC|newest]

Thread overview: 218+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-04 19:21 Robert Jarzmik [this message]
2018-04-04 19:21 ` [PATCH 02/15] ARM: pxa: add dma slave map Robert Jarzmik
2018-04-04 19:21 ` Robert Jarzmik
  -- strict thread matches above, loose matches on Subject: below --
2018-05-23 21:54 [05/15] mtd: nand: pxa3xx: remove the dmaengine compat need Daniel Mack
2018-05-23 21:54 ` [PATCH 05/15] " Daniel Mack
2018-05-23 21:54 ` Daniel Mack
2018-05-23 21:54 ` Daniel Mack
2018-05-18 21:31 [05/15] " Daniel Mack
2018-05-18 21:31 ` [PATCH 05/15] " Daniel Mack
2018-05-18 21:31 ` Daniel Mack
2018-05-18 21:31 ` Daniel Mack
2018-05-04 19:29 [04/15] media: pxa_camera: " Mauro Carvalho Chehab
2018-05-04 19:29 ` [PATCH 04/15] " Mauro Carvalho Chehab
2018-05-04 19:29 ` Mauro Carvalho Chehab
2018-05-04 19:29 ` Mauro Carvalho Chehab
2018-05-04 19:29 ` Mauro Carvalho Chehab
2018-04-23  8:37 [09/15] net: irda: pxaficp_ir: " Greg Kroah-Hartman
2018-04-23  8:37 ` [PATCH 09/15] " Greg Kroah-Hartman
2018-04-23  8:37 ` Greg Kroah-Hartman
2018-04-23  8:37 ` Greg Kroah-Hartman
2018-04-23  8:37 ` Greg Kroah-Hartman
2018-04-22 11:06 [04/15] media: pxa_camera: " Hans Verkuil
2018-04-22 11:06 ` [PATCH 04/15] " Hans Verkuil
2018-04-22 11:06 ` Hans Verkuil
2018-04-22 11:06 ` Hans Verkuil
2018-04-22  6:13 [01/15] dmaengine: pxa: use a dma slave map Vinod Koul
2018-04-22  6:13 ` [PATCH 01/15] " Vinod Koul
2018-04-22  6:13 ` Vinod Koul
2018-04-12 16:55 [08/15] ASoC: pxa: remove the dmaengine compat need Robert Jarzmik
2018-04-12 16:55 ` [PATCH 08/15] " Robert Jarzmik
2018-04-12 16:55 ` Robert Jarzmik
2018-04-12 16:55 ` Robert Jarzmik
2018-04-12 16:55 ` Robert Jarzmik
2018-04-12 16:55 ` Robert Jarzmik
2018-04-12 15:26 [08/15] " Mark Brown
2018-04-12 15:26 ` [PATCH 08/15] " Mark Brown
2018-04-12 15:26 ` Mark Brown
2018-04-12 15:26 ` Mark Brown
2018-04-12 15:26 ` Mark Brown
2018-04-12 15:26 ` Mark Brown
2018-04-04 10:18 [02/15] ARM: pxa: add dma slave map Arnd Bergmann
2018-04-04 10:18 ` [PATCH 02/15] " Arnd Bergmann
2018-04-04 10:18 ` Arnd Bergmann
2018-04-03 20:19 [02/15] " Robert Jarzmik
2018-04-03 20:19 ` [PATCH 02/15] " Robert Jarzmik
2018-04-03 20:19 ` Robert Jarzmik
2018-04-03 15:39 [02/15] " Arnd Bergmann
2018-04-03 15:39 ` [PATCH 02/15] " Arnd Bergmann
2018-04-03 15:39 ` Arnd Bergmann
2018-04-03 15:39 ` Arnd Bergmann
2018-04-03 15:39 ` Arnd Bergmann
2018-04-03 15:39 ` Arnd Bergmann
2018-04-03 15:18 [02/15] " Robert Jarzmik
2018-04-03 15:18 ` [PATCH 02/15] " Robert Jarzmik
2018-04-03 15:18 ` Robert Jarzmik
2018-04-03 15:18 ` Robert Jarzmik
2018-04-03 15:18 ` Robert Jarzmik
2018-04-03  7:13 [12/15] dmaengine: pxa: make the filter function internal Arnd Bergmann
2018-04-03  7:13 ` [PATCH 12/15] " Arnd Bergmann
2018-04-03  7:13 ` Arnd Bergmann
2018-04-03  7:13 ` Arnd Bergmann
2018-04-03  7:13 ` Arnd Bergmann
2018-04-03  7:13 ` Arnd Bergmann
2018-04-03  6:51 [02/15] ARM: pxa: add dma slave map Arnd Bergmann
2018-04-03  6:51 ` [PATCH 02/15] " Arnd Bergmann
2018-04-03  6:51 ` Arnd Bergmann
2018-04-03  6:51 ` Arnd Bergmann
2018-04-03  6:51 ` Arnd Bergmann
2018-04-03  6:51 ` Arnd Bergmann
2018-04-02 18:46 [15/15] ARM: pxa: change SSP DMA channels allocation kbuild test robot
2018-04-02 18:46 ` [PATCH 15/15] " kbuild test robot
2018-04-02 18:46 ` kbuild test robot
2018-04-02 18:46 ` kbuild test robot
2018-04-02 18:46 ` kbuild test robot
2018-04-02 16:35 [12/15] dmaengine: pxa: make the filter function internal kbuild test robot
2018-04-02 16:35 ` [PATCH 12/15] " kbuild test robot
2018-04-02 16:35 ` kbuild test robot
2018-04-02 16:35 ` kbuild test robot
2018-04-02 16:35 ` kbuild test robot
2018-04-02 16:35 ` kbuild test robot
2018-04-02 16:25 [12/15] " kbuild test robot
2018-04-02 16:25 ` [PATCH 12/15] " kbuild test robot
2018-04-02 16:25 ` kbuild test robot
2018-04-02 16:25 ` kbuild test robot
2018-04-02 16:25 ` kbuild test robot
2018-04-02 14:26 [15/15] ARM: pxa: change SSP DMA channels allocation Robert Jarzmik
2018-04-02 14:26 ` [PATCH 15/15] " Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 [13/15] ARM: pxa: remove the DMA IO resources Robert Jarzmik
2018-04-02 14:26 ` [PATCH 13/15] " Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 [12/15] dmaengine: pxa: make the filter function internal Robert Jarzmik
2018-04-02 14:26 ` [PATCH 12/15] " Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 [11/15] dmaengine: pxa: document pxad_param Robert Jarzmik
2018-04-02 14:26 ` [PATCH 11/15] " Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 [08/15] ASoC: pxa: remove the dmaengine compat need Robert Jarzmik
2018-04-02 14:26 ` [PATCH 08/15] " Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 [07/15] net: smc91x: " Robert Jarzmik
2018-04-02 14:26 ` [PATCH 07/15] " Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 [06/15] net: smc911x: " Robert Jarzmik
2018-04-02 14:26 ` [PATCH 06/15] " Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 [03/15] mmc: pxamci: " Robert Jarzmik
2018-04-02 14:26 ` [PATCH 03/15] " Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 [02/15] ARM: pxa: add dma slave map Robert Jarzmik
2018-04-02 14:26 ` [PATCH 02/15] " Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 [PATCH 00/15] ARM: pxa: switch to DMA slave maps Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` Robert Jarzmik
2018-04-02 14:26 ` [01/15] dmaengine: pxa: use a dma slave map Robert Jarzmik
2018-04-02 14:26   ` [PATCH 01/15] " Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-21 19:23   ` Robert Jarzmik
2018-04-02 14:26 ` [04/15] media: pxa_camera: remove the dmaengine compat need Robert Jarzmik
2018-04-02 14:26   ` [PATCH 04/15] " Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-21 19:27   ` Robert Jarzmik
2018-04-21 19:27     ` Robert Jarzmik
2018-04-22 11:06     ` Hans Verkuil
2018-04-22 11:06       ` Hans Verkuil
2018-04-02 14:26 ` [05/15] mtd: nand: pxa3xx: " Robert Jarzmik
2018-04-02 14:26   ` [PATCH 05/15] " Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-03  7:33   ` Miquel Raynal
2018-04-03 15:19     ` Robert Jarzmik
2018-04-02 14:26 ` [09/15] net: irda: pxaficp_ir: " Robert Jarzmik
2018-04-02 14:26   ` [PATCH 09/15] " Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-21 19:30   ` Robert Jarzmik
2018-04-21 19:30     ` Robert Jarzmik
2018-04-02 14:26 ` [10/15] ata: pata_pxa: " Robert Jarzmik
2018-04-02 14:26   ` [PATCH 10/15] " Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-21 19:32   ` Robert Jarzmik
2018-04-21 19:32     ` Robert Jarzmik
2018-04-24 11:04     ` Bartlomiej Zolnierkiewicz
2018-04-24 11:04       ` Bartlomiej Zolnierkiewicz
2018-04-02 14:26 ` [14/15] ARM: pxa: change SSP devices allocation Robert Jarzmik
2018-04-02 14:26   ` [PATCH 14/15] " Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-02 14:26   ` Robert Jarzmik
2018-04-03  7:06   ` [14/15] " Arnd Bergmann
2018-04-03  7:06     ` [PATCH 14/15] " Arnd Bergmann
2018-04-03  7:06     ` Arnd Bergmann
2018-04-03  7:06     ` Arnd Bergmann
2018-04-03  7:06     ` Arnd Bergmann
2018-04-03  7:06     ` Arnd Bergmann
2018-04-03 15:32     ` Robert Jarzmik
2018-04-03 15:32       ` Robert Jarzmik
2018-04-03 15:53       ` Arnd Bergmann
2018-04-03 15:53         ` Arnd Bergmann
2018-04-05  6:51         ` Robert Jarzmik
2018-04-05  6:51           ` Robert Jarzmik
2018-04-05  7:29           ` Arnd Bergmann
2018-04-05  7:29             ` Arnd Bergmann
2018-04-08 12:16             ` Robert Jarzmik
2018-04-08 12:16               ` Robert Jarzmik
2018-04-08 12:16               ` Robert Jarzmik
2018-04-03  7:15 ` [PATCH 00/15] ARM: pxa: switch to DMA slave maps Arnd Bergmann
2018-04-03  7:15   ` Arnd Bergmann
2018-04-03  7:15   ` Arnd Bergmann
2018-04-03  7:15   ` Arnd Bergmann
2018-04-03  7:15   ` Arnd Bergmann
2018-04-03 15:08 ` Ulf Hansson
2018-04-03 15:08   ` Ulf Hansson
2018-04-03 15:08   ` Ulf Hansson
2018-04-03 15:08   ` Ulf Hansson
2018-04-04 19:49   ` Robert Jarzmik
2018-04-04 19:49     ` Robert Jarzmik
2018-04-04 19:49     ` Robert Jarzmik
2018-04-04 19:49     ` Robert Jarzmik
2018-04-04 19:56     ` Boris Brezillon
2018-04-04 19:56       ` Boris Brezillon
2018-04-04 19:56       ` Boris Brezillon
2018-04-04 19:56       ` Boris Brezillon
2018-04-04 19:56       ` Boris Brezillon
2018-04-05  6:29       ` Ulf Hansson
2018-04-05  6:29         ` Ulf Hansson
2018-04-05  6:29         ` Ulf Hansson
2018-04-05  6:29         ` Ulf Hansson
2018-04-05  6:50         ` Arnd Bergmann
2018-04-05  6:50           ` Arnd Bergmann
2018-04-05  6:50           ` Arnd Bergmann
2018-04-05  6:50           ` Arnd Bergmann

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=87d0ze4w18.fsf@belgarion.home \
    --to=robert.jarzmik@free.fr \
    --cc=arnd@arndb.de \
    --cc=daniel@zonque.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=haojian.zhuang@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vinod.koul@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.