[Freedreno] [DPU PATCH 1/2] drm/msm/dsi-staging: compile out partial update path
Sean Paul
seanpaul at chromium.org
Mon Feb 26 15:00:47 UTC 2018
On Thu, Feb 22, 2018 at 06:32:04PM -0800, Jeykumar Sankaran wrote:
> compile out partial update related changes from dsi-staging
> since the DPU dependencies are getting removed.
>
> Change-Id: I02462f520cdf99c8445b18e60212ca46155f9710
> Signed-off-by: Jeykumar Sankaran <jsanka at codeaurora.org>
> ---
> drivers/gpu/drm/msm/dsi-staging/dsi_display.c | 9 +++++++--
> drivers/gpu/drm/msm/dsi-staging/dsi_display.h | 5 ++---
> drivers/gpu/drm/msm/dsi-staging/dsi_drm.c | 11 ++++++-----
> drivers/gpu/drm/msm/dsi-staging/dsi_drm.h | 4 +---
> drivers/gpu/drm/msm/dsi-staging/dsi_panel.c | 4 ++++
> drivers/gpu/drm/msm/dsi-staging/dsi_panel.h | 2 --
> 6 files changed, 20 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/dsi-staging/dsi_display.c b/drivers/gpu/drm/msm/dsi-staging/dsi_display.c
> index 72055dc..3e32872 100644
> --- a/drivers/gpu/drm/msm/dsi-staging/dsi_display.c
> +++ b/drivers/gpu/drm/msm/dsi-staging/dsi_display.c
> @@ -3414,8 +3414,10 @@ int dsi_display_get_info(struct msm_display_info *info, void *disp)
> break;
> }
>
> +#ifdef DSI_PARTIAL_UPDATE
> memcpy(&info->roi_caps, &display->panel->roi_caps,
> sizeof(info->roi_caps));
> +#endif
>
> error:
> mutex_unlock(&display->display_lock);
> @@ -3941,6 +3943,7 @@ int dsi_display_prepare(struct dsi_display *display)
> return rc;
> }
>
> +#ifdef DSI_PARTIAL_UPDATE
> static int dsi_display_calc_ctrl_roi(const struct dsi_display *display,
> const struct dsi_display_ctrl *ctrl,
> const struct msm_roi_list *req_rois,
> @@ -4036,9 +4039,9 @@ static int dsi_display_set_roi(struct dsi_display *display,
>
> return rc;
> }
> +#endif
>
> -int dsi_display_pre_kickoff(struct dsi_display *display,
> - struct msm_display_kickoff_params *params)
> +int dsi_display_pre_kickoff(struct dsi_display *display)
> {
> int rc = 0;
>
> @@ -4046,7 +4049,9 @@ int dsi_display_pre_kickoff(struct dsi_display *display,
> if (display->misr_enable)
> _dsi_display_setup_misr(display);
>
> +#ifdef DSI_PARTIAL_UPDATE
> rc = dsi_display_set_roi(display, params->rois);
> +#endif
>
> return rc;
> }
> diff --git a/drivers/gpu/drm/msm/dsi-staging/dsi_display.h b/drivers/gpu/drm/msm/dsi-staging/dsi_display.h
> index b23a84d..a0f9ccf 100644
> --- a/drivers/gpu/drm/msm/dsi-staging/dsi_display.h
> +++ b/drivers/gpu/drm/msm/dsi-staging/dsi_display.h
> @@ -524,11 +524,10 @@ int dsi_display_set_power(struct drm_connector *connector,
> /*
> * dsi_display_pre_kickoff - program kickoff-time features
> * @display: Pointer to private display structure
> - * @params: Parameters for kickoff-time programming
> * Returns: Zero on success
> */
> -int dsi_display_pre_kickoff(struct dsi_display *display,
> - struct msm_display_kickoff_params *params);
> +int dsi_display_pre_kickoff(struct dsi_display *display);
> +
> /**
> * dsi_display_get_dst_format() - get dst_format from DSI display
> * @display: Handle to display
> diff --git a/drivers/gpu/drm/msm/dsi-staging/dsi_drm.c b/drivers/gpu/drm/msm/dsi-staging/dsi_drm.c
> index 6847c53..32a6e8f 100644
> --- a/drivers/gpu/drm/msm/dsi-staging/dsi_drm.c
> +++ b/drivers/gpu/drm/msm/dsi-staging/dsi_drm.c
> @@ -443,6 +443,7 @@ int dsi_conn_post_init(struct drm_connector *connector,
> break;
> }
>
> +#ifdef DSI_PARTIAL_UPDATE
> if (panel->roi_caps.enabled) {
> dpu_kms_info_add_keyint(info, "partial_update_num_roi",
> panel->roi_caps.num_roi);
> @@ -460,7 +461,8 @@ int dsi_conn_post_init(struct drm_connector *connector,
> panel->roi_caps.align.min_height);
> dpu_kms_info_add_keyint(info, "partial_update_roimerge",
> panel->roi_caps.merge_rois);
> - }
> + }
> +#endif
>
> end:
> return 0;
> @@ -598,15 +600,14 @@ enum drm_mode_status dsi_conn_mode_valid(struct drm_connector *connector,
> }
>
> int dsi_conn_pre_kickoff(struct drm_connector *connector,
> - void *display,
> - struct msm_display_kickoff_params *params)
> + void *display)
> {
> - if (!connector || !display || !params) {
> + if (!connector || !display) {
> pr_err("Invalid params\n");
> return -EINVAL;
> }
>
> - return dsi_display_pre_kickoff(display, params);
> + return dsi_display_pre_kickoff(display);
> }
>
> void dsi_conn_enable_event(struct drm_connector *connector,
> diff --git a/drivers/gpu/drm/msm/dsi-staging/dsi_drm.h b/drivers/gpu/drm/msm/dsi-staging/dsi_drm.h
> index f427340..38de33c 100644
> --- a/drivers/gpu/drm/msm/dsi-staging/dsi_drm.h
> +++ b/drivers/gpu/drm/msm/dsi-staging/dsi_drm.h
> @@ -112,12 +112,10 @@ struct dsi_bridge *dsi_drm_bridge_init(struct dsi_display *display,
> * dsi_display_pre_kickoff - program kickoff-time features
> * @connector: Pointer to drm connector structure
> * @display: Pointer to private display structure
> - * @params: Parameters for kickoff-time programming
> * Returns: Zero on success
> */
> int dsi_conn_pre_kickoff(struct drm_connector *connector,
> - void *display,
> - struct msm_display_kickoff_params *params);
> + void *display);
>
> /**
> * dsi_display_post_kickoff - program post kickoff-time features
> diff --git a/drivers/gpu/drm/msm/dsi-staging/dsi_panel.c b/drivers/gpu/drm/msm/dsi-staging/dsi_panel.c
> index 2d94e5f..ef59433 100644
> --- a/drivers/gpu/drm/msm/dsi-staging/dsi_panel.c
> +++ b/drivers/gpu/drm/msm/dsi-staging/dsi_panel.c
> @@ -2331,6 +2331,7 @@ static int dsi_panel_parse_topology(
> return rc;
> }
>
> +#ifdef DSI_PARTIAL_UPDATE
> static int dsi_panel_parse_roi_alignment(struct device_node *of_node,
> struct msm_roi_alignment *align)
> {
> @@ -2411,6 +2412,7 @@ static int dsi_panel_parse_partial_update_caps(struct dsi_panel *panel,
>
> return rc;
> }
> +#endif
>
> static int dsi_panel_parse_dms_info(struct dsi_panel *panel,
> struct device_node *of_node)
> @@ -2703,9 +2705,11 @@ struct dsi_panel *dsi_panel_get(struct device *parent,
> if (rc)
> pr_err("failed to parse hdr config, rc=%d\n", rc);
>
> +#ifdef DSI_PARTIAL_UPDATE
> rc = dsi_panel_parse_partial_update_caps(panel, of_node);
> if (rc)
> pr_debug("failed to partial update caps, rc=%d\n", rc);
> +#endif
>
> rc = dsi_panel_get_mode_count(panel, of_node);
> if (rc) {
> diff --git a/drivers/gpu/drm/msm/dsi-staging/dsi_panel.h b/drivers/gpu/drm/msm/dsi-staging/dsi_panel.h
> index c26a5db..3b1b47c 100644
> --- a/drivers/gpu/drm/msm/dsi-staging/dsi_panel.h
> +++ b/drivers/gpu/drm/msm/dsi-staging/dsi_panel.h
> @@ -155,8 +155,6 @@ struct dsi_panel {
> enum dsi_op_mode panel_mode;
>
> struct dsi_dfps_capabilities dfps_caps;
> - struct msm_roi_caps roi_caps;
> -
Removing this breaks things if you do define DSI_PARTIAL_UPDATE. Lets just
remove everything now since it'll probably become stale.
There are lots more references to roi in dsi-staging, but I guess since
dsi-staging isn't going upstream, it's less important. Perhaps you can take one
more pass at removing more code in v2?
Sean
> struct dsi_panel_phy_props phy_props;
>
> struct dsi_display_mode *cur_mode;
> --
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project
>
--
Sean Paul, Software Engineer, Google / Chromium OS
More information about the Freedreno
mailing list