[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 21/42] esp: remove redundant pdma_start from ESPState
From: |
Laurent Vivier |
Subject: |
Re: [PATCH v2 21/42] esp: remove redundant pdma_start from ESPState |
Date: |
Tue, 2 Mar 2021 22:22:47 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 |
Le 09/02/2021 à 20:29, Mark Cave-Ayland a écrit :
> Now that PDMA SCSI commands are accumulated in cmdbuf in the same way as
> normal
> commands, the existing logic for locating the start of the SCSI command in
> cmdbuf via cmdlen can be used. This enables the PDMA-specific pdma_start and
> also get_pdma_buf() to be removed.
>
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> ---
> hw/scsi/esp.c | 19 ++-----------------
> include/hw/scsi/esp.h | 1 -
> 2 files changed, 2 insertions(+), 18 deletions(-)
>
> diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
> index 7055520a26..91f65a5d9b 100644
> --- a/hw/scsi/esp.c
> +++ b/hw/scsi/esp.c
> @@ -131,24 +131,10 @@ static void set_pdma(ESPState *s, enum pdma_origin_id
> origin,
> uint32_t index, uint32_t len)
> {
> s->pdma_origin = origin;
> - s->pdma_start = index;
> s->pdma_cur = index;
> s->pdma_len = len;
> }
>
> -static uint8_t *get_pdma_buf(ESPState *s)
> -{
> - switch (s->pdma_origin) {
> - case TI:
> - return s->ti_buf;
> - case CMD:
> - return s->cmdbuf;
> - case ASYNC:
> - return s->async_buf;
> - }
> - return NULL;
> -}
> -
> static uint8_t esp_pdma_read(ESPState *s)
> {
> uint32_t dmalen = esp_get_tc(s);
> @@ -339,7 +325,7 @@ static void s_without_satn_pdma_cb(ESPState *s)
> }
> s->do_cmd = 0;
> if (s->cmdlen) {
> - do_busid_cmd(s, get_pdma_buf(s) + s->pdma_start, 0);
> + do_busid_cmd(s, s->cmdbuf, 0);
> }
> }
>
> @@ -441,7 +427,7 @@ static void esp_dma_done(ESPState *s)
> static void do_dma_pdma_cb(ESPState *s)
> {
> int to_device = ((s->rregs[ESP_RSTAT] & 7) == STAT_DO);
> - int len = s->pdma_cur - s->pdma_start;
> + int len = s->pdma_cur;
>
> if (s->do_cmd) {
> s->ti_size = 0;
> @@ -868,7 +854,6 @@ static const VMStateDescription vmstate_esp_pdma = {
> .fields = (VMStateField[]) {
> VMSTATE_INT32(pdma_origin, ESPState),
> VMSTATE_UINT32(pdma_len, ESPState),
> - VMSTATE_UINT32(pdma_start, ESPState),
> VMSTATE_UINT32(pdma_cur, ESPState),
> VMSTATE_END_OF_LIST()
> }
> diff --git a/include/hw/scsi/esp.h b/include/hw/scsi/esp.h
> index c323d43f70..578d936214 100644
> --- a/include/hw/scsi/esp.h
> +++ b/include/hw/scsi/esp.h
> @@ -58,7 +58,6 @@ struct ESPState {
> void (*dma_cb)(ESPState *s);
> int pdma_origin;
> uint32_t pdma_len;
> - uint32_t pdma_start;
> uint32_t pdma_cur;
> void (*pdma_cb)(ESPState *s);
>
>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH v2 21/42] esp: remove redundant pdma_start from ESPState,
Laurent Vivier <=