From: "Chai, Chong Yi" <chong.yi.c...@intel.com>

These patches are to enable SERIAL features in Baytrail. 
The patches are targeted to merge into Yocto-kernel-cache on branch yocto-3.14. 

1/8 [
Author: Loic Poulain
Email: loic.poul...@intel.com
Date: Thu, 24 Apr 2014 11:46:14 +0200
Subject: [PATCH 005/164] 8250_dw: Support all baudrates on baytrail

In the same manner as 8250_pci, 8250_dw needs some
baytrail specific quirks to be used. The reference
clock needs to be adjusted before divided in order
to have the minimum error rate on the baudrate.

The specific byt set termios function is stored in
the driver_data field of the acpi device id via the
dw8250_acpi_desc structure.

Remove the uartclk field which is no longer delivered
as driver data.

Signed-off-by: Loic Poulain <loic.poul...@intel.com>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
(cherry picked from commit c439c33d85e252d3b2b454ab7ba38b62d6e0a830)

Signed-off-by: Maurice Petallo <mauricex.r.peta...@intel.com>
]

2/8 [
Author: Heikki Krogerus
Email: heikki.kroge...@linux.intel.com
Date: Thu, 11 Sep 2014 15:26:12 +0300
Subject: [PATCH 028/164] serial: 8250_pci: remove rts_n override from
 Baytrail quirk

It should not be used together with Auto Flow Control, and
Auto Flow Control is always enabled on Baytrail.

Signed-off-by: Heikki Krogerus <heikki.kroge...@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
(cherry picked from commit 716e115cd7f75e3ab717f467432fd4b8cd23ee2c)

Signed-off-by: Maurice Petallo <mauricex.r.peta...@intel.com>
]

3/8 [
Author: Heikki Krogerus
Email: heikki.kroge...@linux.intel.com
Date: Thu, 11 Sep 2014 15:19:33 +0300
Subject: [PATCH 029/164] ACPI / LPSS: not using UART RTS override with Auto
 Flow Control

Adding a check for UART Auto Flow Control feature and only
enabling the RTS override when it's not supported. RTS
override is not needed when Auto Flow Control is used and
they shouldn't be used together.

Signed-off-by: Heikki Krogerus <heikki.kroge...@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wyso...@intel.com>
(cherry picked from commit 1f47a77c4e4951f141bf20fe7f7c5d9438ea1663)

Signed-off-by: Maurice Petallo <mauricex.r.peta...@intel.com>
]

4/8 [
Author: Andy Shevchenko
Email: andriy.shevche...@linux.intel.com
Date: Tue, 19 Aug 2014 20:29:22 +0300
Subject: [PATCH 040/164] serial: 8250: don't use slave_id of dma_slave_config

That field has been deprecated in favour of getting the necessary information
from ACPI or DT.

However, we still need to deal systems that are PCI only (no ACPI to back up)
like Intel Bay Trail. In order to support such systems, we explicitly bind
setup() to the appropriate DMA filter function and its corresponding parameter.
Then when serial8250_request_dma() doesn't find the channel via ACPI or DT, it
falls back to use the given filter function.

Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
Acked-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
Signed-off-by: Vinod Koul <vinod.k...@intel.com>
(cherry picked from commit 9a1870ce812e13091c21af36d4dc1cd29077966d)
Signed-off-by: Wan Ahmad Zainie <wan.ahmad.zainie.wan.moha...@intel.com>
]

5/8 [
Author: Maurice Petallo
Email: mauricex.r.peta...@intel.com
Date: Wed, 4 Feb 2015 14:56:46 +0800
Subject: [PATCH 043/164] serial: 8250_pci: mask UART TX completion intr in
 byt_set_termios

The code masking for TX completion interrupt was added as part of
enabling Intel Baytrail UART. At that time, this code executes
during initialization. Regression test on power management
suspend/resume reveals the need for this bit to be masked again
during controller resume. So, instead of doing the mask during
initialization, put it in byt_set_termios to make sure that the
bit is properly set even on the event of system suspend/resume.

Signed-off-by: Maurice Petallo <mauricex.r.peta...@intel.com>
]

6/8 [
Author: Maurice Petallo
Email: mauricex.r.peta...@intel.com
Date: Wed, 4 Feb 2015 16:10:01 +0800
Subject: [PATCH 044/164] serial: 8250_dw: mask UART TX completion intr in
 byt_set_termios

The code masking for TX completion interrupt was added by commit
"06d8641 ACPI / LPSS: mask the UART TX completion interrupt".
At that time, this code executes during initialization. Regression
test on power management suspend/resume reveals the need for this
bit to be masked again during controller resume. So, instead of
doing the mask during Baytrail LPSS initialization, put it in
byt_set_termios in the 8250 platform device code to make sure that
the bit is properly set even on the event of system suspend/resume.

Signed-off-by: Maurice Petallo <mauricex.r.peta...@intel.com>
]

