]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/pfit: Call intel_pfit_compute_config() unconditionally on (e)DP/HDMI
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 7 Apr 2026 17:52:42 +0000 (20:52 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 8 Apr 2026 11:40:46 +0000 (14:40 +0300)
We now have three different reasons for calling
intel_pfit_compute_config():
- actual pfit scaling/centering
- YCbCr 4:2:0 output
- sharpness filter

So let's just call intel_pfit_compute_config() unconditionally
from both the DP and HDMI code. Both gmch and ilk+ pfit code
should be capable of judging whether anything actually
needs the pfit.

The only slightly questionable thing in the gmch code is
the dithering knob, but that's only a thing on gen2/3 which
don't even have HDMI/DP outputs, and so not an issue here.

Reviewed-by: Michał Grzelak <michal.grzelak@intel.com>
Reviewed-by: Nemesa Garg <nemesa.garg@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20260407175244.19654-9-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_dp.c
drivers/gpu/drm/i915/display/intel_hdmi.c

index 4955bd8b11d7ad04d918c9e43b59c3a06bddeebc..ff3904b77492be17111bce432afbd25c6a93b689 100644 (file)
@@ -3545,12 +3545,9 @@ intel_dp_compute_config(struct intel_encoder *encoder,
        if (ret)
                return ret;
 
-       if ((intel_dp_is_edp(intel_dp) && fixed_mode) ||
-           pipe_config->output_format == INTEL_OUTPUT_FORMAT_YCBCR420) {
-               ret = intel_pfit_compute_config(pipe_config, conn_state);
-               if (ret)
-                       return ret;
-       }
+       ret = intel_pfit_compute_config(pipe_config, conn_state);
+       if (ret)
+               return ret;
 
        pipe_config->limited_color_range =
                intel_dp_limited_color_range(pipe_config, conn_state);
index 05e898d10a2be7e0fa4bf9282454b1ba417c194c..17bd2c207453d3e213eee3623fa135e01af7d26b 100644 (file)
@@ -2380,11 +2380,9 @@ int intel_hdmi_compute_config(struct intel_encoder *encoder,
                return ret;
        }
 
-       if (intel_hdmi_is_ycbcr420(pipe_config)) {
-               ret = intel_pfit_compute_config(pipe_config, conn_state);
-               if (ret)
-                       return ret;
-       }
+       ret = intel_pfit_compute_config(pipe_config, conn_state);
+       if (ret)
+               return ret;
 
        pipe_config->limited_color_range =
                intel_hdmi_limited_color_range(pipe_config, conn_state);