OSDN Git Service

drm/i915: Do not start connector polling on headless sku
authorJouni Högander <jouni.hogander@intel.com>
Fri, 10 Jun 2022 08:54:29 +0000 (11:54 +0300)
committerJani Nikula <jani.nikula@intel.com>
Thu, 16 Jun 2022 10:15:41 +0000 (13:15 +0300)
Connector polling is waking up the polled device. Polling
is unnecessary if our device is known to not have display.

Fix this and save some power by disabling starting connector
polling when we are having headless sku. Use information from
opregion.

v2: Move headless sku check into INTEL_DISPLAY_ENABLED macro

Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220610085429.52935-4-jouni.hogander@intel.com
drivers/gpu/drm/i915/i915_drv.h

index 4ac8d63..2f69100 100644 (file)
@@ -1302,7 +1302,9 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 
 /* Only valid when HAS_DISPLAY() is true */
 #define INTEL_DISPLAY_ENABLED(dev_priv) \
-       (drm_WARN_ON(&(dev_priv)->drm, !HAS_DISPLAY(dev_priv)), !(dev_priv)->params.disable_display)
+       (drm_WARN_ON(&(dev_priv)->drm, !HAS_DISPLAY(dev_priv)),         \
+        !(dev_priv)->params.disable_display &&                         \
+        !intel_opregion_headless_sku(dev_priv))
 
 #define HAS_GUC_DEPRIVILEGE(dev_priv) \
        (INTEL_INFO(dev_priv)->has_guc_deprivilege)