linux_dsm_epyc7002/drivers/tty/serial
Marek Szyprowski 768d64f491 serial: samsung: Use right device for DMA-mapping calls
Driver should provide its own struct device for all DMA-mapping calls instead
of extracting device pointer from DMA engine channel. Although this is harmless
from the driver operation perspective on ARM architecture, it is always good
to use the DMA mapping API in a proper way. This patch fixes following DMA API
debug warning:

WARNING: CPU: 0 PID: 0 at lib/dma-debug.c:1241 check_sync+0x520/0x9f4
samsung-uart 12c20000.serial: DMA-API: device driver tries to sync DMA memory it has not allocated [device address=0x000000006df0f580] [size=64 bytes]
Modules linked in:
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.11.0-rc1-00137-g07ca963 #51
Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[<c011aaa4>] (unwind_backtrace) from [<c01127c0>] (show_stack+0x20/0x24)
[<c01127c0>] (show_stack) from [<c06ba5d8>] (dump_stack+0x84/0xa0)
[<c06ba5d8>] (dump_stack) from [<c0139528>] (__warn+0x14c/0x180)
[<c0139528>] (__warn) from [<c01395a4>] (warn_slowpath_fmt+0x48/0x50)
[<c01395a4>] (warn_slowpath_fmt) from [<c0729058>] (check_sync+0x520/0x9f4)
[<c0729058>] (check_sync) from [<c072967c>] (debug_dma_sync_single_for_device+0x88/0xc8)
[<c072967c>] (debug_dma_sync_single_for_device) from [<c0803c10>] (s3c24xx_serial_start_tx_dma+0x100/0x2f8)
[<c0803c10>] (s3c24xx_serial_start_tx_dma) from [<c0804338>] (s3c24xx_serial_tx_chars+0x198/0x33c)

