]> Git Repo - linux.git/blobdiff - drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
Merge tag 'mm-hotfixes-stable-2024-01-12-16-52' of git://git.kernel.org/pub/scm/linux...
[linux.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_mode.h
index 981a2eb252570032d12b91db86efe32dbebe21a1..2e4911050cc5ec8e34213553c42681f5f87ac2d1 100644 (file)
@@ -32,7 +32,6 @@
 
 #include <drm/display/drm_dp_helper.h>
 #include <drm/drm_crtc.h>
-#include <drm/drm_edid.h>
 #include <drm/drm_encoder.h>
 #include <drm/drm_fixed.h>
 #include <drm/drm_framebuffer.h>
@@ -51,6 +50,7 @@ struct amdgpu_device;
 struct amdgpu_encoder;
 struct amdgpu_router;
 struct amdgpu_hpd;
+struct edid;
 
 #define to_amdgpu_crtc(x) container_of(x, struct amdgpu_crtc, base)
 #define to_amdgpu_connector(x) container_of(x, struct amdgpu_connector, base)
@@ -364,6 +364,8 @@ struct amdgpu_mode_info {
         * @plane_hdr_mult_property:
         */
        struct drm_property *plane_hdr_mult_property;
+
+       struct drm_property *plane_ctm_property;
        /**
         * @shaper_lut_property: Plane property to set pre-blending shaper LUT
         * that converts color content before 3D LUT. If
@@ -403,6 +405,35 @@ struct amdgpu_mode_info {
         * entries for 3D LUT array is the 3D LUT size cubed;
         */
        struct drm_property *plane_lut3d_size_property;
+       /**
+        * @plane_blend_lut_property: Plane property for output gamma before
+        * blending. Userspace set a blend LUT to convert colors after 3D LUT
+        * conversion. It works as a post-3DLUT 1D LUT. With shaper LUT, they
+        * are sandwiching 3D LUT with two 1D LUT. If plane_blend_tf_property
+        * != Identity TF, AMD color module will combine the user LUT values
+        * with pre-defined TF into the LUT parameters to be programmed.
+        */
+       struct drm_property *plane_blend_lut_property;
+       /**
+        * @plane_blend_lut_size_property: Plane property to define the max
+        * size of blend LUT as supported by the driver (read-only).
+        */
+       struct drm_property *plane_blend_lut_size_property;
+       /**
+        * @plane_blend_tf_property: Plane property to set a predefined
+        * transfer function for pre-blending blend/out_gamma (after applying
+        * 3D LUT) with or without LUT. There is no blend ROM, but we can use
+        * AMD color modules to program LUT parameters from predefined TF (or
+        * from a combination of pre-defined TF and the custom 1D LUT).
+        */
+       struct drm_property *plane_blend_tf_property;
+       /* @regamma_tf_property: Transfer function for CRTC regamma
+        * (post-blending). Possible values are defined by `enum
+        * amdgpu_transfer_function`. There is no regamma ROM, but we can use
+        * AMD color modules to program LUT parameters from predefined TF (or
+        * from a combination of pre-defined TF and the custom 1D LUT).
+        */
+       struct drm_property *regamma_tf_property;
 };
 
 #define AMDGPU_MAX_BL_LEVEL 0xFF
This page took 0.039377 seconds and 4 git commands to generate.