Enable MSI if the node contains an msi-map, like we already do in pciecam(4).
authorpatrick <patrick@openbsd.org>
Mon, 24 Apr 2023 15:15:00 +0000 (15:15 +0000)
committerpatrick <patrick@openbsd.org>
Mon, 24 Apr 2023 15:15:00 +0000 (15:15 +0000)
This will make MSIs work on the Lenovo x13s as soon as an updated device tree
is installed.

Discussed with kettenis@

sys/dev/fdt/dwpcie.c

index ab4a538..18ca6f1 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: dwpcie.c,v 1.44 2023/04/05 10:48:12 kettenis Exp $    */
+/*     $OpenBSD: dwpcie.c,v 1.45 2023/04/24 15:15:00 patrick Exp $     */
 /*
  * Copyright (c) 2018 Mark Kettenis <kettenis@openbsd.org>
  *
@@ -701,6 +701,7 @@ dwpcie_attach_deferred(struct device *self)
        if (OF_is_compatible(sc->sc_node, "baikal,bm1000-pcie") ||
            OF_is_compatible(sc->sc_node, "marvell,armada8k-pcie") ||
            OF_is_compatible(sc->sc_node, "rockchip,rk3568-pcie") ||
+           OF_getproplen(sc->sc_node, "msi-map") > 0 ||
            sc->sc_msi_addr)
                pba.pba_flags |= PCI_FLAGS_MSI_ENABLED;