lkml.org 
[lkml]   [2023]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[RFC PATCH v2 06/18] drm/drm_color_mgmt: set first lut3d mode as default
Date
Signed-off-by: Melissa Wen <mwen@igalia.com>
---
drivers/gpu/drm/drm_color_mgmt.c | 18 ++++++++++++++++--
include/drm/drm_color_mgmt.h | 3 ++-
2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/drm_color_mgmt.c b/drivers/gpu/drm/drm_color_mgmt.c
index 06503f693ecd..d6283f049881 100644
--- a/drivers/gpu/drm/drm_color_mgmt.c
+++ b/drivers/gpu/drm/drm_color_mgmt.c
@@ -280,18 +280,32 @@ EXPORT_SYMBOL(drm_crtc_create_lut3d_mode_property);
* therefore optional.
*/
void drm_crtc_enable_lut3d(struct drm_crtc *crtc,
- uint shaper_lut_size)
+ uint shaper_lut_size,
+ bool first_value_as_default)
{
struct drm_device *dev = crtc->dev;
struct drm_mode_config *config = &dev->mode_config;
+ struct drm_property_enum *prop;
+ uint init_value = 0;

if (!config->lut3d_mode_property)
return;

drm_object_attach_property(&crtc->base,
config->lut3d_property, 0);
+
+ if (first_value_as_default) {
+ prop = list_first_entry_or_null(&config->lut3d_mode_property->enum_list,
+ typeof(*prop), head);
+ init_value = prop ? prop->value : 0;
+ }
+
drm_object_attach_property(&crtc->base,
- config->lut3d_mode_property, 0);
+ config->lut3d_mode_property,
+ init_value);
+
+ if (crtc->state && prop)
+ crtc->state->lut3d_mode = init_value;

if (!shaper_lut_size)
return;
diff --git a/include/drm/drm_color_mgmt.h b/include/drm/drm_color_mgmt.h
index db2026dc825e..d13e99e2e877 100644
--- a/include/drm/drm_color_mgmt.h
+++ b/include/drm/drm_color_mgmt.h
@@ -64,7 +64,8 @@ int drm_crtc_create_lut3d_mode_property(struct drm_crtc *crtc,
unsigned int num_modes);

void drm_crtc_enable_lut3d(struct drm_crtc *crtc,
- uint shaper_lut_size);
+ uint shaper_lut_size,
+ bool first_value_as_default);

int drm_mode_crtc_set_gamma_size(struct drm_crtc *crtc,
int gamma_size);
--
2.35.1
\
 
 \ /
  Last update: 2023-03-26 23:33    [W:0.165 / U:1.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site