drm/i915: Introduce i915_has_asle()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 18 Mar 2019 16:56:31 +0000 (18:56 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 20 Mar 2019 15:00:19 +0000 (17:00 +0200)
We want to allow the desktop PNV to not have .is_mobile set. To
that end let's add a small helper to determine if the platform
has the ASLE interrupt (or equivalent). Supposdely both PNV
variants have it.

Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190318165633.28924-4-ville.syrjala@linux.intel.com
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
drivers/gpu/drm/i915/i915_irq.c

index 82d487189a3406e57ab7865d8fe82d680444f541..1375bba455487b07096d8320bdae3e2780c75ad4 100644 (file)
@@ -748,13 +748,21 @@ void i915_disable_pipestat(struct drm_i915_private *dev_priv,
        POSTING_READ(reg);
 }
 
+static bool i915_has_asle(struct drm_i915_private *dev_priv)
+{
+       if (!dev_priv->opregion.asle)
+               return false;
+
+       return IS_PINEVIEW(dev_priv) || IS_MOBILE(dev_priv);
+}
+
 /**
  * i915_enable_asle_pipestat - enable ASLE pipestat for OpRegion
  * @dev_priv: i915 device private
  */
 static void i915_enable_asle_pipestat(struct drm_i915_private *dev_priv)
 {
-       if (!dev_priv->opregion.asle || !IS_MOBILE(dev_priv))
+       if (!i915_has_asle(dev_priv))
                return;
 
        spin_lock_irq(&dev_priv->irq_lock);