From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Tony Lindgren <tony@atomide.com>
Cc: balbi@ti.com, linux-serial@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Vinod Koul <vinod.koul@intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: [PATCH 15/15] tty: serial: 8250: omap: add dma support
Date: Thu, 28 Aug 2014 21:37:03 +0200 [thread overview]
Message-ID: <53FF84DF.7080406@linutronix.de> (raw)
In-Reply-To: <20140828164645.GG16006@atomide.com>
On 08/28/2014 06:46 PM, Tony Lindgren wrote:
>> To use DMA you don't have to enable it in SCR register you can also use
>> the FCR register. The manual says that you can only write this DMA
>> enable bit in the FCR register if the baud clock is not running. And
>> guess what: same thing: I only *toggle* the DMA enable bit here (it
>> remains 0 later) and the core won't hit idle.
>> Same effect if I toggle this bit while the baud clock is running (the
>> manual says that this bit can only be written if the baud clock is not
>> running). Seems like the UART is following its own specification and it
>> remains blocking once the DMA was enabled.
>> It would be nice if someone from the UART-IP team could ACK this.
>
> Sounds like there should be some way to clear that state.. I wonder
> if omap-serial.c had something before it's DMA support was removed?
Its DMA was removed? Like there was DMA support?
> I'd assume when the UART is powered down by runtime PM it's state
> is completetely reset and we could restore the non-DMA state?
I tried that by canceling the RX-DMA request and removing the DMA-enable
bits from UART but it didn't help. Then I noticed that once that DMA en
bit is set, the UART won't do any idle.
> Maybe post your current patches and a test patch to try to toggle
> the DMA on and off?
Oh. I pushed my dirty tree to
git://git.breakpoint.cc/bigeasy/linux.git uart_v8_wip
The top most commit does not setup dma at all and adds commented out
code how to enable DMA via SCR or FCR register. With this I hit
core-off. Once _one_ of the modes are enabled, it doesn't work anymore.
I will try to address review comments tomorrow and hopefully post a v8
based on -rc2. The same goes for your patch (which I will try tomorrow).
>> Bah. Does it make sense to use runtime-PM if we can't hit core-off? I'm
>> thinking to add a printk once dma is enabled says that runtime-pm is
>> switched off.
>
> Well if we can't find a way to unset the DMA registers in the UART,
> how about only enable it if a kernel cmdline option is specified?
Hmmm. So removing DMA properties from DT is not an option? Currently I
added a message that DMA might forbid low power mode so people might
remove "dma-names" from DT (or assign "") and DMA is off. However if
this is no good, then I guess I could add kernel module which enables
DMA.
>
> We do have runtime PM working without it, and the serial console
> super important for any kind of debugging no matter what idle
> mode the SoC hits.. So let's not break that.
Yeah, I know. I've been debugging while I broke something which means
uart wasn't working :)
>
> Regards,
>
> Tony
Sebastian
next prev parent reply other threads:[~2014-08-28 19:37 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-15 17:42 [PATCH v7] 8250-core based serial driver for OMAP + DMA Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 01/15] tty: serial: 8250_core: allow to overwrite & export serial8250_startup() Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 02/15] tty: serial: 8250_core: allow to set ->throttle / ->unthrottle callbacks Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 03/15] tty: serial: 8250_core: add run time pm Sebastian Andrzej Siewior
2014-08-20 9:23 ` Frans Klaver
2014-08-20 9:39 ` Frans Klaver
2014-09-01 14:48 ` Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 04/15] tty: serial: 8250_core: read only RX if there is something in the FIFO Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 05/15] tty: serial: Add 8250-core based omap driver Sebastian Andrzej Siewior
2014-08-15 18:37 ` Lennart Sorensen
2014-08-15 19:27 ` Sebastian Andrzej Siewior
2014-08-15 19:33 ` Lennart Sorensen
2014-08-15 20:20 ` Sebastian Andrzej Siewior
2014-08-15 21:07 ` Tony Lindgren
2014-08-15 22:44 ` Tony Lindgren
2014-08-29 15:49 ` Sebastian Andrzej Siewior
2014-08-29 16:08 ` Tony Lindgren
2014-08-21 11:00 ` Sebastian Andrzej Siewior
2014-08-21 18:38 ` Tony Lindgren
2014-08-18 13:46 ` Heikki Krogerus
2014-09-01 13:31 ` Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 06/15] tty: serial: 8250_dma: handle error on TX submit Sebastian Andrzej Siewior
2014-08-18 13:57 ` Heikki Krogerus
2014-09-01 14:38 ` Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 07/15] tty: serial: 8250_dma: enqueue RX dma again on completion Sebastian Andrzej Siewior
2014-08-18 10:52 ` One Thousand Gnomes
2014-08-29 15:52 ` Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 08/15] dmaengine: edma: fix two faults which happen with the 8250_dma user Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 09/15] dmaengine: omap-dma: complete the transfer on terminate_all Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 10/15] tty: serial: 8250_dma: Add a TX trigger workaround for AM33xx Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 11/15] tty: serial: 8250_dma: handle the when UART response while DMA remains idle Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 12/15] tty: serial: 8250_dma: add pm runtime Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 13/15] arm: dts: am33xx: add DMA properties for UART Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 14/15] arm: dts: dra7: " Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 15/15] tty: serial: 8250: omap: add dma support Sebastian Andrzej Siewior
2014-08-15 21:02 ` Tony Lindgren
2014-08-21 8:34 ` Sebastian Andrzej Siewior
2014-08-21 18:44 ` Tony Lindgren
2014-08-27 19:54 ` Sebastian Andrzej Siewior
2014-08-27 20:23 ` Tony Lindgren
2014-08-28 8:23 ` Sebastian Andrzej Siewior
2014-08-28 16:46 ` Tony Lindgren
2014-08-28 19:37 ` Sebastian Andrzej Siewior [this message]
2014-08-28 22:54 ` Tony Lindgren
2014-08-29 9:32 ` Sebastian Andrzej Siewior
2014-08-29 15:55 ` Felipe Balbi
2014-08-29 16:12 ` Tony Lindgren
2014-08-29 16:31 ` Sebastian Andrzej Siewior
2014-09-01 17:47 ` Sebastian Andrzej Siewior
2014-09-02 3:05 ` Sebastian Reichel
2014-09-02 16:55 ` Tony Lindgren
2014-09-02 18:39 ` Sebastian Andrzej Siewior
2014-09-02 20:15 ` Tony Lindgren
2014-09-02 20:38 ` Sebastian Reichel
2014-09-03 16:46 ` Sebastian Andrzej Siewior
2014-09-03 17:48 ` Tony Lindgren
2014-09-04 13:44 ` Sebastian Andrzej Siewior
2014-09-04 14:52 ` Tony Lindgren
2014-09-04 14:56 ` Sebastian Andrzej Siewior
2014-09-04 16:25 ` Tony Lindgren
2014-08-15 18:17 ` [PATCH v7] 8250-core based serial driver for OMAP + DMA Lennart Sorensen
2014-08-15 19:14 ` Sebastian Andrzej Siewior
2014-08-15 20:28 ` Tony Lindgren
2014-08-17 20:35 ` Sebastian Andrzej Siewior
2014-08-18 15:15 ` Peter Hurley
2014-08-18 16:37 ` Felipe Balbi
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=53FF84DF.7080406@linutronix.de \
--to=bigeasy@linutronix.de \
--cc=balbi@ti.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=tony@atomide.com \
--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 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).