[Intel-gfx] [PATCH v5 3/8] drm/i915: store the peak bw per QGV point
Lisovskiy, Stanislav
stanislav.lisovskiy at intel.com
Mon May 22 15:18:35 UTC 2023
On Fri, May 12, 2023 at 02:17:45AM +0300, Vinod Govindapillai wrote:
> In MTL onwards, pcode locks the GV point based on the peak BW
> of a QGV point. So store the peak BW of all the QGV points.
>
> v2: use DIV_ROUND_CLOSEST() for the peakBW calculation
>
> Bspec: 64636
>
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai at intel.com>
Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_bw.c | 8 ++++++--
> drivers/gpu/drm/i915/display/intel_display_core.h | 2 ++
> 2 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
> index c8075a37c3ab..db117638d23b 100644
> --- a/drivers/gpu/drm/i915/display/intel_bw.c
> +++ b/drivers/gpu/drm/i915/display/intel_bw.c
> @@ -534,10 +534,14 @@ static int tgl_get_bw_info(struct drm_i915_private *dev_priv, const struct intel
>
> bi->deratedbw[j] = min(maxdebw,
> bw * (100 - sa->derating) / 100);
> + bi->peakbw[j] = DIV_ROUND_CLOSEST(sp->dclk *
> + num_channels *
> + qi.channel_width, 8);
>
> drm_dbg_kms(&dev_priv->drm,
> - "BW%d / QGV %d: num_planes=%d deratedbw=%u\n",
> - i, j, bi->num_planes, bi->deratedbw[j]);
> + "BW%d / QGV %d: num_planes=%d deratedbw=%u peakbw: %u\n",
> + i, j, bi->num_planes, bi->deratedbw[j],
> + bi->peakbw[j]);
> }
>
> for (j = 0; j < qi.num_psf_points; j++) {
> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
> index e36f88a39b86..9f66d734edf6 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
> @@ -314,6 +314,8 @@ struct intel_display {
> unsigned int deratedbw[I915_NUM_QGV_POINTS];
> /* for each PSF GV point */
> unsigned int psf_bw[I915_NUM_PSF_GV_POINTS];
> + /* Peak BW for each QGV point */
> + unsigned int peakbw[I915_NUM_QGV_POINTS];
> u8 num_qgv_points;
> u8 num_psf_gv_points;
> u8 num_planes;
> --
> 2.34.1
>
More information about the Intel-gfx
mailing list