esp: remove minlen restriction in handle_ti

The limiting of DMA transfers to the maximum size of the available data is already
handled by esp_do_dma() and do_dma_pdma_cb().

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20210304221103.6369-15-mark.cave-ayland@ilande.co.uk>
This commit is contained in:
Mark Cave-Ayland 2021-03-04 22:10:35 +00:00
parent 6cc88d6bf9
commit b76624de50
1 changed files with 2 additions and 10 deletions

View File

@ -552,7 +552,7 @@ void esp_transfer_data(SCSIRequest *req, uint32_t len)
static void handle_ti(ESPState *s) static void handle_ti(ESPState *s)
{ {
uint32_t dmalen, minlen; uint32_t dmalen;
if (s->dma && !s->dma_enabled) { if (s->dma && !s->dma_enabled) {
s->dma_cb = handle_ti; s->dma_cb = handle_ti;
@ -560,16 +560,8 @@ static void handle_ti(ESPState *s)
} }
dmalen = esp_get_tc(s); dmalen = esp_get_tc(s);
if (s->do_cmd) {
minlen = (dmalen < ESP_CMDBUF_SZ) ? dmalen : ESP_CMDBUF_SZ;
} else if (s->ti_size < 0) {
minlen = (dmalen < -s->ti_size) ? dmalen : -s->ti_size;
} else {
minlen = (dmalen < s->ti_size) ? dmalen : s->ti_size;
}
trace_esp_handle_ti(minlen);
if (s->dma) { if (s->dma) {
trace_esp_handle_ti(dmalen);
s->rregs[ESP_RSTAT] &= ~STAT_TC; s->rregs[ESP_RSTAT] &= ~STAT_TC;
esp_do_dma(s); esp_do_dma(s);
} else if (s->do_cmd) { } else if (s->do_cmd) {