Commit ac1723c1 authored by Thomas Zimmermann's avatar Thomas Zimmermann
Browse files

drm/i915: Track IRQ state in local device state



Replace usage of struct drm_device.irq_enabled with the driver's
own state field struct drm_i915_private.irq_enabled. The field in
the DRM device structure is considered legacy and should not be
used by KMS drivers.

Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210625082222.3845-7-tzimmermann@suse.de
parent 24d31c49
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1134,6 +1134,8 @@ struct drm_i915_private {
	/* For i915gm/i945gm vblank irq workaround */
	u8 vblank_enabled;

	bool irq_enabled;

	/* perform PHY state sanity checks? */
	bool chv_phy_assert[2];

+4 −4
Original line number Diff line number Diff line
@@ -4488,14 +4488,14 @@ int intel_irq_install(struct drm_i915_private *dev_priv)
	 */
	dev_priv->runtime_pm.irqs_enabled = true;

	dev_priv->drm.irq_enabled = true;
	dev_priv->irq_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->drm.irq_enabled = false;
		dev_priv->irq_enabled = false;
		return ret;
	}

@@ -4521,10 +4521,10 @@ void intel_irq_uninstall(struct drm_i915_private *dev_priv)
	 * intel_modeset_driver_remove() calling us out of sequence.
	 * Would be nice if it didn't do that...
	 */
	if (!dev_priv->drm.irq_enabled)
	if (!dev_priv->irq_enabled)
		return;

	dev_priv->drm.irq_enabled = false;
	dev_priv->irq_enabled = false;

	intel_irq_reset(dev_priv);