qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] HDA: Honor WAKEEN bits when deciding to raise an in


From: François Revol
Subject: [Qemu-devel] [PATCH] HDA: Honor WAKEEN bits when deciding to raise an interrupt on codec status
Date: Sun, 7 Nov 2010 16:12:10 +0100

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 <address@hidden>
---
 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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]