linux/include/drm
Thomas Zimmermann 966a0d49d1 drm/ast: cursor: Move format conversion to shared helper
User-space cursor-image data is encoded in ARBG8888, while hardware
supports ARGB4444. Implement the format conversion as part of the
format-helper framework, so that other drivers can benefit.

This allows to respect the damage area of the cursor update. In
previous code, all cursor image data had to be converted on each
update. Now, only the changed areas require an update. The hardware
image is always updated completely, as it is required for the
checksum update.

The format-conversion helper still contains the old implementation's
optimization of writing 2 output pixels at the same time.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250217122336.230067-3-tzimmermann@suse.de
History 2025-02-20 08:38:33 +01:00
..
bridge drm/bridge/synopsys: Add MIPI DSI2 host controller bridge 2024-12-10 23:53:04 +01:00
clients drm/client: Move public client header to clients/ subdirectory 2024-11-15 09:42:13 +01:00
display Merge drm/drm-next into drm-misc-next 2025-02-06 13:47:32 +01:00
intel Driver Changes: 2025-01-13 11:07:40 +10:00
ttm Merge drm/drm-next into drm-misc-next 2025-02-06 13:47:32 +01:00
amd_asic_type.h drm/amdgpu: make amd_asic_type.h self-contained 2024-03-07 17:17:25 +02:00
drm_accel.h drm next for 6.12-rc1 2024-09-19 10:18:15 +02:00
drm_atomic.h drm/atomic: Document history of drm_atomic_state 2025-02-19 16:59:10 +01:00
drm_atomic_helper.h drm/atomic-helper: Introduce drm_atomic_helper_reset_crtc() 2025-02-13 16:17:46 +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: handle kernel fences in drm_gem_plane_helper_prepare_fb v2 2022-05-02 09:01:51 +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: Remove source code for non-KMS drivers 2023-12-06 10:08:37 +01:00
drm_blend.h Revert "drm: Introduce pixel_source DRM plane property" 2023-12-04 21:33:10 +02:00
drm_bridge.h drm/bridge: Pass full state to atomic_post_disable 2025-02-19 16:59:13 +01:00
drm_bridge_connector.h drm/bridge_connector: drop drm_bridge_connector_en/disable_hpd() 2023-01-05 15:08:10 +01:00
drm_buddy.h drm/buddy: Add start address support to trim function 2024-08-07 18:19:00 -04:00
drm_cache.h LoongArch: Add writecombine support for drm 2022-06-03 20:09:27 +08:00
drm_client.h drm/client: Make client support optional 2024-10-18 09:23:03 +02:00
drm_client_event.h drm/client: include types.h to make drm_client_event.h self-contained 2025-02-12 10:44:43 +02:00
drm_color_mgmt.h drm: using mul_u32_u32() requires linux/math64.h 2023-12-19 15:29:17 +02:00
drm_connector.h drm/display/hdmi: implement hotplug functions 2025-01-04 08:47:11 +02:00
drm_crtc.h drm: add clone mode check for CRTC 2025-01-08 01:39:58 +02: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_damage_helper.h drm/plane: Move drm_plane_enable_fb_damage_clips into core 2021-07-27 12:21:22 +02:00
drm_debugfs.h drm/gpuvm: rename struct drm_gpuva_manager to struct drm_gpuvm 2023-09-26 01:51:28 +02:00
drm_debugfs_crc.h drm/crc: make drm_debugfs_crc.h self-contained and fix kernel-doc 2024-03-07 17:17:25 +02:00
drm_device.h drm: Introduce device wedged event 2025-02-13 12:15:43 -05:00
drm_drv.h drm: Introduce device wedged event 2025-02-13 12:15:43 -05:00
drm_edid.h drm/edid: make drm_edid_block_valid() static 2024-08-14 12:16:34 +03: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.h drm/encoder: register per-encoder debugfs dir 2023-12-04 16:07:29 +02:00
drm_exec.h Merge drm/drm-next into drm-misc-next 2024-01-29 14:20:23 +01:00
drm_fb_dma_helper.h drm/fb_dma: s/drm_panic_gem_get_scanout_buffer/drm_fb_dma_get_scanout_buffer 2024-04-15 13:50:40 -03:00
drm_fb_helper.h drm/fbdev: fix drm_fb_helper_deferred_io() build failure 2024-10-22 10:46:28 +02:00
drm_fbdev_dma.h drm/fbdev-dma: Remove obsolete setup function 2024-09-26 09:31:27 +02:00
drm_fbdev_shmem.h drm/fbdev-shmem: Remove obsolete setup function 2024-09-26 09:31:28 +02:00
drm_fbdev_ttm.h drm/fbdev-ttm: Remove obsolete setup function 2024-09-26 09:31:29 +02:00
drm_file.h drm/file: Add fdinfo helper for printing regions with prefix 2025-02-07 15:23:36 +01:00
drm_fixed.h drm: fixed: Don't use "proxy" headers 2024-08-13 12:13:45 +03:00
drm_flip_work.h drm: Fix flip-task docs 2023-11-14 10:23:12 +01:00
drm_format_helper.h drm/ast: cursor: Move format conversion to shared helper 2025-02-20 08:38:33 +01:00
drm_fourcc.h drm/fbdev-helper: Move color-mode lookup into 4CC format helper 2024-09-26 08:27:49 +02:00
drm_framebuffer.h drm: Remove legacy cursor hotspot code 2023-11-24 11:58:02 +01:00
drm_gem.h drm: make drm-active- stats optional 2024-12-19 16:56:17 +01: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 fs: move FMODE_UNSIGNED_OFFSET to fop_flags 2024-08-30 08:22:36 +02:00
drm_gem_framebuffer_helper.h drm/gem: Ignore color planes that are unused by framebuffer format 2022-05-19 19:25:02 +02:00
drm_gem_shmem_helper.h drm/gem: Create shmem GEM object in a given mountpoint 2024-09-25 08:40:22 -03: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/gem-vram: Remove support for simple display pipelines 2024-09-06 14:41:38 +02:00
drm_gpuvm.h Merge drm/drm-next into drm-misc-next 2024-01-29 14:20:23 +01:00
drm_ioctl.h drm: Remove locking for legacy ioctls and DRM_UNLOCKED 2023-12-06 10:08:32 +01:00
drm_kunit_helpers.h drm/tests: helpers: Add helper for drm_display_mode_from_cea_vic() 2024-10-31 10:31:34 +01:00
drm_lease.h drm/lease: make drm_lease.h self-contained 2024-03-07 17:17:25 +02:00
drm_managed.h drm/managed: Add DRM-managed alloc_ordered_workqueue 2025-01-21 10:32:31 +01:00
drm_mipi_dbi.h drm/mipi-dbi: Add support for DRM_FORMAT_RGB888 2024-06-07 16:09:05 +02:00
drm_mipi_dsi.h drm/mipi-dsi: add mipi_dsi_compression_mode_multi 2024-10-09 09:49:44 +02:00
drm_mm.h drm/mm: Remove unused drm_mm_replace_node 2024-06-06 10:24:13 -04:00
drm_mode_config.h drm: Remove struct drm_mode_config_funcs.output_poll_changed 2024-08-13 16:21:13 +02:00
drm_mode_object.h drm/drm_mode_object: fix typo in kerneldoc 2025-02-04 14:11:14 +01:00
drm_modes.h drm: Move drm_set_preferred_mode() helper from drm_edid to drm_modes 2024-01-05 21:14:46 +01:00
drm_modeset_helper.h drm: remove drmP.h from drm_modeset_helper.h 2019-02-07 21:48:34 +01:00
drm_modeset_helper_vtables.h drm/atomic: Let drivers decide which planes to async flip 2025-02-14 00:54:29 +02:00
drm_modeset_lock.h drm/locking: fix drm_modeset_acquire_ctx kernel-doc 2022-01-20 14:41:25 +02:00
drm_module.h drm: Provide platform module-init macro 2022-01-19 18:40:18 +01:00
drm_of.h drm: of: Add drm_of_lvds_get_dual_link_pixel_order_sink() 2024-11-05 13:26:42 +02:00
drm_panel.h drm/panel: remove unnecessary forward declaration 2025-02-10 16:48:41 +01:00
drm_panic.h drm/panic: Fix uninitialized spinlock acquisition with CONFIG_DRM_PANIC=n 2024-09-16 19:03:29 -04: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.h drm: Export drm_plane_has_format() 2024-06-24 17:08:53 +03:00
drm_plane_helper.h drm/plane-helper: Move drm_plane_helper_atomic_check() into udl 2023-12-06 10:35:49 +01:00
drm_prime.h drm: new helper: drm_gem_prime_handle_to_dmabuf() 2024-09-10 13:44:30 -04:00
drm_print.h Merge remote-tracking branch 'drm-misc/drm-misc-next-fixes' into drm-misc-fixes 2025-02-06 09:59:35 +01:00
drm_privacy_screen_consumer.h drm/privacy-screen: Add notifier support (v2) 2021-10-14 13:12:25 +02:00
drm_privacy_screen_driver.h drm/privacy_screen: Add drvdata in drm_privacy_screen 2022-01-10 12:17:37 +01:00
drm_privacy_screen_machine.h drm/privacy-screen: Add X86 specific arch init code 2021-10-14 13:12:24 +02:00
drm_probe_helper.h drm/ast: Automatically clean up poll helper 2024-04-02 10:40:52 +02:00
drm_property.h drm/drm_property: make replace_property_blob_from_id a DRM helper 2023-12-13 15:09:53 -05:00
drm_rect.h drm/rect: Add drm_rect_overlap() 2024-08-23 16:47:56 +02:00
drm_self_refresh_helper.h drm/atomic: fix self-refresh helpers crtc state dereference 2019-11-06 13:00:21 -05:00
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: fix drm_suballoc.h kernel-doc 2024-03-07 17:17:25 +02: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: Move EXPORT_SYMBOL_FOR_TESTS_ONLY under a separate Kconfig 2019-11-07 21:22:15 +00:00
drm_utils.h drm: Add panel backlight quirks 2024-11-21 09:28:11 -06:00
drm_vblank.h drm/vblank: add dynamic per-crtc vblank configuration support 2024-07-26 17:40:10 -04:00
drm_vblank_work.h drm: Add drm_vblank_work_flush_all(). 2024-06-24 18:03:18 +02: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 drm: writeback: Create drmm variants for drm_writeback_connector initialization 2025-01-21 10:32:33 +01:00
gpu_scheduler.h drm/sched: Use struct for drm_sched_init() params 2025-02-12 11:59:52 +01:00
gud.h drm/gud: Add GUD_PIXEL_FORMAT_RGB888 2021-10-04 12:06:14 +02:00
Makefile drm: ensure drm headers are self-contained and pass kernel-doc 2025-02-12 10:44:43 +02:00
spsc_queue.h drm: move amd_gpu_scheduler into common location 2017-12-07 11:51:56 -05:00
task_barrier.h drm: Spelling s/randevouz/rendez-vous/ 2023-07-29 21:11:54 +02:00