linux/include/drm
Zack Rusin 8f7179a102
drm/atomic: Add support for mouse hotspots
Atomic modesetting code lacked support for specifying mouse cursor
hotspots. The legacy kms DRM_IOCTL_MODE_CURSOR2 had support for setting
the hotspot but the functionality was not implemented in the new atomic
paths.

Due to the lack of hotspots in the atomic paths userspace compositors
completely disable atomic modesetting for drivers that require it (i.e.
all paravirtualized drivers).

This change adds hotspot properties to the atomic codepaths throughtout
the DRM core and will allow enabling atomic modesetting for virtualized
drivers in the userspace.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231023074613.41327-3-aesteve@redhat.com
2023-11-24 11:57:56 +01:00
..
bridge drm/bridge: synopsys: dw-mipi-dsi: Add mode fixup support 2023-10-16 11:38:42 +02:00
display Merge drm/drm-next into drm-misc-next 2023-10-11 09:50:59 +02:00
i2c
ttm drm/ttm: Remove two unused function declarations 2023-08-10 09:12:08 +02:00
amd_asic_type.h drm/amdgpu: Optimize the asic type fix code 2023-11-03 12:18:32 -04:00
drm_accel.h drm/debugfs: rework debugfs directory creation v5 2023-09-01 08:51:18 +02:00
drm_aperture.h drm/aperture: Remove primary argument 2023-04-16 14:17:41 +02:00
drm_atomic_helper.h drm/atomic-helper: Add atomic_enable plane-helper callback 2023-02-20 15:19:23 +01:00
drm_atomic_state_helper.h drm/atomic-helper: Add an analog TV atomic_check implementation 2022-11-24 12:42:40 +01:00
drm_atomic_uapi.h
drm_atomic.h drm/bridge: Fix kernel-doc typo in desc of output_bus_cfg in drm_bridge_state 2023-08-21 10:01:04 +02:00
drm_audio_component.h drm/audio: make drm_audio_component.h self-contained 2022-11-29 14:14:51 +02:00
drm_auth.h
drm_blend.h
drm_bridge_connector.h drm/bridge_connector: drop drm_bridge_connector_en/disable_hpd() 2023-01-05 15:08:10 +01:00
drm_bridge.h drm/bridge: Drop conditionals around of_node pointers 2023-09-06 08:32:37 -07:00
drm_buddy.h drm/buddy: Improve contiguous memory allocation 2023-09-11 20:18:00 +02:00
drm_cache.h
drm_client.h drm/debugfs: rework debugfs directory creation v5 2023-09-01 08:51:18 +02:00
drm_color_mgmt.h
drm_connector.h drm: Add HPD state to drm_connector_oob_hotplug_event() 2023-10-11 13:20:22 +03:00
drm_crtc_helper.h drm/crtc-helper: Remove most include statements from drm_crtc_helper.h 2023-01-18 09:25:32 +01:00
drm_crtc.h drm: Remove references to removed transitional helpers 2023-07-29 21:25:16 +02:00
drm_damage_helper.h
drm_debugfs_crc.h
drm_debugfs.h drm/gpuvm: rename struct drm_gpuva_manager to struct drm_gpuvm 2023-09-26 01:51:28 +02:00
drm_device.h drm/debugfs: remove dev->debugfs_list and debugfs_mutex v2 2023-09-01 08:53:05 +02:00
drm_displayid.h drm/displayid: provide access to DisplayID version and primary use case 2023-02-27 02:58:38 +03:00
drm_drv.h drm: Disable the cursor plane on atomic contexts with virtualized drivers 2023-11-24 11:57:54 +01:00
drm_edid.h drm/edid/firmware: drop drm_kms_helper.edid_firmware backward compat 2023-11-21 12:22:48 +02:00
drm_eld.h drm/eld: add helpers to modify the SADs of an ELD 2023-11-09 16:48:27 +02:00
drm_encoder_slave.h
drm_encoder.h
drm_exec.h drm/drm_exec: Work around a WW mutex lockdep oddity 2023-09-07 10:30:12 +02:00
drm_fb_dma_helper.h
drm_fb_helper.h drm/fb-helper: Remove unused inline function drm_fb_helper_defio_init() 2023-07-25 20:38:37 +02:00
drm_fbdev_dma.h drm/fbdev-dma: Implement fbdev emulation for GEM DMA helpers 2023-03-14 17:07:47 +01:00
drm_fbdev_generic.h drm/fb-helper: Move generic fbdev emulation into separate source file 2022-11-05 17:12:04 +01:00
drm_file.h drm: Disable the cursor plane on atomic contexts with virtualized drivers 2023-11-24 11:57:54 +01:00
drm_fixed.h drm: Add fixed-point helper to get rounded integer values 2023-05-15 10:58:10 -03:00
drm_flip_work.h drm: Fix flip-task docs 2023-11-14 10:23:12 +01:00
drm_format_helper.h drm/format-helper: Pass format-conversion state to helpers 2023-11-14 10:16:53 +01:00
drm_fourcc.h drm: Remove plane hsub/vsub alignment requirement for core helpers 2023-10-12 09:51:19 +02:00
drm_framebuffer.h drm: Replace drm_framebuffer plane size functions with its equivalents 2023-10-12 09:51:29 +02:00
drm_gem_atomic_helper.h drm/atomic-helper: Add format-conversion state to shadow-plane state 2023-11-14 10:01:14 +01:00
drm_gem_dma_helper.h drm: Clear fd/handle callbacks in struct drm_driver 2023-06-26 11:08:41 +02:00
drm_gem_framebuffer_helper.h
drm_gem_shmem_helper.h drm: Clear fd/handle callbacks in struct drm_driver 2023-06-26 11:08:41 +02:00
drm_gem_ttm_helper.h drm/ttm: merge ttm_bo_api.h and ttm_bo_driver.h v2 2022-12-06 12:54:14 +01:00
drm_gem_vram_helper.h drm: Clear fd/handle callbacks in struct drm_driver 2023-06-26 11:08:41 +02:00
drm_gem.h drm/gpuvm: add an abstraction for a VM / BO combination 2023-11-13 18:19:20 +01:00
drm_gpuvm.h drm/gpuvm: Helper to get range of unmap from a remap op. 2023-11-23 09:01:45 +01:00
drm_ioctl.h
drm_kunit_helpers.h drm/tests: helpers: Avoid a driver uaf 2023-09-14 13:57:58 +02:00
drm_lease.h
drm_legacy.h
drm_managed.h drm: fix drmm_mutex_init() 2023-05-22 12:23:50 +02:00
drm_mipi_dbi.h drm/format-helper: Pass format-conversion state to helpers 2023-11-14 10:16:53 +01:00
drm_mipi_dsi.h Driver core changes for 6.3-rc1 2023-02-24 12:58:55 -08:00
drm_mm.h
drm_mode_config.h drm/fbdev-generic: Remove unused prefer_shadow_fbdev flag 2023-03-22 13:32:47 +01:00
drm_mode_object.h
drm_modes.h drm/modes: Add a function to generate analog display modes 2022-11-24 12:42:39 +01:00
drm_modeset_helper_vtables.h drm: Remove references to removed transitional helpers 2023-07-29 21:25:16 +02:00
drm_modeset_helper.h
drm_modeset_lock.h
drm_module.h
drm_of.h drm: of: Add drm_of_get_dsi_bus helper function 2023-01-27 09:39:21 +01:00
drm_panel.h drm/panel: Fix kernel-doc typo for follower_lock 2023-08-03 10:21:27 +02:00
drm_pciids.h drm: Remove some obsolete drm pciids(tdfx, mga, i810, savage, r128, sis, via) 2023-01-13 09:44:56 +01:00
drm_plane_helper.h drm/plane-helper: Add the missing declaration of drm_atomic_state 2022-12-16 10:23:11 +01:00
drm_plane.h drm/atomic: Add support for mouse hotspots 2023-11-24 11:57:56 +01:00
drm_prime.h drm/prime: Unexport helpers for fd/handle conversion 2023-06-26 11:08:46 +02:00
drm_print.h drm/print: Handle NULL drm device in __drm_printk() 2023-11-19 22:14:25 -05:00
drm_privacy_screen_consumer.h
drm_privacy_screen_driver.h
drm_privacy_screen_machine.h
drm_probe_helper.h drm: Add an HPD poll helper to reschedule the poll work 2023-08-23 17:14:37 -04:00
drm_property.h
drm_rect.h
drm_self_refresh_helper.h
drm_simple_kms_helper.h drm/simple-kms: Remove drm_gem_simple_display_pipe_prepare_fb() 2022-12-05 13:35:37 +01:00
drm_suballoc.h drm/suballoc: Extract amdgpu_sa.c as generic suballocation helper 2023-03-01 17:18:19 +01:00
drm_syncobj.h drm/syncobj: add IOCTL to register an eventfd 2023-07-20 12:01:03 +02:00
drm_sysfs.h drm/sysfs: rename drm_sysfs_connector_status_event() 2023-06-23 15:54:00 +02:00
drm_util.h
drm_utils.h
drm_vblank_work.h
drm_vblank.h drm/vblank: Add helper to get next vblank time 2023-03-28 14:52:59 -07:00
drm_vma_manager.h drm/drm_vma_manager: Add drm_vma_node_allow_once() 2023-01-19 14:16:55 +01:00
drm_writeback.h
gma_drm.h
gpu_scheduler.h Merge drm/drm-next into drm-misc-next 2023-11-15 10:56:44 +01:00
gud.h
i915_component.h drm/i915/mtl: Define GSC Proxy component interface 2023-05-04 02:57:28 -07:00
i915_drm.h drm/i915_drm.h: fix a typo 2023-06-02 20:05:45 +03:00
i915_gsc_proxy_mei_interface.h drm/i915/mtl: Define GSC Proxy component interface 2023-05-04 02:57:28 -07:00
i915_hdcp_interface.h drm/i915/hdcp: Move away from master naming to arbiter 2023-05-31 10:22:13 +05:30
i915_pciids.h drm/i915: Add new DG2 PCI IDs 2023-10-12 10:48:15 -07:00
i915_pxp_tee_interface.h mei: update mei-pxp's component interface with timeouts 2023-10-18 10:01:33 +02:00
intel_lpe_audio.h
intel-gtt.h
spsc_queue.h
task_barrier.h drm: Spelling s/randevouz/rendez-vous/ 2023-07-29 21:11:54 +02:00