qemu-devel
[Top][All Lists]
Advanced

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

[PATCH v2 35/42] esp: raise interrupt after every non-DMA byte transferr


From: Mark Cave-Ayland
Subject: [PATCH v2 35/42] esp: raise interrupt after every non-DMA byte transferred to the FIFO
Date: Tue, 9 Feb 2021 19:30:11 +0000

This matches the description in the datasheet and is required as support for
non-DMA transfers is added.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
---
 hw/scsi/esp.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
index 8b856155d1..617fdcb3ed 100644
--- a/hw/scsi/esp.c
+++ b/hw/scsi/esp.c
@@ -767,6 +767,12 @@ void esp_reg_write(ESPState *s, uint32_t saddr, uint64_t 
val)
             s->ti_size++;
             s->ti_buf[s->ti_wptr++] = val & 0xff;
         }
+
+        /* Non-DMA transfers raise an interrupt after every byte */
+        if (s->rregs[ESP_CMD] == CMD_TI) {
+            s->rregs[ESP_RINTR] |= INTR_FC | INTR_BS;
+            esp_raise_irq(s);
+        }
         break;
     case ESP_CMD:
         s->rregs[saddr] = val;
-- 
2.20.1




reply via email to

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