[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 30/42] esp: add 4 byte PDMA read and write transfers
From: |
Laurent Vivier |
Subject: |
Re: [PATCH v2 30/42] esp: add 4 byte PDMA read and write transfers |
Date: |
Tue, 2 Mar 2021 23:05:00 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 |
Le 09/02/2021 à 20:30, Mark Cave-Ayland a écrit :
> The MacOS toolbox ROM performs 4 byte reads/writes when transferring data to
> and from the target. Since the SCSI bus is 16-bits wide, use the memory API
> to split a 4 byte access into 2 x 2 byte accesses.
>
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> ---
> hw/scsi/esp.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
> index 7671cc398d..1d56c99527 100644
> --- a/hw/scsi/esp.c
> +++ b/hw/scsi/esp.c
> @@ -1003,7 +1003,9 @@ static const MemoryRegionOps sysbus_esp_pdma_ops = {
> .write = sysbus_esp_pdma_write,
> .endianness = DEVICE_NATIVE_ENDIAN,
> .valid.min_access_size = 1,
> - .valid.max_access_size = 2,
> + .valid.max_access_size = 4,
> + .impl.min_access_size = 1,
> + .impl.max_access_size = 2,
> };
>
> static const struct SCSIBusInfo esp_scsi_info = {
> @@ -1048,7 +1050,7 @@ static void sysbus_esp_realize(DeviceState *dev, Error
> **errp)
> sysbus, "esp-regs", ESP_REGS << sysbus->it_shift);
> sysbus_init_mmio(sbd, &sysbus->iomem);
> memory_region_init_io(&sysbus->pdma, OBJECT(sysbus),
> &sysbus_esp_pdma_ops,
> - sysbus, "esp-pdma", 2);
> + sysbus, "esp-pdma", 4);
> sysbus_init_mmio(sbd, &sysbus->pdma);
>
> qdev_init_gpio_in(dev, sysbus_esp_gpio_demux, 2);
>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH v2 30/42] esp: add 4 byte PDMA read and write transfers,
Laurent Vivier <=