android_kernel_oneplus_msm8998/drivers
Olav Haugan 64bfe1d2be iommu: Add iommu_map_sg() function
Mapping and unmapping are more often than not in the critical path.
map_sg allows IOMMU driver implementations to optimize the process
of mapping buffers into the IOMMU page tables.

Instead of mapping a buffer one page at a time and requiring potentially
expensive TLB operations for each page, this function allows the driver
to map all pages in one go and defer TLB maintenance until after all
pages have been mapped.

Additionally, the mapping operation would be faster in general since
clients does not have to keep calling map API over and over again for
each physically contiguous chunk of memory that needs to be mapped to a
virtually contiguous region.

Change-Id: I1f3dd2c3cf67b3db40ee1793580d6af5fec1247d
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Git-commit: 315786ebbf
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[mitchelh: fix existing callers and implementations of
 iommu_{map,unmap}_range to match the new function names and APIs,
 maintaining stubs for the old API so that out-of-tree modules can
 continue to compile]
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2016-03-22 11:11:41 -07:00
..
accessibility
acpi ACPI / property: avoid leaking format string into kobject name 2016-01-08 01:01:41 +01:00
amba
android android: drivers: workaround debugfs race in binder 2016-02-16 13:54:24 -08:00
ata ata/sata_fsl.c: add ATA_FLAG_NO_LOG_PAGE to blacklist the controller for log page reads 2015-12-07 10:25:57 -05:00
atm
auxdisplay
base firmware_class: Don't fail request_firmware if we're not using a buffer 2016-03-22 11:07:40 -07:00
bcma
bif spmi_devices: change to platform_devices 2016-03-01 12:22:33 -08:00
block mm: swap: don't delay swap free for fast swap devices 2016-03-22 11:03:52 -07:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-11-10 18:11:41 -08:00
bus bus: sunxi-rsb: Fix peripheral IC mapping runtime address 2015-12-22 11:42:30 -08:00
cdrom
char arm: dcc_tty: fix armv6 dcc tty build failure 2016-02-16 13:54:00 -08:00
clk clk: msm: clock: Add support for MSM8996/COBALT clock tree 2016-03-01 13:00:25 -08:00
clocksource arm: traps: emulate a MRCC instruction reading CNTPCT register 2016-03-22 11:08:51 -07:00
connector connector: bump skb->users before callback invocation 2016-01-04 21:46:45 -05:00
cpufreq android: skip building drivers as modules 2016-02-16 13:54:25 -08:00
cpuidle soc: qcom: Use arch_counter_get_cntvct instead of arch_counter_get_cntpct 2016-03-22 11:07:27 -07:00
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2015-12-05 10:46:44 -08:00
dca
devfreq PM / devfreq: Add new flag to do simple clock scaling 2016-03-22 11:01:34 -07:00
dio
dma dma: Modify qcom-sps-dma based on framework changes 2016-03-22 11:10:31 -07:00
dma-buf CHROMIUM: android: fix warning when releasing active sync point 2016-02-16 13:53:25 -08:00
edac
eisa
extcon
firewire IEEE 1394 subsystem patch: 2015-11-11 10:21:34 -08:00
firmware UBSAN: run-time undefined behavior sanity checker 2016-03-22 11:09:57 -07:00
fmc
fpga fpga manager: Fix firmware resource leak on error 2015-11-24 15:25:46 -08:00
gpio gpio: smp2p: Use irq_domain_get_of_node accessor 2016-03-22 11:02:11 -07:00
gpu Merge branch 'linux-4.4' of git://github.com/skeggsb/linux into drm-fixes 2016-01-07 17:18:45 +10:00
hid hid-multitouch: Filter collections by application usage. 2016-02-16 13:50:59 -08:00
hsi
hv
hwmon hwmon: Enable EPM driver 2016-03-22 11:10:20 -07:00
hwspinlock hwspinlock/msm: Add snapshot of remote_spinlock driver 2016-03-01 12:22:27 -08:00
hwtracing coresight: add support to read AUTHSTATUS 2016-03-22 11:10:52 -07:00
i2c i2c-msm-v2: Remove use of PM_RUNTIME config flag 2016-03-22 11:10:33 -07:00
ide
idle
iio iio: adc: spmi-vadc: add missing of_node_put 2015-11-21 18:24:44 +00:00
infiniband RDMA/ocrdma: Depend on async link events from CNA 2015-12-28 11:45:54 -05:00
input input: qpnp-power-on: move qpnp-power-on driver as input driver 2016-03-22 11:10:54 -07:00
iommu iommu: Add iommu_map_sg() function 2016-03-22 11:11:41 -07:00
ipack
irqchip irqchip: gic-v3: Add panic handler to save registers 2016-03-22 11:08:55 -07:00
isdn ser_gigaset: remove unnecessary kfree() calls from release method 2015-12-15 13:24:21 -05:00
leds msm: fix compiler errors/warnings in some drivers 2016-03-01 12:22:41 -08:00
lguest
lightnvm lightnvm: wrong offset in bad blk lun calculation 2015-12-29 08:28:32 -07:00
macintosh
mailbox
mcb
md md: remove check for MD_RECOVERY_NEEDED in action_store. 2015-12-21 11:10:06 +11:00
media media fixes for v4.4-rc6 2015-12-18 15:41:35 -08:00
memory fsl-ifc: add missing include on ARM64 2015-12-16 00:16:58 +01:00
memstick
message SCSI queue for 4.4. 2015-11-12 07:06:18 -05:00
mfd mfd: qcom-spmi-pmic: instantiate pmic peripherals at arch_initcall 2016-03-01 12:22:34 -08:00
misc qseecom: add snapshot of qseecom driver 2016-03-22 11:10:18 -07:00
mmc mmc: new request notification unit-test 2016-03-22 11:01:44 -07:00
mtd mtd: nand: Allow NAND chip ids to be included standalone. 2016-02-16 13:51:01 -08:00
net tun: Use IFF_NO_PI instead of TUN_NO_PI 2016-03-22 11:09:52 -07:00
nfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-11-10 18:11:41 -08:00
ntb
nubus
nvdimm libnvdimm, pmem: fix size trim in pmem_direct_access() 2015-11-12 09:55:23 -08:00
nvme NVMe: IO ending fixes on surprise removal 2015-12-22 10:12:04 -07:00
nvmem
of of: Always print out reserved mem details 2016-03-22 11:10:57 -07:00
oprofile
parisc parisc iommu: fix panic due to trying to allocate too large region 2015-12-12 16:07:25 +01:00
parport
pci msm: pcie: support PCIe bus driver on msm-4.4 2016-03-22 11:09:34 -07:00
pcmcia
perf
phy phy: phy-qcom-ufs: don't probe for "dev_ref_clk_ctrl_mem" 2016-03-22 11:10:41 -07:00
pinctrl pinctrl: qcom: Snapshot pinctrl driver for msmcobalt 2016-03-22 11:07:46 -07:00
platform input: qpnp-power-on: move qpnp-power-on driver as input driver 2016-03-22 11:10:54 -07:00
pnp
power power: qpnp-smbcharger: Read the hi-power property 2016-03-22 11:10:27 -07:00
powercap powercap / RAPL: fix BIOS lock check 2015-12-12 02:31:11 +01:00
pps
ps3
ptp
pwm spmi_devices: change to platform_devices 2016-03-01 12:22:33 -08:00
rapidio
ras
regulator regulator: Fix miscellaneous warnings in regulator driver 2016-03-22 11:07:23 -07:00
remoteproc remoteproc: fix memory leak of remoteproc ida cache layers 2015-11-26 17:44:28 +02:00
reset
rpmsg
rtc spmi_devices: change to platform_devices 2016-03-01 12:22:33 -08:00
s390 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2015-12-22 15:43:18 -08:00
sbus
scsi scsi: ufs-qcom: fix uninitialized use warning 2016-03-22 11:02:05 -07:00
sensors Snapshot: SSC Sensor driver 2016-03-22 11:08:56 -07:00
sfi
sh drivers: sh: Get rid of CONFIG_ARCH_SHMOBILE_MULTI 2015-11-17 02:12:46 +09:00
slimbus slimbus: Remove use of PM_RUNTIME feature flag 2016-03-22 11:10:36 -07:00
sn
soc input: qpnp-power-on: move qpnp-power-on driver as input driver 2016-03-22 11:10:54 -07:00
spi spi: Add snapshot of SPI QSD driver 2016-03-22 11:10:29 -07:00
spmi spmi: regmap: enable userspace writes 2016-03-01 12:22:48 -08:00
ssb
staging ion: msm: fix Makefile dependencies 2016-03-22 11:07:52 -07:00
switch drivers: switch: remove S_IWUSR from dev_attr 2016-02-16 13:51:00 -08:00
target target/stat: print full t10_wwn.model buffer 2015-11-28 21:23:13 -08:00
tc
thermal thermal: qpnp-adc-tm: Enable VADC_TM 2016-03-22 11:10:50 -07:00
thunderbolt
tty tty: serial: Remove use of PM_RUNTIME config flag 2016-03-22 11:10:34 -07:00
uio uio: msm_sharedmem: Use proper format to print phys_addr_t 2016-03-22 11:08:11 -07:00
usb usb: gadget: Add snapshot of changes with u_serial 2016-03-22 11:10:11 -07:00
uwb
vfio Revert: "vfio: Include No-IOMMU mode" 2015-12-04 08:38:42 -07:00
vhost vhost: replace % with & on data path 2015-12-07 17:28:10 +02:00
video video: adf: build fixes for 4.1 2016-02-16 13:53:24 -08:00
virt
virtio virtio_ring: shadow available ring flags & index 2015-12-07 17:28:11 +02:00
vlynq
vme
w1 w1: ds2482: Manage SLPZ pin sleep state 2016-02-16 13:54:18 -08:00
watchdog watchdog: mtk_wdt: Use MODE_KEY when stopping the watchdog 2015-11-23 09:00:09 +01:00
xen xen: bug fixes for 4.4-rc5 2015-12-18 12:24:52 -08:00
zorro
Kconfig slimbus: Add snapshot of slimbus driver 2016-03-22 11:10:35 -07:00
Makefile slimbus: Add snapshot of slimbus driver 2016-03-22 11:10:35 -07:00