From: Gustavo Romero <gustavo.romero@linaro.org>
To: Eric Auger <eric.auger@redhat.com>,
eric.auger.pro@gmail.com, qemu-devel@nongnu.org,
qemu-arm@nongnu.org, peter.maydell@linaro.org,
imammedo@redhat.com, anisinha@redhat.com, mst@redhat.com,
shannon.zhaosl@gmail.com
Cc: pbonzini@redhat.com, Jonathan.Cameron@huawei.com, philmd@linaro.org
Subject: Re: [PATCH 08/22] hw/pci-host/gpex-acpi: Use build_pci_host_bridge_osc_method
Date: Tue, 20 May 2025 11:09:31 -0300 [thread overview]
Message-ID: <e1ec0e15-ad26-456b-a8d7-16f683290651@linaro.org> (raw)
In-Reply-To: <20250514170431.2786231-9-eric.auger@redhat.com>
Hi Eric,
On 5/14/25 14:00, Eric Auger wrote:
> gpex build_host_bridge_osc() and x86 originated
> build_pci_host_bridge_osc_method() are mostly identical.
>
> In GPEX, SUPP is set to CDW2 but is not further used. CTRL
> is same as Local0.
>
> So let gpex code reuse build_pci_host_bridge_osc_method()
> and remove build_host_bridge_osc().
>
> Signed-off-by: Eric Auger <eric.auger@redhat.com>
>
> ---
>
> The DSDT diff is given below:
> diff --git a/dsdt.dsl_before b/dsdt.dsl_after_osc_change
> index 3224a56..fa7558e 100644
> --- a/dsdt.dsl_before
> +++ b/dsdt.dsl_after_osc_change
> @@ -5,13 +5,13 @@
> *
> * Disassembling to symbolic ASL+ operators
> *
> - * Disassembly of dsdt.dat, Mon Apr 7 05:33:06 2025
> + * Disassembly of dsdt.dat, Mon Apr 7 05:37:20 2025
> *
> * Original Table Header:
> * Signature "DSDT"
> - * Length 0x00001A4F (6735)
> + * Length 0x00001A35 (6709)
> * Revision 0x02
> - * Checksum 0xBF
> + * Checksum 0xDD
> * OEM ID "BOCHS "
> * OEM Table ID "BXPC "
> * OEM Revision 0x00000001 (1)
> @@ -1849,27 +1849,26 @@ DefinitionBlock ("", "DSDT", 2, "BOCHS ", "BXPC ", 0x00000001)
> {
> CreateDWordField (Arg3, 0x04, CDW2)
> CreateDWordField (Arg3, 0x08, CDW3)
> - SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
> - CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
> - CTRL &= 0x1F
> + Local0 = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
> + Local0 &= 0x1F
> If ((Arg1 != One))
> {
> CDW1 |= 0x08
> }
>
> - If ((CDW3 != CTRL))
> + If ((CDW3 != Local0))
> {
> CDW1 |= 0x10
> }
>
> - CDW3 = CTRL /* \_SB_.PCI0.CTRL */
> - Return (Arg3)
> + CDW3 = Local0
> }
> Else
> {
> CDW1 |= 0x04
> - Return (Arg3)
> }
> +
> + Return (Arg3)
> }
>
> Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
The problem I face with diffs in the commit body is that tools like b4, which are
based on git am, get very confused on how to handle it. I'm surprised nobody ever
complained about it. I'm wondering if there is any catch on it, because I have to
edit commits like this manually, removing the diff, to make it finally apply to
the series. Anyways, do you mind at least removing the valid diff header, like:
> diff --git a/dsdt.dsl_before b/dsdt.dsl_after_osc_change
> index 3224a56..fa7558e 100644
> --- a/dsdt.dsl_before
> +++ b/dsdt.dsl_after_osc_change
from the commit message so it doesn't confuse b4?
> ---
> hw/pci-host/gpex-acpi.c | 60 +++--------------------------------------
> 1 file changed, 4 insertions(+), 56 deletions(-)
>
> diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c
> index f1ab30f3d5..98c9868c3f 100644
> --- a/hw/pci-host/gpex-acpi.c
> +++ b/hw/pci-host/gpex-acpi.c
> @@ -50,60 +50,7 @@ static void acpi_dsdt_add_pci_route_table(Aml *dev, uint32_t irq,
> }
> }
>
> -static Aml *build_host_bridge_osc(bool enable_native_pcie_hotplug)
> -{
> - Aml *method, *UUID, *ifctx, *ifctx1, *elsectx;
> -
> - method = aml_method("_OSC", 4, AML_NOTSERIALIZED);
> - aml_append(method,
> - aml_create_dword_field(aml_arg(3), aml_int(0), "CDW1"));
> -
> - /* PCI Firmware Specification 3.0
> - * 4.5.1. _OSC Interface for PCI Host Bridge Devices
> - * The _OSC interface for a PCI/PCI-X/PCI Express hierarchy is
> - * identified by the Universal Unique IDentifier (UUID)
> - * 33DB4D5B-1FF7-401C-9657-7441C03DD766
> - */
> - UUID = aml_touuid("33DB4D5B-1FF7-401C-9657-7441C03DD766");
> - ifctx = aml_if(aml_equal(aml_arg(0), UUID));
> - aml_append(ifctx,
> - aml_create_dword_field(aml_arg(3), aml_int(4), "CDW2"));
> - aml_append(ifctx,
> - aml_create_dword_field(aml_arg(3), aml_int(8), "CDW3"));
> - aml_append(ifctx, aml_store(aml_name("CDW2"), aml_name("SUPP")));
> - aml_append(ifctx, aml_store(aml_name("CDW3"), aml_name("CTRL")));
> -
> - /*
> - * Allow OS control for SHPCHotplug, PME, AER, PCIeCapability,
> - * and PCIeHotplug depending on enable_native_pcie_hotplug
> - */
> - aml_append(ifctx, aml_and(aml_name("CTRL"),
> - aml_int(0x1E | (enable_native_pcie_hotplug ? 0x1 : 0x0)),
> - aml_name("CTRL")));
> -
> - ifctx1 = aml_if(aml_lnot(aml_equal(aml_arg(1), aml_int(0x1))));
> - aml_append(ifctx1, aml_or(aml_name("CDW1"), aml_int(0x08),
> - aml_name("CDW1")));
> - aml_append(ifctx, ifctx1);
> -
> - ifctx1 = aml_if(aml_lnot(aml_equal(aml_name("CDW3"), aml_name("CTRL"))));
> - aml_append(ifctx1, aml_or(aml_name("CDW1"), aml_int(0x10),
> - aml_name("CDW1")));
> - aml_append(ifctx, ifctx1);
> -
> - aml_append(ifctx, aml_store(aml_name("CTRL"), aml_name("CDW3")));
> - aml_append(ifctx, aml_return(aml_arg(3)));
> - aml_append(method, ifctx);
> -
> - elsectx = aml_else();
> - aml_append(elsectx, aml_or(aml_name("CDW1"), aml_int(4),
> - aml_name("CDW1")));
> - aml_append(elsectx, aml_return(aml_arg(3)));
> - aml_append(method, elsectx);
> - return method;
> -}
> -
> -static Aml *build_host_bridge_dsm(void)
> +static Aml *build_pci_host_bridge_dsm_method(void)
> {
> Aml *method = aml_method("_DSM", 4, AML_NOTSERIALIZED);
> Aml *UUID, *ifctx, *ifctx1, *buf;
> @@ -134,8 +81,9 @@ static void acpi_dsdt_add_host_bridge_methods(Aml *dev,
> aml_append(dev, aml_name_decl("SUPP", aml_int(0)));
> aml_append(dev, aml_name_decl("CTRL", aml_int(0)));
> /* Declare an _OSC (OS Control Handoff) method */
> - aml_append(dev, build_host_bridge_osc(enable_native_pcie_hotplug));
> - aml_append(dev, build_host_bridge_dsm());
> + aml_append(dev,
> + build_pci_host_bridge_osc_method(enable_native_pcie_hotplug));
> + aml_append(dev, build_pci_host_bridge_dsm_method());
> }
>
> void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig *cfg)
Otherwise:
Reviewed-by: Gustavo Romero <gustavo.romero@linaro.org>
Cheers,
Gustavo
next prev parent reply other threads:[~2025-05-20 14:10 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-14 17:00 [PATCH 00/22] ACPI PCI Hotplug support on ARM Eric Auger
2025-05-14 17:00 ` [PATCH 01/22] hw/i386/acpi-build: Make aml_pci_device_dsm() static Eric Auger
2025-05-20 12:30 ` Gustavo Romero
2025-05-25 15:29 ` Philippe Mathieu-Daudé
2025-05-14 17:00 ` [PATCH 02/22] hw/arm/virt: Introduce machine state acpi pcihp flags and props Eric Auger
2025-05-14 17:00 ` [PATCH 03/22] hw/acpi: Rename and move build_x86_acpi_pci_hotplug to pcihp Eric Auger
2025-05-20 12:31 ` Gustavo Romero
2025-05-14 17:00 ` [PATCH 04/22] hw/pci-host/gpex-acpi: Add native_pci_hotplug arg to acpi_dsdt_add_pci_osc Eric Auger
2025-05-14 17:00 ` [PATCH 05/22] hw/pci-host/gpex-acpi: Split host bridge OSC and DSM generation Eric Auger
2025-05-14 17:00 ` [PATCH 06/22] hw/pci-host/gpex-acpi: Propagate hotplug type info from virt machine downto gpex Eric Auger
2025-05-14 17:00 ` [PATCH 07/22] hw/i386/acpi-build: Turn build_q35_osc_method into a generic method Eric Auger
2025-05-20 12:59 ` Gustavo Romero
2025-05-14 17:00 ` [PATCH 08/22] hw/pci-host/gpex-acpi: Use build_pci_host_bridge_osc_method Eric Auger
2025-05-20 14:09 ` Gustavo Romero [this message]
2025-05-21 16:12 ` Eric Auger
2025-05-24 10:54 ` Michael S. Tsirkin
2025-05-26 9:16 ` Eric Auger
2025-05-14 17:00 ` [PATCH 09/22] hw/i386/acpi-build: Introduce build_append_pcihp_resources() helper Eric Auger
2025-05-20 18:57 ` Gustavo Romero
2025-05-14 17:00 ` [PATCH 10/22] hw/acpi/pcihp: Add an AmlRegionSpace arg to build_acpi_pci_hotplug Eric Auger
2025-05-20 18:58 ` Gustavo Romero
2025-05-14 17:00 ` [PATCH 11/22] hw/i386/acpi-build: Move build_append_notification_callback to pcihp Eric Auger
2025-05-20 18:58 ` Gustavo Romero
2025-05-14 17:00 ` [PATCH 12/22] hw/i386/acpi-build: Move build_append_pci_bus_devices/pcihp_slots " Eric Auger
2025-05-20 19:59 ` Gustavo Romero
2025-05-14 17:01 ` [PATCH 13/22] hw/i386/acpi-build: Introduce and use acpi_get_pci_host Eric Auger
2025-05-20 20:00 ` Gustavo Romero
2025-05-26 9:16 ` Eric Auger
2025-05-14 17:01 ` [PATCH 14/22] hw/i386/acpi-build: Move aml_pci_edsm to a generic place Eric Auger
2025-05-21 15:26 ` Gustavo Romero
2025-05-21 15:56 ` Eric Auger
2025-05-21 16:24 ` Gustavo Romero
2025-05-21 20:19 ` Gustavo Romero
2025-05-27 7:18 ` Eric Auger
2025-05-27 19:34 ` Gustavo Romero
2025-05-14 17:01 ` [PATCH 15/22] hw/arm/virt-acpi-build: Modify the DSDT ACPI table to enable ACPI PCI hotplug Eric Auger
2025-05-14 17:01 ` [PATCH 16/22] hw/acpi/ged: Prepare the device to react to PCI hotplug events Eric Auger
2025-05-25 15:34 ` Philippe Mathieu-Daudé
2025-05-14 17:01 ` [PATCH 17/22] hw/acpi/ged: Call pcihp plug callbacks in hotplug handler implementation Eric Auger
2025-05-14 17:01 ` [PATCH 18/22] hw/acpi/ged: Support migration of AcpiPciHpState Eric Auger
2025-05-14 17:01 ` [PATCH 19/22] hw/core/sysbus: Introduce sysbus_mmio_map_name() helper Eric Auger
2025-05-14 17:01 ` [PATCH 20/22] hw/arm/virt: Let virt support pci hotplug/unplug GED event Eric Auger
2025-05-14 17:01 ` [PATCH 21/22] hw/arm/virt: Plug pcihp hotplug/hotunplug callbacks Eric Auger
2025-05-14 17:01 ` [PATCH 22/22] hw/arm/virt: Use ACPI PCI hotplug by default Eric Auger
2025-05-26 5:55 ` [PATCH 00/22] ACPI PCI Hotplug support on ARM Gustavo Romero
2025-05-26 10:21 ` Eric Auger
2025-05-26 13:56 ` Gustavo Romero
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=e1ec0e15-ad26-456b-a8d7-16f683290651@linaro.org \
--to=gustavo.romero@linaro.org \
--cc=Jonathan.Cameron@huawei.com \
--cc=anisinha@redhat.com \
--cc=eric.auger.pro@gmail.com \
--cc=eric.auger@redhat.com \
--cc=imammedo@redhat.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=shannon.zhaosl@gmail.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).