1
0
Fork 0
freescale-linux-fslc/drivers/tty
Miodrag Dinic 7157d2be23 tty: goldfish: Use streaming DMA for r/w operations on Ranchu platforms
Implement tty r/w operations using streaming DMA.

Goldfish tty for Ranchu platforms has been modified to use
streaming DMA mappings for read/write operations. This change
eliminates the need for snooping through the TLB in QEMU using
cpu_get_phys_page_debug() which does not guarantee that it will
return the valid va -> pa mapping.

The streaming DMA mapping is implemented using dma_map_single() per
transfer, while dma_unmap_single() is used for unmapping right after
the DMA transfer.

Using DMA API is the proper way for handling r/w transfers and
makes this driver more portable, thus effectively eliminating
the need for virt_to_page() and page_to_phys() conversions.

This change does not affect the old style Goldfish tty behaviour
which is still used by the Goldfish emulator. Version register has
been added and probed to see which platform is running this driver.
Reading from the new register GOLDFISH_TTY_REG_VERSION using the
Goldfish emulator will return 0 and driver will work with virtual
addresses. Whereas if run on Ranchu it returns 1, and thus DMA is
used.

(Goldfish and Ranchu are code names for the first and the second
generation of virtual boards used by Android emulator.)

Signed-off-by: Miodrag Dinic <miodrag.dinic@imgtec.com>
Signed-off-by: Goran Ferenc <goran.ferenc@imgtec.com>
Signed-off-by: Aleksandar Markovic <aleksandar.markovic@imgtec.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-08-31 18:58:45 +02:00
..
hvc tty: hvcs: make ktermios const 2017-08-29 08:28:35 +02:00
ipwireless
serdev tty: Convert to using %pOF instead of full_name 2017-07-30 07:35:28 -07:00
serial serial: 8250_port: Remove useless NULL checks 2017-08-31 18:47:31 +02:00
vt
amiserial.c
bfin_jtag_comm.c
cyclades.c
ehv_bytechan.c tty: Convert to using %pOF instead of full_name 2017-07-30 07:35:28 -07:00
goldfish.c tty: goldfish: Use streaming DMA for r/w operations on Ranchu platforms 2017-08-31 18:58:45 +02:00
isicom.c tty: isicom: constify pci_device_id. 2017-07-30 07:35:27 -07:00
Kconfig
Makefile
metag_da.c
mips_ejtag_fdc.c tty: mips_ejtag_fdc: constify mips_cdmm_device_id 2017-08-28 20:51:22 +02:00
moxa.c tty: moxa: constify pci_device_id. 2017-07-30 07:35:28 -07:00
moxa.h
mxser.c tty: mxser: constify pci_device_id. 2017-07-30 07:35:27 -07:00
mxser.h
n_gsm.c tty: n_gsm: Add compat_ioctl 2017-08-28 20:51:22 +02:00
n_hdlc.c
n_null.c
n_r3964.c
n_tracerouter.c
n_tracesink.c
n_tracesink.h
n_tty.c
nozomi.c
pty.c pty: show associative slave of ptmx in fdinfo 2017-08-28 20:51:23 +02:00
rocket.c
rocket.h
rocket_int.h
synclink.c tty: synclink: constify pci_device_id. 2017-07-30 07:35:27 -07:00
synclink_gt.c tty: synclink_gt: constify pci_device_id. 2017-07-30 07:35:28 -07:00
synclinkmp.c tty: synclinkmp: constify pci_device_id. 2017-07-30 07:35:27 -07:00
sysrq.c
tty_audit.c
tty_baudrate.c
tty_buffer.c tty: fix __tty_insert_flip_char regression 2017-08-02 06:58:17 -07:00
tty_io.c pty: show associative slave of ptmx in fdinfo 2017-08-28 20:51:23 +02:00
tty_ioctl.c
tty_jobctrl.c
tty_ldisc.c
tty_ldsem.c
tty_mutex.c
tty_port.c