linux-stable/drivers
Daniel Vetter fc13020e08 dma-buf: add support for kernel cpu access
Big differences to other contenders in the field (like ion) is
that this also supports highmem, so we have to split up the cpu
access from the kernel side into a prepare and a kmap step.

Prepare is allowed to fail and should do everything required so that
the kmap calls can succeed (like swapin/backing storage allocation,
flushing, ...).

More in-depth explanations will follow in the follow-up documentation
patch.

Changes in v2:

- Clear up begin_cpu_access confusion noticed by Sumit Semwal.
- Don't automatically fallback from the _atomic variants to the
  non-atomic variants. The _atomic callbacks are not allowed to
  sleep, so we want exporters to make this decision explicit. The
  function signatures are explicit, so simpler exporters can still
  use the same function for both.
- Make the unmap functions optional. Simpler exporters with permanent
  mappings don't need to do anything at unmap time.

Changes in v3:

- Adjust the WARN_ON checks for the new ->ops functions as suggested
  by Rob Clark and Sumit Semwal.
- Rebased on top of latest dma-buf-next git.

Changes in v4:

- Fixup a missing - in a return -EINVAL; statement.

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Rob Clark <rob@ti.com>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
2012-03-26 11:33:02 +05:30
..
accessibility
acpi ACPI: remove duplicated lines of merging problems with acpi_processor_add 2012-02-08 15:07:03 -08:00
amba
ata pata/at91: use newly introduced SMC accessors 2012-02-13 18:31:37 +01:00
atm drivers/atm/solos-pci.c: exchange pci_iounmaps 2012-02-19 18:57:51 -05:00
auxdisplay
base dma-buf: add support for kernel cpu access 2012-03-26 11:33:02 +05:30
bcma bcma: don't fail for bad SPROM CRC 2012-02-06 14:37:52 -05:00
block Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2012-03-14 17:16:45 -07:00
bluetooth Bluetooth: btusb: Add vendor specific ID (0a5c 21f3) for BCM20702A0 2012-02-15 13:09:26 +02:00
cdrom cdrom: move shared static to cdrom_device_info 2012-02-08 20:03:14 +01:00
char
clk
clocksource
connector
cpufreq
cpuidle cpuidle: Default y on powerpc pSeries 2012-02-22 16:48:51 +11:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2012-03-03 09:31:49 -08:00
dca
devfreq
dio
dma i.MX SDMA: Fix burstsize settings 2012-02-02 14:00:43 +05:30
edac asm-generic: architecture independent readq/writeq for 32bit environment 2012-02-21 16:47:28 -08:00
eisa
firewire firewire: ohci: disable MSI on Ricoh controllers 2012-01-30 21:33:34 +01:00
firmware
gpio gpio: Add missing spin_lock_init in gpio-ml-ioh driver 2012-02-01 21:59:37 -07:00
gpu Merge branch 'exynos-drm-fixes' of git://git.infradead.org/users/kmpark/linux-samsung into drm-fixes 2012-03-15 09:41:26 +00:00
hid HID: hid-input: allow array fields out of range 2012-03-05 10:28:58 +01:00
hv
hwmon hwmon: (zl6100) Enable interval between chip accesses for all chips 2012-03-14 09:17:03 -07:00
hwspinlock
i2c i2c-algo-bit: Fix spurious SCL timeouts under heavy load 2012-03-15 18:11:05 +01:00
ide ARM: at91: drop ide driver in favor of the pata one 2012-02-13 18:31:37 +01:00
idle
ieee802154
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-02-10 14:18:46 -08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-03-07 08:31:31 -08:00
iommu x86/amd: iommu_set_device_table() must not be __init 2012-03-08 11:36:06 +01:00
isdn isdn: type bug in isdn_net_header() 2012-02-09 15:41:29 -05:00
leds drivers/leds/leds-lm3530.c: fix setting pltfm->als_vmax 2012-02-08 19:03:51 -08:00
lguest
macintosh powerpc/adb: Use set_current_state() 2012-02-16 16:15:12 +11:00
mca
md Device-mapper fixes for 3.3. 2012-03-08 17:21:51 -08:00
media Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-03-15 17:06:05 -07:00
memstick
message
mfd mfd: Correct readability of WM8994 DC servo 4E register 2012-03-01 01:42:52 +01:00
misc c2port: class_create() returns an ERR_PTR 2012-03-05 15:49:43 -08:00
mmc mmc: core: Fixup suspend/resume issues for UHS-I cards 2012-03-04 12:25:15 -05:00
mtd - Fix a regression in 16-bit Atmel NAND flash which was introduced in 3.1 2012-02-04 07:17:47 -08:00
net wimax/i2400m: fix erroneous NETDEV_TX_BUSY use 2012-03-16 02:01:41 -07:00
nfc
nubus
of of/mdio: fix fixed link bus name 2012-02-27 10:09:52 -06:00
oprofile
parisc [PARISC] include <linux/prefetch.h> in drivers/parisc/iommu-helpers.h 2012-02-27 09:44:15 -06:00
parport
pci PCI: ignore pre-1.1 ASPM quirking when ASPM is disabled 2012-03-07 20:26:47 -08:00
pcmcia ARM: pxa: fix error handling in pxa2xx_drv_pcmcia_probe 2012-02-16 10:41:23 +08:00
pinctrl pinctrl: restore pin naming 2012-02-01 19:35:21 +01:00
platform panasonic-laptop: avoid overflow in acpi_pcc_hotkey_add() 2012-03-12 10:25:51 -04:00
pnp
power lp8727_charger: Add terminating entry for i2c_device_id table 2012-02-01 21:34:26 +04:00
pps pps: class_create() returns an ERR_PTR, not NULL 2012-03-05 15:49:43 -08:00
ps3
ptp
rapidio rapidio/tsi721: fix bug in register offset definitions 2012-03-15 17:03:03 -07:00
regulator regulator: da9052: Ensure the selected voltage falls within the specified range 2012-03-11 20:39:10 +00:00
rtc drivers/rtc/rtc-r9701.c: fix crash in r9701_remove() 2012-03-05 15:49:43 -08:00
s390 [S390] qdio: fix handler function arguments for zfcp data router 2012-03-02 17:33:00 +01:00
sbus
scsi floppy/scsi: fix setting of BIO flags 2012-03-05 15:49:43 -08:00
sfi
sh
sn
spi Fix section mismatch in spi-pl022.c 2012-02-13 11:57:58 -07:00
ssb ssb: fix cardbus slot in hostmode 2012-02-01 15:26:00 -05:00
staging staging: pohmelfs: remove drivers/staging/pohmelfs 2012-02-08 16:19:06 -08:00
target iscsi-target: Fix reservation conflict -EBUSY response handling bug 2012-03-13 21:43:58 -07:00
tc
telephony
thermal
tty sh-sci / PM: Avoid deadlocking runtime PM 2012-03-09 12:59:44 +09:00
uio
usb Revert "powerpc/usb: fix issue of CPU halt when missing USB PHY clock" 2012-03-02 16:08:54 -08:00
uwb
vhost
video drivers/video/backlight/s6e63m0.c: fix corruption storing gamma mode 2012-03-15 17:03:04 -07:00
virt
virtio virtio: balloon: leak / fill balloon across S4 2012-03-01 09:28:41 +10:30
vlynq
w1
watchdog watchdog: fix GETTIMEOUT ioctl in booke_wdt 2012-02-29 09:46:13 +01:00
xen xenbus_dev: add missing error check to watch handling 2012-02-03 16:07:05 -05:00
zorro
Kconfig
Makefile