[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [PATCH v3 1/2] hw/ssi/xilinx_spips: Convert lqspi_read()
From: |
Francisco Iglesias |
Subject: |
Re: [Qemu-arm] [PATCH v3 1/2] hw/ssi/xilinx_spips: Convert lqspi_read() to read_with_attrs |
Date: |
Fri, 5 Jul 2019 17:53:39 +0200 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
Hi Philippe,
On [2019 Jul 05] Fri 17:08:49, Philippe Mathieu-Daudé wrote:
> In the next commit we will implement the write_with_attrs()
> handler. To avoid using different APIs, convert the read()
> handler first.
>
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> ---
> hw/ssi/xilinx_spips.c | 20 ++++++++++----------
> 1 file changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/hw/ssi/xilinx_spips.c b/hw/ssi/xilinx_spips.c
> index 8115bb6d46..e80619aece 100644
> --- a/hw/ssi/xilinx_spips.c
> +++ b/hw/ssi/xilinx_spips.c
> @@ -1202,27 +1202,27 @@ static void lqspi_load_cache(void *opaque, hwaddr
> addr)
> }
> }
>
> -static uint64_t
> -lqspi_read(void *opaque, hwaddr addr, unsigned int size)
> +static MemTxResult lqspi_read(void *opaque, hwaddr addr, uint64_t *value,
> + unsigned size, MemTxAttrs attrs)
> {
> - XilinxQSPIPS *q = opaque;
> - uint32_t ret;
> + XilinxQSPIPS *q = XILINX_QSPIPS(opaque);
>
> if (addr >= q->lqspi_cached_addr &&
> addr <= q->lqspi_cached_addr + LQSPI_CACHE_SIZE - 4) {
> uint8_t *retp = &q->lqspi_buf[addr - q->lqspi_cached_addr];
> - ret = cpu_to_le32(*(uint32_t *)retp);
> - DB_PRINT_L(1, "addr: %08x, data: %08x\n", (unsigned)addr,
> - (unsigned)ret);
> - return ret;
> + *value = cpu_to_le32(*(uint32_t *)retp);
> + DB_PRINT_L(1, "addr: %08" HWADDR_PRIx ", data: %08" PRIx64 "\n",
> + addr, *value);
> } else {
> lqspi_load_cache(opaque, addr);
> - return lqspi_read(opaque, addr, size);
> + lqspi_read(opaque, addr, value, size, attrs);
If you don't want to leave the return value floating you can always keep the
'return' (I'm unsure if coverity will complain about that).
Either way:
Reviewed-by: Francisco Iglesias <address@hidden>
> }
> +
> + return MEMTX_OK;
> }
>
> static const MemoryRegionOps lqspi_ops = {
> - .read = lqspi_read,
> + .read_with_attrs = lqspi_read,
> .endianness = DEVICE_NATIVE_ENDIAN,
> .valid = {
> .min_access_size = 1,
> --
> 2.20.1
>