sync with OpenBSD -current

This commit is contained in:
purplerain 2023-11-29 12:09:41 +00:00
parent 388947454d
commit 8b84d503c1
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
17 changed files with 446 additions and 330 deletions

View file

@ -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);

View file

@ -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

View file

@ -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 */

View file

@ -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",