drm/i915/opregion: early exit from encoder notify if SWSCI isn't there
authorJani Nikula <jani.nikula@intel.com>
Thu, 10 Feb 2022 10:36:44 +0000 (12:36 +0200)
committerJani Nikula <jani.nikula@intel.com>
Fri, 11 Feb 2022 07:54:38 +0000 (09:54 +0200)
Newer platforms aren't supposed to have mailbox #2 or SWSCI
support. Bail out early from encoder notify if that is the case,
skipping the out-of-bounds checks and debug messages.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/82f63313057ed2d96856b3f8d76536826a897bc7.1644489329.git.jani.nikula@intel.com
drivers/gpu/drm/i915/display/intel_opregion.c

index e540e5b9073bf54b265acb857bb132e75d55cdfb..ce3d44cc2461ddb60e7842700e090ca6db0e105b 100644 (file)
@@ -358,11 +358,17 @@ int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
        u32 parm = 0;
        u32 type = 0;
        u32 port;
+       int ret;
 
        /* don't care about old stuff for now */
        if (!HAS_DDI(dev_priv))
                return 0;
 
+       /* Avoid port out of bounds checks if SWSCI isn't there. */
+       ret = check_swsci_function(dev_priv, SWSCI_SBCB_DISPLAY_POWER_STATE);
+       if (ret)
+               return ret;
+
        if (intel_encoder->type == INTEL_OUTPUT_DSI)
                port = 0;
        else