linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: linus.walleij@linaro.org (Linus Walleij)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC 23/34] dmaengine: PL08x: re-jig the starting of txds
Date: Mon, 4 Jun 2012 17:54:16 +0200	[thread overview]
Message-ID: <CACRpkdaimR79ZQ95PNiDzViMvYBwTYfFyApqSRQMBLHSCGGRTg@mail.gmail.com> (raw)
In-Reply-To: <20120601105228.GE21245@n2100.arm.linux.org.uk>

On Fri, Jun 1, 2012 at 12:52 PM, Russell King - ARM Linux
<linux@arm.linux.org.uk> wrote:
> [Me]
>> > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?*/
>> > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? spin_lock(&waiting->lock);
>> > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? pl08x_start_next_txd(waiting);
>> > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? spin_unlock(&waiting->lock);
>>
>> I've seen this construct in the past and have no better suggestions...
>
> I have no way to test whether my statement is true as I can't get enough
> DMA engine usage through the PL011 transmit support to check what happens.
> So the statement is purely theoretical.

Doesn't memcpy work on the Versatile?

What I did to stress the PB11MPcore was to compile in the DMAengine
test client and torture the DMAC with a bunch of parallell memcpy()
threads causing it to fail channel allocation and other nasty stuff,
then put the console on DMA and pour a lot of text in and out of the
console on top of that.

