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

drm/i915: Move platform checks into intel_hdmi_bpc_possible()



Let's put the platform checks into intel_hdmi_bpc_possible() so that
it'll confirm both the source and sink capabilities.

Cc: Werner Sembach <wse@tuxedocomputers.com>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210511160532.21446-4-ville.syrjala@linux.intel.com


Reviewed-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
parent f02e6c85
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -1868,11 +1868,15 @@ static int intel_hdmi_port_clock(int clock, int bpc)
static bool intel_hdmi_bpc_possible(struct drm_connector *connector,
				    int bpc, bool has_hdmi_sink, bool ycbcr420_output)
{
	struct drm_i915_private *i915 = to_i915(connector->dev);
	const struct drm_display_info *info = &connector->display_info;
	const struct drm_hdmi_info *hdmi = &info->hdmi;

	switch (bpc) {
	case 12:
		if (HAS_GMCH(i915))
			return false;

		if (!has_hdmi_sink)
			return false;

@@ -1881,6 +1885,9 @@ static bool intel_hdmi_bpc_possible(struct drm_connector *connector,
		else
			return info->edid_hdmi_dc_modes & DRM_EDID_HDMI_DC_36;
	case 10:
		if (DISPLAY_VER(i915) < 11)
			return false;

		if (!has_hdmi_sink)
			return false;

@@ -2000,12 +2007,6 @@ static bool hdmi_deep_color_possible(const struct intel_crtc_state *crtc_state,
	const struct drm_display_mode *adjusted_mode =
		&crtc_state->hw.adjusted_mode;

	if (HAS_GMCH(dev_priv))
		return false;

	if (bpc == 10 && DISPLAY_VER(dev_priv) < 11)
		return false;

	/*
	 * HDMI deep color affects the clocks, so it's only possible
	 * when not cloning with other encoder types.