Commit 6195f850 authored by Ville Syrjälä's avatar Ville Syrjälä
Browse files

drm/i915: Update plane ratio for icl+



According to bspec icl+ no longer need any extra cdclk guardband
for 64bpp formats. Make it so.

Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210330162416.18616-2-ville.syrjala@linux.intel.com


Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
parent efc52308
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -286,6 +286,15 @@ bool icl_is_hdr_plane(struct drm_i915_private *dev_priv, enum plane_id plane_id)
		icl_hdr_plane_mask() & BIT(plane_id);
}

static int icl_plane_min_cdclk(const struct intel_crtc_state *crtc_state,
			       const struct intel_plane_state *plane_state)
{
	unsigned int pixel_rate = intel_plane_pixel_rate(crtc_state, plane_state);

	/* two pixels per clock */
	return DIV_ROUND_UP(pixel_rate, 2);
}

static void
glk_plane_ratio(const struct intel_plane_state *plane_state,
		unsigned int *num, unsigned int *den)
@@ -1980,7 +1989,7 @@ skl_universal_plane_create(struct drm_i915_private *dev_priv,
		plane->min_width = icl_plane_min_width;
		plane->max_width = icl_plane_max_width;
		plane->max_height = icl_plane_max_height;
		plane->min_cdclk = glk_plane_min_cdclk;
		plane->min_cdclk = icl_plane_min_cdclk;
	} else if (DISPLAY_VER(dev_priv) >= 10) {
		plane->max_width = glk_plane_max_width;
		plane->max_height = skl_plane_max_height;