]> www.infradead.org Git - linux.git/commitdiff
drm/i915/dp: Fix colorimetry detection
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 18 Sep 2024 19:04:39 +0000 (22:04 +0300)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Wed, 25 Sep 2024 08:56:23 +0000 (11:56 +0300)
intel_dp_init_connector() is no place for detecting stuff via
DPCD (except perhaps for eDP). Move the colorimetry stuff into
a more appropriate place.

Cc: Jouni Högander <jouni.hogander@intel.com>
Fixes: 00076671a648 ("drm/i915/display: Move colorimetry_support from intel_psr to intel_dp")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240918190441.29071-1-ville.syrjala@linux.intel.com
Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
(cherry picked from commit 35dba4834bded843d5416e8caadfe82bd0ce1904)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/display/intel_dp.c

index b1b512e258abcb3d0c2c98970ba4f4f69fff611c..90fa73575feb1305225cb18fbd8ecd35d4b2fa33 100644 (file)
@@ -4067,6 +4067,9 @@ intel_edp_init_dpcd(struct intel_dp *intel_dp, struct intel_connector *connector
                         drm_dp_is_branch(intel_dp->dpcd));
        intel_init_dpcd_quirks(intel_dp, &intel_dp->desc.ident);
 
+       intel_dp->colorimetry_support =
+               intel_dp_get_colorimetry_status(intel_dp);
+
        /*
         * Read the eDP display control registers.
         *
@@ -4180,6 +4183,9 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
 
                intel_init_dpcd_quirks(intel_dp, &intel_dp->desc.ident);
 
+               intel_dp->colorimetry_support =
+                       intel_dp_get_colorimetry_status(intel_dp);
+
                intel_dp_update_sink_caps(intel_dp);
        }
 
@@ -6931,9 +6937,6 @@ intel_dp_init_connector(struct intel_digital_port *dig_port,
                                    "HDCP init failed, skipping.\n");
        }
 
-       intel_dp->colorimetry_support =
-               intel_dp_get_colorimetry_status(intel_dp);
-
        intel_dp->frl.is_trained = false;
        intel_dp->frl.trained_rate_gbps = 0;