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>
static void handle_ti(ESPState *s)
{
- uint32_t dmalen, minlen;
+ uint32_t dmalen;
if (s->dma && !s->dma_enabled) {
s->dma_cb = handle_ti;
}
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) {
+ trace_esp_handle_ti(dmalen);
s->rregs[ESP_RSTAT] &= ~STAT_TC;
esp_do_dma(s);
} else if (s->do_cmd) {