From: "Cédric Le Goater" <clg@kaod.org>
To: Guenter Roeck <linux@roeck-us.net>, qemu-devel@nongnu.org
Cc: "Steven Lee" <steven_lee@aspeedtech.com>,
	"Troy Lee" <leetroy@gmail.com>,
	"Jamin Lin" <jamin_lin@aspeedtech.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Andrew Jeffery" <andrew@codeconstruct.com.au>,
	"Joel Stanley" <joel@jms.id.au>,
	"BALATON Zoltan" <balaton@eik.bme.hu>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
	"Hervé Poussineau" <hpoussin@reactos.org>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	qemu-arm@nongnu.org
Subject: Re: [RFC PATCH 2/8] usb/uhci: Introduce and use register defines
Date: Mon, 9 Sep 2024 09:48:44 +0200	[thread overview]
Message-ID: <d2e07e85-97a0-4151-9349-3f989cdafad2@kaod.org> (raw)
In-Reply-To: <20240906122542.3808997-3-linux@roeck-us.net>
On 9/6/24 14:25, Guenter Roeck wrote:
> Introduce defines for UHCI registers to simplify adding register access
> in subsequent patches of the series.
> 
> No functional change.
> 
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Thanks,
C.
> ---
>   hw/usb/hcd-uhci.c          | 32 ++++++++++++++++----------------
>   include/hw/usb/uhci-regs.h | 11 +++++++++++
>   2 files changed, 27 insertions(+), 16 deletions(-)
> 
> diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c
> index dfcc3e05c0..8bc163f688 100644
> --- a/hw/usb/hcd-uhci.c
> +++ b/hw/usb/hcd-uhci.c
> @@ -389,7 +389,7 @@ static void uhci_port_write(void *opaque, hwaddr addr,
>       trace_usb_uhci_mmio_writew(addr, val);
>   
>       switch (addr) {
> -    case 0x00:
> +    case UHCI_USBCMD:
>           if ((val & UHCI_CMD_RS) && !(s->cmd & UHCI_CMD_RS)) {
>               /* start frame processing */
>               trace_usb_uhci_schedule_start();
> @@ -424,7 +424,7 @@ static void uhci_port_write(void *opaque, hwaddr addr,
>               }
>           }
>           break;
> -    case 0x02:
> +    case UHCI_USBSTS:
>           s->status &= ~val;
>           /*
>            * XXX: the chip spec is not coherent, so we add a hidden
> @@ -435,27 +435,27 @@ static void uhci_port_write(void *opaque, hwaddr addr,
>           }
>           uhci_update_irq(s);
>           break;
> -    case 0x04:
> +    case UHCI_USBINTR:
>           s->intr = val;
>           uhci_update_irq(s);
>           break;
> -    case 0x06:
> +    case UHCI_USBFRNUM:
>           if (s->status & UHCI_STS_HCHALTED) {
>               s->frnum = val & 0x7ff;
>           }
>           break;
> -    case 0x08:
> +    case UHCI_USBFLBASEADD:
>           s->fl_base_addr &= 0xffff0000;
>           s->fl_base_addr |= val & ~0xfff;
>           break;
> -    case 0x0a:
> +    case UHCI_USBFLBASEADD + 2:
>           s->fl_base_addr &= 0x0000ffff;
>           s->fl_base_addr |= (val << 16);
>           break;
> -    case 0x0c:
> +    case UHCI_USBSOF:
>           s->sof_timing = val & 0xff;
>           break;
> -    case 0x10 ... 0x1f:
> +    case UHCI_USBPORTSC1 ... UHCI_USBPORTSC4:
>           {
>               UHCIPort *port;
>               USBDevice *dev;
> @@ -493,28 +493,28 @@ static uint64_t uhci_port_read(void *opaque, hwaddr addr, unsigned size)
>       uint32_t val;
>   
>       switch (addr) {
> -    case 0x00:
> +    case UHCI_USBCMD:
>           val = s->cmd;
>           break;
> -    case 0x02:
> +    case UHCI_USBSTS:
>           val = s->status;
>           break;
> -    case 0x04:
> +    case UHCI_USBINTR:
>           val = s->intr;
>           break;
> -    case 0x06:
> +    case UHCI_USBFRNUM:
>           val = s->frnum;
>           break;
> -    case 0x08:
> +    case UHCI_USBFLBASEADD:
>           val = s->fl_base_addr & 0xffff;
>           break;
> -    case 0x0a:
> +    case UHCI_USBFLBASEADD + 2:
>           val = (s->fl_base_addr >> 16) & 0xffff;
>           break;
> -    case 0x0c:
> +    case UHCI_USBSOF:
>           val = s->sof_timing;
>           break;
> -    case 0x10 ... 0x1f:
> +    case UHCI_USBPORTSC1 ... UHCI_USBPORTSC4:
>           {
>               UHCIPort *port;
>               int n;
> diff --git a/include/hw/usb/uhci-regs.h b/include/hw/usb/uhci-regs.h
> index fd45d29db0..5b81714e5c 100644
> --- a/include/hw/usb/uhci-regs.h
> +++ b/include/hw/usb/uhci-regs.h
> @@ -1,6 +1,17 @@
>   #ifndef HW_USB_UHCI_REGS_H
>   #define HW_USB_UHCI_REGS_H
>   
> +#define UHCI_USBCMD       0
> +#define UHCI_USBSTS       2
> +#define UHCI_USBINTR      4
> +#define UHCI_USBFRNUM     6
> +#define UHCI_USBFLBASEADD 8
> +#define UHCI_USBSOF       0x0c
> +#define UHCI_USBPORTSC1   0x10
> +#define UHCI_USBPORTSC2   0x12
> +#define UHCI_USBPORTSC3   0x14
> +#define UHCI_USBPORTSC4   0x16
> +
>   #define UHCI_CMD_FGR      (1 << 4)
>   #define UHCI_CMD_EGSM     (1 << 3)
>   #define UHCI_CMD_GRESET   (1 << 2)
next prev parent reply	other threads:[~2024-09-09  7:50 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-06 12:25 [RFC PATCH 0/8] usb/uhci: Add UHCI sysbus support, and enable for AST machines Guenter Roeck
2024-09-06 12:25 ` [RFC PATCH 1/8] usb/uhci: checkpatch cleanup Guenter Roeck
2024-09-09  7:48   ` Cédric Le Goater
2024-09-06 12:25 ` [RFC PATCH 2/8] usb/uhci: Introduce and use register defines Guenter Roeck
2024-09-09  7:48   ` Cédric Le Goater [this message]
2024-09-06 12:25 ` [RFC PATCH 3/8] usb/uhci: Move PCI-related code into a separate file Guenter Roeck
2024-11-12  6:32   ` Thomas Huth
2024-11-12 14:50     ` Guenter Roeck
2024-11-12 15:10       ` Cédric Le Goater
2024-09-06 12:25 ` [RFC PATCH 4/8] usb/uhci: enlarge uhci memory space Guenter Roeck
2024-09-06 12:25 ` [RFC PATCH 5/8] usb/uhci: Add support for usb-uhci-sysbus Guenter Roeck
2024-09-06 12:25 ` [RFC PATCH 6/8] usb/uhci: Add aspeed specific read and write functions Guenter Roeck
2024-09-06 12:25 ` [RFC PATCH 7/8] aspeed: Add uhci support for ast2600 Guenter Roeck
2024-09-09  7:49   ` Cédric Le Goater
2024-09-06 12:25 ` [RFC PATCH 8/8] aspeed: Add uhci support for ast2400 and ast2500 Guenter Roeck
2024-09-09  7:49   ` Cédric Le Goater
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox
  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):
  git send-email \
    --in-reply-to=d2e07e85-97a0-4151-9349-3f989cdafad2@kaod.org \
    --to=clg@kaod.org \
    --cc=andrew@codeconstruct.com.au \
    --cc=balaton@eik.bme.hu \
    --cc=hpoussin@reactos.org \
    --cc=jamin_lin@aspeedtech.com \
    --cc=joel@jms.id.au \
    --cc=leetroy@gmail.com \
    --cc=linux@roeck-us.net \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=steven_lee@aspeedtech.com \
    /path/to/YOUR_REPLY
  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
  Be sure your reply has a Subject: header at the top and a blank line
  before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).