All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Tony Lindgren <tony@atomide.com>
Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	balbi@ti.com, 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, 21 Aug 2014 10:34:21 +0200	[thread overview]
Message-ID: <53F5AF0D.5060409@linutronix.de> (raw)
In-Reply-To: <20140815210211.GD9239@atomide.com>

On 08/15/2014 11:02 PM, Tony Lindgren wrote:
> * Sebastian Andrzej Siewior <bigeasy@linutronix.de> [140815 11:13]:
>> +#ifdef CONFIG_SERIAL_8250_DMA
>> +	if (pdev->dev.of_node) {
>> +		/*
>> +		 * Oh DMA support. If there are no DMA properties in the DT then
>> +		 * we will fall back to a generic DMA channel which does not
>> +		 * really work here. To ensure that we do not get a generic DMA
>> +		 * channel assigned, we have the the_no_dma_filter_fn() here.
>> +		 * To avoid "failed to request DMA" messages we check for DMA
>> +		 * properties in DT.
>> +		 */
>> +		ret = of_property_count_strings(pdev->dev.of_node, "dma-names");
>> +		if (ret == 2) {
>> +			up.dma = &priv->omap8250_dma;
>> +			priv->omap8250_dma.fn = the_no_dma_filter_fn;
>> +			priv->omap8250_dma.rx_size = RX_TRIGGER;
>> +			priv->omap8250_dma.rxconf.src_maxburst = RX_TRIGGER;
>> +			priv->omap8250_dma.txconf.dst_maxburst = TX_TRIGGER;
>> +
>> +			if (of_machine_is_compatible("ti,am33xx"))
>> +				up.bugs |= UART_BUG_DMATX;
>> +		}
>> +	}
>> +#endif
> 
> Hmm I wonder if there's a more generic solution to this?

To what exactly? The trigger level, the TX-bug or using DMA in the
first place?

> It would be also nice to be able to specify the use of DMA from
> the board specific .dts file.

Really? I don't see this requirement for MMC for instance. However you
still could provide an empty "dma-names" property in your board .dts
file if you do not want use DMA. Would this work?

> Also, with DMA enabled, looks like omap deeper idle states are
> blocked as the DMA stays reserved. After I commented out the
> DMA info for my console UART, PM started working.

Hmm. This would explain something. This would mean that I should cancel
the RX DMA transfer in the PM-suspend routine. Let me see how that
works.

> Regards,
> 
> Tony

Sebastian

WARNING: multiple messages have this Message-ID (diff)
From: bigeasy@linutronix.de (Sebastian Andrzej Siewior)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 15/15] tty: serial: 8250: omap: add dma support
Date: Thu, 21 Aug 2014 10:34:21 +0200	[thread overview]
Message-ID: <53F5AF0D.5060409@linutronix.de> (raw)
In-Reply-To: <20140815210211.GD9239@atomide.com>

On 08/15/2014 11:02 PM, Tony Lindgren wrote:
> * Sebastian Andrzej Siewior <bigeasy@linutronix.de> [140815 11:13]:
>> +#ifdef CONFIG_SERIAL_8250_DMA
>> +	if (pdev->dev.of_node) {
>> +		/*
>> +		 * Oh DMA support. If there are no DMA properties in the DT then
>> +		 * we will fall back to a generic DMA channel which does not
>> +		 * really work here. To ensure that we do not get a generic DMA
>> +		 * channel assigned, we have the the_no_dma_filter_fn() here.
>> +		 * To avoid "failed to request DMA" messages we check for DMA
>> +		 * properties in DT.
>> +		 */
>> +		ret = of_property_count_strings(pdev->dev.of_node, "dma-names");
>> +		if (ret == 2) {
>> +			up.dma = &priv->omap8250_dma;
>> +			priv->omap8250_dma.fn = the_no_dma_filter_fn;
>> +			priv->omap8250_dma.rx_size = RX_TRIGGER;
>> +			priv->omap8250_dma.rxconf.src_maxburst = RX_TRIGGER;
>> +			priv->omap8250_dma.txconf.dst_maxburst = TX_TRIGGER;
>> +
>> +			if (of_machine_is_compatible("ti,am33xx"))
>> +				up.bugs |= UART_BUG_DMATX;
>> +		}
>> +	}
>> +#endif
> 
> Hmm I wonder if there's a more generic solution to this?

To what exactly? The trigger level, the TX-bug or using DMA in the
first place?

