linux_dsm_epyc7002/drivers
Christopher Covington d8a4995bce tty: pl011: Work around QDF2400 E44 stuck BUSY bit
The Qualcomm Datacenter Technologies QDF2400 family of SoCs contains a
custom (non-PrimeCell) implementation of the SBSA UART. Occasionally the
BUSY bit in the Flag Register gets stuck as 1, erratum 44 for both 2432v1
and 2400v1 SoCs.Checking that the Transmit FIFO Empty (TXFE) bit is 0,
instead of checking that the BUSY bit is 1, works around the issue.

To facilitate this substitution of flags and values, introduce
vendor-specific inversion of Feature Register bits when UART AMBA Port
(UAP) data is available. For the earlycon case, prior to UAP availability,
implement alternative putc and early_write functions.

Similar to what how ARMv8 ACPI PCI quirks are detected during MCFG parsing,
check the OEM fields of the Serial Port Console Redirection (SPCR) ACPI
table to determine if the current platform is known to be affected by the
erratum.

Signed-off-by: Christopher Covington <cov@codeaurora.org>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Timur Tabi <timur@codeaurora.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-02-15 14:46:43 -08:00
..
accessibility
acpi tty: pl011: Work around QDF2400 E44 stuck BUSY bit 2017-02-15 14:46:43 -08:00
amba
android
ata
atm
auxdisplay auxdisplay: fix new ht16k33 build errors 2017-01-11 09:27:30 +01:00
base Revert "driver core: Add deferred_probe attribute to devices in sysfs" 2017-01-14 14:09:03 +01:00
bcma
block Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2017-01-14 17:07:04 -08:00
bluetooth
bus
cdrom
char serdev: Introduce new bus for serial attached devices 2017-02-03 10:17:02 +01:00
clk One fix for a broken driver on Renesas RZ/A1 SoCs with bootloaders that don't 2017-01-06 15:35:27 -08:00
clocksource
connector
cpufreq Merge branch 'pm-cpufreq' 2017-01-06 14:34:52 +01:00
cpuidle
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-12-27 17:51:36 -08:00
dax
dca
devfreq PM / devfreq: exynos-bus: Fix the wrong return value 2017-01-03 00:21:45 +01:00
dio
dma serial: 8250_mid: handle interrupt correctly in DMA case 2017-01-19 14:20:23 +01:00
dma-buf
edac
eisa
extcon extcon: return error code on failure 2017-01-11 09:11:39 +01:00
firewire
firmware Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-01-15 10:54:39 -08:00
fmc
fpga
gpio gpio: Move freeing of GPIO hogs before numbing of the device 2016-12-30 09:11:21 +01:00
gpu Merge branch 'drm-fixes-4.10' of git://people.freedesktop.org/~agd5f/linux into drm-fixes 2017-01-09 09:47:19 +10:00
hid HID: i2c-hid: Add sleep between POWER ON and RESET 2017-01-11 21:55:35 +01:00
hsi
hv
hwmon hwmon: (lm90) fix temp1_max_alarm attribute 2017-01-02 10:15:28 -08:00
hwspinlock
hwtracing
i2c i2c: piix4: Avoid race conditions with IMC 2017-01-12 20:52:12 +01:00
ide
idle
iio First round of IIO fixes for the 4.10 cycle. 2017-01-02 16:59:44 +01:00
infiniband net/mlx4_core: Fix raw qp flow steering rules under SRIOV 2016-12-29 14:17:40 -05:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2017-01-13 11:49:34 -08:00
iommu IOMMU Fixes for Linux v4.10-rc2 2017-01-06 10:49:36 -08:00
ipack
irqchip
isdn
leds
lguest
lightnvm
macintosh
mailbox
mcb
md md/raid5: Use correct IS_ERR() variation on pointer check 2017-01-09 13:58:10 -08:00
media
memory
memstick
message
mfd
misc mei: bus: enable OS version only for SPT and newer 2017-01-11 07:43:57 +01:00
mmc
mtd
net Merge branch 'akpm' (patches from Andrew) 2017-01-11 11:15:15 -08:00
nfc
ntb
nubus
nvdimm
nvme nvme: use blk_rq_payload_bytes 2017-01-13 15:17:04 -07:00
nvmem nvmem: fix nvmem_cell_read() return type doc 2017-01-04 18:22:47 +01:00
of
oprofile
parisc
parport
pci
pcmcia
perf
phy
pinctrl pinctrl: samsung: Fix the width of PINCFG_TYPE_DRV bitfields for Exynos5433 2016-12-30 14:27:42 +01:00
platform platform/x86: fujitsu-laptop: use brightness_set_blocking for LED-setting callbacks 2016-12-28 12:38:10 +02:00
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc Revert "remoteproc: Merge table_ptr and cached_table pointers" 2016-12-30 03:26:31 -08:00
reset
rpmsg rpmsg: virtio_rpmsg_bus: fix channel creation 2016-12-30 03:12:11 -08:00
rtc
s390
sbus
scsi Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2017-01-14 17:07:04 -08:00
sfi
sh
sn
soc
spi
spmi
ssb
staging staging: octeon: Call SET_NETDEV_DEV() 2017-01-03 17:11:50 +01:00
target target: support XCOPY requests without parameters 2017-01-10 08:41:30 -08:00
tc
thermal
thunderbolt
tty tty: pl011: Work around QDF2400 E44 stuck BUSY bit 2017-02-15 14:46:43 -08:00
uio
usb USB-serial fixes for v4.10-rc4 2017-01-12 18:17:38 +01:00
uwb
vfio vfio/type1: Remove pid_namespace.h include 2017-01-13 08:23:33 -07:00
vhost
video console: Make persistent scrollback a boot parameter 2017-01-25 11:54:02 +01:00
virt
virtio
vlynq
vme vme: Fix wrong pointer utilization in ca91cx42_slave_get 2017-01-11 10:42:16 +01:00
w1
watchdog
xen Merge branch 'stable/for-linus-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb 2017-01-06 10:53:21 -08:00
zorro
Kconfig
Makefile