git: kernel - Fix general MSI/interrupt issue with HDAA
Matthew Dillon
dillon at crater.dragonflybsd.org
Mon Jul 20 11:26:52 PDT 2015
commit 5d3157c70203ae44870e41fc589db5a350b922c3
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Mon Jul 20 11:21:47 2015 -0700
kernel - Fix general MSI/interrupt issue with HDAA
* Testing on J1900, MSI didn't work and the normal interrupt mode
was stuck on, resulting in an interrupt storm.
* Problem was tracked down to a missing initialization of the WAKEEN
(wake enable) bits. Intel errata documentation clarifies that these bits
might not be cleared by a chip reset (since the idea is to support a
wake event).
On the J1900 some of these bits were found to be set, which caused
STATESTS to force an interrupt event and prevent additional
MSI events.
* Clearing the WAKEEN bits fixes the interrupt storm and MSI appears to
work again. STATESTS is only used to detect CODECs and there's no reason
to try to clear it (which would mess up driver reloads).
* Remove the QUIRK added in the previous commit.
* Reverse the resource hint test, run it after loading the quirk table
so it can override the quirk table.
Summary of changes:
sys/dev/sound/pci/hda/hdac.c | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5d3157c70203ae44870e41fc589db5a350b922c3
--
DragonFly BSD source repository
More information about the Commits
mailing list