]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
drm/i915: Stop pretending to mask/unmask LPE audio interrupts
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 27 Apr 2017 16:02:22 +0000 (19:02 +0300)
committerJani Nikula <jani.nikula@intel.com>
Fri, 26 May 2017 08:51:18 +0000 (11:51 +0300)
commit9bd9590997b92fbd79fd028f704f6c584b4439d7
tree68a9d0604c9c74bd2f838f49907ce3e3fcaf577f
parent12ea39f8daf206eaaf926adf8f162b2f230bfb38
drm/i915: Stop pretending to mask/unmask LPE audio interrupts

vlv_display_irq_postinstall() enables the LPE audio interrupts
regardless of whether the LPE audio irq chip has masked/unmasked
them. Also the irqchip masking/unmasking doesn't consider the state
of the display power well or the device, and hence just leads to
dmesg spew when it tries to access the hardware while it's powered
down.

If the current way works, then we don't need to do anything in the
mask/unmask hooks. If it doesn't work, well, then we'd need to properly
track whether the irqchip has masked/unmasked the interrupts when
we enable display interrupts. And the mask/unmask hooks would need
to check whether display interrupts are even enabled before frobbing
with he registers.

So let's just assume the current way works and neuter the mask/unmask
hooks. Also clean up vlv_display_irq_postinstall() a bit and stop
it from trying to unmask/enable the LPE C interrupt on VLV since it
doesn't exist.

Cc: Takashi Iwai <tiwai@suse.de>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170427160231.13337-4-ville.syrjala@linux.intel.com
Reviewed-by: Takashi Iwai <tiwai@suse.de>
(cherry picked from commit ebf5f921478b9b55ed4e634b994571dd23a8fca3)
Reference: http://mid.mail-archive.com/874cf6d3-4e45-d4cf-e662-eb972490d2ce@redhat.com
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/intel_lpe_audio.c