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:
@@ -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_ */
|
||||
|
مرجع در شماره جدید
Block a user