Commit 46c63d24 authored by José Roberto de Souza's avatar José Roberto de Souza
Browse files

drm/i915/bdw+: Move misc display IRQ handling to it own function



Just moving it to reduce the tabs and avoid break code lines.
No behavior changes intended here.

v2:
- Reading misc display IRQ outside of gen8_de_misc_irq_handler() as
other irq handlers (Dhinakaran)

Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: default avatarDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190730224753.14907-1-jose.souza@intel.com
parent 710bb9cf
Loading
Loading
Loading
Loading
+25 −20
Original line number Original line Diff line number Diff line
@@ -2644,21 +2644,11 @@ static u32 gen8_de_pipe_fault_mask(struct drm_i915_private *dev_priv)
		return GEN8_DE_PIPE_IRQ_FAULT_ERRORS;
		return GEN8_DE_PIPE_IRQ_FAULT_ERRORS;
}
}


static irqreturn_t
static void
gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl)
gen8_de_misc_irq_handler(struct drm_i915_private *dev_priv, u32 iir)
{
{
	irqreturn_t ret = IRQ_NONE;
	u32 iir;
	enum pipe pipe;

	if (master_ctl & GEN8_DE_MISC_IRQ) {
		iir = I915_READ(GEN8_DE_MISC_IIR);
		if (iir) {
	bool found = false;
	bool found = false;


			I915_WRITE(GEN8_DE_MISC_IIR, iir);
			ret = IRQ_HANDLED;

	if (iir & GEN8_DE_MISC_GSE) {
	if (iir & GEN8_DE_MISC_GSE) {
		intel_opregion_asle_intr(dev_priv);
		intel_opregion_asle_intr(dev_priv);
		found = true;
		found = true;
@@ -2675,9 +2665,24 @@ gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl)
	if (!found)
	if (!found)
		DRM_ERROR("Unexpected DE Misc interrupt\n");
		DRM_ERROR("Unexpected DE Misc interrupt\n");
}
}
		else

static irqreturn_t
gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl)
{
	irqreturn_t ret = IRQ_NONE;
	u32 iir;
	enum pipe pipe;

	if (master_ctl & GEN8_DE_MISC_IRQ) {
		iir = I915_READ(GEN8_DE_MISC_IIR);
		if (iir) {
			I915_WRITE(GEN8_DE_MISC_IIR, iir);
			ret = IRQ_HANDLED;
			gen8_de_misc_irq_handler(dev_priv, iir);
		} else {
			DRM_ERROR("The master control interrupt lied (DE MISC)!\n");
			DRM_ERROR("The master control interrupt lied (DE MISC)!\n");
		}
		}
	}


	if (INTEL_GEN(dev_priv) >= 11 && (master_ctl & GEN11_DE_HPD_IRQ)) {
	if (INTEL_GEN(dev_priv) >= 11 && (master_ctl & GEN11_DE_HPD_IRQ)) {
		iir = I915_READ(GEN11_DE_HPD_IIR);
		iir = I915_READ(GEN11_DE_HPD_IIR);