drm/i915/display: extract code to prepare qgv points mask
BugLink: https://bugs.launchpad.net/bugs/2070158 Extract the code to prepare the QGV points mask as per the format expected by the pcode as this could be utlized from multiple points. Reviewed-by: Jouni Högander <jouni.hogander@intel.com> Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240405113533.338553-4-vinod.govindapillai@intel.com (cherry picked from commit f09f95177dfd606e4bde234c65b991ae45e7ef65) Signed-off-by: Hui Wang <hui.wang@canonical.com> Acked-by: Chris Chiu <chris.chiu@canonical.com> Acked-by: Timo Aaltonen <tjaalton@ubuntu.com> Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
This commit is contained in:
committed by
Stefan Bader
parent
f97dc1ea22
commit
8d3066d409
@@ -851,6 +851,14 @@ static unsigned int icl_max_bw_qgv_point_mask(struct drm_i915_private *i915,
|
||||
return max_bw_point;
|
||||
}
|
||||
|
||||
static u16 icl_prepare_qgv_points_mask(struct drm_i915_private *i915,
|
||||
unsigned int qgv_points,
|
||||
unsigned int psf_points)
|
||||
{
|
||||
return ~(ICL_PCODE_REQ_QGV_PT(qgv_points) |
|
||||
ADLS_PCODE_REQ_PSF_PT(psf_points)) & icl_qgv_points_mask(i915);
|
||||
}
|
||||
|
||||
static int mtl_find_qgv_points(struct drm_i915_private *i915,
|
||||
unsigned int data_rate,
|
||||
unsigned int num_active_planes,
|
||||
@@ -994,11 +1002,9 @@ static int icl_find_qgv_points(struct drm_i915_private *i915,
|
||||
* We store the ones which need to be masked as that is what PCode
|
||||
* actually accepts as a parameter.
|
||||
*/
|
||||
new_bw_state->qgv_points_mask =
|
||||
~(ICL_PCODE_REQ_QGV_PT(qgv_points) |
|
||||
ADLS_PCODE_REQ_PSF_PT(psf_points)) &
|
||||
icl_qgv_points_mask(i915);
|
||||
|
||||
new_bw_state->qgv_points_mask = icl_prepare_qgv_points_mask(i915,
|
||||
qgv_points,
|
||||
psf_points);
|
||||
/*
|
||||
* If the actual mask had changed we need to make sure that
|
||||
* the commits are serialized(in case this is a nomodeset, nonblocking)
|
||||
|
||||
Reference in New Issue
Block a user