All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Correct a couple of defines in pcie_host.h
@ 2022-04-11 22:18 Francisco Iglesias
  2022-04-11 22:18 ` [PATCH v2 1/2] include/hw/pci/pcie_host: Correct PCIE_MMCFG_BUS_MASK Francisco Iglesias
  2022-04-11 22:18 ` [PATCH v2 2/2] include/hw/pci/pcie_host: Correct PCIE_MMCFG_SIZE_MAX Francisco Iglesias
  0 siblings, 2 replies; 3+ messages in thread
From: Francisco Iglesias @ 2022-04-11 22:18 UTC (permalink / raw)
  To: qemu-devel; +Cc: frasse.iglesias, mst

Hi,

This series attempts to correct a couple of defines inside pcie_host.h.

Best regards,
Francisco Iglesias

Changelog:
v1->v2:
 * Went from RFC to patch proposal
 * Added more meat on the commit message of patch 1


Francisco Iglesias (2):
  include/hw/pci/pcie_host: Correct PCIE_MMCFG_BUS_MASK
  include/hw/pci/pcie_host: Correct PCIE_MMCFG_SIZE_MAX

 include/hw/pci/pcie_host.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

-- 
2.20.1



^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v2 1/2] include/hw/pci/pcie_host: Correct PCIE_MMCFG_BUS_MASK
  2022-04-11 22:18 [PATCH v2 0/2] Correct a couple of defines in pcie_host.h Francisco Iglesias
@ 2022-04-11 22:18 ` Francisco Iglesias
  2022-04-11 22:18 ` [PATCH v2 2/2] include/hw/pci/pcie_host: Correct PCIE_MMCFG_SIZE_MAX Francisco Iglesias
  1 sibling, 0 replies; 3+ messages in thread
From: Francisco Iglesias @ 2022-04-11 22:18 UTC (permalink / raw)
  To: qemu-devel; +Cc: frasse.iglesias, mst

According to [1] address bits 27 - 20 are mapped to the bus number (the
TLPs bus number field is 8 bits). Below is the formula taken from Table
7-1 in [1].

"
Memory Address | PCI Express Configuration Space
A[(20+n-1):20] | Bus Number, 1 ≤ n ≤ 8
"

[1] PCI Express® Base Specification Revision 5.0 Version 1.0

Signed-off-by: Francisco Iglesias <frasse.iglesias@gmail.com>
---
 include/hw/pci/pcie_host.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/hw/pci/pcie_host.h b/include/hw/pci/pcie_host.h
index 076457b270..b3c8ce973c 100644
--- a/include/hw/pci/pcie_host.h
+++ b/include/hw/pci/pcie_host.h
@@ -60,7 +60,7 @@ void pcie_host_mmcfg_update(PCIExpressHost *e,
 /*
  * PCI express ECAM (Enhanced Configuration Address Mapping) format.
  * AKA mmcfg address
- * bit 20 - 28: bus number
+ * bit 20 - 27: bus number
  * bit 15 - 19: device number
  * bit 12 - 14: function number
  * bit  0 - 11: offset in configuration space of a given device
@@ -68,7 +68,7 @@ void pcie_host_mmcfg_update(PCIExpressHost *e,
 #define PCIE_MMCFG_SIZE_MAX             (1ULL << 29)
 #define PCIE_MMCFG_SIZE_MIN             (1ULL << 20)
 #define PCIE_MMCFG_BUS_BIT              20
-#define PCIE_MMCFG_BUS_MASK             0x1ff
+#define PCIE_MMCFG_BUS_MASK             0xff
 #define PCIE_MMCFG_DEVFN_BIT            12
 #define PCIE_MMCFG_DEVFN_MASK           0xff
 #define PCIE_MMCFG_CONFOFFSET_MASK      0xfff
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH v2 2/2] include/hw/pci/pcie_host: Correct PCIE_MMCFG_SIZE_MAX
  2022-04-11 22:18 [PATCH v2 0/2] Correct a couple of defines in pcie_host.h Francisco Iglesias
  2022-04-11 22:18 ` [PATCH v2 1/2] include/hw/pci/pcie_host: Correct PCIE_MMCFG_BUS_MASK Francisco Iglesias
@ 2022-04-11 22:18 ` Francisco Iglesias
  1 sibling, 0 replies; 3+ messages in thread
From: Francisco Iglesias @ 2022-04-11 22:18 UTC (permalink / raw)
  To: qemu-devel; +Cc: frasse.iglesias, mst

According to 7.2.2 in [1] bit 27 is the last bit that can be part of the
bus number, this makes the ECAM max size equal to '1 << 28'. This patch
restores back this value into the PCIE_MMCFG_SIZE_MAX define (which was
changed in commit 58d5b22bbd5 ("ppc4xx: Add device models found in PPC440
core SoCs")).

[1] PCI Express® Base Specification Revision 5.0 Version 1.0

Signed-off-by: Francisco Iglesias <frasse.iglesias@gmail.com>
---
 include/hw/pci/pcie_host.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/hw/pci/pcie_host.h b/include/hw/pci/pcie_host.h
index b3c8ce973c..82d92177da 100644
--- a/include/hw/pci/pcie_host.h
+++ b/include/hw/pci/pcie_host.h
@@ -65,7 +65,7 @@ void pcie_host_mmcfg_update(PCIExpressHost *e,
  * bit 12 - 14: function number
  * bit  0 - 11: offset in configuration space of a given device
  */
-#define PCIE_MMCFG_SIZE_MAX             (1ULL << 29)
+#define PCIE_MMCFG_SIZE_MAX             (1ULL << 28)
 #define PCIE_MMCFG_SIZE_MIN             (1ULL << 20)
 #define PCIE_MMCFG_BUS_BIT              20
 #define PCIE_MMCFG_BUS_MASK             0xff
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-04-11 22:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-11 22:18 [PATCH v2 0/2] Correct a couple of defines in pcie_host.h Francisco Iglesias
2022-04-11 22:18 ` [PATCH v2 1/2] include/hw/pci/pcie_host: Correct PCIE_MMCFG_BUS_MASK Francisco Iglesias
2022-04-11 22:18 ` [PATCH v2 2/2] include/hw/pci/pcie_host: Correct PCIE_MMCFG_SIZE_MAX Francisco Iglesias

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.