qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] pci-bridge/xio3130_downstream: fix invalid link speed and link width
@ 2024-05-29 13:21 Nam Cao
  2024-05-29 13:50 ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 4+ messages in thread
From: Nam Cao @ 2024-05-29 13:21 UTC (permalink / raw)
  To: Alex Williamson, Michael S . Tsirkin, Marcel Apfelbaum,
	qemu-devel; +Cc: Nam Cao

Set link width to x1 and link speed to 2.5 Gb/s as specified by the
datasheet. Without this, these fields in the link status register read
zero, which is incorrect.

This problem appeared since 3d67447fe7c2 ("pcie: Fill PCIESlot link fields
to support higher speeds and widths"), which allows PCIe slot to set link
width and link speed. However, if PCIe slot does not explicitly set these
properties, they will be zero. Before this commit, the width and speed
default to x1 and 2.5 Gb/s.

Fixes: 3d67447fe7c2 ("pcie: Fill PCIESlot link fields to support higher speeds and widths")
Signed-off-by: Nam Cao <namcao@linutronix.de>
---
 hw/pci-bridge/xio3130_downstream.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/hw/pci-bridge/xio3130_downstream.c b/hw/pci-bridge/xio3130_downstream.c
index 38a2361fa2..d949431191 100644
--- a/hw/pci-bridge/xio3130_downstream.c
+++ b/hw/pci-bridge/xio3130_downstream.c
@@ -172,10 +172,18 @@ static void xio3130_downstream_class_init(ObjectClass *klass, void *data)
     device_class_set_props(dc, xio3130_downstream_props);
 }
 
+static void xio3130_downstream_instance_post_init(Object *obj)
+{
+    PCIESlot *s = PCIE_SLOT(obj);
+    s->speed = QEMU_PCI_EXP_LNK_2_5GT;
+    s->width = QEMU_PCI_EXP_LNK_X1;
+}
+
 static const TypeInfo xio3130_downstream_info = {
     .name          = TYPE_XIO3130_DOWNSTREAM,
     .parent        = TYPE_PCIE_SLOT,
     .class_init    = xio3130_downstream_class_init,
+    .instance_post_init = xio3130_downstream_instance_post_init,
     .interfaces = (InterfaceInfo[]) {
         { INTERFACE_PCIE_DEVICE },
         { }
-- 
2.39.2



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

end of thread, other threads:[~2024-05-29 14:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-29 13:21 [PATCH] pci-bridge/xio3130_downstream: fix invalid link speed and link width Nam Cao
2024-05-29 13:50 ` Philippe Mathieu-Daudé
2024-05-29 14:16   ` Nam Cao
2024-05-29 14:46     ` Nam Cao

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).