]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/lspcon: change signature of lspcon_detect_hdr_capability()
authorJani Nikula <jani.nikula@intel.com>
Tue, 4 Feb 2025 13:58:40 +0000 (15:58 +0200)
committerJani Nikula <jani.nikula@intel.com>
Wed, 5 Feb 2025 17:32:04 +0000 (19:32 +0200)
Switch from struct intel_lspcon to struct intel_digital_port to unify,
and return the value so the caller doesn't have to look at
lspcon->hdr_detected directly.

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/6f249f5c537a16a6762faddffd6a95cbf61cf077.1738677489.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_dp.c
drivers/gpu/drm/i915/display/intel_lspcon.c
drivers/gpu/drm/i915/display/intel_lspcon.h

index 860f246aeb06143ce175e764a3a4c30c403d5672..3b2a20553f938f9917db870878232d729fec6d3d 100644 (file)
@@ -5863,7 +5863,6 @@ intel_dp_connector_register(struct drm_connector *connector)
        struct intel_display *display = to_intel_display(connector->dev);
        struct intel_dp *intel_dp = intel_attached_dp(to_intel_connector(connector));
        struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
-       struct intel_lspcon *lspcon = &dig_port->lspcon;
        int ret;
 
        ret = intel_connector_register(connector);
@@ -5886,8 +5885,7 @@ intel_dp_connector_register(struct drm_connector *connector)
         * efficiently and streamlined.
         */
        if (lspcon_init(dig_port)) {
-               lspcon_detect_hdr_capability(lspcon);
-               if (lspcon->hdr_supported)
+               if (lspcon_detect_hdr_capability(dig_port))
                        drm_connector_attach_hdr_output_metadata_property(connector);
        }
 
index e54aad8a5f7fb90b6564876dcdf028888fc1e0f6..2dd2b700b0f3aafd15d05c94eef28de3b90c2420 100644 (file)
@@ -121,8 +121,9 @@ static u32 get_hdr_status_reg(struct intel_lspcon *lspcon)
                return DPCD_PARADE_LSPCON_HDR_STATUS;
 }
 
-void lspcon_detect_hdr_capability(struct intel_lspcon *lspcon)
+bool lspcon_detect_hdr_capability(struct intel_digital_port *dig_port)
 {
+       struct intel_lspcon *lspcon = &dig_port->lspcon;
        struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon);
        struct intel_display *display = to_intel_display(intel_dp);
        u8 hdr_caps;
@@ -138,6 +139,8 @@ void lspcon_detect_hdr_capability(struct intel_lspcon *lspcon)
                drm_dbg_kms(display->drm, "LSPCON capable of HDR\n");
                lspcon->hdr_supported = true;
        }
+
+       return lspcon->hdr_supported;
 }
 
 static enum drm_lspcon_mode lspcon_get_current_mode(struct intel_lspcon *lspcon)
index 4c8ba3ddbac49466c4b28f66920c89cb94f2ba30..18cc15e5221d690e9d5f5372139206ed206f4fab 100644 (file)
@@ -17,7 +17,7 @@ struct intel_lspcon;
 
 bool lspcon_init(struct intel_digital_port *dig_port);
 bool intel_lspcon_active(struct intel_digital_port *dig_port);
-void lspcon_detect_hdr_capability(struct intel_lspcon *lspcon);
+bool lspcon_detect_hdr_capability(struct intel_digital_port *dig_port);
 void lspcon_resume(struct intel_digital_port *dig_port);
 void lspcon_wait_pcon_mode(struct intel_lspcon *lspcon);
 void lspcon_write_infoframe(struct intel_encoder *encoder,