diff mbox series

[3/5] hw/usb/vt82c686-uhci-pci: Use PCI IRQ routing

Message ID 20230223202053.117050-4-shentey@gmail.com (mailing list archive)
State New, archived
Headers show
Series VT82xx PCI fixes and audio output support | expand

Commit Message

Bernhard Beschow Feb. 23, 2023, 8:20 p.m. UTC
According to the PCI specification, PCI_INTERRUPT_LINE shall have no
effect on hardware operations. Now that the VIA south bridges implement
the internal PCI interrupt router let's be more conformant to the PCI
specification.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
 hw/usb/vt82c686-uhci-pci.c | 12 ------------
 1 file changed, 12 deletions(-)

Comments

Mark Cave-Ayland March 1, 2023, 2:21 p.m. UTC | #1
On 23/02/2023 20:20, Bernhard Beschow wrote:

> According to the PCI specification, PCI_INTERRUPT_LINE shall have no
> effect on hardware operations. Now that the VIA south bridges implement
> the internal PCI interrupt router let's be more conformant to the PCI
> specification.
> 
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> ---
>   hw/usb/vt82c686-uhci-pci.c | 12 ------------
>   1 file changed, 12 deletions(-)
> 
> diff --git a/hw/usb/vt82c686-uhci-pci.c b/hw/usb/vt82c686-uhci-pci.c
> index 46a901f56f..b4884c9011 100644
> --- a/hw/usb/vt82c686-uhci-pci.c
> +++ b/hw/usb/vt82c686-uhci-pci.c
> @@ -1,17 +1,7 @@
>   #include "qemu/osdep.h"
> -#include "hw/irq.h"
>   #include "hw/isa/vt82c686.h"
>   #include "hcd-uhci.h"
>   
> -static void uhci_isa_set_irq(void *opaque, int irq_num, int level)
> -{
> -    UHCIState *s = opaque;
> -    uint8_t irq = pci_get_byte(s->dev.config + PCI_INTERRUPT_LINE);
> -    if (irq > 0 && irq < 15) {
> -        via_isa_set_irq(pci_get_function_0(&s->dev), irq, level);
> -    }
> -}
> -
>   static void usb_uhci_vt82c686b_realize(PCIDevice *dev, Error **errp)
>   {
>       UHCIState *s = UHCI(dev);
> @@ -25,8 +15,6 @@ static void usb_uhci_vt82c686b_realize(PCIDevice *dev, Error **errp)
>       pci_set_long(pci_conf + 0xc0, 0x00002000);
>   
>       usb_uhci_common_realize(dev, errp);
> -    object_unref(s->irq);
> -    s->irq = qemu_allocate_irq(uhci_isa_set_irq, s, 0);
>   }
>   
>   static UHCIInfo uhci_info[] = {

Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


ATB,

Mark.
diff mbox series

Patch

diff --git a/hw/usb/vt82c686-uhci-pci.c b/hw/usb/vt82c686-uhci-pci.c
index 46a901f56f..b4884c9011 100644
--- a/hw/usb/vt82c686-uhci-pci.c
+++ b/hw/usb/vt82c686-uhci-pci.c
@@ -1,17 +1,7 @@ 
 #include "qemu/osdep.h"
-#include "hw/irq.h"
 #include "hw/isa/vt82c686.h"
 #include "hcd-uhci.h"
 
-static void uhci_isa_set_irq(void *opaque, int irq_num, int level)
-{
-    UHCIState *s = opaque;
-    uint8_t irq = pci_get_byte(s->dev.config + PCI_INTERRUPT_LINE);
-    if (irq > 0 && irq < 15) {
-        via_isa_set_irq(pci_get_function_0(&s->dev), irq, level);
-    }
-}
-
 static void usb_uhci_vt82c686b_realize(PCIDevice *dev, Error **errp)
 {
     UHCIState *s = UHCI(dev);
@@ -25,8 +15,6 @@  static void usb_uhci_vt82c686b_realize(PCIDevice *dev, Error **errp)
     pci_set_long(pci_conf + 0xc0, 0x00002000);
 
     usb_uhci_common_realize(dev, errp);
-    object_unref(s->irq);
-    s->irq = qemu_allocate_irq(uhci_isa_set_irq, s, 0);
 }
 
 static UHCIInfo uhci_info[] = {