WSL2-Linux-Kernel/Documentation/gpu
Thomas Zimmermann 659ab7a49c drm: Use USB controller's DMA mask when importing dmabufs
USB devices cannot perform DMA and hence have no dma_mask set in their
device structure. Therefore importing dmabuf into a USB-based driver
fails, which breaks joining and mirroring of display in X11.

For USB devices, pick the associated USB controller as attachment device.
This allows the DRM import helpers to perform the DMA setup. If the DMA
controller does not support DMA transfers, we're out of luck and cannot
import. Our current USB-based DRM drivers don't use DMA, so the actual
DMA device is not important.

Tested by joining/mirroring displays of udl and radeon under Gnome/X11.

v8:
	* release dmadev if device initialization fails (Noralf)
	* fix commit description (Noralf)
v7:
	* fix use-before-init bug in gm12u320 (Dan)
v6:
	* implement workaround in DRM drivers and hold reference to
	  DMA device while USB device is in use
	* remove dev_is_usb() (Greg)
	* collapse USB helper into usb_intf_get_dma_device() (Alan)
	* integrate Daniel's TODO statement (Daniel)
	* fix typos (Greg)
v5:
	* provide a helper for USB interfaces (Alan)
	* add FIXME item to documentation and TODO list (Daniel)
v4:
	* implement workaround with USB helper functions (Greg)
	* use struct usb_device->bus->sysdev as DMA device (Takashi)
v3:
	* drop gem_create_object
	* use DMA mask of USB controller, if any (Daniel, Christian, Noralf)
v2:
	* move fix to importer side (Christian, Daniel)
	* update SHMEM and CMA helpers for new PRIME callbacks

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 6eb0233ec2 ("usb: don't inherity DMA properties for USB devices")
Tested-by: Pavel Machek <pavel@ucw.cz>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Noralf Trønnes <noralf@tronnes.org>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: <stable@vger.kernel.org> # v5.10+
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20210303133229.3288-1-tzimmermann@suse.de
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2021-03-11 11:11:33 +01:00
..
bridge
dp-mst
afbc.rst
amdgpu-dc.rst
amdgpu.rst gpu: docs: amdgpu.rst: get rid of wrong kernel-doc markups 2020-10-28 11:42:02 -06:00
backlight.rst
drivers.rst
drm-client.rst
drm-internals.rst
drm-kms-helpers.rst
drm-kms.rst drm/doc: introduce new section for standard plane properties 2020-12-17 16:56:40 +01:00
drm-mm.rst drm: Remove obsolete GEM and PRIME callbacks from struct drm_driver 2020-09-25 09:21:48 +02:00
drm-uapi.rst drm/doc: render drm.h uapi docs 2021-01-05 14:22:26 +01:00
i915.rst doc: Fix build of documentation after i915 file rename 2020-12-15 06:22:31 -08:00
index.rst
introduction.rst
kms-properties.csv
komeda-kms.rst
mcde.rst
meson.rst
msm-crash-dump.rst
pl111.rst
tegra.rst
todo.rst drm: Use USB controller's DMA mask when importing dmabufs 2021-03-11 11:11:33 +01:00
tve200.rst
v3d.rst
vc4.rst
vga-switcheroo.rst
vgaarbiter.rst
vkms.rst drm/vkms: Add information about module options 2021-01-12 17:16:25 -03:00
xen-front.rst