OpenCloudOS-Kernel/drivers/gpu/drm/nouveau
Thomas Hellstrom 355a701838 drm/gem: Warn on illegal use of the dumb buffer interface v2
It happens on occasion that developers of generic user-space applications
abuse the dumb buffer API to get hold of drm buffers that they can both
mmap() and use for GPU acceleration, using the assumptions that dumb buffers
and buffers available for GPU are
a) The same type and can be aribtrarily type-casted.
b) fully coherent.

This patch makes the most widely used drivers warn nicely when that happens,
the next step will be to fail.

v2: Move drmP.h changes to drm_gem.h. Fix Radeon dumb mmap breakage.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-11-21 12:12:41 +10:00
..
core Merge branch 'linux-3.18' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes 2014-10-20 16:14:19 +10:00
dispnv04 drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
nvif Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2014-10-14 09:39:08 +02:00
Kconfig drm/nouveau: support for probing platform devices 2014-08-10 05:11:10 +10:00
Makefile drm/gk104-/disp: infoframe registers moved yet again on kepler 2014-09-15 22:25:16 +10:00
nouveau_abi16.c drm/nouveau/core/mm: allow allocation to be confined to a specific slice of heap 2014-09-15 22:22:13 +10:00
nouveau_abi16.h drm/nouveau: port to nvif client/device/objects 2014-08-10 05:13:14 +10:00
nouveau_acpi.c ACPIPHP / radeon / nouveau: Remove acpi_bus_no_hotplug() 2014-09-15 13:15:34 -06:00
nouveau_acpi.h nouveau: ACPI support depends on X86 and X86_PLATFORM_DEVICES 2013-02-20 16:05:16 +10:00
nouveau_agp.c drm/nouveau: remove as much direct use of core headers as possible 2014-08-10 05:13:16 +10:00
nouveau_agp.h
nouveau_backlight.c drm/nouveau: initial pass at moving to struct nvif_device 2014-08-10 05:13:13 +10:00
nouveau_bios.c drm/nv50-/disp: audit and version DAC_PWR method 2014-08-10 05:28:07 +10:00
nouveau_bios.h drm/nv04/disp: hide all the cruft away in its own little hole 2013-04-26 15:37:51 +10:00
nouveau_bo.c drm/nouveau: export reservation_object from dmabuf to ttm 2014-10-01 11:11:15 +02:00
nouveau_bo.h drm/nouveau: export reservation_object from dmabuf to ttm 2014-10-01 11:11:15 +02:00
nouveau_chan.c Merge branch 'linux-3.18' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes 2014-10-20 16:14:19 +10:00
nouveau_chan.h drm/nouveau: Display Nouveau boot options at launch 2014-09-15 22:24:58 +10:00
nouveau_connector.c drm/nouveau: Display Nouveau boot options at launch 2014-09-15 22:24:58 +10:00
nouveau_connector.h drm/nouveau: Display Nouveau boot options at launch 2014-09-15 22:24:58 +10:00
nouveau_crtc.h drm/nouveau/disp: implement nvif event sources for vblank/connector notifiers 2014-08-10 05:28:12 +10:00
nouveau_debugfs.c drm/nouveau: restore debugfs/vbios.rom support 2013-02-20 20:46:34 +10:00
nouveau_debugfs.h drm/nouveau: restore debugfs/vbios.rom support 2013-02-20 20:46:34 +10:00
nouveau_display.c drm/gem: Warn on illegal use of the dumb buffer interface v2 2014-11-21 12:12:41 +10:00
nouveau_display.h drm/nouveau: make sure display hardware is reinitialised on runtime resume 2014-10-02 13:32:24 +10:00
nouveau_dma.c drm/nouveau: remove as much direct use of core headers as possible 2014-08-10 05:13:16 +10:00
nouveau_dma.h drm/nouveau: remove (most) hardcoded object handle usage 2014-08-10 05:13:15 +10:00
nouveau_dp.c drm/nouveau: remove as much direct use of core headers as possible 2014-08-10 05:13:16 +10:00
nouveau_drm.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2014-10-14 09:39:08 +02:00
nouveau_drm.h drm/nouveau: bump driver patchlevel to 1.2.1 2014-09-30 14:04:00 +02:00
nouveau_encoder.h drm/nouveau/dp: probe dpcd to determine connectedness 2014-06-11 16:11:42 +10:00
nouveau_fbcon.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2014-10-14 09:39:08 +02:00
nouveau_fbcon.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2014-10-14 09:39:08 +02:00
nouveau_fence.c drm/nouveau: export reservation_object from dmabuf to ttm 2014-10-01 11:11:15 +02:00
nouveau_fence.h drm/nouveau: assign fence_chan->name correctly 2014-09-30 14:04:00 +02:00
nouveau_gem.c drm/gem: Warn on illegal use of the dumb buffer interface v2 2014-11-21 12:12:41 +10:00
nouveau_gem.h drm: Pass dma-buf as argument to gem_prime_import_sg_table 2014-09-30 14:04:00 +02:00
nouveau_hwmon.c drm/nouveau: port to nvif client/device/objects 2014-08-10 05:13:14 +10:00
nouveau_hwmon.h drm/nouveau/drm/pm: remove everything except the hwmon interfaces to THERM 2013-11-08 15:40:00 +10:00
nouveau_ioc32.c drm: Remove DRM_ARRAY_SIZE() for ARRAY_SIZE() 2014-06-10 09:36:17 +10:00
nouveau_ioctl.h drm/nouveau: fix up 32-bit ioctls and device wake up. 2013-09-02 09:52:55 +10:00
nouveau_nvif.c nouveau: __iomem misannotations 2014-10-09 02:39:11 -04:00
nouveau_platform.c drm/nouveau/platform: fix compilation error 2014-08-15 07:58:39 +10:00
nouveau_platform.h drm/nouveau: support for probing platform devices 2014-08-10 05:11:10 +10:00
nouveau_prime.c drm/nouveau: export reservation_object from dmabuf to ttm 2014-10-01 11:11:15 +02:00
nouveau_reg.h
nouveau_sgdma.c drm/nouveau: port to nvif client/device/objects 2014-08-10 05:13:14 +10:00
nouveau_sysfs.c drm/nouveau: Display Nouveau boot options at launch 2014-09-15 22:24:58 +10:00
nouveau_sysfs.h drm/nouveau: Display Nouveau boot options at launch 2014-09-15 22:24:58 +10:00
nouveau_ttm.c drm/<ttm-based-drivers>: Don't call drm_mmap 2014-09-24 11:42:51 +10:00
nouveau_ttm.h
nouveau_usif.c drm/nouveau: expose the full object/event interfaces to userspace 2014-08-10 05:28:18 +10:00
nouveau_usif.h drm/nouveau: expose the full object/event interfaces to userspace 2014-08-10 05:28:18 +10:00
nouveau_vga.c drm/nouveau/runpm: fix module unload 2014-09-18 19:22:37 -04:00
nouveau_vga.h
nv04_fbcon.c drm/nouveau: remove as much direct use of core headers as possible 2014-08-10 05:13:16 +10:00
nv04_fence.c drm/nouveau: assign fence_chan->name correctly 2014-09-30 14:04:00 +02:00
nv10_fence.c drm/nouveau: assign fence_chan->name correctly 2014-09-30 14:04:00 +02:00
nv10_fence.h drm/nouveau: remove as much direct use of core headers as possible 2014-08-10 05:13:16 +10:00
nv17_fence.c drm/nouveau: export reservation_object from dmabuf to ttm 2014-10-01 11:11:15 +02:00
nv50_display.c drm: Move drm_crtc_init from drm_crtc.h to drm_plane_helper.h 2014-11-05 00:14:55 +01:00
nv50_display.h drm/nouveau: rename nvd0_display to nv50_display to reflect reality since merge 2012-11-29 09:57:58 +10:00
nv50_fbcon.c drm/nouveau: remove (most) hardcoded object handle usage 2014-08-10 05:13:15 +10:00
nv50_fence.c drm/nouveau: export reservation_object from dmabuf to ttm 2014-10-01 11:11:15 +02:00
nv84_fence.c drm/nouveau: export reservation_object from dmabuf to ttm 2014-10-01 11:11:15 +02:00
nvc0_fbcon.c drm/nouveau: remove (most) hardcoded object handle usage 2014-08-10 05:13:15 +10:00
nvc0_fence.c drm/nouveau: remove as much direct use of core headers as possible 2014-08-10 05:13:16 +10:00