]> git.baikalelectronics.ru Git - kernel.git/commit
drm/gem: Add DEFINE_DRM_GEM_FOPS
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 8 Mar 2017 14:12:57 +0000 (15:12 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 14 Mar 2017 13:38:34 +0000 (14:38 +0100)
commit3f7a536a9a88bffb0e310a2993fa2f6e2c456f1d
treea84c21a0dc379cf262040c50632aef8331d53200
parenta784658ed438775d962b388aadfbfd8365cb8f29
drm/gem: Add DEFINE_DRM_GEM_FOPS

Sadly there's only 1 driver which can use it, everyone else is special
for some reason:

- gma500 has a horrible runtime PM ioctl wrapper that probably doesn't
  really work but meh.
- i915 needs special compat_ioctl handler because regrets.
- arcgpu needs to fixup the pgprot because (no idea why it can't do
  that in the fault handler like everyone else).
- tegra does even worse stuff with pgprot
- udl does something with vm_flags too ...
- cma helpers, etnaviv, mtk, msm, rockchip, omap all implement some
  variation on prefaulting.
- exynos is exynos, I got lost in the midlayers.
- vc4 has to reinvent half of cma helpers because those are too much
  midlayer, plus vm_flags dances.
- vgem also seems unhappy with the default vm_flags.

So pretty sad divergence and I'm sure we could do better, but not
really an idea. Oh well, maybe this macro here helps to encourage more
consistency at least going forward.

Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170308141257.12119-25-daniel.vetter@ffwll.ch
drivers/gpu/drm/armada/armada_drv.c
drivers/gpu/drm/drm_file.c
include/drm/drm_gem.h