drm/i915: disable all display features when no display
authorJani Nikula <jani.nikula@intel.com>
Thu, 10 Sep 2020 09:52:25 +0000 (12:52 +0300)
committerJani Nikula <jani.nikula@intel.com>
Fri, 11 Sep 2020 10:16:48 +0000 (13:16 +0300)
Disable all display feature flags when there are no pipes i.e. there is
no display. This should help with not having to additionally check for
HAS_DISPLAY() when a feature flag check would suffice.

Also disable modeset and atomic driver features.

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

index e2aa5bc..adc836f 100644 (file)
@@ -516,6 +516,14 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
                                            S32_MAX),
                                USEC_PER_SEC));
        }
+
+       if (!HAS_DISPLAY(dev_priv)) {
+               dev_priv->drm.driver_features &= ~(DRIVER_MODESET |
+                                                  DRIVER_ATOMIC);
+               memset(&info->display, 0, sizeof(info->display));
+               memset(runtime->num_sprites, 0, sizeof(runtime->num_sprites));
+               memset(runtime->num_scalers, 0, sizeof(runtime->num_scalers));
+       }
 }
 
 void intel_driver_caps_print(const struct intel_driver_caps *caps,