diff mbox series

[v2,07/42] esp: add PDMA trace events

Message ID 20210209193018.31339-8-mark.cave-ayland@ilande.co.uk (mailing list archive)
State New, archived
Headers show
Series esp: consolidate PDMA transfer buffers and other fixes | expand

Commit Message

Mark Cave-Ayland Feb. 9, 2021, 7:29 p.m. UTC
This will become more useful later when trying to debug mixed FIFO and PDMA
requests.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 hw/scsi/esp.c        | 6 ++++++
 hw/scsi/trace-events | 4 ++++
 2 files changed, 10 insertions(+)

Comments

Laurent Vivier March 1, 2021, 8:32 p.m. UTC | #1
Le 09/02/2021 à 20:29, Mark Cave-Ayland a écrit :
> This will become more useful later when trying to debug mixed FIFO and PDMA
> requests.
> 
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  hw/scsi/esp.c        | 6 ++++++
>  hw/scsi/trace-events | 4 ++++
>  2 files changed, 10 insertions(+)
> 
> diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
> index c36cb0f238..db2ea02549 100644
> --- a/hw/scsi/esp.c
> +++ b/hw/scsi/esp.c
> @@ -63,11 +63,13 @@ static void esp_lower_irq(ESPState *s)
>  static void esp_raise_drq(ESPState *s)
>  {
>      qemu_irq_raise(s->irq_data);
> +    trace_esp_raise_drq();
>  }
>  
>  static void esp_lower_drq(ESPState *s)
>  {
>      qemu_irq_lower(s->irq_data);
> +    trace_esp_lower_drq();
>  }
>  
>  void esp_dma_enable(ESPState *s, int irq, int level)
> @@ -886,6 +888,8 @@ static void sysbus_esp_pdma_write(void *opaque, hwaddr addr,
>      uint32_t dmalen;
>      uint8_t *buf = get_pdma_buf(s);
>  
> +    trace_esp_pdma_write(size);
> +
>      dmalen = s->rregs[ESP_TCLO];
>      dmalen |= s->rregs[ESP_TCMID] << 8;
>      dmalen |= s->rregs[ESP_TCHI] << 16;
> @@ -923,6 +927,8 @@ static uint64_t sysbus_esp_pdma_read(void *opaque, hwaddr addr,
>      uint8_t *buf = get_pdma_buf(s);
>      uint64_t val = 0;
>  
> +    trace_esp_pdma_read(size);
> +
>      if (s->pdma_len == 0) {
>          return 0;
>      }
> diff --git a/hw/scsi/trace-events b/hw/scsi/trace-events
> index 762849c7b6..dff986a643 100644
> --- a/hw/scsi/trace-events
> +++ b/hw/scsi/trace-events
> @@ -159,8 +159,12 @@ esp_error_unhandled_command(uint32_t val) "unhandled command (0x%2.2x)"
>  esp_error_invalid_write(uint32_t val, uint32_t addr) "invalid write of 0x%02x at [0x%x]"
>  esp_raise_irq(void) "Raise IRQ"
>  esp_lower_irq(void) "Lower IRQ"
> +esp_raise_drq(void) "Raise DREQ"
> +esp_lower_drq(void) "Lower DREQ"
>  esp_dma_enable(void) "Raise enable"
>  esp_dma_disable(void) "Lower enable"
> +esp_pdma_read(int size) "pDMA read %u bytes"
> +esp_pdma_write(int size) "pDMA write %u bytes"
>  esp_get_cmd(uint32_t dmalen, int target) "len %d target %d"
>  esp_do_busid_cmd(uint8_t busid) "busid 0x%x"
>  esp_handle_satn_stop(uint32_t cmdlen) "cmdlen %d"
> 

Reviewed-by: Laurent Vivier <laurent@vivier.eu>
diff mbox series

Patch

diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
index c36cb0f238..db2ea02549 100644
--- a/hw/scsi/esp.c
+++ b/hw/scsi/esp.c
@@ -63,11 +63,13 @@  static void esp_lower_irq(ESPState *s)
 static void esp_raise_drq(ESPState *s)
 {
     qemu_irq_raise(s->irq_data);
+    trace_esp_raise_drq();
 }
 
 static void esp_lower_drq(ESPState *s)
 {
     qemu_irq_lower(s->irq_data);
+    trace_esp_lower_drq();
 }
 
 void esp_dma_enable(ESPState *s, int irq, int level)
@@ -886,6 +888,8 @@  static void sysbus_esp_pdma_write(void *opaque, hwaddr addr,
     uint32_t dmalen;
     uint8_t *buf = get_pdma_buf(s);
 
+    trace_esp_pdma_write(size);
+
     dmalen = s->rregs[ESP_TCLO];
     dmalen |= s->rregs[ESP_TCMID] << 8;
     dmalen |= s->rregs[ESP_TCHI] << 16;
@@ -923,6 +927,8 @@  static uint64_t sysbus_esp_pdma_read(void *opaque, hwaddr addr,
     uint8_t *buf = get_pdma_buf(s);
     uint64_t val = 0;
 
+    trace_esp_pdma_read(size);
+
     if (s->pdma_len == 0) {
         return 0;
     }
diff --git a/hw/scsi/trace-events b/hw/scsi/trace-events
index 762849c7b6..dff986a643 100644
--- a/hw/scsi/trace-events
+++ b/hw/scsi/trace-events
@@ -159,8 +159,12 @@  esp_error_unhandled_command(uint32_t val) "unhandled command (0x%2.2x)"
 esp_error_invalid_write(uint32_t val, uint32_t addr) "invalid write of 0x%02x at [0x%x]"
 esp_raise_irq(void) "Raise IRQ"
 esp_lower_irq(void) "Lower IRQ"
+esp_raise_drq(void) "Raise DREQ"
+esp_lower_drq(void) "Lower DREQ"
 esp_dma_enable(void) "Raise enable"
 esp_dma_disable(void) "Lower enable"
+esp_pdma_read(int size) "pDMA read %u bytes"
+esp_pdma_write(int size) "pDMA write %u bytes"
 esp_get_cmd(uint32_t dmalen, int target) "len %d target %d"
 esp_do_busid_cmd(uint8_t busid) "busid 0x%x"
 esp_handle_satn_stop(uint32_t cmdlen) "cmdlen %d"