Skip to content

Commit 9eb4826

Browse files
committed
drm/i915/opregion: abstract ASLE presence check
Add a function to check the opregion ASLE presence instead of accessing the opregion structures directly. Reorder the checks in i915_has_asle() to avoid the function call if possible. Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com> Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/1829415d3e7b29e78c46b20bca8175ef373bcd92.1704992868.git.jani.nikula@intel.com
1 parent 37e2100 commit 9eb4826

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

drivers/gpu/drm/i915/display/intel_display_irq.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -266,12 +266,12 @@ void i915_disable_pipestat(struct drm_i915_private *dev_priv,
266266
intel_uncore_posting_read(&dev_priv->uncore, reg);
267267
}
268268

269-
static bool i915_has_asle(struct drm_i915_private *dev_priv)
269+
static bool i915_has_asle(struct drm_i915_private *i915)
270270
{
271-
if (!dev_priv->display.opregion.asle)
271+
if (!IS_PINEVIEW(i915) && !IS_MOBILE(i915))
272272
return false;
273273

274-
return IS_PINEVIEW(dev_priv) || IS_MOBILE(dev_priv);
274+
return intel_opregion_asle_present(i915);
275275
}
276276

277277
/**

drivers/gpu/drm/i915/display/intel_opregion.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -632,6 +632,11 @@ static void asle_work(struct work_struct *work)
632632
asle->aslc = aslc_stat;
633633
}
634634

635+
bool intel_opregion_asle_present(struct drm_i915_private *i915)
636+
{
637+
return i915->display.opregion.asle;
638+
}
639+
635640
void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
636641
{
637642
if (dev_priv->display.opregion.asle)

drivers/gpu/drm/i915/display/intel_opregion.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ void intel_opregion_resume(struct drm_i915_private *dev_priv);
6969
void intel_opregion_suspend(struct drm_i915_private *dev_priv,
7070
pci_power_t state);
7171

72+
bool intel_opregion_asle_present(struct drm_i915_private *i915);
7273
void intel_opregion_asle_intr(struct drm_i915_private *dev_priv);
7374
int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
7475
bool enable);
@@ -111,6 +112,11 @@ static inline void intel_opregion_suspend(struct drm_i915_private *dev_priv,
111112
{
112113
}
113114

115+
static inline bool intel_opregion_asle_present(struct drm_i915_private *i915)
116+
{
117+
return false;
118+
}
119+
114120
static inline void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
115121
{
116122
}

0 commit comments

Comments
 (0)