Yours,
Linus Walleij

  reply	other threads:[~2012-06-04 15:54 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-29  9:30 [RFC 00/34] PL08x DMA conversion to virt-dma Russell King - ARM Linux
2012-05-29  9:35 ` [RFC 01/34] dmaengine: split out virtual channel DMA support from sa11x0 driver Russell King
2012-05-29  9:35 ` [RFC 02/34] dmaengine: virt-dma: vchan_find_desc() Russell King
2012-05-30  7:48   ` Linus Walleij
2012-05-29  9:36 ` [RFC 03/34] dmaengine: virt-dma: add support for cyclic DMA periodic callbacks Russell King
2012-05-30  7:52   ` Linus Walleij
2012-05-30  8:02     ` Russell King - ARM Linux
2012-05-31  1:29       ` Linus Walleij
2012-05-31  3:45       ` zhangfei gao
2012-05-31 19:17         ` Russell King - ARM Linux
2012-06-01  2:26           ` zhangfei gao
2012-06-01 10:39             ` Russell King - ARM Linux
2012-05-29  9:36 ` [RFC 04/34] dmaengine: PL08x: remove runtime PM support Russell King
2012-05-31  0:46   ` Linus Walleij
2012-06-01 10:45     ` Russell King - ARM Linux
2012-05-29  9:36 ` [RFC 05/34] dmaengine: PL08x: fix missed dma_transfer_direction fixup Russell King
2012-05-31  0:47   ` Linus Walleij
2012-06-01 10:47     ` Russell King - ARM Linux
2012-05-29  9:37 ` [RFC 06/34] dmaengine: PL08x: remove redundant spinlock Russell King
2012-05-31  0:48   ` Linus Walleij
2012-05-29  9:37 ` [RFC 07/34] dmaengine: PL08x: remove circular_buffer boolean from channel data Russell King
2012-05-31  0:49   ` Linus Walleij
2012-05-29  9:37 ` [RFC 08/34] dmaengine: PL08x: clean up get_signal/put_signal Russell King
2012-05-31  0:53   ` Linus Walleij
2012-06-01 10:48     ` Russell King - ARM Linux
2012-05-29  9:38 ` [RFC 09/34] dmaengine: PL08x: move private data structures into amba-pl08x.c Russell King
2012-05-31  0:54   ` Linus Walleij
2012-05-29  9:38 ` [RFC 10/34] dmaengine: PL08x: constify channel names and bus_id strings Russell King
2012-05-31  0:55   ` Linus Walleij
2012-05-29  9:38 ` [RFC 11/34] dmaengine: PL08x: get src/dst addr direct from dma_slave_config struct Russell King
2012-05-31  0:56   ` Linus Walleij
2012-05-29  9:39 ` [RFC 12/34] dmaengine: PL08x: get rid of device_fc in struct pl08x_dma_chan Russell King
2012-05-31  0:57   ` Linus Walleij
2012-05-29  9:39 ` [RFC 13/34] dmaengine: PL08x: move the bus and increment selection to dma prepare function Russell King
2012-05-31  0:57   ` Linus Walleij
2012-05-29  9:39 ` [RFC 14/34] dmaengine: PL08x: extract function to to generate cctl values Russell King
2012-05-31  1:00   ` Linus Walleij
2012-05-29  9:40 ` [RFC 15/34] dmaengine: PL08x: ignore 'direction' argument in dma_slave_config Russell King
2012-05-31  1:01   ` Linus Walleij
2012-05-29  9:40 ` [RFC 16/34] dmaengine: PL08x: get rid of unnecessary checks " Russell King
2012-05-31  1:02   ` Linus Walleij
2012-05-29  9:40 ` [RFC 17/34] dmaengine: PL08x: split DMA signal muxing from channel alloc Russell King
2012-05-31  1:03   ` Linus Walleij
2012-05-29  9:41 ` [RFC 18/34] dmaengine: PL08x: move DMA signal muxing into pl08x_dma_chan struct Russell King
2012-05-31  1:03   ` Linus Walleij
2012-05-29  9:41 ` [RFC 19/34] dmaengine: PL08x: track mux usage on a per-channel basis Russell King
2012-05-31  1:04   ` Linus Walleij
2012-05-29  9:42 ` [RFC 20/34] dmaengine: PL08x: convert to a list of completed descriptors Russell King
2012-05-31  1:04   ` Linus Walleij
2012-05-29  9:42 ` [RFC 21/34] dmaengine: PL08x: move DMA signal muxing into slave prepare code Russell King
2012-05-31  1:11   ` Linus Walleij
2012-05-29  9:42 ` [RFC 22/34] dmaengine: PL08x: remove waiting descriptor pointer Russell King
2012-05-31  1:11   ` Linus Walleij
2012-05-29  9:43 ` [RFC 23/34] dmaengine: PL08x: re-jig the starting of txds Russell King
2012-05-31  1:14   ` Linus Walleij
2012-06-01 10:52     ` Russell King - ARM Linux
2012-06-04 15:54       ` Linus Walleij [this message]
2012-05-29  9:43 ` [RFC 24/34] dmaengine: PL08x: split the pend_list in two Russell King
2012-05-31  1:20   ` Linus Walleij
2012-05-29  9:43 ` [RFC 25/34] dmaengine: PL08x: start next descriptor from irq context Russell King
2012-05-31  1:21   ` Linus Walleij
2012-05-29  9:44 ` [RFC 26/34] dmaengine: PL08x: rejig physical channel allocation Russell King
2012-05-31  1:23   ` Linus Walleij
2012-05-29  9:44 ` [RFC 27/34] dmaengine: PL08x: convert to use virt-dma structs Russell King
2012-05-31  1:23   ` Linus Walleij
2012-05-29  9:44 ` [RFC 28/34] dmaengine: PL08x: use vchan's spinlock Russell King
2012-05-31  1:24   ` Linus Walleij
2012-05-29  9:45 ` [RFC 29/34] dmaengine: PL08x: convert to use vchan submitted/issued lists Russell King
2012-05-31  1:24   ` Linus Walleij
2012-05-29  9:45 ` [RFC 30/34] dmaengine: PL08x: convert to use vchan done list Russell King
2012-05-31  1:24   ` Linus Walleij
2012-05-29  9:45 ` [RFC 31/34] dmaengine: PL08x: fix tx_status function to return correct residue Russell King
2012-05-31  1:25   ` Linus Walleij
2012-05-29  9:46 ` [RFC 32/34] dmaengine: PL08x: get rid of pl08x_prep_channel_resources Russell King
2012-05-31  1:25   ` Linus Walleij
2012-05-29  9:46 ` [RFC 33/34] dmaengine: PL08x: get rid of write only pool_ctr and free_txd locking Russell King
2012-05-31  1:26   ` Linus Walleij
2012-05-29  9:46 ` [RFC 34/34] dmaengine: PL08x: ensure all descriptors are freed when channel is released Russell King
2012-05-31  1:27   ` Linus Walleij
2012-06-01 10:55     ` Russell King - ARM Linux

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=CACRpkdaimR79ZQ95PNiDzViMvYBwTYfFyApqSRQMBLHSCGGRTg@mail.gmail.com \
    --to=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@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;
as well as URLs for NNTP newsgroup(s).