#include "aic79xx_osm.h"
#include "aic79xx_inline.h"
#include "aic79xx_pci.h"
static inline uint64_t
ahd_compose_id(u_int device, u_int vendor, u_int subdevice, u_int subvendor)
{ … }
#define ID_AIC7902_PCI_REV_A4 …
#define ID_AIC7902_PCI_REV_B0 …
#define SUBID_HP …
#define DEVID_9005_HOSTRAID(id) …
#define DEVID_9005_TYPE(id) …
#define DEVID_9005_TYPE_HBA …
#define DEVID_9005_TYPE_HBA_2EXT …
#define DEVID_9005_TYPE_IROC …
#define DEVID_9005_TYPE_MB …
#define DEVID_9005_MFUNC(id) …
#define DEVID_9005_PACKETIZED(id) …
#define SUBID_9005_TYPE(id) …
#define SUBID_9005_TYPE_HBA …
#define SUBID_9005_TYPE_MB …
#define SUBID_9005_AUTOTERM(id) …
#define SUBID_9005_LEGACYCONN_FUNC(id) …
#define SUBID_9005_SEEPTYPE(id) …
#define SUBID_9005_SEEPTYPE_NONE …
#define SUBID_9005_SEEPTYPE_4K …
static ahd_device_setup_t ahd_aic7901_setup;
static ahd_device_setup_t ahd_aic7901A_setup;
static ahd_device_setup_t ahd_aic7902_setup;
static ahd_device_setup_t ahd_aic790X_setup;
static const struct ahd_pci_identity ahd_pci_ident_table[] = …;
static const u_int ahd_num_pci_devs = …;
#define DEVCONFIG …
#define PCIXINITPAT …
#define PCIXINIT_PCI33_66 …
#define PCIXINIT_PCIX50_66 …
#define PCIXINIT_PCIX66_100 …
#define PCIXINIT_PCIX100_133 …
#define PCI_BUS_MODES_INDEX(devconfig) …
static const char *pci_bus_modes[] = …;
#define TESTMODE …
#define IRDY_RST …
#define FRAME_RST …
#define PCI64BIT …
#define MRDCEN …
#define ENDIANSEL …
#define MIXQWENDIANEN …
#define DACEN …
#define STPWLEVEL …
#define QWENDIANSEL …
#define DEVCONFIG1 …
#define PREQDIS …
#define CSIZE_LATTIME …
#define CACHESIZE …
#define LATTIME …
static int ahd_check_extport(struct ahd_softc *ahd);
static void ahd_configure_termination(struct ahd_softc *ahd,
u_int adapter_control);
static void ahd_pci_split_intr(struct ahd_softc *ahd, u_int intstat);
static void ahd_pci_intr(struct ahd_softc *ahd);
const struct ahd_pci_identity *
ahd_find_pci_device(ahd_dev_softc_t pci)
{ … }
int
ahd_pci_config(struct ahd_softc *ahd, const struct ahd_pci_identity *entry)
{ … }
void __maybe_unused
ahd_pci_suspend(struct ahd_softc *ahd)
{ … }
void __maybe_unused
ahd_pci_resume(struct ahd_softc *ahd)
{ … }
int
ahd_pci_test_register_access(struct ahd_softc *ahd)
{ … }
static int
ahd_check_extport(struct ahd_softc *ahd)
{ … }
static void
ahd_configure_termination(struct ahd_softc *ahd, u_int adapter_control)
{ … }
#define DPE …
#define SSE …
#define RMA …
#define RTA …
#define STA …
#define DPR …
static const char *split_status_source[] = …;
static const char *pci_status_source[] = …;
static const char *split_status_strings[] = …;
static const char *pci_status_strings[] = …;
static void
ahd_pci_intr(struct ahd_softc *ahd)
{ … }
static void
ahd_pci_split_intr(struct ahd_softc *ahd, u_int intstat)
{ … }
static int
ahd_aic7901_setup(struct ahd_softc *ahd)
{ … }
static int
ahd_aic7901A_setup(struct ahd_softc *ahd)
{ … }
static int
ahd_aic7902_setup(struct ahd_softc *ahd)
{ … }
static int
ahd_aic790X_setup(struct ahd_softc *ahd)
{ … }