drm/i915/irq: Move irqs_enabled out of runtime_pm
This information is used in many places and it doesn't have anything to do with runtime_pm directly. Let's move it to the driver, where it belongs. Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240912172539.418957-2-rodrigo.vivi@intel.com Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
@@ -234,6 +234,7 @@ struct drm_i915_private {
|
||||
|
||||
/* protects the irq masks */
|
||||
spinlock_t irq_lock;
|
||||
bool irqs_enabled;
|
||||
|
||||
/* Sideband mailbox protection */
|
||||
struct mutex sb_lock;
|
||||
|
||||
@@ -1404,14 +1404,14 @@ int intel_irq_install(struct drm_i915_private *dev_priv)
|
||||
* interrupts as enabled _before_ actually enabling them to avoid
|
||||
* special cases in our ordering checks.
|
||||
*/
|
||||
dev_priv->runtime_pm.irqs_enabled = true;
|
||||
dev_priv->irqs_enabled = true;
|
||||
|
||||
intel_irq_reset(dev_priv);
|
||||
|
||||
ret = request_irq(irq, intel_irq_handler(dev_priv),
|
||||
IRQF_SHARED, DRIVER_NAME, dev_priv);
|
||||
if (ret < 0) {
|
||||
dev_priv->runtime_pm.irqs_enabled = false;
|
||||
dev_priv->irqs_enabled = false;
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1437,7 +1437,7 @@ void intel_irq_uninstall(struct drm_i915_private *dev_priv)
|
||||
* intel_display_driver_remove() calling us out of sequence.
|
||||
* Would be nice if it didn't do that...
|
||||
*/
|
||||
if (!dev_priv->runtime_pm.irqs_enabled)
|
||||
if (!dev_priv->irqs_enabled)
|
||||
return;
|
||||
|
||||
intel_irq_reset(dev_priv);
|
||||
@@ -1445,7 +1445,7 @@ void intel_irq_uninstall(struct drm_i915_private *dev_priv)
|
||||
free_irq(irq, dev_priv);
|
||||
|
||||
intel_hpd_cancel_work(dev_priv);
|
||||
dev_priv->runtime_pm.irqs_enabled = false;
|
||||
dev_priv->irqs_enabled = false;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1458,7 +1458,7 @@ void intel_irq_uninstall(struct drm_i915_private *dev_priv)
|
||||
void intel_runtime_pm_disable_interrupts(struct drm_i915_private *dev_priv)
|
||||
{
|
||||
intel_irq_reset(dev_priv);
|
||||
dev_priv->runtime_pm.irqs_enabled = false;
|
||||
dev_priv->irqs_enabled = false;
|
||||
intel_synchronize_irq(dev_priv);
|
||||
}
|
||||
|
||||
@@ -1471,14 +1471,14 @@ void intel_runtime_pm_disable_interrupts(struct drm_i915_private *dev_priv)
|
||||
*/
|
||||
void intel_runtime_pm_enable_interrupts(struct drm_i915_private *dev_priv)
|
||||
{
|
||||
dev_priv->runtime_pm.irqs_enabled = true;
|
||||
dev_priv->irqs_enabled = true;
|
||||
intel_irq_reset(dev_priv);
|
||||
intel_irq_postinstall(dev_priv);
|
||||
}
|
||||
|
||||
bool intel_irqs_enabled(struct drm_i915_private *dev_priv)
|
||||
{
|
||||
return dev_priv->runtime_pm.irqs_enabled;
|
||||
return dev_priv->irqs_enabled;
|
||||
}
|
||||
|
||||
void intel_synchronize_irq(struct drm_i915_private *i915)
|
||||
|
||||
@@ -42,7 +42,6 @@ struct intel_runtime_pm {
|
||||
atomic_t wakeref_count;
|
||||
struct device *kdev; /* points to i915->drm.dev */
|
||||
bool available;
|
||||
bool irqs_enabled;
|
||||
bool no_wakeref_tracking;
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user