[Qemu-devel] [PATCH] HDA: Honor WAKEEN bits when deciding to raise an interrupt on codec status

2010-11-07 Thread François Revol
From 2e6c61248c76d3f0c511658b9f34660d034703a4 Mon Sep 17 00:00:00 2001

HDA: Honor WAKEEN bits when deciding to raise an interrupt on codec status 
change.
This prevents an interrupt storm with the Haiku HDA driver which does not 
handle codec status changes in the irq handler.


Signed-off-by: François Revol re...@free.fr
---
 hw/intel-hda.c |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/hw/intel-hda.c b/hw/intel-hda.c
index ccb059d..f1bd203 100644
--- a/hw/intel-hda.c
+++ b/hw/intel-hda.c
@@ -235,7 +235,7 @@ static void intel_hda_update_int_sts(IntelHDAState *d)
 if (d-rirb_sts  ICH6_RBSTS_OVERRUN) {
 sts |= (1  30);
 }
-if (d-state_sts) {
+if (d-state_sts  d-wake_en) {
 sts |= (1  30);
 }
 
@@ -617,6 +617,7 @@ static const struct IntelHDAReg regtab[] = {
 [ ICH6_REG_WAKEEN ] = {
 .name = WAKEEN,
 .size = 2,
+.wmask= 0x3fff,
 .offset   = offsetof(IntelHDAState, wake_en),
 },
 [ ICH6_REG_STATESTS ] = {
-- 
1.7.2.2





Re: [Qemu-devel] [PATCH] HDA: Honor WAKEEN bits when deciding to raise an interrupt on codec status

2010-11-07 Thread malc
On Sun, 7 Nov 2010, Fran?ois Revol wrote:

 From 2e6c61248c76d3f0c511658b9f34660d034703a4 Mon Sep 17 00:00:00 2001
 
 HDA: Honor WAKEEN bits when deciding to raise an interrupt on codec 
 status change. This prevents an interrupt storm with the Haiku HDA 
 driver which does not handle codec status changes in the irq handler.
 

Talk this over with the author of intel hda.

-- 
mailto:av1...@comtv.ru