From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:36341) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UOAer-0007MJ-3D for qemu-devel@nongnu.org; Fri, 05 Apr 2013 13:42:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UOAej-0005Fz-7e for qemu-devel@nongnu.org; Fri, 05 Apr 2013 13:42:36 -0400 Received: from 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.d.1.0.0.b.8.0.1.0.0.2.ip6.arpa ([2001:8b0:1d0::1]:33552 helo=mnementh.archaic.org.uk) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UOAej-0005Er-0A for qemu-devel@nongnu.org; Fri, 05 Apr 2013 13:42:29 -0400 From: Peter Maydell Date: Fri, 5 Apr 2013 18:13:17 +0100 Message-Id: <1365181999-15387-13-git-send-email-peter.maydell@linaro.org> In-Reply-To: <1365181999-15387-1-git-send-email-peter.maydell@linaro.org> References: <1365181999-15387-1-git-send-email-peter.maydell@linaro.org> Subject: [Qemu-devel] [PATCH 12/14] pl330: Don't inhibit ES bits on INTEN List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori , Blue Swirl Cc: qemu-devel@nongnu.org, Paul Brook From: Peter Crosthwaite This if-else logic inhibits setting of the event status (ES) bits when interrupts are enabled. This is incorrect. ES should be set regardless on INTEN state. INTEN only inhibits the signalling of events to PL330 threads, not setting of the ES register. Signed-off-by: Peter Crosthwaite Signed-off-by: Peter Maydell --- hw/pl330.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hw/pl330.c b/hw/pl330.c index 1a04773..60aa4a8 100644 --- a/hw/pl330.c +++ b/hw/pl330.c @@ -870,9 +870,8 @@ static void pl330_dmasev(PL330Chan *ch, uint8_t opcode, uint8_t *args, int len) ch->parent->int_status |= (1 << ev_id); DB_PRINT("event interrupt raised %d\n", ev_id); qemu_irq_raise(ch->parent->irq[ev_id]); - } else { - ch->parent->ev_status |= (1 << ev_id); } + ch->parent->ev_status |= (1 << ev_id); } static void pl330_dmast(PL330Chan *ch, uint8_t opcode, uint8_t *args, int len) -- 1.7.9.5