Message ID | 20190925064534.19155-9-david@gibson.dropbear.id.au (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | spapr: IRQ subsystem cleanups | expand |
On 25/09/2019 08:45, David Gibson wrote: > Every caller of spapr_vio_qirq() immediately calls qemu_irq_pulse() with > the result, so we might as well just fold that into the helper. > > Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Cédric Le Goater <clg@kaod.org> > --- > hw/char/spapr_vty.c | 3 +-- > hw/net/spapr_llan.c | 3 +-- > hw/ppc/spapr_vio.c | 3 +-- > include/hw/ppc/spapr_vio.h | 5 +++-- > 4 files changed, 6 insertions(+), 8 deletions(-) > > diff --git a/hw/char/spapr_vty.c b/hw/char/spapr_vty.c > index 087c93e4fa..8f4d9fe472 100644 > --- a/hw/char/spapr_vty.c > +++ b/hw/char/spapr_vty.c > @@ -5,7 +5,6 @@ > #include "cpu.h" > #include "migration/vmstate.h" > #include "chardev/char-fe.h" > -#include "hw/irq.h" > #include "hw/ppc/spapr.h" > #include "hw/ppc/spapr_vio.h" > #include "hw/qdev-properties.h" > @@ -37,7 +36,7 @@ static void vty_receive(void *opaque, const uint8_t *buf, int size) > > if ((dev->in == dev->out) && size) { > /* toggle line to simulate edge interrupt */ > - qemu_irq_pulse(spapr_vio_qirq(&dev->sdev)); > + spapr_vio_irq_pulse(&dev->sdev); > } > for (i = 0; i < size; i++) { > if (dev->in - dev->out >= VTERM_BUFSIZE) { > diff --git a/hw/net/spapr_llan.c b/hw/net/spapr_llan.c > index 701e6e1514..3d96884d66 100644 > --- a/hw/net/spapr_llan.c > +++ b/hw/net/spapr_llan.c > @@ -27,7 +27,6 @@ > > #include "qemu/osdep.h" > #include "cpu.h" > -#include "hw/irq.h" > #include "qemu/log.h" > #include "qemu/module.h" > #include "net/net.h" > @@ -267,7 +266,7 @@ static ssize_t spapr_vlan_receive(NetClientState *nc, const uint8_t *buf, > } > > if (sdev->signal_state & 1) { > - qemu_irq_pulse(spapr_vio_qirq(sdev)); > + spapr_vio_irq_pulse(sdev); > } > > return size; > diff --git a/hw/ppc/spapr_vio.c b/hw/ppc/spapr_vio.c > index 0803649658..554de9930d 100644 > --- a/hw/ppc/spapr_vio.c > +++ b/hw/ppc/spapr_vio.c > @@ -23,7 +23,6 @@ > #include "qemu/error-report.h" > #include "qapi/error.h" > #include "qapi/visitor.h" > -#include "hw/irq.h" > #include "qemu/log.h" > #include "hw/loader.h" > #include "elf.h" > @@ -294,7 +293,7 @@ int spapr_vio_send_crq(SpaprVioDevice *dev, uint8_t *crq) > dev->crq.qnext = (dev->crq.qnext + 16) % dev->crq.qsize; > > if (dev->signal_state & 1) { > - qemu_irq_pulse(spapr_vio_qirq(dev)); > + spapr_vio_irq_pulse(dev); > } > > return 0; > diff --git a/include/hw/ppc/spapr_vio.h b/include/hw/ppc/spapr_vio.h > index 875be28cdd..72762ed16b 100644 > --- a/include/hw/ppc/spapr_vio.h > +++ b/include/hw/ppc/spapr_vio.h > @@ -24,6 +24,7 @@ > > #include "hw/ppc/spapr.h" > #include "sysemu/dma.h" > +#include "hw/irq.h" > > #define TYPE_VIO_SPAPR_DEVICE "vio-spapr-device" > #define VIO_SPAPR_DEVICE(obj) \ > @@ -84,11 +85,11 @@ extern SpaprVioDevice *spapr_vio_find_by_reg(SpaprVioBus *bus, uint32_t reg); > void spapr_dt_vdevice(SpaprVioBus *bus, void *fdt); > extern gchar *spapr_vio_stdout_path(SpaprVioBus *bus); > > -static inline qemu_irq spapr_vio_qirq(SpaprVioDevice *dev) > +static inline void spapr_vio_irq_pulse(SpaprVioDevice *dev) > { > SpaprMachineState *spapr = SPAPR_MACHINE(qdev_get_machine()); > > - return spapr_qirq(spapr, dev->irq); > + qemu_irq_pulse(spapr_qirq(spapr, dev->irq)); > } > > static inline bool spapr_vio_dma_valid(SpaprVioDevice *dev, uint64_t taddr, >
On Wed, 25 Sep 2019 16:45:22 +1000 David Gibson <david@gibson.dropbear.id.au> wrote: > Every caller of spapr_vio_qirq() immediately calls qemu_irq_pulse() with > the result, so we might as well just fold that into the helper. > > Signed-off-by: David Gibson <david@gibson.dropbear.id.au> > --- Reviewed-by: Greg Kurz <groug@kaod.org> > hw/char/spapr_vty.c | 3 +-- > hw/net/spapr_llan.c | 3 +-- > hw/ppc/spapr_vio.c | 3 +-- > include/hw/ppc/spapr_vio.h | 5 +++-- > 4 files changed, 6 insertions(+), 8 deletions(-) > > diff --git a/hw/char/spapr_vty.c b/hw/char/spapr_vty.c > index 087c93e4fa..8f4d9fe472 100644 > --- a/hw/char/spapr_vty.c > +++ b/hw/char/spapr_vty.c > @@ -5,7 +5,6 @@ > #include "cpu.h" > #include "migration/vmstate.h" > #include "chardev/char-fe.h" > -#include "hw/irq.h" > #include "hw/ppc/spapr.h" > #include "hw/ppc/spapr_vio.h" > #include "hw/qdev-properties.h" > @@ -37,7 +36,7 @@ static void vty_receive(void *opaque, const uint8_t *buf, int size) > > if ((dev->in == dev->out) && size) { > /* toggle line to simulate edge interrupt */ > - qemu_irq_pulse(spapr_vio_qirq(&dev->sdev)); > + spapr_vio_irq_pulse(&dev->sdev); > } > for (i = 0; i < size; i++) { > if (dev->in - dev->out >= VTERM_BUFSIZE) { > diff --git a/hw/net/spapr_llan.c b/hw/net/spapr_llan.c > index 701e6e1514..3d96884d66 100644 > --- a/hw/net/spapr_llan.c > +++ b/hw/net/spapr_llan.c > @@ -27,7 +27,6 @@ > > #include "qemu/osdep.h" > #include "cpu.h" > -#include "hw/irq.h" > #include "qemu/log.h" > #include "qemu/module.h" > #include "net/net.h" > @@ -267,7 +266,7 @@ static ssize_t spapr_vlan_receive(NetClientState *nc, const uint8_t *buf, > } > > if (sdev->signal_state & 1) { > - qemu_irq_pulse(spapr_vio_qirq(sdev)); > + spapr_vio_irq_pulse(sdev); > } > > return size; > diff --git a/hw/ppc/spapr_vio.c b/hw/ppc/spapr_vio.c > index 0803649658..554de9930d 100644 > --- a/hw/ppc/spapr_vio.c > +++ b/hw/ppc/spapr_vio.c > @@ -23,7 +23,6 @@ > #include "qemu/error-report.h" > #include "qapi/error.h" > #include "qapi/visitor.h" > -#include "hw/irq.h" > #include "qemu/log.h" > #include "hw/loader.h" > #include "elf.h" > @@ -294,7 +293,7 @@ int spapr_vio_send_crq(SpaprVioDevice *dev, uint8_t *crq) > dev->crq.qnext = (dev->crq.qnext + 16) % dev->crq.qsize; > > if (dev->signal_state & 1) { > - qemu_irq_pulse(spapr_vio_qirq(dev)); > + spapr_vio_irq_pulse(dev); > } > > return 0; > diff --git a/include/hw/ppc/spapr_vio.h b/include/hw/ppc/spapr_vio.h > index 875be28cdd..72762ed16b 100644 > --- a/include/hw/ppc/spapr_vio.h > +++ b/include/hw/ppc/spapr_vio.h > @@ -24,6 +24,7 @@ > > #include "hw/ppc/spapr.h" > #include "sysemu/dma.h" > +#include "hw/irq.h" > > #define TYPE_VIO_SPAPR_DEVICE "vio-spapr-device" > #define VIO_SPAPR_DEVICE(obj) \ > @@ -84,11 +85,11 @@ extern SpaprVioDevice *spapr_vio_find_by_reg(SpaprVioBus *bus, uint32_t reg); > void spapr_dt_vdevice(SpaprVioBus *bus, void *fdt); > extern gchar *spapr_vio_stdout_path(SpaprVioBus *bus); > > -static inline qemu_irq spapr_vio_qirq(SpaprVioDevice *dev) > +static inline void spapr_vio_irq_pulse(SpaprVioDevice *dev) > { > SpaprMachineState *spapr = SPAPR_MACHINE(qdev_get_machine()); > > - return spapr_qirq(spapr, dev->irq); > + qemu_irq_pulse(spapr_qirq(spapr, dev->irq)); > } > > static inline bool spapr_vio_dma_valid(SpaprVioDevice *dev, uint64_t taddr,
On 9/25/19 8:45 AM, David Gibson wrote: > Every caller of spapr_vio_qirq() immediately calls qemu_irq_pulse() with > the result, so we might as well just fold that into the helper. > > Signed-off-by: David Gibson <david@gibson.dropbear.id.au> > --- > hw/char/spapr_vty.c | 3 +-- > hw/net/spapr_llan.c | 3 +-- > hw/ppc/spapr_vio.c | 3 +-- > include/hw/ppc/spapr_vio.h | 5 +++-- > 4 files changed, 6 insertions(+), 8 deletions(-) > > diff --git a/hw/char/spapr_vty.c b/hw/char/spapr_vty.c > index 087c93e4fa..8f4d9fe472 100644 > --- a/hw/char/spapr_vty.c > +++ b/hw/char/spapr_vty.c > @@ -5,7 +5,6 @@ > #include "cpu.h" > #include "migration/vmstate.h" > #include "chardev/char-fe.h" > -#include "hw/irq.h" > #include "hw/ppc/spapr.h" > #include "hw/ppc/spapr_vio.h" > #include "hw/qdev-properties.h" > @@ -37,7 +36,7 @@ static void vty_receive(void *opaque, const uint8_t *buf, int size) > > if ((dev->in == dev->out) && size) { > /* toggle line to simulate edge interrupt */ > - qemu_irq_pulse(spapr_vio_qirq(&dev->sdev)); > + spapr_vio_irq_pulse(&dev->sdev); > } > for (i = 0; i < size; i++) { > if (dev->in - dev->out >= VTERM_BUFSIZE) { > diff --git a/hw/net/spapr_llan.c b/hw/net/spapr_llan.c > index 701e6e1514..3d96884d66 100644 > --- a/hw/net/spapr_llan.c > +++ b/hw/net/spapr_llan.c > @@ -27,7 +27,6 @@ > > #include "qemu/osdep.h" > #include "cpu.h" > -#include "hw/irq.h" > #include "qemu/log.h" > #include "qemu/module.h" > #include "net/net.h" > @@ -267,7 +266,7 @@ static ssize_t spapr_vlan_receive(NetClientState *nc, const uint8_t *buf, > } > > if (sdev->signal_state & 1) { > - qemu_irq_pulse(spapr_vio_qirq(sdev)); > + spapr_vio_irq_pulse(sdev); > } > > return size; > diff --git a/hw/ppc/spapr_vio.c b/hw/ppc/spapr_vio.c > index 0803649658..554de9930d 100644 > --- a/hw/ppc/spapr_vio.c > +++ b/hw/ppc/spapr_vio.c > @@ -23,7 +23,6 @@ > #include "qemu/error-report.h" > #include "qapi/error.h" > #include "qapi/visitor.h" > -#include "hw/irq.h" > #include "qemu/log.h" > #include "hw/loader.h" > #include "elf.h" > @@ -294,7 +293,7 @@ int spapr_vio_send_crq(SpaprVioDevice *dev, uint8_t *crq) > dev->crq.qnext = (dev->crq.qnext + 16) % dev->crq.qsize; > > if (dev->signal_state & 1) { > - qemu_irq_pulse(spapr_vio_qirq(dev)); > + spapr_vio_irq_pulse(dev); > } > > return 0; > diff --git a/include/hw/ppc/spapr_vio.h b/include/hw/ppc/spapr_vio.h > index 875be28cdd..72762ed16b 100644 > --- a/include/hw/ppc/spapr_vio.h > +++ b/include/hw/ppc/spapr_vio.h > @@ -24,6 +24,7 @@ > > #include "hw/ppc/spapr.h" > #include "sysemu/dma.h" > +#include "hw/irq.h" > > #define TYPE_VIO_SPAPR_DEVICE "vio-spapr-device" > #define VIO_SPAPR_DEVICE(obj) \ > @@ -84,11 +85,11 @@ extern SpaprVioDevice *spapr_vio_find_by_reg(SpaprVioBus *bus, uint32_t reg); > void spapr_dt_vdevice(SpaprVioBus *bus, void *fdt); > extern gchar *spapr_vio_stdout_path(SpaprVioBus *bus); > > -static inline qemu_irq spapr_vio_qirq(SpaprVioDevice *dev) > +static inline void spapr_vio_irq_pulse(SpaprVioDevice *dev) > { > SpaprMachineState *spapr = SPAPR_MACHINE(qdev_get_machine()); > > - return spapr_qirq(spapr, dev->irq); Good place to add a trace event. Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > + qemu_irq_pulse(spapr_qirq(spapr, dev->irq)); > } > > static inline bool spapr_vio_dma_valid(SpaprVioDevice *dev, uint64_t taddr, >
diff --git a/hw/char/spapr_vty.c b/hw/char/spapr_vty.c index 087c93e4fa..8f4d9fe472 100644 --- a/hw/char/spapr_vty.c +++ b/hw/char/spapr_vty.c @@ -5,7 +5,6 @@ #include "cpu.h" #include "migration/vmstate.h" #include "chardev/char-fe.h" -#include "hw/irq.h" #include "hw/ppc/spapr.h" #include "hw/ppc/spapr_vio.h" #include "hw/qdev-properties.h" @@ -37,7 +36,7 @@ static void vty_receive(void *opaque, const uint8_t *buf, int size) if ((dev->in == dev->out) && size) { /* toggle line to simulate edge interrupt */ - qemu_irq_pulse(spapr_vio_qirq(&dev->sdev)); + spapr_vio_irq_pulse(&dev->sdev); } for (i = 0; i < size; i++) { if (dev->in - dev->out >= VTERM_BUFSIZE) { diff --git a/hw/net/spapr_llan.c b/hw/net/spapr_llan.c index 701e6e1514..3d96884d66 100644 --- a/hw/net/spapr_llan.c +++ b/hw/net/spapr_llan.c @@ -27,7 +27,6 @@ #include "qemu/osdep.h" #include "cpu.h" -#include "hw/irq.h" #include "qemu/log.h" #include "qemu/module.h" #include "net/net.h" @@ -267,7 +266,7 @@ static ssize_t spapr_vlan_receive(NetClientState *nc, const uint8_t *buf, } if (sdev->signal_state & 1) { - qemu_irq_pulse(spapr_vio_qirq(sdev)); + spapr_vio_irq_pulse(sdev); } return size; diff --git a/hw/ppc/spapr_vio.c b/hw/ppc/spapr_vio.c index 0803649658..554de9930d 100644 --- a/hw/ppc/spapr_vio.c +++ b/hw/ppc/spapr_vio.c @@ -23,7 +23,6 @@ #include "qemu/error-report.h" #include "qapi/error.h" #include "qapi/visitor.h" -#include "hw/irq.h" #include "qemu/log.h" #include "hw/loader.h" #include "elf.h" @@ -294,7 +293,7 @@ int spapr_vio_send_crq(SpaprVioDevice *dev, uint8_t *crq) dev->crq.qnext = (dev->crq.qnext + 16) % dev->crq.qsize; if (dev->signal_state & 1) { - qemu_irq_pulse(spapr_vio_qirq(dev)); + spapr_vio_irq_pulse(dev); } return 0; diff --git a/include/hw/ppc/spapr_vio.h b/include/hw/ppc/spapr_vio.h index 875be28cdd..72762ed16b 100644 --- a/include/hw/ppc/spapr_vio.h +++ b/include/hw/ppc/spapr_vio.h @@ -24,6 +24,7 @@ #include "hw/ppc/spapr.h" #include "sysemu/dma.h" +#include "hw/irq.h" #define TYPE_VIO_SPAPR_DEVICE "vio-spapr-device" #define VIO_SPAPR_DEVICE(obj) \ @@ -84,11 +85,11 @@ extern SpaprVioDevice *spapr_vio_find_by_reg(SpaprVioBus *bus, uint32_t reg); void spapr_dt_vdevice(SpaprVioBus *bus, void *fdt); extern gchar *spapr_vio_stdout_path(SpaprVioBus *bus); -static inline qemu_irq spapr_vio_qirq(SpaprVioDevice *dev) +static inline void spapr_vio_irq_pulse(SpaprVioDevice *dev) { SpaprMachineState *spapr = SPAPR_MACHINE(qdev_get_machine()); - return spapr_qirq(spapr, dev->irq); + qemu_irq_pulse(spapr_qirq(spapr, dev->irq)); } static inline bool spapr_vio_dma_valid(SpaprVioDevice *dev, uint64_t taddr,
Every caller of spapr_vio_qirq() immediately calls qemu_irq_pulse() with the result, so we might as well just fold that into the helper. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> --- hw/char/spapr_vty.c | 3 +-- hw/net/spapr_llan.c | 3 +-- hw/ppc/spapr_vio.c | 3 +-- include/hw/ppc/spapr_vio.h | 5 +++-- 4 files changed, 6 insertions(+), 8 deletions(-)