qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/5] hw/scsi/megasas: Use uint32_t for reply queue head/tail


From: Richard Henderson
Subject: Re: [PATCH 1/5] hw/scsi/megasas: Use uint32_t for reply queue head/tail values
Date: Tue, 21 Dec 2021 15:13:18 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0

On 12/18/21 7:10 AM, Philippe Mathieu-Daudé wrote:
While the reply queue values fit in 16-bit, they are accessed
as 32-bit:

   661:    s->reply_queue_head = ldl_le_pci_dma(pcid, s->producer_pa);
   662:    s->reply_queue_head %= MEGASAS_MAX_FRAMES;
   663:    s->reply_queue_tail = ldl_le_pci_dma(pcid, s->consumer_pa);
   664:    s->reply_queue_tail %= MEGASAS_MAX_FRAMES;

Having:

   41:#define MEGASAS_MAX_FRAMES 2048         /* Firmware limit at 65535 */

In order to update the ld/st*_pci_dma() API to pass the address
of the value to access, it is simpler to have the head/tail declared
as 32-bit values. Replace the uint16_t by uint32_t, wasting 4 bytes in
the MegasasState structure.

Signed-off-by: Philippe Mathieu-Daudé<philmd@redhat.com>
---
  hw/scsi/megasas.c    | 4 ++--
  hw/scsi/trace-events | 8 ++++----
  2 files changed, 6 insertions(+), 6 deletions(-)

Acked-by: Richard Henderson <richard.henderson@linaro.org>

r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]