diff options
author | Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> | 2024-01-12 12:53:53 +0000 |
---|---|---|
committer | Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> | 2024-02-13 19:37:28 +0000 |
commit | 036120f3af5508d69087b898c2497bb73092b3a4 (patch) | |
tree | 1cfbbb80ebd87094f8da7a629ceb155b056988b8 | |
parent | c90b2792293d5ce3eb66b1db924894e94d807654 (diff) | |
download | qemu-036120f3af5508d69087b898c2497bb73092b3a4.zip qemu-036120f3af5508d69087b898c2497bb73092b3a4.tar.gz qemu-036120f3af5508d69087b898c2497bb73092b3a4.tar.bz2 |
esp.c: remove DATA IN phase logic when reading from FIFO
Whilst the FIFO is used a storage buffer for both DMA and non-DMA requests, the
loading and unloading is managed directly issuing commands to the ESP. As a
result there is no need to manually invoke the non-DMA command handler.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Tested-by: Helge Deller <deller@gmx.de>
Tested-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20240112125420.514425-62-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
-rw-r--r-- | hw/scsi/esp.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c index d714657..4c1ca63 100644 --- a/hw/scsi/esp.c +++ b/hw/scsi/esp.c @@ -1067,17 +1067,6 @@ uint64_t esp_reg_read(ESPState *s, uint32_t saddr) qemu_log_mask(LOG_UNIMP, "esp: PIO data read not implemented\n"); s->rregs[ESP_FIFO] = 0; } else { - if (esp_get_phase(s) == STAT_DI) { - if (s->ti_size) { - esp_do_nodma(s); - } else { - /* - * The last byte of a non-DMA transfer has been read out - * of the FIFO so switch to status phase - */ - esp_set_phase(s, STAT_ST); - } - } s->rregs[ESP_FIFO] = esp_fifo_pop(&s->fifo); } val = s->rregs[ESP_FIFO]; |