7/8 [
Author: Maurice Petallo
Email: mauricex.r.peta...@intel.com
Date: Thu, 16 Apr 2015 14:03:47 +0800
Subject: [PATCH 096/164] serial: 8250_core: handle_irq returns 1 only if data
 was processed

There are cases when the serial8250 interrupt routine is being called
but there are really no data to process (IIR bit 3:0 is 0x1, UART_IIR_NO_INT).
The good thing is, the routine just ignores it and returns back
immediately.

There are also cases when the routine handles only rx-related interrupts.
When FIFO is enabled and THRE is disabled, LSR_THRE (LSR bit 5) will
indicate that TX FIFO is empty which is correct since the port, in this
case, is configured only for receiving. But, in the driver code, this will
cause the function serial8250_handle_irq() to call serial8250_tx_chars()
which only ends up returning from:

if (uart_circ_empty(xmit))
{
        __stop_tx(up); return;
}

serial8250_handle_irq() returns 1 and the serial8250_interrupt() will then
continue executing the do-while loop which keeps on trying and trying to
process data even when there's actually nothing to transfer. This will
result to serial8250 driver saying:

"serial8250: too much work for irq..."

This patch will allow serial8250_handle_irq() to return 1 only when there's
actually some data that was processed. Otherwise, the routine ignores it just
like how UART_IIR_NO_INT is being handled. Also, we add an extra check before
calling serial8250_tx_chars() inside serial8250_handle_irq() to see
whether there are data to be transmitted and the tx is not stopped.

Signed-off-by: Maurice Petallo <mauricex.r.peta...@intel.com>
Signed-off-by: Wan Ahmad Zainie <wan.ahmad.zainie.wan.moha...@intel.com>
]

8/8 [
Author: Wan Ahmad Zainie
Email: wan.ahmad.zainie.wan.moha...@intel.com
Date: Wed, 3 Jun 2015 11:43:35 +0800
Subject: [PATCH 112/164] serial: 8250: Override the DCD and DSR pin status
 for Bay Trail

Bay Trail UART port does not support DCD and DSR. The driver
should indicate that the signal is permanently active.

Signed-off-by: Wan Ahmad Zainie <wan.ahmad.zainie.wan.moha...@intel.com>
]

Chai, Chong Yi (1):
  8250: dw: Support all baudrates on baytrail

 ...8250_dw-Support-all-baudrates-on-baytrail.patch | 152 ++++++++++++++++++
 ...ot-using-UART-RTS-override-with-Auto-Flow.patch |  61 ++++++++
 features/soc/baytrail/baytrail.scc                 |   8 +
 ...-Override-the-DCD-and-DSR-pin-status-for-.patch | 160 +++++++++++++++++++
 ...50-don-t-use-slave_id-of-dma_slave_config.patch | 169 +++++++++++++++++++++
 ..._core-handle_irq-returns-1-only-if-data-w.patch | 102 +++++++++++++
 ..._dw-mask-UART-TX-completion-intr-in-byt_s.patch |  72 +++++++++
 ..._pci-mask-UART-TX-completion-intr-in-byt_.patch |  47 ++++++
 ..._pci-remove-rts_n-override-from-Baytrail-.patch |  52 +++++++
 9 files changed, 823 insertions(+)
 create mode 100644 
features/soc/baytrail/8250_dw-Support-all-baudrates-on-baytrail.patch
 create mode 100644 
features/soc/baytrail/ACPI-LPSS-not-using-UART-RTS-override-with-Auto-Flow.patch
 create mode 100644 
features/soc/baytrail/serial-8250-Override-the-DCD-and-DSR-pin-status-for-.patch
 create mode 100644 
features/soc/baytrail/serial-8250-don-t-use-slave_id-of-dma_slave_config.patch
 create mode 100644 
features/soc/baytrail/serial-8250_core-handle_irq-returns-1-only-if-data-w.patch
 create mode 100644 
features/soc/baytrail/serial-8250_dw-mask-UART-TX-completion-intr-in-byt_s.patch
 create mode 100644 
features/soc/baytrail/serial-8250_pci-mask-UART-TX-completion-intr-in-byt_.patch
 create mode 100644 
features/soc/baytrail/serial-8250_pci-remove-rts_n-override-from-Baytrail-.patch

-- 
1.9.1

-- 
_______________________________________________
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto

Reply via email to