[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 35/42] esp: raise interrupt after every non-DMA byte transferr
From: |
Mark Cave-Ayland |
Subject: |
[PATCH v3 35/42] esp: raise interrupt after every non-DMA byte transferred to the FIFO |
Date: |
Thu, 4 Mar 2021 22:10:56 +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>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
---
hw/scsi/esp.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
index eb6681ca66..4ac299651f 100644
--- a/hw/scsi/esp.c
+++ b/hw/scsi/esp.c
@@ -760,6 +760,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
- [PATCH v3 25/42] esp: remove CMD pdma_origin, (continued)
- [PATCH v3 25/42] esp: remove CMD pdma_origin, Mark Cave-Ayland, 2021/03/04
- [PATCH v3 26/42] esp: rename get_cmd_cb() to esp_select(), Mark Cave-Ayland, 2021/03/04
- [PATCH v3 27/42] esp: fix PDMA target selection, Mark Cave-Ayland, 2021/03/04
- [PATCH v3 28/42] esp: use FIFO for PDMA transfers between initiator and device, Mark Cave-Ayland, 2021/03/04
- [PATCH v3 29/42] esp: remove pdma_origin from ESPState, Mark Cave-Ayland, 2021/03/04
- [PATCH v3 30/42] esp: add 4 byte PDMA read and write transfers, Mark Cave-Ayland, 2021/03/04
- [PATCH v3 31/42] esp: implement FIFO flush command, Mark Cave-Ayland, 2021/03/04
- [PATCH v3 32/42] esp: latch individual bits in ESP_RINTR register, Mark Cave-Ayland, 2021/03/04
- [PATCH v3 33/42] esp: defer command completion interrupt on incoming data transfers, Mark Cave-Ayland, 2021/03/04
- [PATCH v3 34/42] esp: remove old deferred command completion mechanism, Mark Cave-Ayland, 2021/03/04
- [PATCH v3 35/42] esp: raise interrupt after every non-DMA byte transferred to the FIFO,
Mark Cave-Ayland <=
- [PATCH v3 36/42] esp: add maxlen parameter to get_cmd(), Mark Cave-Ayland, 2021/03/04
- [PATCH v3 37/42] esp: transition to message out phase after SATN and stop command, Mark Cave-Ayland, 2021/03/04
- [PATCH v3 38/42] esp: convert ti_buf from array to Fifo8, Mark Cave-Ayland, 2021/03/04
- [PATCH v3 39/42] esp: convert cmdbuf from array to Fifo8, Mark Cave-Ayland, 2021/03/04
- [PATCH v3 40/42] esp: add trivial implementation of the ESP_RFLAGS register, Mark Cave-Ayland, 2021/03/04
- [PATCH v3 41/42] esp: implement non-DMA transfers in PDMA mode, Mark Cave-Ayland, 2021/03/04
- [PATCH v3 42/42] esp: add support for unaligned accesses, Mark Cave-Ayland, 2021/03/04
- Re: [PATCH v3 00/42] esp: consolidate PDMA transfer buffers and other fixes, Philippe Mathieu-Daudé, 2021/03/04