Merge "disp: msm: sde: add support for 45deg dir & corner detection"

Esse commit está contido em:
qctecmdr
2022-10-27 14:20:17 -07:00
commit de Gerrit - the friendly Code Review server
4 arquivos alterados com 15 adições e 0 exclusões

Ver arquivo

@@ -268,6 +268,7 @@ struct sde_drm_de_v1 {
#define SDE_DRM_QSEED3LITE
#define SDE_DRM_QSEED4
#define SDE_DRM_INLINE_PREDOWNSCALE
#define SDE_DRM_QSEED6
/**
* struct sde_drm_scaler_v2 - version 2 of struct sde_drm_scaler
@@ -309,6 +310,8 @@ struct sde_drm_de_v1 {
* @de_lpf_h: Detail enhancer lpf blend high
* @de_lpf_l: Detail enhancer lpf blend low
* @de_lpf_m: Detail enhancer lpf blend medium
* @dir45_en: 45/-45 degree direction filtering enable
* @cor_en: corner enhancer enable
*/
struct sde_drm_scaler_v2 {
/*
@@ -379,6 +382,8 @@ struct sde_drm_scaler_v2 {
__u32 de_lpf_h;
__u32 de_lpf_l;
__u32 de_lpf_m;
__u32 dir45_en;
__u32 cor_en;
};
/* Number of dest scalers supported */

Ver arquivo

@@ -3392,6 +3392,8 @@ void reg_dmav1_setup_vig_qseed3(struct sde_hw_pipe *ctx,
op_mode |= (scaler3_cfg->blend_cfg & 1) << 31;
op_mode |= (scaler3_cfg->dir_en) ? BIT(4) : 0;
op_mode |= (scaler3_cfg->dir_en && scaler3_cfg->cor_en) ? BIT(5) : 0;
op_mode |= (scaler3_cfg->dir_en && scaler3_cfg->dir45_en) ? BIT(6) : 0;
op_mode |= (scaler3_cfg->dyn_exp_disabled) ? BIT(13) : 0;
preload =

Ver arquivo

@@ -115,6 +115,8 @@ void sde_set_scaler_v2(struct sde_hw_scaler3_cfg *cfg,
cfg->enable = scale_v2->enable;
cfg->dir_en = scale_v2->dir_en;
cfg->dir45_en = scale_v2->dir45_en;
cfg->cor_en = scale_v2->cor_en;
for (i = 0; i < SDE_MAX_PLANES; i++) {
cfg->init_phase_x[i] = scale_v2->init_phase_x[i];
@@ -376,6 +378,8 @@ void sde_hw_setup_scaler3(struct sde_hw_blk_reg_map *c,
op_mode |= (scaler3_cfg->blend_cfg & 1) << 31;
op_mode |= (scaler3_cfg->dir_en) ? BIT(4) : 0;
op_mode |= (scaler3_cfg->dir_en && scaler3_cfg->cor_en) ? BIT(5) : 0;
op_mode |= (scaler3_cfg->dir_en && scaler3_cfg->dir45_en) ? BIT(6) : 0;
op_mode |= (scaler3_cfg->dyn_exp_disabled) ? BIT(13) : 0;
preload =

Ver arquivo

@@ -78,6 +78,8 @@ struct sde_hw_scaler3_de_cfg {
* struct sde_hw_scaler3_cfg : QSEEDv3 configuration
* @enable: scaler enable
* @dir_en: direction detection block enable
* @dir45_en: 45/-45 degree direction filtering block enable
* @cor_en: corner detection block enable
* @ init_phase_x: horizontal initial phase
* @ phase_step_x: horizontal phase step
* @ init_phase_y: vertical initial phase
@@ -118,6 +120,8 @@ struct sde_hw_scaler3_de_cfg {
struct sde_hw_scaler3_cfg {
u32 enable;
u32 dir_en;
u32 dir45_en;
u32 cor_en;
int32_t init_phase_x[SDE_MAX_PLANES];
int32_t phase_step_x[SDE_MAX_PLANES];
int32_t init_phase_y[SDE_MAX_PLANES];