Reported-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Fixes: 62c37eedb7 ("serial: samsung: add dma reqest/release functions")
CC: stable@vger.kernel.org # v4.0+
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Shuah Khan <shuahkh@osg.samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-04-08 18:58:52 +02:00
..
8250 Merge 4.11-rc5 into tty-next 2017-04-03 14:18:16 +02:00
cpm_uart tty: serial: cpm_uart: make use of for_each_node_by_type() 2017-02-03 10:12:16 +01:00
jsm
21285.c
altera_jtaguart.c serial: altera_jtaguart: add earlycon support 2017-03-17 14:14:00 +09:00
altera_uart.c serial: altera_uart: add earlycon support 2017-03-31 16:56:10 +02:00
amba-pl010.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
amba-pl011.c tty: amba-pl011: Fix spurious TX interrupts 2017-04-08 18:54:07 +02:00
amba-pl011.h
apbuart.c
apbuart.h
ar933x_uart.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
arc_uart.c
atmel_serial.c Merge 4.11-rc5 into tty-next 2017-04-03 14:18:16 +02:00
atmel_serial.h tty/serial: atmel: move atmel_serial header into driver directory 2017-03-14 10:59:04 +08:00
bcm63xx_uart.c
bfin_sport_uart.c tty: serial: constify dev_pm_ops structures 2017-01-19 14:20:23 +01:00
bfin_sport_uart.h
bfin_uart.c
clps711x.c
crisv10.c sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
crisv10.h
digicolor-usart.c
dz.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
dz.h
earlycon-arm-semihost.c
earlycon.c ACPI: parse SPCR and enable matching console 2016-09-28 17:46:46 +02:00
efm32-uart.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
etraxfs-uart.c
fsl_lpuart.c tty: serial: fsl_lpuart: lock port on console write 2017-03-31 16:56:10 +02:00
icom.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
icom.h
ifx6x60.c serial: ifx6x60: Free memory when probe fails 2016-11-10 14:50:46 +01:00
ifx6x60.h
imx.c serial: imx: setup DCEDTE early and ensure DCD and RI irqs to be off 2017-04-08 18:54:07 +02:00
ioc3_serial.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
ioc4_serial.c scripts/spelling.txt: add "comsume(r)" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
ip22zilog.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
ip22zilog.h
Kconfig serial: altera_uart: add earlycon support 2017-03-31 16:56:10 +02:00
kgdb_nmi.c
kgdboc.c
lantiq.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
lpc32xx_hs.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
m32r_sio_reg.h
m32r_sio.c
Makefile tty: serial: Makefile: move kgdb to be initialized last 2016-10-27 16:27:24 +02:00
max310x.c serial: max310x: Add support for newer silicon revisions 2017-01-12 11:51:24 +01:00
max3100.c
mcf.c
men_z135_uart.c
meson_uart.c tty: serial: meson: allow baud-rates higher than 115200 2017-01-19 14:38:57 +01:00
mpc52xx_uart.c
mps2-uart.c
mpsc.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
msm_serial.c tty: serial: msm: Fix module autoload 2017-01-12 11:51:25 +01:00
mux.c
mvebu-uart.c
mxs-auart.c serial: mxs-auart: Fix baudrate calculation 2017-03-31 17:26:19 +02:00
netx-serial.c
omap-serial.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
pch_uart.c serial: pch_uart: add terminate entry for dmi_system_id tables 2016-10-27 16:01:31 +02:00
pic32_uart.c serial: pic32_uart: Fix 'request_irq' and 'free_irq' inconsistancy 2017-01-12 11:51:24 +01:00
pic32_uart.h
pmac_zilog.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
pmac_zilog.h
pnx8xxx_uart.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
pxa.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
rp2.c
sa1100.c
samsung.c serial: samsung: Use right device for DMA-mapping calls 2017-04-08 18:58:52 +02:00
samsung.h serial: samsung: Simplify DMA engine initialization code 2017-01-12 11:51:24 +01:00
sb1250-duart.c drivers: convert sbd_duart.map_guard from atomic_t to refcount_t 2017-03-14 11:01:40 +08:00
sc16is7xx.c sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h> 2017-03-02 08:42:27 +01:00
sccnxp.c
serial_core.c serial: core: Re-use struct uart_port {name} field 2017-04-08 18:51:57 +02:00
serial_ks8695.c
serial_mctrl_gpio.c
serial_mctrl_gpio.h
serial_txx9.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
serial-tegra.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
sh-sci.c serial: sh-sci: Fix (AUTO)RTS in sci_init_pins() 2017-03-31 15:29:06 +02:00
sh-sci.h serial: sh-sci: consider DR (data ready) bit adequately 2017-02-03 10:14:10 +01:00
sirfsoc_uart.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
sirfsoc_uart.h
sn_console.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
sprd_serial.c serial: sprd: adjust TIMEOUT to a big value 2017-04-08 18:42:47 +02:00
st-asc.c serial: st-asc: Change default baudrate from 9600 to 115200 2017-03-31 15:29:05 +02:00
stm32-usart.c serial: stm32: mark symbols static where possible 2016-09-27 12:55:27 +02:00
stm32-usart.h serial: stm32: Fix comparisons with undefined register 2016-10-27 16:00:31 +02:00
suncore.c
sunhv.c sparc64: Send break twice from console to return to boot prom 2017-02-23 08:27:24 -08:00
sunsab.c
sunsab.h
sunsu.c serial: sunsu: Free memory when probe fails 2016-11-16 10:57:26 +01:00
sunzilog.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
sunzilog.h
tilegx.c
timbuart.c
timbuart.h
uartlite.c uartlite: Adding a kernel parameter for the number of uartlites 2017-03-17 14:14:30 +09:00
ucc_uart.c
vr41xx_siu.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
vt8500_serial.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
xilinx_uartps.c serial: xuartps: Enable clocks in the pm disable case also 2017-04-08 18:54:07 +02:00
zs.c tty: serial: constify uart_ops structures 2017-01-27 09:23:36 +01:00
zs.h