> It would be also nice to be able to specify the use of DMA from
> the board specific .dts file.

Really? I don't see this requirement for MMC for instance. However you
still could provide an empty "dma-names" property in your board .dts
file if you do not want use DMA. Would this work?

> Also, with DMA enabled, looks like omap deeper idle states are
> blocked as the DMA stays reserved. After I commented out the
> DMA info for my console UART, PM started working.

Hmm. This would explain something. This would mean that I should cancel
the RX DMA transfer in the PM-suspend routine. Let me see how that
works.

> Regards,
> 
> Tony

Sebastian

  reply	other threads:[~2014-08-21  8:34 UTC|newest]

Thread overview: 154+ 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 ` Sebastian Andrzej Siewior
2014-08-15 17:42 ` 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   ` Sebastian Andrzej Siewior
2014-08-15 17:42   ` 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   ` Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 03/15] tty: serial: 8250_core: add run time pm Sebastian Andrzej Siewior
2014-08-15 17:42   ` Sebastian Andrzej Siewior
2014-08-15 17:42   ` Sebastian Andrzej Siewior
2014-08-20  9:23   ` Frans Klaver
2014-08-20  9:23     ` Frans Klaver
2014-08-20  9:23     ` Frans Klaver
2014-08-20  9:39     ` Frans Klaver
2014-08-20  9:39       ` Frans Klaver
2014-08-20  9:39       ` Frans Klaver
2014-09-01 14:48       ` Sebastian Andrzej Siewior
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   ` Sebastian Andrzej Siewior
2014-08-15 17:42   ` 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 17:42   ` Sebastian Andrzej Siewior
2014-08-15 17:42   ` Sebastian Andrzej Siewior
2014-08-15 18:37   ` Lennart Sorensen
2014-08-15 18:37     ` Lennart Sorensen
2014-08-15 18:37     ` Lennart Sorensen
2014-08-15 19:27     ` Sebastian Andrzej Siewior
2014-08-15 19:27       ` Sebastian Andrzej Siewior
2014-08-15 19:27       ` Sebastian Andrzej Siewior
2014-08-15 19:33       ` Lennart Sorensen
2014-08-15 19:33         ` Lennart Sorensen
2014-08-15 19:33         ` Lennart Sorensen
2014-08-15 20:20         ` Sebastian Andrzej Siewior
2014-08-15 20:20           ` Sebastian Andrzej Siewior
2014-08-15 21:07   ` Tony Lindgren
2014-08-15 21:07     ` Tony Lindgren
2014-08-15 22:44     ` Tony Lindgren
2014-08-15 22:44       ` Tony Lindgren
2014-08-29 15:49       ` Sebastian Andrzej Siewior
2014-08-29 15:49         ` Sebastian Andrzej Siewior
2014-08-29 16:08         ` Tony Lindgren
2014-08-29 16:08           ` Tony Lindgren
2014-08-21 11:00     ` Sebastian Andrzej Siewior
2014-08-21 11:00       ` Sebastian Andrzej Siewior
2014-08-21 11:00       ` Sebastian Andrzej Siewior
2014-08-21 18:38       ` Tony Lindgren
2014-08-21 18:38         ` Tony Lindgren
2014-08-18 13:46   ` Heikki Krogerus
2014-08-18 13:46     ` Heikki Krogerus
2014-09-01 13:31     ` Sebastian Andrzej Siewior
2014-09-01 13:31       ` Sebastian Andrzej Siewior
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-15 17:42   ` Sebastian Andrzej Siewior
2014-08-15 17:42   ` Sebastian Andrzej Siewior
2014-08-18 13:57   ` Heikki Krogerus
2014-08-18 13:57     ` Heikki Krogerus
2014-09-01 14:38     ` Sebastian Andrzej Siewior
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-15 17:42   ` Sebastian Andrzej Siewior
2014-08-18 10:52   ` One Thousand Gnomes
2014-08-18 10:52     ` One Thousand Gnomes
2014-08-29 15:52     ` Sebastian Andrzej Siewior
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   ` Sebastian Andrzej Siewior
2014-08-15 17:42   ` 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   ` 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   ` 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   ` 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   ` 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   ` Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 14/15] arm: dts: dra7: " Sebastian Andrzej Siewior
2014-08-15 17:42   ` Sebastian Andrzej Siewior
2014-08-15 17:42 ` [PATCH 15/15] tty: serial: 8250: omap: add dma support Sebastian Andrzej Siewior
2014-08-15 17:42   ` Sebastian Andrzej Siewior
2014-08-15 21:02   ` Tony Lindgren
2014-08-15 21:02     ` Tony Lindgren
2014-08-21  8:34     ` Sebastian Andrzej Siewior [this message]
2014-08-21  8:34       ` Sebastian Andrzej Siewior
2014-08-21 18:44       ` Tony Lindgren
2014-08-21 18:44         ` Tony Lindgren
2014-08-27 19:54         ` Sebastian Andrzej Siewior
2014-08-27 19:54           ` Sebastian Andrzej Siewior
2014-08-27 20:23           ` Tony Lindgren
2014-08-27 20:23             ` Tony Lindgren
2014-08-28  8:23             ` Sebastian Andrzej Siewior
2014-08-28  8:23               ` Sebastian Andrzej Siewior
2014-08-28 16:46               ` Tony Lindgren
2014-08-28 16:46                 ` Tony Lindgren
2014-08-28 19:37                 ` Sebastian Andrzej Siewior
2014-08-28 19:37                   ` Sebastian Andrzej Siewior
2014-08-28 22:54                   ` Tony Lindgren
2014-08-28 22:54                     ` Tony Lindgren
2014-08-29  9:32                     ` Sebastian Andrzej Siewior
2014-08-29  9:32                       ` Sebastian Andrzej Siewior
2014-08-29 15:55                       ` Felipe Balbi
2014-08-29 15:55                         ` Felipe Balbi
2014-08-29 15:55                         ` Felipe Balbi
2014-08-29 16:12                       ` Tony Lindgren
2014-08-29 16:12                         ` Tony Lindgren
2014-08-29 16:12                         ` Tony Lindgren
2014-08-29 16:31                         ` Sebastian Andrzej Siewior
2014-08-29 16:31                           ` Sebastian Andrzej Siewior
2014-08-29 16:31                           ` Sebastian Andrzej Siewior
2014-09-01 17:47                         ` Sebastian Andrzej Siewior
2014-09-01 17:47                           ` Sebastian Andrzej Siewior
2014-09-02  3:05                           ` Sebastian Reichel
2014-09-02  3:05                             ` Sebastian Reichel
2014-09-02 16:55                             ` Tony Lindgren
2014-09-02 16:55                               ` Tony Lindgren
2014-09-02 18:39                           ` Sebastian Andrzej Siewior
2014-09-02 18:39                             ` Sebastian Andrzej Siewior
2014-09-02 20:15                             ` Tony Lindgren
2014-09-02 20:15                               ` Tony Lindgren
2014-09-02 20:38                               ` Sebastian Reichel
2014-09-02 20:38                                 ` Sebastian Reichel
2014-09-03 16:46                               ` Sebastian Andrzej Siewior
2014-09-03 16:46                                 ` Sebastian Andrzej Siewior
2014-09-03 17:48                                 ` Tony Lindgren
2014-09-03 17:48                                   ` Tony Lindgren
2014-09-04 13:44                                   ` Sebastian Andrzej Siewior
2014-09-04 13:44                                     ` Sebastian Andrzej Siewior
2014-09-04 13:44                                     ` Sebastian Andrzej Siewior
2014-09-04 14:52                                     ` Tony Lindgren
2014-09-04 14:52                                       ` Tony Lindgren
2014-09-04 14:52                                       ` Tony Lindgren
2014-09-04 14:56                                       ` Sebastian Andrzej Siewior
2014-09-04 14:56                                         ` Sebastian Andrzej Siewior
2014-09-04 14:56                                         ` Sebastian Andrzej Siewior
2014-09-04 16:25                                         ` Tony Lindgren
2014-09-04 16:25                                           ` Tony Lindgren
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 18:17   ` Lennart Sorensen
2014-08-15 19:14   ` Sebastian Andrzej Siewior
2014-08-15 19:14     ` Sebastian Andrzej Siewior
2014-08-15 20:28     ` Tony Lindgren
2014-08-15 20:28       ` Tony Lindgren
2014-08-17 20:35       ` Sebastian Andrzej Siewior
2014-08-17 20:35         ` Sebastian Andrzej Siewior
2014-08-18 15:15       ` Peter Hurley
2014-08-18 15:15         ` Peter Hurley
2014-08-18 16:37         ` Felipe Balbi
2014-08-18 16:37           ` Felipe Balbi
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=53F5AF0D.5060409@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 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.