All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heyi Guo <guoheyi@huawei.com>
To: <qemu-devel@nongnu.org>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Shannon Zhao <shannon.zhaosl@gmail.com>,
	qemu-arm@nongnu.org, Igor Mammedov <imammedo@redhat.com>,
	Heyi Guo <guoheyi@huawei.com>,
	wanghaibin.wang@huawei.com
Subject: [PATCH v2 4/7] arm/acpi: fix PCI _PRT definition
Date: Mon, 3 Feb 2020 08:15:02 +0800	[thread overview]
Message-ID: <20200203001505.52573-5-guoheyi@huawei.com> (raw)
In-Reply-To: <20200203001505.52573-1-guoheyi@huawei.com>

The address field in each _PRT mapping package should be constructed
with high word for device# and low word for function#, so it is wrong
to use bus_no as the high word. Enumerate all possible slots
(i.e. PCI_SLOT_MAX) instead.

Signed-off-by: Heyi Guo <guoheyi@huawei.com>

---
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Shannon Zhao <shannon.zhaosl@gmail.com>
Cc: qemu-arm@nongnu.org
Cc: qemu-devel@nongnu.org
---
 hw/arm/virt-acpi-build.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index be752c0ad8..5d157a9dd5 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -151,7 +151,7 @@ static void acpi_dsdt_add_pci(Aml *scope, const MemMapEntry *memmap,
 {
     int ecam_id = VIRT_ECAM_ID(highmem_ecam);
     Aml *method, *crs, *ifctx, *UUID, *ifctx1, *elsectx, *buf;
-    int i, bus_no;
+    int i, slot_no;
     hwaddr base_mmio = memmap[VIRT_PCIE_MMIO].base;
     hwaddr size_mmio = memmap[VIRT_PCIE_MMIO].size;
     hwaddr base_pio = memmap[VIRT_PCIE_PIO].base;
@@ -170,12 +170,12 @@ static void acpi_dsdt_add_pci(Aml *scope, const MemMapEntry *memmap,
     aml_append(dev, aml_name_decl("_CCA", aml_int(1)));
 
     /* Declare the PCI Routing Table. */
-    Aml *rt_pkg = aml_varpackage(nr_pcie_buses * PCI_NUM_PINS);
-    for (bus_no = 0; bus_no < nr_pcie_buses; bus_no++) {
+    Aml *rt_pkg = aml_varpackage(PCI_SLOT_MAX * PCI_NUM_PINS);
+    for (slot_no = 0; slot_no < PCI_SLOT_MAX; slot_no++) {
         for (i = 0; i < PCI_NUM_PINS; i++) {
-            int gsi = (i + bus_no) % PCI_NUM_PINS;
+            int gsi = (i + slot_no) % PCI_NUM_PINS;
             Aml *pkg = aml_package(4);
-            aml_append(pkg, aml_int((bus_no << 16) | 0xFFFF));
+            aml_append(pkg, aml_int((slot_no << 16) | 0xFFFF));
             aml_append(pkg, aml_int(i));
             aml_append(pkg, aml_name("GSI%d", gsi));
             aml_append(pkg, aml_int(0));
-- 
2.19.1



  parent reply	other threads:[~2020-02-03  0:18 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-03  0:14 [PATCH v2 0/7] Some cleanup in arm/virt/acpi Heyi Guo
2020-02-03  0:14 ` [PATCH v2 1/7] bios-tables-test: prepare to change ARM virt ACPI DSDT Heyi Guo
2020-02-03  5:33   ` Michael S. Tsirkin
2020-02-03  0:15 ` [PATCH v2 2/7] arm/virt/acpi: remove meaningless sub device "RP0" from PCI0 Heyi Guo
2020-02-03  0:15 ` [PATCH v2 3/7] arm/virt/acpi: remove _ADR from devices identified by _HID Heyi Guo
2020-02-03  5:33   ` Michael S. Tsirkin
2020-02-03  0:15 ` Heyi Guo [this message]
2020-02-03  6:10   ` [PATCH v2 4/7] arm/acpi: fix PCI _PRT definition Michael S. Tsirkin
2020-02-03  0:15 ` [PATCH v2 5/7] arm/acpi: fix duplicated _UID of PCI interrupt link devices Heyi Guo
2020-02-03  5:59   ` Michael S. Tsirkin
2020-02-03  0:15 ` [PATCH v2 6/7] arm/acpi: simplify the description of PCI _CRS Heyi Guo
2020-02-03  6:00   ` Michael S. Tsirkin
2020-02-03  0:15 ` [PATCH v2 7/7] virt/acpi: update golden masters for DSDT update Heyi Guo
2020-02-03  5:34   ` Michael S. Tsirkin
2020-02-03  6:43 ` [PATCH v2 0/7] Some cleanup in arm/virt/acpi Michael S. Tsirkin
2020-02-03 13:33   ` Heyi Guo
2020-02-03 14:03     ` Peter Maydell
2020-02-04  1:43       ` Heyi Guo

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=20200203001505.52573-5-guoheyi@huawei.com \
    --to=guoheyi@huawei.com \
    --cc=imammedo@redhat.com \
    --cc=mst@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=shannon.zhaosl@gmail.com \
    --cc=wanghaibin.wang@huawei.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.