diff mbox series

[1/3] drm/i915: Nuke lspcon_downsampling

Message ID 20200924184156.24491-1-ville.syrjala@linux.intel.com
State New
Headers show
Series [1/3] drm/i915: Nuke lspcon_downsampling | expand

Commit Message

Ville Syrjala Sept. 24, 2020, 6:41 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

crtc_state->lspcon_downsampling isn't particularly useful at
the moment since we can't even do proper readout for it.
Let's get rid of it. Will help with unifying the LSPCON with
the regular DFP YCbCr output support.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c  | 12 -----------
 .../drm/i915/display/intel_display_types.h    |  3 ---
 drivers/gpu/drm/i915/display/intel_lspcon.c   | 20 +++++++++++--------
 3 files changed, 12 insertions(+), 23 deletions(-)

Comments

Shankar, Uma Oct. 15, 2020, 11:21 p.m. UTC | #1
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Ville
> Syrjala
> Sent: Friday, September 25, 2020 12:12 AM
> To: intel-gfx@lists.freedesktop.org
> Subject: [Intel-gfx] [PATCH 1/3] drm/i915: Nuke lspcon_downsampling
> 
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> crtc_state->lspcon_downsampling isn't particularly useful at the moment since
> we can't even do proper readout for it.
> Let's get rid of it. Will help with unifying the LSPCON with the regular DFP YCbCr
> output support.

Looks Good to me.
Reviewed-by: Uma Shankar <uma.shankar@intel.com>

> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display.c  | 12 -----------
>  .../drm/i915/display/intel_display_types.h    |  3 ---
>  drivers/gpu/drm/i915/display/intel_lspcon.c   | 20 +++++++++++--------
>  3 files changed, 12 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index 5a9d933e425a..a51cf048ecd3 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -11229,18 +11229,6 @@ static bool hsw_get_pipe_config(struct intel_crtc
> *crtc,
>  	} else {
>  		pipe_config->output_format =
>  			bdw_get_pipemisc_output_format(crtc);
> -
> -		/*
> -		 * Currently there is no interface defined to
> -		 * check user preference between RGB/YCBCR444
> -		 * or YCBCR420. So the only possible case for
> -		 * YCBCR444 usage is driving YCBCR420 output
> -		 * with LSPCON, when pipe is configured for
> -		 * YCBCR444 output and LSPCON takes care of
> -		 * downsampling it.
> -		 */
> -		pipe_config->lspcon_downsampling =
> -			pipe_config->output_format ==
> INTEL_OUTPUT_FORMAT_YCBCR444;
>  	}
> 
>  	pipe_config->gamma_mode = intel_de_read(dev_priv, diff --git
> a/drivers/gpu/drm/i915/display/intel_display_types.h
> b/drivers/gpu/drm/i915/display/intel_display_types.h
> index 3d4bf9b6a0a2..4e7d52d821cd 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -1035,9 +1035,6 @@ struct intel_crtc_state {
>  	/* Output format RGB/YCBCR etc */
>  	enum intel_output_format output_format;
> 
> -	/* Output down scaling is done in LSPCON device */
> -	bool lspcon_downsampling;
> -
>  	/* enable pipe gamma? */
>  	bool gamma_enable;
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_lspcon.c
> b/drivers/gpu/drm/i915/display/intel_lspcon.c
> index dc1b35559afd..59f13aef58b5 100644
> --- a/drivers/gpu/drm/i915/display/intel_lspcon.c
> +++ b/drivers/gpu/drm/i915/display/intel_lspcon.c
> @@ -195,7 +195,6 @@ void lspcon_ycbcr420_config(struct drm_connector
> *connector,
>  	    connector->ycbcr_420_allowed) {
>  		crtc_state->port_clock /= 2;
>  		crtc_state->output_format = INTEL_OUTPUT_FORMAT_YCBCR444;
> -		crtc_state->lspcon_downsampling = true;
>  	}
>  }
> 
> @@ -492,14 +491,19 @@ void lspcon_set_infoframes(struct intel_encoder
> *encoder,
>  		return;
>  	}
> 
> -	if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR444) {
> -		if (crtc_state->lspcon_downsampling)
> -			frame.avi.colorspace = HDMI_COLORSPACE_YUV420;
> -		else
> -			frame.avi.colorspace = HDMI_COLORSPACE_YUV444;
> -	} else {
> +	/*
> +	 * Currently there is no interface defined to
> +	 * check user preference between RGB/YCBCR444
> +	 * or YCBCR420. So the only possible case for
> +	 * YCBCR444 usage is driving YCBCR420 output
> +	 * with LSPCON, when pipe is configured for
> +	 * YCBCR444 output and LSPCON takes care of
> +	 * downsampling it.
> +	 */
> +	if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR444)
> +		frame.avi.colorspace = HDMI_COLORSPACE_YUV420;
> +	else
>  		frame.avi.colorspace = HDMI_COLORSPACE_RGB;
> -	}
> 
>  	drm_hdmi_avi_infoframe_quant_range(&frame.avi,
>  					   conn_state->connector,
> --
> 2.26.2
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 5a9d933e425a..a51cf048ecd3 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -11229,18 +11229,6 @@  static bool hsw_get_pipe_config(struct intel_crtc *crtc,
 	} else {
 		pipe_config->output_format =
 			bdw_get_pipemisc_output_format(crtc);
-
-		/*
-		 * Currently there is no interface defined to
-		 * check user preference between RGB/YCBCR444
-		 * or YCBCR420. So the only possible case for
-		 * YCBCR444 usage is driving YCBCR420 output
-		 * with LSPCON, when pipe is configured for
-		 * YCBCR444 output and LSPCON takes care of
-		 * downsampling it.
-		 */
-		pipe_config->lspcon_downsampling =
-			pipe_config->output_format == INTEL_OUTPUT_FORMAT_YCBCR444;
 	}
 
 	pipe_config->gamma_mode = intel_de_read(dev_priv,
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 3d4bf9b6a0a2..4e7d52d821cd 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1035,9 +1035,6 @@  struct intel_crtc_state {
 	/* Output format RGB/YCBCR etc */
 	enum intel_output_format output_format;
 
-	/* Output down scaling is done in LSPCON device */
-	bool lspcon_downsampling;
-
 	/* enable pipe gamma? */
 	bool gamma_enable;
 
diff --git a/drivers/gpu/drm/i915/display/intel_lspcon.c b/drivers/gpu/drm/i915/display/intel_lspcon.c
index dc1b35559afd..59f13aef58b5 100644
--- a/drivers/gpu/drm/i915/display/intel_lspcon.c
+++ b/drivers/gpu/drm/i915/display/intel_lspcon.c
@@ -195,7 +195,6 @@  void lspcon_ycbcr420_config(struct drm_connector *connector,
 	    connector->ycbcr_420_allowed) {
 		crtc_state->port_clock /= 2;
 		crtc_state->output_format = INTEL_OUTPUT_FORMAT_YCBCR444;
-		crtc_state->lspcon_downsampling = true;
 	}
 }
 
@@ -492,14 +491,19 @@  void lspcon_set_infoframes(struct intel_encoder *encoder,
 		return;
 	}
 
-	if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR444) {
-		if (crtc_state->lspcon_downsampling)
-			frame.avi.colorspace = HDMI_COLORSPACE_YUV420;
-		else
-			frame.avi.colorspace = HDMI_COLORSPACE_YUV444;
-	} else {
+	/*
+	 * Currently there is no interface defined to
+	 * check user preference between RGB/YCBCR444
+	 * or YCBCR420. So the only possible case for
+	 * YCBCR444 usage is driving YCBCR420 output
+	 * with LSPCON, when pipe is configured for
+	 * YCBCR444 output and LSPCON takes care of
+	 * downsampling it.
+	 */
+	if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR444)
+		frame.avi.colorspace = HDMI_COLORSPACE_YUV420;
+	else
 		frame.avi.colorspace = HDMI_COLORSPACE_RGB;
-	}
 
 	drm_hdmi_avi_infoframe_quant_range(&frame.avi,
 					   conn_state->connector,