All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Adam Ford <aford173@gmail.com>
Cc: Vignesh Raghavendra <vigneshr@ti.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jslaby@suse.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Douglas Anderson <dianders@chromium.org>,
	Yegor Yefremov <yegorslists@googlemail.com>,
	linux-serial@vger.kernel.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Serial 8250 DMA Broken on OMAP3630
Date: Wed, 9 Oct 2019 10:34:46 -0700	[thread overview]
Message-ID: <20191009173446.GL5610@atomide.com> (raw)
In-Reply-To: <CAHCN7xJDS_NwT8VZbOQgsA6iHkeTLt4UrR2vFmzkCtWYCYzQrg@mail.gmail.com>

* Adam Ford <aford173@gmail.com> [191009 14:09]:
> On Wed, Oct 9, 2019 at 8:42 AM Vignesh Raghavendra <vigneshr@ti.com> wrote:
> >
> > Hi Adam,
> >
> > On 06/10/19 10:34 PM, Adam Ford wrote:
> > > Has anyone else had any issues using the CONFIG_SERIAL_8250_DMA on the OMAP?
> > >
> > > I can use the DMA on the legacy, omap-serial driver, but when I enable
> > > the DMA on the 8250-omap driver, I get missing frames in Bluetooth.
> > >
> > > The older driver seems to have an ISR that seems to address a variety
> > > of items compared to the very tiny ISR for 8250-omap.c.
> > >
> > > I am not exactly sure where to start, but if someone has any
> > > suggestions on how I can troubleshoot, please let me know.  As of now,
> > > I have to disable CONFIG_SERIAL_8250_DMA to get the Bluetooth
> > > connected to UART2 operational on a DM3730 at 3,000,000 baud, but it
> > > appears to work just fine after some patches I just submitted for
> > > handling RTS/CTS.  The legacy omap-serial driver works fine with DMA.
> > >
> >
> > Mainline omap-serial does not support DMA (evident from lack of
> > dmaengine API calls) and therefore is not a regression. So OMAP3 UART
> > DMA was never tested at least with 8250 driver.
> > I am not sure enabling UART DMA on OMAP3 would be a trivial job. We need
> > analyse of whether all erratas workarounds are implemented and see if
> > there any difference wrt DMA integration itself. Do we know if UART DMA
> > ever worked on OMAP3 previously?
> 
> Can we disable CONFIG_SERIAL_8250_DMA from omap2plus_defconfig?   As
> of right now, it's the only way I can use the Bluetooth.  There are
> #ifdef's in the 8250-omap driver, so it looks like some of the hooks
> are there, but if it's incomplete, it seems like we shouldn't enable
> this config option by default yet.

From what I recall I tested that DMA on omap3 worked fine with runtime
PM for console. Certainly there are issues still remaining though.

If you want to disable dma for a specific port, just delete the
add /delete-property/dma-names for the port in question in your
board specific dts file.

See 8250_omap.c for of_property_count_strings(np, "dma-names").

Regards,

Tony



WARNING: multiple messages have this Message-ID (diff)
From: Tony Lindgren <tony@atomide.com>
To: Adam Ford <aford173@gmail.com>
Cc: Vignesh Raghavendra <vigneshr@ti.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jslaby@suse.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Douglas Anderson <dianders@chromium.org>,
	Yegor Yefremov <yegorslists@googlemail.com>,
	linux-serial@vger.kernel.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Serial 8250 DMA Broken on OMAP3630
Date: Wed, 9 Oct 2019 10:34:46 -0700	[thread overview]
Message-ID: <20191009173446.GL5610@atomide.com> (raw)
In-Reply-To: <CAHCN7xJDS_NwT8VZbOQgsA6iHkeTLt4UrR2vFmzkCtWYCYzQrg@mail.gmail.com>

* Adam Ford <aford173@gmail.com> [191009 14:09]:
> On Wed, Oct 9, 2019 at 8:42 AM Vignesh Raghavendra <vigneshr@ti.com> wrote:
> >
> > Hi Adam,
> >
> > On 06/10/19 10:34 PM, Adam Ford wrote:
> > > Has anyone else had any issues using the CONFIG_SERIAL_8250_DMA on the OMAP?
> > >
> > > I can use the DMA on the legacy, omap-serial driver, but when I enable
> > > the DMA on the 8250-omap driver, I get missing frames in Bluetooth.
> > >
> > > The older driver seems to have an ISR that seems to address a variety
> > > of items compared to the very tiny ISR for 8250-omap.c.
> > >
> > > I am not exactly sure where to start, but if someone has any
> > > suggestions on how I can troubleshoot, please let me know.  As of now,
> > > I have to disable CONFIG_SERIAL_8250_DMA to get the Bluetooth
> > > connected to UART2 operational on a DM3730 at 3,000,000 baud, but it
> > > appears to work just fine after some patches I just submitted for
> > > handling RTS/CTS.  The legacy omap-serial driver works fine with DMA.
> > >
> >
> > Mainline omap-serial does not support DMA (evident from lack of
> > dmaengine API calls) and therefore is not a regression. So OMAP3 UART
> > DMA was never tested at least with 8250 driver.
> > I am not sure enabling UART DMA on OMAP3 would be a trivial job. We need
> > analyse of whether all erratas workarounds are implemented and see if
> > there any difference wrt DMA integration itself. Do we know if UART DMA
> > ever worked on OMAP3 previously?
> 
> Can we disable CONFIG_SERIAL_8250_DMA from omap2plus_defconfig?   As
> of right now, it's the only way I can use the Bluetooth.  There are
> #ifdef's in the 8250-omap driver, so it looks like some of the hooks
> are there, but if it's incomplete, it seems like we shouldn't enable
> this config option by default yet.

>From what I recall I tested that DMA on omap3 worked fine with runtime
PM for console. Certainly there are issues still remaining though.

If you want to disable dma for a specific port, just delete the
add /delete-property/dma-names for the port in question in your
board specific dts file.

See 8250_omap.c for of_property_count_strings(np, "dma-names").

Regards,

Tony

  reply	other threads:[~2019-10-09 17:34 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-06 17:04 Serial 8250 DMA Broken on OMAP3630 Adam Ford
2019-10-07  8:17 ` Andy Shevchenko
2019-10-09 13:43 ` Vignesh Raghavendra
2019-10-09 13:43   ` Vignesh Raghavendra
2019-10-09 14:08   ` Adam Ford
2019-10-09 17:34     ` Tony Lindgren [this message]
2019-10-09 17:34       ` Tony Lindgren
2019-10-09 19:27       ` Adam Ford
2019-10-09 20:16         ` Tony Lindgren
2019-10-10 14:11           ` Adam Ford

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=20191009173446.GL5610@atomide.com \
    --to=tony@atomide.com \
    --cc=aford173@gmail.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=dianders@chromium.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jslaby@suse.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=vigneshr@ti.com \
    --cc=yegorslists@googlemail.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.