[Freedreno] [PATCH 3/3] drm/msm/dpu: drop VBIF indices
Abhinav Kumar
quic_abhinavk at quicinc.com
Tue Mar 29 21:52:15 UTC 2022
On 2/16/2022 7:45 PM, Dmitry Baryshkov wrote:
> We do not expect to have other VBIFs. Drop VBIF_n indices and always use
> VBIF_RT and VBIF_NRT.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk at quicinc.com>
> ---
> .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 4 +--
> drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h | 6 ++--
> drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c | 36 ++++++++++++-------
> 3 files changed, 28 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> index aa4d20762ccb..dbb853042aa0 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> @@ -1115,7 +1115,7 @@ static const struct dpu_vbif_dynamic_ot_cfg msm8998_ot_rdwr_cfg[] = {
>
> static const struct dpu_vbif_cfg msm8998_vbif[] = {
> {
> - .name = "vbif_0", .id = VBIF_0,
> + .name = "vbif_rt", .id = VBIF_RT,
> .base = 0, .len = 0x1040,
> .default_ot_rd_limit = 32,
> .default_ot_wr_limit = 32,
> @@ -1144,7 +1144,7 @@ static const struct dpu_vbif_cfg msm8998_vbif[] = {
>
> static const struct dpu_vbif_cfg sdm845_vbif[] = {
> {
> - .name = "vbif_0", .id = VBIF_0,
> + .name = "vbif_rt", .id = VBIF_RT,
> .base = 0, .len = 0x1040,
> .features = BIT(DPU_VBIF_QOS_REMAP),
> .xin_halt_timeout = 0x4000,
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h
> index bb9ceadeb0bb..598c201ae50d 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h
> @@ -254,11 +254,9 @@ enum dpu_wd_timer {
> };
>
> enum dpu_vbif {
> - VBIF_0,
> - VBIF_1,
> + VBIF_RT,
> + VBIF_NRT,
> VBIF_MAX,
> - VBIF_RT = VBIF_0,
> - VBIF_NRT = VBIF_1
> };
>
> /**
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c
> index cbbf77b17fc3..c011d4ab6acc 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c
> @@ -19,6 +19,18 @@ static struct dpu_hw_vbif *dpu_get_vbif(struct dpu_kms *dpu_kms, enum dpu_vbif v
> return NULL;
> }
>
> +static const char *dpu_vbif_name(enum dpu_vbif idx)
> +{
> + switch (idx) {
> + case VBIF_RT:
> + return "VBIF_RT";
> + case VBIF_NRT:
> + return "VBIF_NRT";
> + default:
> + return "??";
> + }
> +}
> +
> /**
> * _dpu_vbif_wait_for_xin_halt - wait for the xin to halt
> * @vbif: Pointer to hardware vbif driver
> @@ -50,12 +62,12 @@ static int _dpu_vbif_wait_for_xin_halt(struct dpu_hw_vbif *vbif, u32 xin_id)
>
> if (!status) {
> rc = -ETIMEDOUT;
> - DPU_ERROR("VBIF %d client %d not halting. TIMEDOUT.\n",
> - vbif->idx - VBIF_0, xin_id);
> + DPU_ERROR("%s client %d not halting. TIMEDOUT.\n",
> + dpu_vbif_name(vbif->idx), xin_id);
> } else {
> rc = 0;
> - DRM_DEBUG_ATOMIC("VBIF %d client %d is halted\n",
> - vbif->idx - VBIF_0, xin_id);
> + DRM_DEBUG_ATOMIC("%s client %d is halted\n",
> + dpu_vbif_name(vbif->idx), xin_id);
> }
>
> return rc;
> @@ -95,8 +107,8 @@ static void _dpu_vbif_apply_dynamic_ot_limit(struct dpu_hw_vbif *vbif,
> }
> }
>
> - DRM_DEBUG_ATOMIC("vbif:%d xin:%d w:%d h:%d fps:%d pps:%llu ot:%u\n",
> - vbif->idx - VBIF_0, params->xin_id,
> + DRM_DEBUG_ATOMIC("%s xin:%d w:%d h:%d fps:%d pps:%llu ot:%u\n",
> + dpu_vbif_name(vbif->idx), params->xin_id,
> params->width, params->height, params->frame_rate,
> pps, *ot_lim);
> }
> @@ -141,8 +153,8 @@ static u32 _dpu_vbif_get_ot_limit(struct dpu_hw_vbif *vbif,
> }
>
> exit:
> - DRM_DEBUG_ATOMIC("vbif:%d xin:%d ot_lim:%d\n",
> - vbif->idx - VBIF_0, params->xin_id, ot_lim);
> + DRM_DEBUG_ATOMIC("%s xin:%d ot_lim:%d\n",
> + dpu_vbif_name(vbif->idx), params->xin_id, ot_lim);
> return ot_lim;
> }
>
> @@ -242,8 +254,8 @@ void dpu_vbif_set_qos_remap(struct dpu_kms *dpu_kms,
> forced_on = mdp->ops.setup_clk_force_ctrl(mdp, params->clk_ctrl, true);
>
> for (i = 0; i < qos_tbl->npriority_lvl; i++) {
> - DRM_DEBUG_ATOMIC("vbif:%d xin:%d lvl:%d/%d\n",
> - params->vbif_idx, params->xin_id, i,
> + DRM_DEBUG_ATOMIC("%s xin:%d lvl:%d/%d\n",
> + dpu_vbif_name(params->vbif_idx), params->xin_id, i,
> qos_tbl->priority_lvl[i]);
> vbif->ops.set_qos_remap(vbif, params->xin_id, i,
> qos_tbl->priority_lvl[i]);
> @@ -263,8 +275,8 @@ void dpu_vbif_clear_errors(struct dpu_kms *dpu_kms)
> if (vbif && vbif->ops.clear_errors) {
> vbif->ops.clear_errors(vbif, &pnd, &src);
> if (pnd || src) {
> - DRM_DEBUG_KMS("VBIF %d: pnd 0x%X, src 0x%X\n",
> - vbif->idx - VBIF_0, pnd, src);
> + DRM_DEBUG_KMS("%s: pnd 0x%X, src 0x%X\n",
> + dpu_vbif_name(vbif->idx), pnd, src);
> }
> }
> }
More information about the Freedreno
mailing list