linux/drivers/gpu/drm
Thomas Zimmermann 59f5989ad4 drm: Integrate VRAM MM into struct drm_device
There's now a pointer to struct drm_vram_mm stored in struct drm_device.
DRM drivers that use VRAM MM should use this field to refer to their
instance of the data structure. Appropriate helpers are now provided as
well.

Adding struct drm_vram_mm to struct drm_device further avoids wrappers
and boilerplate code in drivers. This patch implements default functions
for callbacks in struct drm_driver and struct file_operations that use
the struct drm_vram_mm stored in struct drm_device. Drivers that need to
provide their own implementations can still do so.

The patch also adds documentation for the VRAM helper library in general.

v5:
	* set .llseek to no_llseek() from DRM_VRAM_MM_FILE_OPERATIONS
v4:
	* cleanups from checkpatch.pl
	* document VRAM helper library

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: http://patchwork.freedesktop.org/patch/msgid/20190508082630.15116-9-tzimmermann@suse.de
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2019-05-15 16:17:06 +02:00
..
amd Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
arc
arm Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
armada drm/armada: Use drm_fb_helper_fill_info 2019-03-27 09:56:14 +01:00
aspeed drm: aspeed: Clean up Kconfig options 2019-04-16 16:39:24 +02:00
ast Merge branch 'drm-next-5.2' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-04-03 13:26:11 +10:00
atmel-hlcdc
bochs Merge drm/drm-next into drm-misc-next 2019-04-10 15:50:49 -04:00
bridge drm-misc-next for v5.2: 2019-04-24 10:12:50 +10:00
cirrus drm-misc-next for 5.2: 2019-04-12 14:27:45 +10:00
etnaviv Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
exynos drm/ipp: clean up debug messages 2019-04-24 11:23:20 +09:00
fsl-dcu drm: Use new DRM_BUS_FLAG_*_(DRIVE|SAMPLE)_(POS|NEG)EDGE flags 2019-03-18 11:42:13 +02:00
gma500 drm/gma500: Use drm_fb_helper_fill_info 2019-03-27 09:57:28 +01:00
hisilicon Merge branch 'drm-next-5.2' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-04-03 13:26:11 +10:00
i2c
i810
i915 Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
imx drm-misc-next for 5.2: 2019-03-25 11:05:12 +01:00
lib
lima drm/scheduler: rework job destruction 2019-05-02 15:45:48 -05:00
mediatek drm/mediatek: no change parent rate in round_rate() for MT2701 hdmi phy 2019-04-09 17:47:01 +08:00
meson drm-misc-next for v5.2: 2019-04-24 10:12:50 +10:00
mga
mgag200 Merge branch 'drm-next-5.2' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-04-03 13:26:11 +10:00
msm Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
mxsfb drm: Use new DRM_BUS_FLAG_*_(DRIVE|SAMPLE)_(POS|NEG)EDGE flags 2019-03-18 11:42:13 +02:00
nouveau Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
omapdrm Linux 5.1-rc5 2019-04-15 15:51:49 +10:00
panel drm/panel: simple: Add FriendlyELEC HD702E 800x1280 LCD panel 2019-05-07 19:57:58 +02:00
panfrost Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
pl111 drm-misc-next for 5.2: 2019-04-12 14:27:45 +10:00
qxl Merge branch 'drm-next-5.2' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-04-03 13:26:11 +10:00
r128
radeon drm/radeon: drop unused ati pcigart include. 2019-04-24 12:32:14 +10:00
rcar-du drm: rcar-du: lvds: Set LVEN and LVRES bits together on D3 2019-03-28 06:12:42 +02:00
rockchip Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
savage
scheduler drm/scheduler: Add flag to hint the release of guilty job. 2019-05-02 15:50:55 -05:00
selftests drm/selftests/mm: Switch to bitmap_zalloc() 2019-03-20 17:36:06 +00:00
shmobile
sis
sti
stm drm/stm: ltdc: return appropriate error code during probe 2019-05-06 09:22:15 +02:00
sun4i Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
tdfx
tegra Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
tilcdc
tinydrm drm/tinydrm: Fix fbdev pixel format 2019-04-11 16:16:06 +02:00
ttm drm/ttm: Fix spelling of "KiB" 2019-03-19 15:04:03 -05:00
tve200 drm: Use new DRM_BUS_FLAG_*_(DRIVE|SAMPLE)_(POS|NEG)EDGE flags 2019-03-18 11:42:13 +02:00
udl drm/udl: move to embedding drm device inside udl device. 2019-04-24 13:48:45 +10:00
v3d drm/scheduler: rework job destruction 2019-05-02 15:45:48 -05:00
vboxvideo Merge branch 'drm-next-5.2' of git://people.freedesktop.org/~agd5f/linux into drm-next 2019-04-03 13:26:11 +10:00
vc4 drm-misc-next for 5.2: 2019-04-12 14:27:45 +10:00
vgem drm/vgem: fix use-after-free when drm_gem_handle_create() fails 2019-03-18 08:45:57 +01:00
via
virtio drm/virtio: Remove redundant return type 2019-05-06 15:36:23 +02:00
vkms Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
vmwgfx drm/vmwgfx: Remove set but not used variable 'fb_offset, fb_depth' 2019-04-08 10:29:05 -07:00
xen
zte
ati_pcigart.c
drm_agpsupport.c
drm_atomic_helper.c Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
drm_atomic_state_helper.c drm/docs: Fix typo in __drm_atomic_helper_connector_reset 2019-04-24 11:52:24 +02:00
drm_atomic_uapi.c drm/atomic: -EACCESS for lease-denied crtc lookup 2019-04-24 11:31:17 +02:00
drm_atomic.c drm: Add drm_atomic_get_old/new_private_obj_state 2019-04-29 12:35:56 +01:00
drm_auth.c drm/fb-helper: Avoid race with DRM userspace 2019-05-14 16:11:28 +02:00
drm_blend.c
drm_bridge.c
drm_bufs.c drm/legacy: move map cleanups into drm_bufs.c 2019-04-24 12:32:13 +10:00
drm_cache.c
drm_client.c drm/client: Rename drm_client_add() to drm_client_register() 2019-04-11 16:14:49 +02:00
drm_color_mgmt.c
drm_connector.c drm: Fix timestamp docs for variable refresh properties. 2019-05-07 10:39:14 -05:00
drm_context.c
drm_crtc_helper_internal.h
drm_crtc_helper.c
drm_crtc_internal.h drm/atomic: Wire file_priv through for property changes 2019-04-24 11:30:52 +02:00
drm_crtc.c drm/lease: Make sure implicit planes are leased 2019-04-24 11:30:32 +02:00
drm_damage_helper.c
drm_debugfs_crc.c
drm_debugfs.c
drm_dma.c
drm_dp_aux_dev.c drm/dp: drmP.h include removal 2019-05-06 16:00:48 +03:00
drm_dp_cec.c
drm_dp_dual_mode_helper.c drm/dp: drmP.h include removal 2019-05-06 16:00:48 +03:00
drm_dp_helper.c drm/dp: drmP.h include removal 2019-05-06 16:00:48 +03:00
drm_dp_mst_topology.c drm/dp: drmP.h include removal 2019-05-06 16:00:48 +03:00
drm_drv.c drm/legacy: move init/destroy of struct members into legacy file 2019-04-24 12:32:18 +10:00
drm_dsc.c
drm_dumb_buffers.c
drm_edid_load.c drm/edid: drmP.h include removal 2019-05-06 16:01:07 +03:00
drm_edid.c Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-09 10:19:03 +02:00
drm_encoder_slave.c
drm_encoder.c
drm_fb_cma_helper.c
drm_fb_helper.c drm/fb-helper: Remove drm_fb_helper_crtc->{x, y, desired_mode} 2019-05-14 16:13:07 +02:00
drm_file.c drm: Some ocd in drm_file.c 2019-05-09 11:40:20 +02:00
drm_flip_work.c
drm_format_helper.c drm: add drm_format_helper.c to kerneldoc 2019-04-17 09:39:22 +02:00
drm_fourcc.c drm/fourcc: Fix conflicting Y41x definitions 2019-03-21 09:49:04 +01:00
drm_framebuffer.c
drm_gem_cma_helper.c drm/cma-helper: Fix drm_gem_cma_free_object() 2019-05-08 16:01:40 +02:00
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c drm: shmem: Off by one in drm_gem_shmem_fault() 2019-04-01 10:44:34 -07:00
drm_gem_vram_helper.c drm: Integrate VRAM MM into struct drm_device 2019-05-15 16:17:06 +02:00
drm_gem.c drm/gem: Fix sphinx warnings 2019-04-25 10:02:10 -04:00
drm_hashtab.c
drm_internal.h drm/fb-helper: Avoid race with DRM userspace 2019-05-14 16:11:28 +02:00
drm_ioc32.c drm: allow removal of legacy codepaths (v4.1) 2019-04-24 12:33:15 +10:00
drm_ioctl.c drm: introduce a capability flag for syncobj timeline support 2019-05-02 12:36:47 +10:00
drm_irq.c drm: allow removal of legacy codepaths (v4.1) 2019-04-24 12:33:15 +10:00
drm_kms_helper_common.c
drm_lease.c drm/lease: Check for lessor outside of locks 2019-04-24 11:29:32 +02:00
drm_legacy_misc.c drm: Some ocd in drm_file.c 2019-05-09 11:40:20 +02:00
drm_legacy.h drm: Some ocd in drm_file.c 2019-05-09 11:40:20 +02:00
drm_lock.c drm/legacy: move lock cleanup for master into lock file (v2) 2019-04-24 12:32:15 +10:00
drm_memory.c drm: fallback to dma_alloc_coherent when memory encryption is active 2019-04-01 11:43:42 +02:00
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c drm: Expose "FB_DAMAGE_CLIPS" property to atomic aware user-space only 2019-04-16 15:13:23 -07:00
drm_mode_object.c drm/atomic: Wire file_priv through for property changes 2019-04-24 11:30:52 +02:00
drm_modes.c drm: Use new DRM_BUS_FLAG_*_(DRIVE|SAMPLE)_(POS|NEG)EDGE flags 2019-03-18 11:42:13 +02:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c
drm_panel_orientation_quirks.c
drm_panel.c
drm_pci.c
drm_plane_helper.c
drm_plane.c drm/lease: Make sure implicit planes are leased 2019-04-24 11:30:32 +02:00
drm_prime.c
drm_print.c drm: Add a helper function for printing a debugfs_regset32. 2019-04-01 10:44:34 -07:00
drm_probe_helper.c
drm_property.c
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_simple_kms_helper.c
drm_syncobj.c drm: introduce a capability flag for syncobj timeline support 2019-05-02 12:36:47 +10:00
drm_sysfs.c
drm_trace_points.c
drm_trace.h
drm_vblank.c
drm_vm.c drm: allow removal of legacy codepaths (v4.1) 2019-04-24 12:33:15 +10:00
drm_vma_manager.c
drm_vram_helper_common.c drm: Integrate VRAM MM into struct drm_device 2019-05-15 16:17:06 +02:00
drm_vram_mm_helper.c drm: Integrate VRAM MM into struct drm_device 2019-05-15 16:17:06 +02:00
drm_writeback.c drm: writeback: Add job prepare and cleanup operations 2019-03-18 17:24:38 +02:00
Kconfig drm: Add |struct drm_gem_vram_object| and helpers 2019-05-15 16:17:04 +02:00
Makefile drm: Add VRAM MM, a simple memory manager for dedicated VRAM 2019-05-15 16:17:06 +02:00