diff --git a/include/uapi/display/drm/msm_drm_pp.h b/include/uapi/display/drm/msm_drm_pp.h index 2db4ed2eaa..1d410efcb1 100644 --- a/include/uapi/display/drm/msm_drm_pp.h +++ b/include/uapi/display/drm/msm_drm_pp.h @@ -593,6 +593,62 @@ struct drm_msm_spr_init_cfg { int cfg17[SPR_INIT_PARAM_SIZE_4]; }; +#define FEATURE_DEM +#define CFG0_PARAM_LEN 8 +#define CFG1_PARAM_LEN 8 +#define CFG1_PARAM0_LEN 153 +#define CFG0_PARAM2_LEN 256 +#define CFG5_PARAM01_LEN 4 +#define CFG3_PARAM01_LEN 4 + +struct drm_msm_dem_cfg { + __u64 flags; + __u32 pentile; + __u32 cfg0_en; + __u32 cfg0_param0_len; + __u32 cfg0_param0[CFG0_PARAM_LEN]; + __u32 cfg0_param1_len; + __u32 cfg0_param1[CFG0_PARAM_LEN]; + __u32 cfg0_param2_len; + __u64 cfg0_param2_c0[CFG0_PARAM2_LEN]; + __u64 cfg0_param2_c1[CFG0_PARAM2_LEN]; + __u64 cfg0_param2_c2[CFG0_PARAM2_LEN]; + __u32 cfg0_param3_len; + __u32 cfg0_param3_c0[CFG0_PARAM_LEN]; + __u32 cfg0_param3_c1[CFG0_PARAM_LEN]; + __u32 cfg0_param3_c2[CFG0_PARAM_LEN]; + __u32 cfg0_param4_len; + __u32 cfg0_param4[CFG0_PARAM_LEN]; + + __u32 cfg1_en; + __u32 cfg1_high_idx; + __u32 cfg1_low_idx; + __u32 cfg01_param0_len; + __u32 cfg01_param0[CFG1_PARAM_LEN]; + __u32 cfg1_param0_len; + __u32 cfg1_param0_c0[CFG1_PARAM0_LEN]; + __u32 cfg1_param0_c1[CFG1_PARAM0_LEN]; + __u32 cfg1_param0_c2[CFG1_PARAM0_LEN]; + + __u32 cfg2_en; + __u32 cfg3_en; + __u32 cfg3_param0_len; + __u32 cfg3_param0_a[CFG3_PARAM01_LEN]; + __u32 cfg3_param0_b[CFG3_PARAM01_LEN]; + __u32 cfg3_ab_adj; + __u32 cfg4_en; + __u32 cfg5_en; + __u32 cfg5_param0_len; + __u32 cfg5_param0[CFG5_PARAM01_LEN]; + __u32 cfg5_param1_len; + __u32 cfg5_param1[CFG5_PARAM01_LEN]; + + __u32 c0_depth; + __u32 c1_depth; + __u32 c2_depth; + __u32 src_id; +}; + /** * struct drm_msm_ad4_manual_str_cfg - ad4 manual strength config set * by user-space client. diff --git a/include/uapi/display/drm/sde_drm.h b/include/uapi/display/drm/sde_drm.h index f9850594d6..62aac72ca6 100644 --- a/include/uapi/display/drm/sde_drm.h +++ b/include/uapi/display/drm/sde_drm.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ /* - * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved. + * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. */ #ifndef _SDE_DRM_H_ @@ -59,12 +59,14 @@ extern "C" { * less than 0xff, apply modulation as well. * @SDE_DRM_BLEND_OP_MAX: Used to track maximum blend operation * possible by mdp. + * @SDE_DRM_BLEND_OP_SKIP: Skip staging the layer in the layer mixer. */ #define SDE_DRM_BLEND_OP_NOT_DEFINED 0 #define SDE_DRM_BLEND_OP_OPAQUE 1 #define SDE_DRM_BLEND_OP_PREMULTIPLIED 2 #define SDE_DRM_BLEND_OP_COVERAGE 3 #define SDE_DRM_BLEND_OP_MAX 4 +#define SDE_DRM_BLEND_OP_SKIP 5 /** * Bit masks for "src_config" property