linux-stable/include
Thomas Zimmermann 01fd30da04 dma-buf: Add struct dma-buf-map for storing struct dma_buf.vaddr_ptr
The new type struct dma_buf_map represents a mapping of dma-buf memory
into kernel space. It contains a flag, is_iomem, that signals users to
access the mapped memory with I/O operations instead of regular loads
and stores.

It was assumed that DMA buffer memory can be accessed with regular load
and store operations. Some architectures, such as sparc64, require the
use of I/O operations to access dma-map buffers that are located in I/O
memory. Providing struct dma_buf_map allows drivers to implement this.
This was specifically a problem when refreshing the graphics framebuffer
on such systems. [1]

As the first step, struct dma_buf stores an instance of struct dma_buf_map
internally. Afterwards, dma-buf's vmap and vunmap interfaces are be
converted. Finally, affected drivers can be fixed.

v3:
	* moved documentation into separate patch
	* test for NULL pointers with !<ptr>

[1] https://lore.kernel.org/dri-devel/20200725191012.GA434957@ravnborg.org/

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Sumit Semwal <sumit.semwal@linaro.org>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20200925115601.23955-2-tzimmermann@suse.de
2020-09-29 12:40:36 +02:00
..
acpi
asm-generic iomap: constify ioreadX() iomem argument (as in generic implementation) 2020-08-14 19:56:57 -07:00
clocksource include/: replace HTTP links with HTTPS ones 2020-08-12 10:57:59 -07:00
crypto
drm drm/ttm: remove fault callback 2020-09-28 12:37:50 +02:00
dt-bindings Here's some more updates that missed the last pull request because I 2020-08-12 12:19:49 -07:00
keys
kunit
kvm
linux dma-buf: Add struct dma-buf-map for storing struct dma_buf.vaddr_ptr 2020-09-29 12:40:36 +02:00
math-emu treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
media media updates for v5.9-rc1 2020-08-07 13:00:53 -07:00
memory
misc
net RxRPC fixes 2020-08-27 12:55:46 -07:00
pcmcia
ras
rdma
scsi
soc irqchip/eznps: Fix build error for !ARC700 builds 2020-08-27 13:15:17 -07:00
sound
target
trace Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-03 18:50:48 -07:00
uapi drm/virtgpu api: cross-device feature 2020-09-29 11:23:18 +02:00
vdso
video fbdev: remove mbx framebuffer driver 2020-09-08 13:33:32 +02:00
xen xen: branch for v5.9-rc4 2020-09-06 09:59:27 -07:00