Merge "disp: msm: specify default value for msm enum property"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
1b5e5c1590
@@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#include "msm_prop.h"
|
||||
@@ -203,7 +203,7 @@ void msm_property_install_volatile_range(struct msm_property_info *info,
|
||||
void msm_property_install_enum(struct msm_property_info *info,
|
||||
const char *name, int flags, int is_bitmask,
|
||||
const struct drm_prop_enum_list *values, int num_values,
|
||||
uint32_t property_idx)
|
||||
u32 init_idx, uint32_t property_idx)
|
||||
{
|
||||
struct drm_property **prop;
|
||||
|
||||
@@ -239,10 +239,10 @@ void msm_property_install_enum(struct msm_property_info *info,
|
||||
info->property_data[property_idx].default_value = 0;
|
||||
info->property_data[property_idx].force_dirty = false;
|
||||
|
||||
/* select first defined value for enums */
|
||||
if (!is_bitmask)
|
||||
/* initialize with the given idx if valid */
|
||||
if (!is_bitmask && init_idx && (init_idx < num_values))
|
||||
info->property_data[property_idx].default_value =
|
||||
values->type;
|
||||
values[init_idx].type;
|
||||
|
||||
/* always attach property, if created */
|
||||
if (*prop) {
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _MSM_PROP_H_
|
||||
@@ -250,6 +250,7 @@ void msm_property_install_volatile_range(struct msm_property_info *info,
|
||||
* enumeration one
|
||||
* @values: Array of allowable enumeration/bitmask values
|
||||
* @num_values: Size of values array
|
||||
* @init_idx: index of the values array entry to initialize the property
|
||||
* @property_idx: Property index
|
||||
*/
|
||||
void msm_property_install_enum(struct msm_property_info *info,
|
||||
@@ -258,6 +259,7 @@ void msm_property_install_enum(struct msm_property_info *info,
|
||||
int is_bitmask,
|
||||
const struct drm_prop_enum_list *values,
|
||||
int num_values,
|
||||
u32 init_idx,
|
||||
uint32_t property_idx);
|
||||
|
||||
/**
|
||||
|
@@ -2511,14 +2511,14 @@ static int _sde_connector_install_properties(struct drm_device *dev,
|
||||
if (sde_kms->catalog->has_qsync && display_info->qsync_min_fps)
|
||||
msm_property_install_enum(&c_conn->property_info,
|
||||
"qsync_mode", 0, 0, e_qsync_mode,
|
||||
ARRAY_SIZE(e_qsync_mode),
|
||||
ARRAY_SIZE(e_qsync_mode), 0,
|
||||
CONNECTOR_PROP_QSYNC_MODE);
|
||||
|
||||
if (display_info->capabilities & MSM_DISPLAY_CAP_CMD_MODE)
|
||||
msm_property_install_enum(&c_conn->property_info,
|
||||
"frame_trigger_mode", 0, 0,
|
||||
e_frame_trigger_mode,
|
||||
ARRAY_SIZE(e_frame_trigger_mode),
|
||||
ARRAY_SIZE(e_frame_trigger_mode), 0,
|
||||
CONNECTOR_PROP_CMD_FRAME_TRIGGER_MODE);
|
||||
|
||||
if (sde_kms->catalog->has_demura) {
|
||||
@@ -2554,15 +2554,15 @@ static int _sde_connector_install_properties(struct drm_device *dev,
|
||||
/* enum/bitmask properties */
|
||||
msm_property_install_enum(&c_conn->property_info, "topology_name",
|
||||
DRM_MODE_PROP_IMMUTABLE, 0, e_topology_name,
|
||||
ARRAY_SIZE(e_topology_name),
|
||||
ARRAY_SIZE(e_topology_name), 0,
|
||||
CONNECTOR_PROP_TOPOLOGY_NAME);
|
||||
msm_property_install_enum(&c_conn->property_info, "topology_control",
|
||||
0, 1, e_topology_control,
|
||||
ARRAY_SIZE(e_topology_control),
|
||||
ARRAY_SIZE(e_topology_control), 0,
|
||||
CONNECTOR_PROP_TOPOLOGY_CONTROL);
|
||||
msm_property_install_enum(&c_conn->property_info, "LP",
|
||||
0, 0, e_power_mode,
|
||||
ARRAY_SIZE(e_power_mode),
|
||||
ARRAY_SIZE(e_power_mode), 0,
|
||||
CONNECTOR_PROP_LP);
|
||||
|
||||
return 0;
|
||||
|
@@ -5277,13 +5277,13 @@ static void sde_crtc_install_properties(struct drm_crtc *crtc,
|
||||
if (catalog->has_idle_pc)
|
||||
msm_property_install_enum(&sde_crtc->property_info,
|
||||
"idle_pc_state", 0x0, 0, e_idle_pc_state,
|
||||
ARRAY_SIZE(e_idle_pc_state),
|
||||
ARRAY_SIZE(e_idle_pc_state), 0,
|
||||
CRTC_PROP_IDLE_PC_STATE);
|
||||
|
||||
if (catalog->has_cwb_support)
|
||||
msm_property_install_enum(&sde_crtc->property_info,
|
||||
"capture_mode", 0, 0, e_cwb_data_points,
|
||||
ARRAY_SIZE(e_cwb_data_points),
|
||||
ARRAY_SIZE(e_cwb_data_points), 0,
|
||||
CRTC_PROP_CAPTURE_OUTPUT);
|
||||
|
||||
msm_property_install_volatile_range(&sde_crtc->property_info,
|
||||
@@ -5291,12 +5291,12 @@ static void sde_crtc_install_properties(struct drm_crtc *crtc,
|
||||
|
||||
msm_property_install_enum(&sde_crtc->property_info, "security_level",
|
||||
0x0, 0, e_secure_level,
|
||||
ARRAY_SIZE(e_secure_level),
|
||||
ARRAY_SIZE(e_secure_level), 0,
|
||||
CRTC_PROP_SECURITY_LEVEL);
|
||||
|
||||
msm_property_install_enum(&sde_crtc->property_info, "cache_state",
|
||||
0x0, 0, e_cache_state,
|
||||
ARRAY_SIZE(e_cache_state),
|
||||
ARRAY_SIZE(e_cache_state), 0,
|
||||
CRTC_PROP_CACHE_STATE);
|
||||
|
||||
if (catalog->has_dim_layer) {
|
||||
|
@@ -3715,7 +3715,7 @@ static void _sde_plane_install_properties(struct drm_plane *plane,
|
||||
else
|
||||
msm_property_install_enum(&psde->property_info,
|
||||
"multirect_mode", 0x0, 0, e_multirect_mode,
|
||||
ARRAY_SIZE(e_multirect_mode),
|
||||
ARRAY_SIZE(e_multirect_mode), 0,
|
||||
PLANE_PROP_MULTIRECT_MODE);
|
||||
|
||||
if (psde->features & BIT(SDE_SSPP_EXCL_RECT))
|
||||
@@ -3725,10 +3725,11 @@ static void _sde_plane_install_properties(struct drm_plane *plane,
|
||||
sde_plane_rot_install_properties(plane, catalog);
|
||||
|
||||
msm_property_install_enum(&psde->property_info, "blend_op", 0x0, 0,
|
||||
e_blend_op, ARRAY_SIZE(e_blend_op), PLANE_PROP_BLEND_OP);
|
||||
e_blend_op, ARRAY_SIZE(e_blend_op), 0, PLANE_PROP_BLEND_OP);
|
||||
|
||||
msm_property_install_enum(&psde->property_info, "src_config", 0x0, 1,
|
||||
e_src_config, ARRAY_SIZE(e_src_config), PLANE_PROP_SRC_CONFIG);
|
||||
e_src_config, ARRAY_SIZE(e_src_config), 0,
|
||||
PLANE_PROP_SRC_CONFIG);
|
||||
|
||||
if (psde->pipe_hw->ops.setup_solidfill)
|
||||
msm_property_install_range(&psde->property_info, "color_fill",
|
||||
@@ -3754,7 +3755,7 @@ static void _sde_plane_install_properties(struct drm_plane *plane,
|
||||
|
||||
msm_property_install_enum(&psde->property_info, "fb_translation_mode",
|
||||
0x0, 0, e_fb_translation_mode,
|
||||
ARRAY_SIZE(e_fb_translation_mode),
|
||||
ARRAY_SIZE(e_fb_translation_mode), 0,
|
||||
PLANE_PROP_FB_TRANSLATION_MODE);
|
||||
|
||||
kfree(info);
|
||||
|
@@ -443,7 +443,7 @@ int sde_wb_connector_post_init(struct drm_connector *connector, void *display)
|
||||
"fb_translation_mode",
|
||||
0x0,
|
||||
0, e_fb_translation_mode,
|
||||
ARRAY_SIZE(e_fb_translation_mode),
|
||||
ARRAY_SIZE(e_fb_translation_mode), 0,
|
||||
CONNECTOR_PROP_FB_TRANSLATION_MODE);
|
||||
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user