All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Souza, Jose" <jose.souza@intel.com>
To: "ville.syrjala@linux.intel.com" <ville.syrjala@linux.intel.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH 1/6] drm/i915: Extract intel_hdmi_bpc_possible()
Date: Fri, 14 May 2021 17:33:20 +0000	[thread overview]
Message-ID: <aab4c6627af7d4c05901b2723217ef82bb8c8fcb.camel@intel.com> (raw)
In-Reply-To: <20210511160532.21446-2-ville.syrjala@linux.intel.com>

On Tue, 2021-05-11 at 19:05 +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Extract intel_hdmi_bpc_possible() from intel_hdmi_deep_color_possible()
> so that we can reuse it for mode validation.
> 

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>

> Cc: Werner Sembach <wse@tuxedocomputers.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_hdmi.c | 46 +++++++++++++----------
>  1 file changed, 27 insertions(+), 19 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c
> index 91b03fe21387..3dec3307c2b5 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c
> @@ -1862,6 +1862,31 @@ static int intel_hdmi_port_clock(int clock, int bpc)
>  	return clock * bpc / 8;
>  }
>  
> +static bool intel_hdmi_bpc_possible(struct drm_connector *connector,
> +				    int bpc, bool has_hdmi_sink, bool ycbcr420_output)
> +{
> +	const struct drm_display_info *info = &connector->display_info;
> +	const struct drm_hdmi_info *hdmi = &info->hdmi;
> +
> +	switch (bpc) {
> +	case 12:
> +		if (ycbcr420_output)
> +			return hdmi->y420_dc_modes & DRM_EDID_YCBCR420_DC_36;
> +		else
> +			return info->edid_hdmi_dc_modes & DRM_EDID_HDMI_DC_36;
> +	case 10:
> +		if (ycbcr420_output)
> +			return hdmi->y420_dc_modes & DRM_EDID_YCBCR420_DC_30;
> +		else
> +			return info->edid_hdmi_dc_modes & DRM_EDID_HDMI_DC_30;
> +	case 8:
> +		return true;
> +	default:
> +		MISSING_CASE(bpc);
> +		return false;
> +	}
> +}
> +
>  static enum drm_mode_status
>  intel_hdmi_mode_clock_valid(struct intel_hdmi *hdmi, int clock, bool has_hdmi_sink)
>  {
> @@ -1951,28 +1976,11 @@ bool intel_hdmi_deep_color_possible(const struct intel_crtc_state *crtc_state,
>  		return false;
>  
>  	for_each_new_connector_in_state(state, connector, connector_state, i) {
> -		const struct drm_display_info *info = &connector->display_info;
> -
>  		if (connector_state->crtc != crtc_state->uapi.crtc)
>  			continue;
>  
> -		if (ycbcr420_output) {
> -			const struct drm_hdmi_info *hdmi = &info->hdmi;
> -
> -			if (bpc == 12 && !(hdmi->y420_dc_modes &
> -					   DRM_EDID_YCBCR420_DC_36))
> -				return false;
> -			else if (bpc == 10 && !(hdmi->y420_dc_modes &
> -						DRM_EDID_YCBCR420_DC_30))
> -				return false;
> -		} else {
> -			if (bpc == 12 && !(info->edid_hdmi_dc_modes &
> -					   DRM_EDID_HDMI_DC_36))
> -				return false;
> -			else if (bpc == 10 && !(info->edid_hdmi_dc_modes &
> -						DRM_EDID_HDMI_DC_30))
> -				return false;
> -		}
> +		if (!intel_hdmi_bpc_possible(connector, bpc, has_hdmi_sink, ycbcr420_output))
> +			return false;
>  	}
>  
>  	return true;

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2021-05-14 17:33 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-11 16:05 [Intel-gfx] [PATCH 0/6] drm/i915: Check HDMI sink deep color capabilities during .mode_valid() Ville Syrjala
2021-05-11 16:05 ` [Intel-gfx] [PATCH 1/6] drm/i915: Extract intel_hdmi_bpc_possible() Ville Syrjala
2021-05-14 17:33   ` Souza, Jose [this message]
2021-05-11 16:05 ` [Intel-gfx] [PATCH 2/6] drm/i915: Move has_hdmi_sink check into intel_hdmi_bpc_possible() Ville Syrjala
2021-05-14 17:33   ` Souza, Jose
2021-05-11 16:05 ` [Intel-gfx] [PATCH 3/6] drm/i915: Move platform checks " Ville Syrjala
2021-05-14 17:33   ` Souza, Jose
2021-05-11 16:05 ` [Intel-gfx] [PATCH 4/6] drm/i915: Check sink deep color capabilitis during HDMI .mode_valid() Ville Syrjala
2021-05-14 17:33   ` Souza, Jose
2021-05-11 16:05 ` [Intel-gfx] [PATCH 5/6] drm/i915: Move the TMDS clock division into intel_hdmi_mode_clock_valid() Ville Syrjala
2021-05-14 17:28   ` Souza, Jose
2021-05-14 17:36     ` Ville Syrjälä
2021-05-14 17:44       ` Souza, Jose
2021-05-11 16:05 ` [Intel-gfx] [PATCH 6/6] drm/i915: Drop redundant has_hdmi_sink check Ville Syrjala
2021-05-14 17:34   ` Souza, Jose
2021-05-11 19:02 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Check HDMI sink deep color capabilities during .mode_valid() Patchwork
2021-05-12 20:40 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Check HDMI sink deep color capabilities during .mode_valid() (rev2) Patchwork
2021-05-13  3:10 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-05-25 17:57 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Check HDMI sink deep color capabilities during .mode_valid() (rev3) Patchwork
2021-05-25 23:23 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aab4c6627af7d4c05901b2723217ef82bb8c8fcb.camel@intel.com \
    --to=jose.souza@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=ville.syrjala@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.