qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v3 1/2] ahci: convert ahci_reset to use AHCIStat


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH v3 1/2] ahci: convert ahci_reset to use AHCIState
Date: Thu, 05 Jan 2012 15:11:12 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111220 Thunderbird/9.0

Am 05.01.2012 14:52, schrieb Mark Langsdorf:
> From: Rob Herring <address@hidden>
> 
> Use AHCIState instead of AHCIPCIState so the function can be used for
> non-PCI based AHCI controllers.
> 
> Signed-off-by: Rob Herring <address@hidden>
> Signed-off-by: Mark Langsdorf <address@hidden>

Reviewed-by: Andreas Färber <address@hidden>

Andreas

> ---
> Changes from v1, v2
>       None
> 
>  hw/ide/ahci.c |   14 +++++++-------
>  hw/ide/ich.c  |    4 ++--
>  2 files changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
> index 0af201d..135d0ee 100644
> --- a/hw/ide/ahci.c
> +++ b/hw/ide/ahci.c
> @@ -336,7 +336,7 @@ static void ahci_mem_write(void *opaque, 
> target_phys_addr_t addr,
>              case HOST_CTL: /* R/W */
>                  if (val & HOST_CTL_RESET) {
>                      DPRINTF(-1, "HBA Reset\n");
> -                    ahci_reset(container_of(s, AHCIPCIState, ahci));
> +                    ahci_reset(s);
>                  } else {
>                      s->control_regs.ghc = (val & 0x3) | HOST_CTL_AHCI_EN;
>                      ahci_check_irq(s);
> @@ -1199,18 +1199,18 @@ void ahci_uninit(AHCIState *s)
>  
>  void ahci_reset(void *opaque)
>  {
> -    struct AHCIPCIState *d = opaque;
> +    struct AHCIState *s = opaque;
>      AHCIPortRegs *pr;
>      int i;
>  
> -    d->ahci.control_regs.irqstatus = 0;
> -    d->ahci.control_regs.ghc = 0;
> +    s->control_regs.irqstatus = 0;
> +    s->control_regs.ghc = 0;
>  
> -    for (i = 0; i < d->ahci.ports; i++) {
> -        pr = &d->ahci.dev[i].port_regs;
> +    for (i = 0; i < s->ports; i++) {
> +        pr = &s->dev[i].port_regs;
>          pr->irq_stat = 0;
>          pr->irq_mask = 0;
>          pr->scr_ctl = 0;
> -        ahci_reset_port(&d->ahci, i);
> +        ahci_reset_port(s, i);
>      }
>  }
> diff --git a/hw/ide/ich.c b/hw/ide/ich.c
> index 3f7510f..44363ec 100644
> --- a/hw/ide/ich.c
> +++ b/hw/ide/ich.c
> @@ -102,7 +102,7 @@ static int pci_ich9_ahci_init(PCIDevice *dev)
>      /* XXX Software should program this register */
>      d->card.config[0x90]   = 1 << 6; /* Address Map Register - AHCI mode */
>  
> -    qemu_register_reset(ahci_reset, d);
> +    qemu_register_reset(ahci_reset, &d->ahci);
>  
>      msi_init(dev, 0x50, 1, true, false);
>      d->ahci.irq = d->card.irq[0];
> @@ -133,7 +133,7 @@ static int pci_ich9_uninit(PCIDevice *dev)
>      d = DO_UPCAST(struct AHCIPCIState, card, dev);
>  
>      msi_uninit(dev);
> -    qemu_unregister_reset(ahci_reset, d);
> +    qemu_unregister_reset(ahci_reset, &d->ahci);
>      ahci_uninit(&d->ahci);
>  
>      return 0;

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

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