summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2014-11-24 22:41:13 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2014-11-24 22:41:13 +0000
commit2c625ec68e8de5b3fa868bc02d6740fa41530220 (patch)
treedd5ce5d32e43e324603d23d1a3c81581662b7c4a
parentd48ad66c1984519a57a878a62028214ec8a91784 (diff)
Actually, the previous change didn't quite work on the SPARC T5-2. But if
we change the order of the xxx_setvalidand xxx_setstate hypervisor calls things actually work.
-rw-r--r--sys/arch/sparc64/dev/vpci.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/sys/arch/sparc64/dev/vpci.c b/sys/arch/sparc64/dev/vpci.c
index 1606cfe8bda..6e86ec1b63c 100644
--- a/sys/arch/sparc64/dev/vpci.c
+++ b/sys/arch/sparc64/dev/vpci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vpci.c,v 1.16 2014/11/24 22:09:32 kettenis Exp $ */
+/* $OpenBSD: vpci.c,v 1.17 2014/11/24 22:41:12 kettenis Exp $ */
/*
* Copyright (c) 2008 Mark Kettenis <kettenis@openbsd.org>
*
@@ -268,15 +268,15 @@ vpci_init_msi(struct vpci_softc *sc, struct vpci_pbm *pbm)
IPL_HIGH, 0, vpci_msi_eq_intr, pbm, sc->sc_dv.dv_xname) == NULL)
goto disable_queue;
- err = hv_pci_msiq_setstate(pbm->vp_devhandle, 0, PCI_MSIQSTATE_IDLE);
+ err = hv_pci_msiq_setvalid(pbm->vp_devhandle, 0, PCI_MSIQ_VALID);
if (err != H_EOK) {
- printf("%s: pci_msiq_setstate: err %d\n", __func__, err);
+ printf("%s: pci_msiq_setvalid: err %d\n", __func__, err);
goto disable_queue;
}
- err = hv_pci_msiq_setvalid(pbm->vp_devhandle, 0, PCI_MSIQ_VALID);
+ err = hv_pci_msiq_setstate(pbm->vp_devhandle, 0, PCI_MSIQSTATE_IDLE);
if (err != H_EOK) {
- printf("%s: pci_msiq_setvalid: err %d\n", __func__, err);
+ printf("%s: pci_msiq_setstate: err %d\n", __func__, err);
goto disable_queue;
}
@@ -544,15 +544,15 @@ vpci_intr_establish(bus_space_tag_t t, bus_space_tag_t t0, int ihandle,
return (NULL);
}
- err = hv_pci_msi_setstate(pbm->vp_devhandle, msinum, PCI_MSISTATE_IDLE);
+ err = hv_pci_msi_setvalid(pbm->vp_devhandle, msinum, PCI_MSI_VALID);
if (err != H_EOK) {
- printf("%s: pci_msi_setstate: err %d\n", __func__, err);
+ printf("%s: pci_msi_setvalid: err %d\n", __func__, err);
return (NULL);
}
- err = hv_pci_msi_setvalid(pbm->vp_devhandle, msinum, PCI_MSI_VALID);
+ err = hv_pci_msi_setstate(pbm->vp_devhandle, msinum, PCI_MSISTATE_IDLE);
if (err != H_EOK) {
- printf("%s: pci_msi_setvalid: err %d\n", __func__, err);
+ printf("%s: pci_msi_setstate: err %d\n", __func__, err);
return (NULL);
}