Loading msm/sde/sde_hw_catalog.c +10 −0 Original line number Diff line number Diff line Loading @@ -230,6 +230,7 @@ enum { SSPP_EXCL_RECT, SSPP_SMART_DMA, SSPP_MAX_PER_PIPE_BW, SSPP_MAX_PER_PIPE_BW_HIGH, SSPP_PROP_MAX, }; Loading Loading @@ -544,6 +545,8 @@ static struct sde_prop_type sspp_prop[] = { PROP_TYPE_U32_ARRAY}, {SSPP_MAX_PER_PIPE_BW, "qcom,sde-max-per-pipe-bw-kbps", false, PROP_TYPE_U32_ARRAY}, {SSPP_MAX_PER_PIPE_BW_HIGH, "qcom,sde-max-per-pipe-bw-high-kbps", false, PROP_TYPE_U32_ARRAY}, }; static struct sde_prop_type vig_prop[] = { Loading Loading @@ -1515,6 +1518,13 @@ static int sde_sspp_parse_dt(struct device_node *np, else sblk->max_per_pipe_bw = DEFAULT_MAX_PER_PIPE_BW; if (prop_exists[SSPP_MAX_PER_PIPE_BW_HIGH]) sblk->max_per_pipe_bw_high = PROP_VALUE_ACCESS(prop_value, SSPP_MAX_PER_PIPE_BW_HIGH, i); else sblk->max_per_pipe_bw_high = sblk->max_per_pipe_bw; for (j = 0; j < sde_cfg->mdp_count; j++) { sde_cfg->mdp[j].clk_ctrls[sspp->clk_ctrl].reg_off = PROP_BITVALUE_ACCESS(prop_value, Loading msm/sde/sde_hw_catalog.h +3 −0 Original line number Diff line number Diff line Loading @@ -579,6 +579,8 @@ struct sde_qos_lut_tbl { * @pixel_ram_size: size of latency hiding and de-tiling buffer in bytes * @smart_dma_priority: hw priority of rect1 of multirect pipe * @max_per_pipe_bw: maximum allowable bandwidth of this pipe in kBps * @max_per_pipe_bw_high: maximum allowable bandwidth of this pipe in kBps * in case of no VFE * @src_blk: * @scaler_blk: * @csc_blk: Loading Loading @@ -618,6 +620,7 @@ struct sde_sspp_sub_blks { u32 maxvdeciexp; /* max decimation is 2^value */ u32 smart_dma_priority; u32 max_per_pipe_bw; u32 max_per_pipe_bw_high; struct sde_src_blk src_blk; struct sde_scaler_blk scaler_blk; struct sde_pp_blk csc_blk; Loading msm/sde/sde_plane.c +2 −0 Original line number Diff line number Diff line Loading @@ -3523,6 +3523,8 @@ static void _sde_plane_install_properties(struct drm_plane *plane, psde->pipe_sblk->maxvdeciexp); sde_kms_info_add_keyint(info, "max_per_pipe_bw", psde->pipe_sblk->max_per_pipe_bw * 1000LL); sde_kms_info_add_keyint(info, "max_per_pipe_bw_high", psde->pipe_sblk->max_per_pipe_bw_high * 1000LL); if ((!master_plane_id && (psde->features & BIT(SDE_SSPP_INVERSE_PMA))) || Loading Loading
msm/sde/sde_hw_catalog.c +10 −0 Original line number Diff line number Diff line Loading @@ -230,6 +230,7 @@ enum { SSPP_EXCL_RECT, SSPP_SMART_DMA, SSPP_MAX_PER_PIPE_BW, SSPP_MAX_PER_PIPE_BW_HIGH, SSPP_PROP_MAX, }; Loading Loading @@ -544,6 +545,8 @@ static struct sde_prop_type sspp_prop[] = { PROP_TYPE_U32_ARRAY}, {SSPP_MAX_PER_PIPE_BW, "qcom,sde-max-per-pipe-bw-kbps", false, PROP_TYPE_U32_ARRAY}, {SSPP_MAX_PER_PIPE_BW_HIGH, "qcom,sde-max-per-pipe-bw-high-kbps", false, PROP_TYPE_U32_ARRAY}, }; static struct sde_prop_type vig_prop[] = { Loading Loading @@ -1515,6 +1518,13 @@ static int sde_sspp_parse_dt(struct device_node *np, else sblk->max_per_pipe_bw = DEFAULT_MAX_PER_PIPE_BW; if (prop_exists[SSPP_MAX_PER_PIPE_BW_HIGH]) sblk->max_per_pipe_bw_high = PROP_VALUE_ACCESS(prop_value, SSPP_MAX_PER_PIPE_BW_HIGH, i); else sblk->max_per_pipe_bw_high = sblk->max_per_pipe_bw; for (j = 0; j < sde_cfg->mdp_count; j++) { sde_cfg->mdp[j].clk_ctrls[sspp->clk_ctrl].reg_off = PROP_BITVALUE_ACCESS(prop_value, Loading
msm/sde/sde_hw_catalog.h +3 −0 Original line number Diff line number Diff line Loading @@ -579,6 +579,8 @@ struct sde_qos_lut_tbl { * @pixel_ram_size: size of latency hiding and de-tiling buffer in bytes * @smart_dma_priority: hw priority of rect1 of multirect pipe * @max_per_pipe_bw: maximum allowable bandwidth of this pipe in kBps * @max_per_pipe_bw_high: maximum allowable bandwidth of this pipe in kBps * in case of no VFE * @src_blk: * @scaler_blk: * @csc_blk: Loading Loading @@ -618,6 +620,7 @@ struct sde_sspp_sub_blks { u32 maxvdeciexp; /* max decimation is 2^value */ u32 smart_dma_priority; u32 max_per_pipe_bw; u32 max_per_pipe_bw_high; struct sde_src_blk src_blk; struct sde_scaler_blk scaler_blk; struct sde_pp_blk csc_blk; Loading
msm/sde/sde_plane.c +2 −0 Original line number Diff line number Diff line Loading @@ -3523,6 +3523,8 @@ static void _sde_plane_install_properties(struct drm_plane *plane, psde->pipe_sblk->maxvdeciexp); sde_kms_info_add_keyint(info, "max_per_pipe_bw", psde->pipe_sblk->max_per_pipe_bw * 1000LL); sde_kms_info_add_keyint(info, "max_per_pipe_bw_high", psde->pipe_sblk->max_per_pipe_bw_high * 1000LL); if ((!master_plane_id && (psde->features & BIT(SDE_SSPP_INVERSE_PMA))) || Loading