mirror-linux/include/drm
Cristian Ciocaltea 4c684596cd drm: Add CRTC background color property
Some display controllers can be hardware programmed to show non-black
colors for pixels that are either not covered by any plane or are
exposed through transparent regions of higher planes.  This feature can
help reduce memory bandwidth usage, e.g. in compositors managing a UI
with a solid background color while using smaller planes to render the
remaining content.

To support this capability, introduce the BACKGROUND_COLOR standard DRM
mode property, which can be attached to a CRTC through the
drm_crtc_attach_background_color_property() helper function.

Additionally, define a 64-bit ARGB format value to be built with the
help of a couple of dedicated DRM_ARGB64_PREP*() helpers.  Individual
color components can be extracted with desired precision using the
corresponding DRM_ARGB64_GET*() macros.

Co-developed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Tested-by: Diederik de Haas <diederik@cknow-tech.com>
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Link: https://patch.msgid.link/20260303-rk3588-bgcolor-v8-2-fee377037ad1@collabora.com
Signed-off-by: Daniel Stone <daniels@collabora.com>
2026-03-18 09:59:57 +00:00
..
amd drm/amd/amdgpu: Add helper functions for isp buffers 2025-07-16 16:17:35 -04:00
bridge drm/bridge: synopsys: dw-dp: Set pixel mode by platform data 2026-02-21 23:13:39 +01:00
clients
display drm/dp: Add definition for Panel Replay full-line granularity 2026-03-04 15:26:08 +02:00
intel Merge tag 'drm-xe-next-2026-03-02' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-next 2026-03-03 10:37:29 +10:00
ttm drm/ttm: rework pipelined eviction fence handling 2025-11-26 13:12:23 +01:00
Makefile kbuild: Let kernel-doc.py use PYTHON3 override 2025-11-08 19:42:22 -07:00
amd_asic_type.h
drm_accel.h drm: move drm based debugfs funcs to drm_debugfs.c 2025-07-04 15:58:22 +02:00
drm_atomic.h drm/atomic: Add new atomic_create_state callback to drm_private_obj 2026-02-10 10:05:33 +01:00
drm_atomic_helper.h drm/atomic-helper: Export and namespace some functions 2026-01-03 20:08:17 +01:00
drm_atomic_state_helper.h drm/atomic-helper: Add private_obj atomic_create_state helper 2026-02-10 10:05:39 +01:00
drm_atomic_uapi.h drm/plane: Add COLOR PIPELINE property 2025-11-26 23:03:32 +01:00
drm_audio_component.h
drm_auth.h
drm_blend.h drm: Add CRTC background color property 2026-03-18 09:59:57 +00:00
drm_bridge.h Linux 6.19-rc7 2026-01-28 12:44:28 +10:00
drm_bridge_connector.h
drm_bridge_helper.h drm/bridge: Add helper to reset bridge pipeline 2025-03-20 14:45:48 +01:00
drm_buddy.h gpu: Move DRM buddy allocator one level up (part two) 2026-02-06 11:38:35 +10:00
drm_cache.h
drm_client.h drm/client: Export drm_client_buffer_create() 2026-03-03 09:28:31 +01:00
drm_client_event.h drm/client: Pass force parameter to client restore 2025-11-25 08:43:46 +01:00
drm_color_mgmt.h drm: Add helper to extract lut from struct drm_color_lut32 2025-11-26 23:03:35 +01:00
drm_colorop.h drm: Allow driver-managed destruction of colorop objects 2026-02-10 11:03:02 +05:30
drm_connector.h drm/connector: Add a new 'panel_type' property 2026-01-27 12:57:24 -06:00
drm_crtc.h drm: Add CRTC background color property 2026-03-18 09:59:57 +00:00
drm_crtc_helper.h
drm_damage_helper.h drm/damage-helper: add const qualifier in drm_atomic_helper_damage_merged() 2025-03-03 14:45:40 +02:00
drm_debugfs.h drm: add debugfs support on per client-id basis 2025-07-04 15:59:06 +02:00
drm_debugfs_crc.h
drm_device.h drm/gem: Add huge tmpfs mountpoint helpers 2025-12-08 10:52:47 +01:00
drm_drv.h drm: move drm based debugfs funcs to drm_debugfs.c 2025-07-04 15:58:22 +02:00
drm_dumb_buffers.h drm/dumb-buffers: Provide helper to set pitch and size 2025-09-29 13:57:43 +02:00
drm_edid.h drm/edid: add DRM_EDID_IDENT_INIT() to initialize struct drm_edid_ident 2025-11-04 14:49:21 +02:00
drm_eld.h
drm_encoder.h
drm_exec.h
drm_fb_dma_helper.h
drm_fb_helper.h drm/fbdev-emulation: Remove empty placeholders 2026-02-06 09:28:44 +01:00
drm_fbdev_dma.h
drm_fbdev_shmem.h
drm_fbdev_ttm.h
drm_file.h drm/syncobj: Convert syncobj idr to xarray 2025-12-18 09:05:30 +00:00
drm_fixed.h drm: Add helper for conversion from signed-magnitude 2025-11-26 22:16:13 +01:00
drm_flip_work.h
drm_format_helper.h drm/format-helper: Remove drm_fb_blit() 2025-09-23 15:06:06 +02:00
drm_fourcc.h drm: Pass pixel_format+modifier directly to drm_get_format_info() 2025-07-16 20:01:13 +03:00
drm_framebuffer.h drm/framebuffer: Acquire internal references on GEM handles 2025-07-09 14:03:28 +02:00
drm_gem.h drm/gem: Fix kerneldoc warnings 2025-12-18 11:08:21 +01:00
drm_gem_atomic_helper.h
drm_gem_dma_helper.h
drm_gem_framebuffer_helper.h drm/gem/afbc: Eliminate redundant drm_get_format_info() 2025-07-16 20:06:22 +03:00
drm_gem_shmem_helper.h drm/tests: shmem: Hold reservation lock around purge 2025-12-21 18:21:36 +01:00
drm_gem_ttm_helper.h
drm_gem_vram_helper.h drm/gem-vram: Un-export pin helpers 2025-05-30 09:47:28 +02:00
drm_gpusvm.h drm/gpusvm: Introduce a function to scan the current migration state 2025-12-23 10:00:48 +01:00
drm_gpuvm.h drm/gpuvm: use const for drm_gpuva_op_* ptrs 2026-01-08 18:06:56 +01:00
drm_ioctl.h
drm_kunit_helpers.h Merge tag 'drm-misc-next-2025-04-09' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next 2025-04-14 15:29:49 +10:00
drm_lease.h
drm_managed.h drm: Simplify drmm_alloc_ordered_workqueue return 2025-07-03 10:14:56 -07:00
drm_mipi_dbi.h
drm_mipi_dsi.h drm: Add MIPI read_multi func and two write macros 2025-08-14 15:42:26 -07:00
drm_mm.h drm/mm: replace drm_print.h include with a forward declaration 2025-10-31 10:34:56 +02:00
drm_mode_config.h drm: Add CRTC background color property 2026-03-18 09:59:57 +00:00
drm_mode_object.h drm/mode_object: add drm_object_immutable_property_get_value() 2026-01-14 02:18:31 +02:00
drm_modes.h
drm_modeset_helper.h drm: Allow the caller to pass in the format info to drm_helper_mode_fill_fb_struct() 2025-07-16 20:04:45 +03:00
drm_modeset_helper_vtables.h drm/fbdev-helper: Remove drm_fb_helper_debug_enter/_leave() 2025-12-02 09:20:40 +01:00
drm_modeset_lock.h
drm_module.h
drm_of.h drm: of: drm_of_panel_bridge_remove(): convert to of_drm_find_and_get_bridge() 2026-01-20 14:53:45 +01:00
drm_pagemap.h drm/pagemap: pass pagemap_addr by reference 2026-02-17 19:39:44 -05:00
drm_pagemap_util.h drm/pagemap_util: Add a utility to assign an owner to a set of interconnected gpus 2025-12-23 10:00:47 +01:00
drm_panel.h drm/panel: Allow powering on panel follower after panel is enabled 2025-08-25 09:17:49 -07:00
drm_panic.h drm/panic: Add a private field to struct drm_scanout_buffer 2025-06-27 11:48:22 +02:00
drm_pciids.h
drm_plane.h drm/plane: Add COLOR PIPELINE property 2025-11-26 23:03:32 +01:00
drm_plane_helper.h
drm_prime.h drm/shmem-helper: Import dmabuf without mapping its sg_table 2025-06-03 09:21:01 +02:00
drm_print.h drm/print: Add drm_coredump_printer_is_full 2025-04-24 15:51:41 -07:00
drm_privacy_screen_consumer.h
drm_privacy_screen_driver.h
drm_privacy_screen_machine.h
drm_probe_helper.h drm/probe-helper: Do not fail from drmm_kms_helper_poll_init() 2025-03-24 09:31:03 +01:00
drm_property.h drm/atomic: add max_size check to drm_property_replace_blob_from_id() 2026-01-14 02:18:31 +02:00
drm_rect.h
drm_self_refresh_helper.h
drm_simple_kms_helper.h
drm_suballoc.h drm/sa: Split drm_suballoc_new() into SA alloc and init helpers 2026-02-20 10:54:02 -08:00
drm_syncobj.h
drm_sysfs.h
drm_util.h drm: Move for_each_if() to util_macros.h for wider use 2025-02-17 14:27:35 +01:00
drm_utils.h drm: panel-backlight-quirks: Add brightness mask quirk 2025-09-03 10:23:01 -05:00
drm_vblank.h drm/vblank: add return value to drm_crtc_wait_one_vblank() 2025-12-11 16:55:36 +02:00
drm_vblank_helper.h drm/vblank: Add CRTC helpers for simple use cases 2025-10-01 08:32:00 +02:00
drm_vblank_work.h
drm_vma_manager.h
drm_writeback.h
gpu_scheduler.h drm/sched: Add pending job list iterator 2025-12-13 00:34:21 -08:00
gud.h
spsc_queue.h drm/sched: Increment job count before swapping tail spsc queue 2025-07-01 16:14:47 -07:00
task_barrier.h