disp: msm: add support for seamless dsc switch

This change adds logic to determine dsc switch based on
the connector property "CONNECTOR_PROP_DSC_MODE" and
performs seamless DSC switch if there is any change in
DSC configuration. The connector property is populated
in msm_sub_mode based on which suitable mode is selected.

Change-Id: Ifc4931f16dfb814781bc1d72b103e09103e6bfee
Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
This commit is contained in:
Yashwanth
2021-04-26 13:37:48 +05:30
committed by Gerrit - the friendly Code Review server
부모 ffc7cdbe08
커밋 7e03fb61fd
17개의 변경된 파일156개의 추가작업 그리고 36개의 파일을 삭제

파일 보기

@@ -226,6 +226,7 @@ enum msm_mdp_conn_property {
CONNECTOR_PROP_CMD_FRAME_TRIGGER_MODE,
CONNECTOR_PROP_SET_PANEL_MODE,
CONNECTOR_PROP_AVR_STEP,
CONNECTOR_PROP_DSC_MODE,
/* total # of properties */
CONNECTOR_PROP_COUNT
@@ -307,6 +308,18 @@ enum panel_op_mode {
MSM_DISPLAY_MODE_MAX = BIT(2)
};
/**
* enum msm_display_dsc_mode - panel dsc mode
* @MSM_DISPLAY_DSC_MODE_NONE: No operation
* @MSM_DISPLAY_DSC_MODE_ENABLED: DSC is enabled
* @MSM_DISPLAY_DSC_MODE_DISABLED: DSC is disabled
*/
enum msm_display_dsc_mode {
MSM_DISPLAY_DSC_MODE_NONE,
MSM_DISPLAY_DSC_MODE_ENABLED,
MSM_DISPLAY_DSC_MODE_DISABLED,
};
/**
* struct msm_display_mode - wrapper for drm_display_mode
* @base: drm_display_mode attached to this msm_mode
@@ -319,6 +332,14 @@ struct msm_display_mode {
u32 *private;
};
/**
* struct msm_sub_mode - msm display sub mode
* @dsc_enabled: boolean used to indicate if dsc should be enabled
*/
struct msm_sub_mode {
enum msm_display_dsc_mode dsc_mode;
};
/**
* struct msm_ratio - integer ratio
* @numer: numerator