[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [PATCH-for-4.1 v4 1/3] hw/ssi/xilinx_spips: Convert lqspi
From: |
Francisco Iglesias |
Subject: |
Re: [Qemu-arm] [PATCH-for-4.1 v4 1/3] hw/ssi/xilinx_spips: Convert lqspi_read() to read_with_attrs |
Date: |
Sat, 6 Jul 2019 00:27:34 +0200 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
On [2019 Jul 05] Fri 22:24:58, 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>
Reviewed-by: Francisco Iglesias <address@hidden>
> ---
> v4: Do not ignore lqspi_read() return value (Francisco)
> ---
> hw/ssi/xilinx_spips.c | 23 +++++++++++------------
> 1 file changed, 11 insertions(+), 12 deletions(-)
>
> diff --git a/hw/ssi/xilinx_spips.c b/hw/ssi/xilinx_spips.c
> index 8115bb6d46..b7c7275dbe 100644
> --- a/hw/ssi/xilinx_spips.c
> +++ b/hw/ssi/xilinx_spips.c
> @@ -1202,27 +1202,26 @@ 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;
> - } else {
> - lqspi_load_cache(opaque, addr);
> - return lqspi_read(opaque, addr, size);
> + *value = cpu_to_le32(*(uint32_t *)retp);
> + DB_PRINT_L(1, "addr: %08" HWADDR_PRIx ", data: %08" PRIx64 "\n",
> + addr, *value);
> + return MEMTX_OK;
> }
> +
> + lqspi_load_cache(opaque, addr);
> + return lqspi_read(opaque, addr, value, size, attrs);
> }
>
> 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
>