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 6cf8ca2d1b8177752daefbc73abefa39f2dc833e..5a07763e71bc80a05734032a4b9fdba5fad5d643 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 0b5df8e44966b83d011625811c4211d130397373..be7c03c844a75138a4958d2242897b1d0da836a6 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 ee95fc353a5648ce47be6fcdd35dcd02ae8e321d..b21cb337e318737d35b8d7dc6b48445a30dfcdae 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,