drm/i915: Nuke lspcon_downsampling
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 24 Sep 2020 18:41:54 +0000 (21:41 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 16 Oct 2020 16:44:45 +0000 (19:44 +0300)
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>
Link: https://patchwork.freedesktop.org/patch/msgid/20200924184156.24491-1-ville.syrjala@linux.intel.com
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_display_types.h
drivers/gpu/drm/i915/display/intel_lspcon.c

index 6cf8ca2..5a07763 100644 (file)
@@ -11294,18 +11294,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,
index 0b5df8e..be7c03c 100644 (file)
@@ -1055,9 +1055,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;
 
index ee95fc3..b21cb33 100644 (file)
@@ -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,