Module Name:    src
Committed By:   jdolecek
Date:           Sat Jul  4 14:49:24 UTC 2020

Modified Files:
        src/sys/dev/pci: ciss_pci.c uhci_pci.c

Log Message:
switch to pci_intr_alloc() so this uses MSI/MSI-X if device supports it


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/dev/pci/ciss_pci.c
cvs rdiff -u -r1.63 -r1.64 src/sys/dev/pci/uhci_pci.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pci/ciss_pci.c
diff -u src/sys/dev/pci/ciss_pci.c:1.15 src/sys/dev/pci/ciss_pci.c:1.16
--- src/sys/dev/pci/ciss_pci.c:1.15	Sun Dec  9 11:14:01 2018
+++ src/sys/dev/pci/ciss_pci.c	Sat Jul  4 14:49:24 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: ciss_pci.c,v 1.15 2018/12/09 11:14:01 jdolecek Exp $	*/
+/*	$NetBSD: ciss_pci.c,v 1.16 2020/07/04 14:49:24 jdolecek Exp $	*/
 /*	$OpenBSD: ciss_pci.c,v 1.9 2005/12/13 15:56:01 brad Exp $	*/
 
 /*
@@ -19,7 +19,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ciss_pci.c,v 1.15 2018/12/09 11:14:01 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ciss_pci.c,v 1.16 2020/07/04 14:49:24 jdolecek Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -263,7 +263,7 @@ ciss_pci_attach(device_t parent, device_
 	struct ciss_softc *sc = device_private(self);
 	struct pci_attach_args *pa = aux;
 	bus_size_t size, cfgsz;
-	pci_intr_handle_t ih;
+	pci_intr_handle_t *ih;
 	const char *intrstr;
 	int cfg_bar, memtype;
 	pcireg_t reg = pci_conf_read(pa->pa_pc, pa->pa_tag, PCI_SUBSYS_ID_REG);
@@ -339,16 +339,16 @@ ciss_pci_attach(device_t parent, device_
 	    bus_space_read_4(sc->sc_iot, sc->sc_ioh, CISS_IMR) | sc->iem);
 #endif
 
-	if (pci_intr_map(pa, &ih)) {
+	if (pci_intr_alloc(pa, &ih, NULL, 0) != 0) {
 		aprint_error_dev(self, "can't map interrupt\n");
 		bus_space_unmap(sc->sc_iot, sc->sc_ioh, size);
 		if (cfg_bar != CISS_BAR)
 			bus_space_unmap(sc->sc_iot, sc->cfg_ioh, cfgsz);
 		return;
 	}
-	intrstr = pci_intr_string(pa->pa_pc, ih, intrbuf, sizeof(intrbuf));
-	sc->sc_ih = pci_intr_establish_xname(pa->pa_pc, ih, IPL_BIO, ciss_intr,
-	    sc, device_xname(self));
+	intrstr = pci_intr_string(pa->pa_pc, ih[0], intrbuf, sizeof(intrbuf));
+	sc->sc_ih = pci_intr_establish_xname(pa->pa_pc, ih[0], IPL_BIO,
+	    ciss_intr, sc, device_xname(self));
 	if (!sc->sc_ih) {
 		aprint_error_dev(sc->sc_dev, "can't establish interrupt");
 		if (intrstr)

Index: src/sys/dev/pci/uhci_pci.c
diff -u src/sys/dev/pci/uhci_pci.c:1.63 src/sys/dev/pci/uhci_pci.c:1.64
--- src/sys/dev/pci/uhci_pci.c:1.63	Thu May 10 03:41:00 2018
+++ src/sys/dev/pci/uhci_pci.c	Sat Jul  4 14:49:24 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: uhci_pci.c,v 1.63 2018/05/10 03:41:00 msaitoh Exp $	*/
+/*	$NetBSD: uhci_pci.c,v 1.64 2020/07/04 14:49:24 jdolecek Exp $	*/
 
 /*
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uhci_pci.c,v 1.63 2018/05/10 03:41:00 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uhci_pci.c,v 1.64 2020/07/04 14:49:24 jdolecek Exp $");
 
 #include "ehci.h"
 
@@ -91,7 +91,7 @@ uhci_pci_attach(device_t parent, device_
 	pci_chipset_tag_t pc = pa->pa_pc;
 	pcitag_t tag = pa->pa_tag;
 	char const *intrstr;
-	pci_intr_handle_t ih;
+	pci_intr_handle_t *ih;
 	pcireg_t csr;
 	int s;
 	char intrbuf[PCI_INTRSTR_LEN];
@@ -126,12 +126,12 @@ uhci_pci_attach(device_t parent, device_
 		       csr | PCI_COMMAND_MASTER_ENABLE);
 
 	/* Map and establish the interrupt. */
-	if (pci_intr_map(pa, &ih)) {
+	if (pci_intr_alloc(pa, &ih, NULL, 0) != 0) {
 		aprint_error_dev(self, "couldn't map interrupt\n");
 		return;
 	}
-	intrstr = pci_intr_string(pc, ih, intrbuf, sizeof(intrbuf));
-	sc->sc_ih = pci_intr_establish_xname(pc, ih, IPL_USB, uhci_intr, sc,
+	intrstr = pci_intr_string(pc, ih[0], intrbuf, sizeof(intrbuf));
+	sc->sc_ih = pci_intr_establish_xname(pc, ih[0], IPL_USB, uhci_intr, sc,
 	    device_xname(self));
 	if (sc->sc_ih == NULL) {
 		aprint_error_dev(self, "couldn't establish interrupt");

Reply via email to