From: linus.walleij@linaro.org (Linus Walleij)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] mmci: sync DATAEND irq with dma transfer done
Date: Wed, 20 Apr 2011 19:17:27 +0200 [thread overview]
Message-ID: <BANLkTik05ERLa83Lah5Fx2HO+91bb9Q7Xg@mail.gmail.com> (raw)
In-Reply-To: <BANLkTikr5B5YH+is18gYceCM1thjHgT-yQ@mail.gmail.com>
On Wed, Apr 20, 2011 at 6:46 PM, Vitaly Wool <vitalywool@gmail.com> wrote:
>>
>> My rough guess (after looking at the VHDL code) is that
>> RXDATAVLBL flag goes low when the FIFO is empty, but that
>> doesn't mean that the DMA handshake logic is out of its send/recieve
>> state and thus we screw it up if we hammer in another transfer before
>> it has had time to deassert the single/burst request signals and go to
>> idle state. This can only be seen by the side effect of the DMA
>> transfer actually terminating, and the DMA engine calling its
>> callback.
>
> From what you are saying, RXDATAAVLBL seems to be equal to
> !RXFIFOEMPTY in your case.
Yes that is exactly what the VHDL says:
RXDATAAVL <= not(FifoEmpty) [roughly]
> Did you try to change the former to the
> latter to see how it works?
It's equivalent, neither FIFO watermark is connected to the
state of the DMA request signals...
What we need is a DMAXFERCOMPLETE flag so we know that
the DMA state machine is really finished. Sadly the hardware lacks
such a status flag, so there is no way to know that the DMA state
machine is finished by looking at any status registers in the
MMCI block.
We are thus reliant on the other end of the bitpipe telling us
it's finished.
Yours,
Linus Walleij
next prev parent reply other threads:[~2011-04-20 17:17 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-19 9:02 [PATCH] mmci: sync DATAEND irq with dma transfer done Linus Walleij
2011-04-19 9:20 ` Russell King - ARM Linux
2011-04-19 12:00 ` Linus Walleij
2011-04-19 12:03 ` Russell King - ARM Linux
2011-04-20 16:29 ` Linus Walleij
2011-04-20 16:46 ` Vitaly Wool
2011-04-20 17:17 ` Linus Walleij [this message]
2011-04-20 17:58 ` Vitaly Wool
2011-04-20 20:11 ` Linus Walleij
2011-04-28 17:03 ` Russell King - ARM Linux
2011-04-28 22:24 ` Martin Furmanski
2011-05-11 20:13 ` Linus Walleij
2011-04-29 12:44 ` Ulf Hansson
2011-04-29 13:49 ` Russell King - ARM Linux
2011-05-06 8:13 ` Ulf Hansson
2011-05-12 8:36 ` Per Forlin
2011-05-12 13:15 ` Linus Walleij
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=BANLkTik05ERLa83Lah5Fx2HO+91bb9Q7Xg@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).