sync with OpenBSD -current
This commit is contained in:
parent
388947454d
commit
8b84d503c1
17 changed files with 446 additions and 330 deletions
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: mpii.c,v 1.146 2023/07/06 10:17:43 visa Exp $ */
|
||||
/* $OpenBSD: mpii.c,v 1.147 2023/11/29 06:54:09 jmatthew Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2010, 2012 Mike Belopuhov
|
||||
* Copyright (c) 2009 James Giannoules
|
||||
|
@ -162,6 +162,7 @@ struct mpii_softc {
|
|||
int sc_flags;
|
||||
#define MPII_F_RAID (1<<1)
|
||||
#define MPII_F_SAS3 (1<<2)
|
||||
#define MPII_F_AERO (1<<3)
|
||||
|
||||
struct scsibus_softc *sc_scsibus;
|
||||
unsigned int sc_pending;
|
||||
|
@ -433,7 +434,11 @@ static const struct pci_matchid mpii_devices[] = {
|
|||
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3508 },
|
||||
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3508_1 },
|
||||
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3516 },
|
||||
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3516_1 }
|
||||
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3516_1 },
|
||||
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS38XX },
|
||||
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS38XX_1 },
|
||||
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS39XX },
|
||||
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS39XX_1 },
|
||||
};
|
||||
|
||||
int
|
||||
|
@ -494,6 +499,15 @@ mpii_attach(struct device *parent, struct device *self, void *aux)
|
|||
}
|
||||
printf(": %s\n", pci_intr_string(sc->sc_pc, ih));
|
||||
|
||||
switch (PCI_PRODUCT(pa->pa_id)) {
|
||||
case PCI_PRODUCT_SYMBIOS_SAS38XX:
|
||||
case PCI_PRODUCT_SYMBIOS_SAS38XX_1:
|
||||
case PCI_PRODUCT_SYMBIOS_SAS39XX:
|
||||
case PCI_PRODUCT_SYMBIOS_SAS39XX_1:
|
||||
SET(sc->sc_flags, MPII_F_AERO);
|
||||
break;
|
||||
}
|
||||
|
||||
if (mpii_iocfacts(sc) != 0) {
|
||||
printf("%s: unable to get iocfacts\n", DEVNAME(sc));
|
||||
goto unmap;
|
||||
|
@ -963,10 +977,24 @@ u_int32_t
|
|||
mpii_read(struct mpii_softc *sc, bus_size_t r)
|
||||
{
|
||||
u_int32_t rv;
|
||||
int i;
|
||||
|
||||
bus_space_barrier(sc->sc_iot, sc->sc_ioh, r, 4,
|
||||
BUS_SPACE_BARRIER_READ);
|
||||
rv = bus_space_read_4(sc->sc_iot, sc->sc_ioh, r);
|
||||
if (ISSET(sc->sc_flags, MPII_F_AERO)) {
|
||||
i = 0;
|
||||
do {
|
||||
if (i > 0)
|
||||
DNPRINTF(MPII_D_RW, "%s: mpii_read retry %d\n",
|
||||
DEVNAME(sc), i);
|
||||
bus_space_barrier(sc->sc_iot, sc->sc_ioh, r, 4,
|
||||
BUS_SPACE_BARRIER_READ);
|
||||
rv = bus_space_read_4(sc->sc_iot, sc->sc_ioh, r);
|
||||
i++;
|
||||
} while (rv == 0 && i < 3);
|
||||
} else {
|
||||
bus_space_barrier(sc->sc_iot, sc->sc_ioh, r, 4,
|
||||
BUS_SPACE_BARRIER_READ);
|
||||
rv = bus_space_read_4(sc->sc_iot, sc->sc_ioh, r);
|
||||
}
|
||||
|
||||
DNPRINTF(MPII_D_RW, "%s: mpii_read %#lx %#x\n", DEVNAME(sc), r, rv);
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
$OpenBSD: pcidevs,v 1.2057 2023/11/26 05:47:21 jsg Exp $
|
||||
$OpenBSD: pcidevs,v 1.2058 2023/11/29 06:46:29 jmatthew Exp $
|
||||
/* $NetBSD: pcidevs,v 1.30 1997/06/24 06:20:24 thorpej Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -9120,6 +9120,10 @@ product SYMBIOS SAS3416 0x00ac SAS3416
|
|||
product SYMBIOS SAS3508 0x00ad SAS3508
|
||||
product SYMBIOS SAS3508_1 0x00ae SAS3508
|
||||
product SYMBIOS SAS3408 0x00af SAS3408
|
||||
product SYMBIOS SAS39XX 0x00e1 SAS39XX
|
||||
product SYMBIOS SAS39XX_1 0x00e2 SAS39XX
|
||||
product SYMBIOS SAS38XX 0x00e5 SAS38XX
|
||||
product SYMBIOS SAS38XX_1 0x00e6 SAS38XX
|
||||
product SYMBIOS MEGARAID_320 0x0407 MegaRAID 320
|
||||
product SYMBIOS MEGARAID_3202E 0x0408 MegaRAID 320-2E
|
||||
product SYMBIOS MEGARAID_SATA 0x0409 MegaRAID SATA 4x/8x
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
|
||||
*
|
||||
* generated from:
|
||||
* OpenBSD: pcidevs,v 1.2057 2023/11/26 05:47:21 jsg Exp
|
||||
* OpenBSD: pcidevs,v 1.2058 2023/11/29 06:46:29 jmatthew Exp
|
||||
*/
|
||||
/* $NetBSD: pcidevs,v 1.30 1997/06/24 06:20:24 thorpej Exp $ */
|
||||
|
||||
|
@ -9125,6 +9125,10 @@
|
|||
#define PCI_PRODUCT_SYMBIOS_SAS3508 0x00ad /* SAS3508 */
|
||||
#define PCI_PRODUCT_SYMBIOS_SAS3508_1 0x00ae /* SAS3508 */
|
||||
#define PCI_PRODUCT_SYMBIOS_SAS3408 0x00af /* SAS3408 */
|
||||
#define PCI_PRODUCT_SYMBIOS_SAS39XX 0x00e1 /* SAS39XX */
|
||||
#define PCI_PRODUCT_SYMBIOS_SAS39XX_1 0x00e2 /* SAS39XX */
|
||||
#define PCI_PRODUCT_SYMBIOS_SAS38XX 0x00e5 /* SAS38XX */
|
||||
#define PCI_PRODUCT_SYMBIOS_SAS38XX_1 0x00e6 /* SAS38XX */
|
||||
#define PCI_PRODUCT_SYMBIOS_MEGARAID_320 0x0407 /* MegaRAID 320 */
|
||||
#define PCI_PRODUCT_SYMBIOS_MEGARAID_3202E 0x0408 /* MegaRAID 320-2E */
|
||||
#define PCI_PRODUCT_SYMBIOS_MEGARAID_SATA 0x0409 /* MegaRAID SATA 4x/8x */
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
|
||||
*
|
||||
* generated from:
|
||||
* OpenBSD: pcidevs,v 1.2057 2023/11/26 05:47:21 jsg Exp
|
||||
* OpenBSD: pcidevs,v 1.2058 2023/11/29 06:46:29 jmatthew Exp
|
||||
*/
|
||||
|
||||
/* $NetBSD: pcidevs,v 1.30 1997/06/24 06:20:24 thorpej Exp $ */
|
||||
|
@ -32767,6 +32767,22 @@ static const struct pci_known_product pci_known_products[] = {
|
|||
PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS3408,
|
||||
"SAS3408",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS39XX,
|
||||
"SAS39XX",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS39XX_1,
|
||||
"SAS39XX",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS38XX,
|
||||
"SAS38XX",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS38XX_1,
|
||||
"SAS38XX",
|
||||
},
|
||||
{
|
||||
PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID_320,
|
||||
"MegaRAID 320",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue