From: BALATON Zoltan <balaton@eik.bme.hu>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, mkletzan@redhat.com
Subject: Re: [PATCH 6/9] vt82c686: Support machine-default audiodev with fallback
Date: Fri, 22 Sep 2023 14:16:24 +0200 (CEST) [thread overview]
Message-ID: <fa8a8e3f-b17c-f5fc-a4ae-13a0fa233fb7@eik.bme.hu> (raw)
In-Reply-To: <20230922094459.265509-7-pbonzini@redhat.com>
On Fri, 22 Sep 2023, Paolo Bonzini wrote:
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> hw/isa/vt82c686.c | 2 ++
> hw/mips/fuloong2e.c | 12 +++++++++---
> hw/ppc/pegasos2.c | 10 ++++++++--
> hw/ppc/sam460ex.c | 2 ++
> 4 files changed, 21 insertions(+), 5 deletions(-)
>
> diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c
> index 57bdfb4e78c..3ec8e43708a 100644
> --- a/hw/isa/vt82c686.c
> +++ b/hw/isa/vt82c686.c
> @@ -578,6 +578,8 @@ static void via_isa_init(Object *obj)
> object_initialize_child(obj, "uhci2", &s->uhci[1], TYPE_VT82C686B_USB_UHCI);
> object_initialize_child(obj, "ac97", &s->ac97, TYPE_VIA_AC97);
> object_initialize_child(obj, "mc97", &s->mc97, TYPE_VIA_MC97);
> +
> + object_property_add_alias(obj, "audiodev", OBJECT(&s->ac97), "audiodev");
> }
>
> static const TypeInfo via_isa_info = {
> diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c
> index c827f615f3b..d0671824f94 100644
> --- a/hw/mips/fuloong2e.c
> +++ b/hw/mips/fuloong2e.c
> @@ -41,6 +41,7 @@
> #include "sysemu/reset.h"
> #include "sysemu/sysemu.h"
> #include "qemu/error-report.h"
> +#include "audio/audio.h"
>
> #define ENVP_PADDR 0x2000
> #define ENVP_VADDR cpu_mips_phys_to_kseg0(NULL, ENVP_PADDR)
> @@ -295,9 +296,12 @@ static void mips_fuloong2e_init(MachineState *machine)
> pci_bus = bonito_init((qemu_irq *)&(env->irq[2]));
>
> /* South bridge -> IP5 */
> - pci_dev = pci_create_simple_multifunction(pci_bus,
> - PCI_DEVFN(FULOONG2E_VIA_SLOT, 0),
> - TYPE_VT82C686B_ISA);
> + pci_dev = pci_new_multifunction(PCI_DEVFN(FULOONG2E_VIA_SLOT, 0),
> + TYPE_VT82C686B_ISA);
> + qdev_prop_set_string(DEVICE(pci_dev), "audiodev",
> + audio_maybe_init_dummy("fuloong2e.defaudio"));
> + pci_realize_and_unref(pci_dev, pci_bus, &error_abort);
> +
> object_property_add_alias(OBJECT(machine), "rtc-time",
> object_resolve_path_component(OBJECT(pci_dev),
> "rtc"),
> @@ -337,6 +341,8 @@ static void mips_fuloong2e_machine_init(MachineClass *mc)
> mc->default_ram_size = 256 * MiB;
> mc->default_ram_id = "fuloong2e.ram";
> mc->minimum_page_bits = 14;
> +
> + machine_add_audiodev_property(mc);
> }
>
> DEFINE_MACHINE("fuloong2e", mips_fuloong2e_machine_init)
> diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c
> index bd397cf2b5c..45b94cab73a 100644
> --- a/hw/ppc/pegasos2.c
> +++ b/hw/ppc/pegasos2.c
> @@ -37,6 +37,7 @@
> #include "qemu/datadir.h"
> #include "sysemu/device_tree.h"
> #include "hw/ppc/vof.h"
> +#include "audio/audio.h"
>
> #include <libfdt.h>
>
> @@ -180,8 +181,11 @@ static void pegasos2_init(MachineState *machine)
> pci_bus_irqs(pci_bus, pegasos2_pci_irq, pm, PCI_NUM_PINS);
>
> /* VIA VT8231 South Bridge (multifunction PCI device) */
> - via = OBJECT(pci_create_simple_multifunction(pci_bus, PCI_DEVFN(12, 0),
> - TYPE_VT8231_ISA));
> + via = OBJECT(pci_new_multifunction(PCI_DEVFN(12, 0), TYPE_VT8231_ISA));
> + qdev_prop_set_string(DEVICE(via), "audiodev",
> + audio_maybe_init_dummy("pegasos2.defaudio"));
> + pci_realize_and_unref(PCI_DEVICE(via), pci_bus, &error_abort);
> +
Do not add blank line here, the rest is still part of via init.
> for (i = 0; i < PCI_NUM_PINS; i++) {
> pm->via_pirq[i] = qdev_get_gpio_in_named(DEVICE(via), "pirq", i);
> }
> @@ -564,6 +568,8 @@ static void pegasos2_machine_class_init(ObjectClass *oc, void *data)
> vhc->encode_hpt_for_kvm_pr = vhyp_encode_hpt_for_kvm_pr;
>
> vmc->setprop = pegasos2_setprop;
> +
> + machine_add_audiodev_property(mc);
> }
>
> static const TypeInfo pegasos2_machine_info = {
> diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c
> index 1e615b8d355..8c3abc67131 100644
> --- a/hw/ppc/sam460ex.c
> +++ b/hw/ppc/sam460ex.c
> @@ -530,6 +530,8 @@ static void sam460ex_machine_init(MachineClass *mc)
> mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("460exb");
> mc->default_ram_size = 512 * MiB;
> mc->default_ram_id = "ppc4xx.sdram";
> +
> + machine_add_audiodev_property(mc);
This hunk has nothing to do with vt82686 so probably should be in
previoius patch. Also sam460ex embedded sound part is not emulated and can
only use PCI sound cards. What this line is needed for? If every machine
now needs this call, can it be added in some generic machine init func in
hw/core/machine.c instead?
I'm not sure about this whole series. Looks like it gets rid of 71 lines
but adding 158 and makes the users' life harder by requireing them to
specify drivers they may not even know about. What's the point? Is there
still a default to use the normally used audiodev for the platform or
people will now get errors and no sound unless they change their command
lines?
Regards,
BALATON Zoltan
> }
>
> DEFINE_MACHINE("sam460ex", sam460ex_machine_init)
>
next prev parent reply other threads:[~2023-09-22 12:17 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-22 9:44 [PATCH 0/9] audio: make sound cards require the audiodev property Paolo Bonzini
2023-09-22 9:44 ` [PATCH 1/9] audio: Add easy dummy audio initialiser Paolo Bonzini
2023-09-22 11:45 ` Marc-André Lureau
2023-09-22 9:44 ` [PATCH 2/9] Introduce machine property "audiodev" Paolo Bonzini
2023-09-22 9:44 ` [PATCH 3/9] vl: support -audio BACKEND without model Paolo Bonzini
2023-09-22 9:44 ` [PATCH 4/9] hw/arm: Support machine-default audiodev with fallback Paolo Bonzini
2023-09-22 9:44 ` [PATCH 5/9] hw/ppc: " Paolo Bonzini
2023-09-22 9:44 ` [PATCH 6/9] vt82c686: " Paolo Bonzini
2023-09-22 12:16 ` BALATON Zoltan [this message]
2023-09-22 13:32 ` Paolo Bonzini
2023-09-22 23:54 ` BALATON Zoltan
2023-09-22 9:44 ` [PATCH 7/9] vl: recognize audiodev groups in configuration files Paolo Bonzini
2023-09-22 9:44 ` [PATCH 8/9] audio: Make AUD_register_card fallible and require audiodev= Paolo Bonzini
2023-09-22 11:17 ` Philippe Mathieu-Daudé
2023-09-22 9:44 ` [PATCH 9/9] audio: Be more strict during audio backend initialisation Paolo Bonzini
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=fa8a8e3f-b17c-f5fc-a4ae-13a0fa233fb7@eik.bme.hu \
--to=balaton@eik.bme.hu \
--cc=mkletzan@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/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).