disp: msm: sde: update avr mode config during commit prepare

Add changes to support avr mode config update during
prepare commit which happens before gpu fence wait
for the input buffers.

Change-Id: Ib2cb5b7e1f10501914c003f6cf066b85048f79d4
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
Signed-off-by: Jayaprakash <jmadiset@codeaurora.org>
This commit is contained in:
Jayaprakash
2019-09-26 12:17:07 +05:30
والد 985ffddc71
کامیت aad3dd4525
10فایلهای تغییر یافته به همراه160 افزوده شده و 41 حذف شده

مشاهده پرونده

@@ -7011,21 +7011,11 @@ int dsi_display_pre_kickoff(struct drm_connector *connector,
{
int rc = 0;
int i;
bool enable;
/* check and setup MISR */
if (display->misr_enable)
_dsi_display_setup_misr(display);
if (params->qsync_update) {
enable = (params->qsync_mode > 0) ? true : false;
rc = dsi_display_qsync(display, enable);
if (rc)
DSI_ERR("%s failed to send qsync commands\n",
__func__);
SDE_EVT32(params->qsync_mode, rc);
}
rc = dsi_display_set_roi(display, params->rois);
/* dynamic DSI clock setting */
@@ -7106,6 +7096,29 @@ error_out:
return rc;
}
int dsi_display_pre_commit(void *display,
struct msm_display_conn_params *params)
{
bool enable = false;
int rc = 0;
if (!display || !params) {
pr_err("Invalid params\n");
return -EINVAL;
}
if (params->qsync_update) {
enable = (params->qsync_mode > 0) ? true : false;
rc = dsi_display_qsync(display, enable);
if (rc)
pr_err("%s failed to send qsync commands\n",
__func__);
SDE_EVT32(params->qsync_mode, rc);
}
return rc;
}
int dsi_display_enable(struct dsi_display *display)
{
int rc = 0;

مشاهده پرونده

@@ -679,6 +679,16 @@ int dsi_display_set_power(struct drm_connector *connector,
int dsi_display_pre_kickoff(struct drm_connector *connector,
struct dsi_display *display,
struct msm_display_kickoff_params *params);
/*
* dsi_display_pre_commit - program pre commit features
* @display: Pointer to private display structure
* @params: Parameters for pre commit time programming
* Returns: Zero on success
*/
int dsi_display_pre_commit(void *display,
struct msm_display_conn_params *params);
/**
* dsi_display_get_dst_format() - get dst_format from DSI display
* @connector: Pointer to drm connector structure

مشاهده پرونده

@@ -901,6 +901,17 @@ int dsi_conn_pre_kickoff(struct drm_connector *connector,
return dsi_display_pre_kickoff(connector, display, params);
}
int dsi_conn_prepare_commit(void *display,
struct msm_display_conn_params *params)
{
if (!display || !params) {
pr_err("Invalid params\n");
return -EINVAL;
}
return dsi_display_pre_commit(display, params);
}
void dsi_conn_enable_event(struct drm_connector *connector,
uint32_t event_idx, bool enable, void *display)
{
@@ -916,7 +927,7 @@ void dsi_conn_enable_event(struct drm_connector *connector,
}
int dsi_conn_post_kickoff(struct drm_connector *connector,
struct msm_display_kickoff_params *params)
struct msm_display_conn_params *params)
{
struct drm_encoder *encoder;
struct dsi_bridge *c_bridge;

مشاهده پرونده

@@ -124,7 +124,7 @@ int dsi_conn_pre_kickoff(struct drm_connector *connector,
* Returns: Zero on success
*/
int dsi_conn_post_kickoff(struct drm_connector *connector,
struct msm_display_kickoff_params *params);
struct msm_display_conn_params *params);
/**
* dsi_convert_to_drm_mode - Update drm mode with dsi mode information
@@ -136,4 +136,14 @@ void dsi_convert_to_drm_mode(const struct dsi_display_mode *dsi_mode,
u64 dsi_drm_find_bit_clk_rate(void *display,
const struct drm_display_mode *drm_mode);
/**
* dsi_conn_prepare_commit - program pre commit time features
* @display: Pointer to private display structure
* @params: Parameters for pre commit programming
* Returns: Zero on success
*/
int dsi_conn_prepare_commit(void *display,
struct msm_display_conn_params *params);
#endif /* _DSI_DRM_H_ */