]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Oct 2024 10:00:04 +0000 (12:00 +0200)
[ Upstream commit e860513f56d8428fcb2bd0282ac8ab691a53fc6c ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/i915/display/intel_dp.c

index a7d91ca1d8bafe4683852ae14571d580dc4cbed4..bd3ce34fb6a6c88eef3488385f7e908b43ef04c7 100644 (file)
@@ -3944,6 +3944,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.
         *
@@ -4057,6 +4060,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);
        }
 
@@ -6774,9 +6780,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;