From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
To: "Poulain, Loic" <loic.poulain@intel.com>
Cc: "linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
"Jin, Yao" <yao.jin@intel.com>
Subject: Re: 8250_dw DMA issue with BYT ?
Date: Tue, 15 Apr 2014 09:56:06 +0300 [thread overview]
Message-ID: <20140415065606.GA3368@xps8300> (raw)
In-Reply-To: <50C3158CF44D924791C15F1437EF2EC65D9BE7@HASMSX104.ger.corp.intel.com>
On Mon, Apr 14, 2014 at 03:54:31PM +0000, Poulain, Loic wrote:
> Hello Heikki,
>
> I contact you regarding the 8250_dw driver.
> My setup is an Asus T100TA (baytrail) + kernel 3.14.
> The UART controller is ACPI enumerated (ID is 80860F0A).
> (UART_CAP_AFE capable)
>
> This uart is used to communicate with a BCM4324 bluetooth chip
> (HCI H4 over uart). However we have many bluetooth instabilities.
> These instabilities are due to the 'hardware error' HCI code sent
> by the BCM chip. This error means that the BCM received an invalid
> H4 packet header or an invalid sized packet => serial sync issue.
> Moreover, Increasing the baudrate increases the hardware error
> frequency.
>
> This problem seems due to the DMA usage. Indeed, when I disable
> the DMA manually in 8250_dw.c (up->dma = NULL), problem does not
> occur anymore, all baudrates are stable.
I think this is the same issue Jin Yao (CC'd) already spotted. He made
a bug for it:
https://bugzilla.kernel.org/show_bug.cgi?id=73071
> Do you think a specific 8250 DMA configuration could apply for the byt
> case ?
> How/Where can I debug to know if the 8250 DMA works as expected ?
Adding Andy. He maintains the Designware DMA Engine driver that is
used on BYT. He should be the best person to tell how to debug the
DMA.
We are debugging an other issue where the DMA mask for the device is
somehow set wrong. This does not exactly look like the same problem,
but you newer know. Try getting the TX buffer page from the first 16M
of memory..
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -143,7 +143,7 @@ static int uart_port_startup(struct tty_struct *tty, struct uart_state *state,
*/
if (!state->xmit.buf) {
/* This is protected by the per port mutex */
- page = get_zeroed_page(GFP_KERNEL);
+ page = get_zeroed_page(GFP_KERNEL | GFP_DMA);
if (!page)
return -ENOMEM;
If the issue disappears, we know it's the same problem.
Thanks,
--
heikki
next prev parent reply other threads:[~2014-04-15 6:56 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-14 15:54 8250_dw DMA issue with BYT ? Poulain, Loic
2014-04-15 6:56 ` Heikki Krogerus [this message]
2014-04-15 7:25 ` Andy Shevchenko
2014-04-16 1:33 ` Jin, Yao
2014-04-16 16:34 ` Poulain, Loic
2014-04-17 10:21 ` Heikki Krogerus
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=20140415065606.GA3368@xps8300 \
--to=heikki.krogerus@linux.intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=linux-serial@vger.kernel.org \
--cc=loic.poulain@intel.com \
--cc=yao.jin@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).