diff options
Diffstat (limited to 'sys/dev/pccbb')
| -rw-r--r-- | sys/dev/pccbb/pccbb.c | 930 | ||||
| -rw-r--r-- | sys/dev/pccbb/pccbbdevid.h | 2 | ||||
| -rw-r--r-- | sys/dev/pccbb/pccbbreg.h | 198 | ||||
| -rw-r--r-- | sys/dev/pccbb/pccbbvar.h | 102 |
4 files changed, 615 insertions, 617 deletions
diff --git a/sys/dev/pccbb/pccbb.c b/sys/dev/pccbb/pccbb.c index e1afa74ef6cc..e5401453d18d 100644 --- a/sys/dev/pccbb/pccbb.c +++ b/sys/dev/pccbb/pccbb.c @@ -45,7 +45,7 @@ * * David Cross: Author of the initial ugly hack for a specific cardbus card */ -#define CBB_DEBUG +#define CBB_DEBUG #include <sys/param.h> #include <sys/systm.h> @@ -104,7 +104,7 @@ PCIC_WRITE(SC,REG,(PCIC_READ(SC,REG) MASK) MASK2) struct pccbb_sclist { - struct pccbb_softc *sc; + struct pccbb_softc *sc; STAILQ_ENTRY(pccbb_sclist) entries; }; @@ -114,170 +114,167 @@ static int softcs_init = 0; struct yenta_chipinfo { u_int32_t yc_id; - const char *yc_name; - int yc_chiptype; - int yc_flags; + const char *yc_name; + int yc_chiptype; + int yc_flags; } yc_chipsets[] = { /* Texas Instruments chips */ {PCI_DEVICE_ID_PCIC_TI1130, "TI1130 PCI-CardBus Bridge", CB_TI113X, - PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, + PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_PCIC_TI1131, "TI1131 PCI-CardBus Bridge", CB_TI113X, - PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, + PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_PCIC_TI1211, "TI1211 PCI-CardBus Bridge", CB_TI12XX, - PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, + PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_PCIC_TI1220, "TI1220 PCI-CardBus Bridge", CB_TI12XX, - PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, + PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_PCIC_TI1221, "TI1221 PCI-CardBus Bridge", CB_TI12XX, - PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, + PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_PCIC_TI1225, "TI1225 PCI-CardBus Bridge", CB_TI12XX, - PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, + PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_PCIC_TI1250, "TI1250 PCI-CardBus Bridge", CB_TI12XX, - PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, + PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_PCIC_TI1251, "TI1251 PCI-CardBus Bridge", CB_TI12XX, - PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, + PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_PCIC_TI1251B,"TI1251B PCI-CardBus Bridge",CB_TI12XX, - PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, + PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_PCIC_TI1410, "TI1410 PCI-CardBus Bridge", CB_TI12XX, - PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, + PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_PCIC_TI1420, "TI1420 PCI-CardBus Bridge", CB_TI12XX, - PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, + PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_PCIC_TI1450, "TI1450 PCI-CardBus Bridge", CB_TI12XX, - PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, + PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_PCIC_TI1451, "TI1451 PCI-CardBus Bridge", CB_TI12XX, - PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, + PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_PCIC_TI4451, "TI4451 PCI-CardBus Bridge", CB_TI12XX, - PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, + PCCBB_PCIC_IO_RELOC | PCCBB_PCIC_MEM_32}, /* Ricoh chips */ {PCI_DEVICE_ID_RICOH_RL5C465, "RF5C465 PCI-CardBus Bridge", - CB_RF5C46X, PCCBB_PCIC_MEM_32}, + CB_RF5C46X, PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_RICOH_RL5C466, "RF5C466 PCI-CardBus Bridge", - CB_RF5C46X, PCCBB_PCIC_MEM_32}, + CB_RF5C46X, PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_RICOH_RL5C475, "RF5C475 PCI-CardBus Bridge", - CB_RF5C47X, PCCBB_PCIC_MEM_32}, + CB_RF5C47X, PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_RICOH_RL5C476, "RF5C476 PCI-CardBus Bridge", - CB_RF5C47X, PCCBB_PCIC_MEM_32}, + CB_RF5C47X, PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_RICOH_RL5C478, "RF5C478 PCI-CardBus Bridge", - CB_RF5C47X, PCCBB_PCIC_MEM_32}, + CB_RF5C47X, PCCBB_PCIC_MEM_32}, /* Toshiba products */ {PCI_DEVICE_ID_TOSHIBA_TOPIC95, "ToPIC95 PCI-CardBus Bridge", - CB_TOPIC95, PCCBB_PCIC_MEM_32}, + CB_TOPIC95, PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_TOSHIBA_TOPIC95B, "ToPIC95B PCI-CardBus Bridge", - CB_TOPIC95B, PCCBB_PCIC_MEM_32}, + CB_TOPIC95B, PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_TOSHIBA_TOPIC97, "ToPIC97 PCI-CardBus Bridge", - CB_TOPIC97, PCCBB_PCIC_MEM_32}, + CB_TOPIC97, PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_TOSHIBA_TOPIC100, "ToPIC100 PCI-CardBus Bridge", - CB_TOPIC97, PCCBB_PCIC_MEM_32}, + CB_TOPIC97, PCCBB_PCIC_MEM_32}, /* Cirrus Logic */ {PCI_DEVICE_ID_PCIC_CLPD6832, "CLPD6832 PCI-CardBus Bridge", - CB_CIRRUS, PCCBB_PCIC_MEM_32}, + CB_CIRRUS, PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_PCIC_CLPD6833, "CLPD6833 PCI-CardBus Bridge", - CB_CIRRUS, PCCBB_PCIC_MEM_32}, + CB_CIRRUS, PCCBB_PCIC_MEM_32}, /* 02Micro */ {PCI_DEVICE_ID_PCIC_OZ6832, "O2Mirco OZ6832/6833 PCI-CardBus Bridge", - CB_CIRRUS, PCCBB_PCIC_MEM_32}, + CB_CIRRUS, PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_PCIC_OZ6860, "O2Mirco OZ6836/6860 PCI-CardBus Bridge", - CB_CIRRUS, PCCBB_PCIC_MEM_32}, + CB_CIRRUS, PCCBB_PCIC_MEM_32}, {PCI_DEVICE_ID_PCIC_OZ6872, "O2Mirco OZ6812/6872 PCI-CardBus Bridge", - CB_CIRRUS, PCCBB_PCIC_MEM_32}, + CB_CIRRUS, PCCBB_PCIC_MEM_32}, /* sentinel */ {0 /* null id */, "unknown", - CB_UNKNOWN, 0}, + CB_UNKNOWN, 0}, }; - -static int cb_chipset(u_int32_t pci_id, const char** namep, int* flagp); -static int pccbb_probe(device_t dev); -static void pccbb_chipinit(struct pccbb_softc* sc); -static int pccbb_attach(device_t dev); -static int pccbb_detach(device_t dev); -static void pccbb_driver_added(device_t dev, driver_t *driver); -static void pccbb_child_detached(device_t dev, device_t child); -static void pccbb_event_thread (void *arg); -static void pccbb_create_event_thread (struct pccbb_softc *sc); -static void pccbb_start_threads(void *arg); -static void pccbb_insert (struct pccbb_softc *sc); -static void pccbb_removal (struct pccbb_softc *sc); -static void pccbb_intr(void* arg); -static int pccbb_detect_voltage(device_t dev); -static int pccbb_power(device_t dev, int volts); -static void pccbb_cardbus_reset(device_t dev); -static int pccbb_cardbus_power_enable_socket(device_t self, device_t child); -static void pccbb_cardbus_power_disable_socket(device_t self, device_t child); -static int pccbb_cardbus_io_open(device_t dev, int win, - u_int32_t start, u_int32_t end); -static int pccbb_cardbus_mem_open(device_t dev, int win, - u_int32_t start, u_int32_t end); -static void pccbb_cardbus_auto_open(struct pccbb_softc *sc, int type); -static int pccbb_cardbus_activate_resource(device_t self, device_t child, - int type, int rid, - struct resource *r); -static int pccbb_cardbus_deactivate_resource(device_t self, device_t child, - int type, int rid, - struct resource *r); -static struct resource* pccbb_cardbus_alloc_resource(device_t self, - device_t child, int type, int* rid, - u_long start, u_long end, u_long count, - u_int flags); -static int pccbb_cardbus_release_resource(device_t self, device_t child, - int type,int rid, - struct resource *r); -static int pccbb_pcic_power_enable_socket(device_t self, device_t child); -static void pccbb_pcic_power_disable_socket(device_t self, device_t child); -static void pccbb_pcic_wait_ready(struct pccbb_softc *sc); -static void pccbb_pcic_do_mem_map(struct pccbb_softc *sc, int win); -static int pccbb_pcic_mem_map(struct pccbb_softc *sc, int kind, - struct resource *r, bus_addr_t card_addr, - int *win); -static void pccbb_pcic_mem_unmap(struct pccbb_softc *sc, int window); -static void pccbb_pcic_do_io_map(struct pccbb_softc *sc, int win); -static int pccbb_pcic_io_map(struct pccbb_softc *sc, int width, - struct resource *r, bus_addr_t card_addr, - int *win); -static void pccbb_pcic_io_unmap(struct pccbb_softc *sc, int window); -static int pccbb_pcic_activate_resource(device_t self, device_t child, - int type, int rid, struct resource *r); -static int pccbb_pcic_deactivate_resource(device_t self, device_t child, - int type,int rid, struct resource *r); -static struct resource* pccbb_pcic_alloc_resource(device_t self,device_t child, - int type, int* rid, u_long start, - u_long end, u_long count, u_int flags); -static int pccbb_pcic_release_resource(device_t self, device_t child, int type, - int rid, struct resource *res); -static int pccbb_pcic_set_res_flags(device_t self, device_t child, int type, - int rid, u_int32_t flags); -static int pccbb_pcic_set_memory_offset(device_t self, device_t child, int rid, - u_int32_t offset, u_int32_t *deltap); -static int pccbb_power_enable_socket(device_t self, device_t child); -static void pccbb_power_disable_socket(device_t self, device_t child); -static int pccbb_activate_resource(device_t self, device_t child, int type, - int rid, struct resource *r); -static int pccbb_deactivate_resource(device_t self, device_t child, int type, - int rid, struct resource *r); -static struct resource* pccbb_alloc_resource(device_t self, device_t child, - int type, int* rid, u_long start, - u_long end, u_long count, - u_int flags); -static int pccbb_release_resource(device_t self, device_t child, - int type, int rid, struct resource *r); -static int pccbb_maxslots(device_t dev); -static u_int32_t pccbb_read_config(device_t dev, int b, int s, int f, - int reg, int width); -static void pccbb_write_config(device_t dev, int b, int s, int f, int reg, - u_int32_t val, int width); - +static int cb_chipset(u_int32_t pci_id, const char **namep, int *flagp); +static int pccbb_probe(device_t brdev); +static void pccbb_chipinit(struct pccbb_softc *sc); +static int pccbb_attach(device_t brdev); +static int pccbb_detach(device_t brdev); +static void pccbb_driver_added(device_t brdev, driver_t *driver); +static void pccbb_child_detached(device_t brdev, device_t child); +static void pccbb_event_thread(void *arg); +static void pccbb_create_event_thread (struct pccbb_softc *sc); +static void pccbb_start_threads(void *arg); +static void pccbb_insert(struct pccbb_softc *sc); +static void pccbb_removal(struct pccbb_softc *sc); +static void pccbb_intr(void *arg); +static int pccbb_detect_voltage(device_t brdev); +static int pccbb_power(device_t brdev, int volts); +static void pccbb_cardbus_reset(device_t brdev); +static int pccbb_cardbus_power_enable_socket(device_t brdev, + device_t child); +static void pccbb_cardbus_power_disable_socket(device_t brdev, + device_t child); +static int pccbb_cardbus_io_open(device_t brdev, int win, u_int32_t start, + u_int32_t end); +static int pccbb_cardbus_mem_open(device_t brdev, int win, + u_int32_t start, u_int32_t end); +static void pccbb_cardbus_auto_open(struct pccbb_softc *sc, int type); +static int pccbb_cardbus_activate_resource(device_t brdev, device_t child, + int type, int rid, struct resource *r); +static int pccbb_cardbus_deactivate_resource(device_t brdev, + device_t child, int type, int rid, struct resource *r); +static struct resource * pccbb_cardbus_alloc_resource(device_t brdev, + device_t child, int type, int *rid, u_long start, + u_long end, u_long count, u_int flags); +static int pccbb_cardbus_release_resource(device_t brdev, device_t child, + int type, int rid, struct resource *r); +static int pccbb_pcic_power_enable_socket(device_t brdev, device_t child); +static void pccbb_pcic_power_disable_socket(device_t brdev, device_t child); +static void pccbb_pcic_wait_ready(struct pccbb_softc *sc); +static void pccbb_pcic_do_mem_map(struct pccbb_softc *sc, int win); +static int pccbb_pcic_mem_map(struct pccbb_softc *sc, int kind, + struct resource *r, bus_addr_t card_addr, int *win); +static void pccbb_pcic_mem_unmap(struct pccbb_softc *sc, int window); +static void pccbb_pcic_do_io_map(struct pccbb_softc *sc, int win); +static int pccbb_pcic_io_map(struct pccbb_softc *sc, int width, + struct resource *r, bus_addr_t card_addr, int *win); +static void pccbb_pcic_io_unmap(struct pccbb_softc *sc, int window); +static int pccbb_pcic_activate_resource(device_t brdev, device_t child, + int type, int rid, struct resource *r); +static int pccbb_pcic_deactivate_resource(device_t brdev, device_t child, + int type, int rid, struct resource *r); +static struct resource * pccbb_pcic_alloc_resource(device_t brdev, + device_t child, int type, int *rid, u_long start, + u_long end, u_long count, u_int flags); +static int pccbb_pcic_release_resource(device_t brdev, device_t child, + int type, int rid, struct resource *res); +static int pccbb_pcic_set_res_flags(device_t brdev, device_t child, + int type, int rid, u_int32_t flags); +static int pccbb_pcic_set_memory_offset(device_t brdev, device_t child, + int rid, u_int32_t cardaddr, u_int32_t *deltap); +static int pccbb_power_enable_socket(device_t brdev, device_t child); +static void pccbb_power_disable_socket(device_t brdev, device_t child); +static int pccbb_activate_resource(device_t brdev, device_t child, + int type, int rid, struct resource *r); +static int pccbb_deactivate_resource(device_t brdev, device_t child, + int type, int rid, struct resource *r); +static struct resource * pccbb_alloc_resource(device_t brdev, + device_t child, int type, int *rid, u_long start, + u_long end, u_long count, u_int flags); +static int pccbb_release_resource(device_t brdev, device_t child, + int type, int rid, struct resource *r); +static int pccbb_read_ivar(device_t brdev, device_t child, int which, + uintptr_t *result); +static int pccbb_write_ivar(device_t brdev, device_t child, int which, + uintptr_t value); +static int pccbb_maxslots(device_t brdev); +static u_int32_t pccbb_read_config(device_t brdev, int b, int s, int f, + int reg, int width); +static void pccbb_write_config(device_t brdev, int b, int s, int f, + int reg, u_int32_t val, int width); /************************************************************************/ /* Probe/Attach */ /************************************************************************/ static int -cb_chipset(u_int32_t pci_id, const char** namep, int* flagp) +cb_chipset(u_int32_t pci_id, const char **namep, int *flagp) { int loopend = sizeof(yc_chipsets)/sizeof(yc_chipsets[0]); struct yenta_chipinfo *ycp, *ycend; @@ -298,18 +295,18 @@ cb_chipset(u_int32_t pci_id, const char** namep, int* flagp) } static int -pccbb_probe(device_t dev) +pccbb_probe(device_t brdev) { const char *name; - if (cb_chipset(pci_get_devid(dev), &name, NULL) == CB_UNKNOWN) + if (cb_chipset(pci_get_devid(brdev), &name, NULL) == CB_UNKNOWN) return ENXIO; - device_set_desc(dev, name); + device_set_desc(brdev, name); return 0; } static void -pccbb_chipinit(struct pccbb_softc* sc) +pccbb_chipinit(struct pccbb_softc *sc) { /* Set CardBus latency timer */ if (pci_read_config(sc->sc_dev, PCIR_SECLAT_1, 1) < 0x20) @@ -321,17 +318,17 @@ pccbb_chipinit(struct pccbb_softc* sc) /* Enable memory access */ PCI_MASK_CONFIG(sc->sc_dev, PCIR_COMMAND, - | PCIM_CMD_MEMEN - | PCIM_CMD_PORTEN - | PCIM_CMD_BUSMASTEREN, 2); + | PCIM_CMD_MEMEN + | PCIM_CMD_PORTEN + | PCIM_CMD_BUSMASTEREN, 2); /* disable Legacy IO */ switch (sc->sc_chipset) { case CB_RF5C46X: case CB_RF5C47X: PCI_MASK_CONFIG(sc->sc_dev, PCCBBR_BRIDGECTRL, - & ~(PCCBBM_BRIDGECTRL_RL_3E0_EN| - PCCBBM_BRIDGECTRL_RL_3E2_EN), 2); + & ~(PCCBBM_BRIDGECTRL_RL_3E0_EN | + PCCBBM_BRIDGECTRL_RL_3E2_EN), 2); break; default: pci_write_config(sc->sc_dev, PCCBBR_LEGACY, 0x0, 4); @@ -340,20 +337,20 @@ pccbb_chipinit(struct pccbb_softc* sc) /* Use PCI interrupt for interrupt routing */ PCI_MASK2_CONFIG(sc->sc_dev, PCCBBR_BRIDGECTRL, - & ~(PCCBBM_BRIDGECTRL_MASTER_ABORT | - PCCBBM_BRIDGECTRL_INTR_IREQ_EN), - | PCCBBM_BRIDGECTRL_WRITE_POST_EN, - 2); + & ~(PCCBBM_BRIDGECTRL_MASTER_ABORT | + PCCBBM_BRIDGECTRL_INTR_IREQ_EN), + | PCCBBM_BRIDGECTRL_WRITE_POST_EN, + 2); switch (sc->sc_chipset) { case CB_TI113X: PCI_MASK2_CONFIG(sc->sc_dev, PCCBBR_CBCTRL, - & ~PCCBBM_CBCTRL_113X_PCI_INTR, - | PCCBBM_CBCTRL_113X_PCI_CSC - | PCCBBM_CBCTRL_113X_PCI_IRQ_EN, 1); + & ~PCCBBM_CBCTRL_113X_PCI_INTR, + | PCCBBM_CBCTRL_113X_PCI_CSC | + PCCBBM_CBCTRL_113X_PCI_IRQ_EN, 1); PCI_MASK_CONFIG(sc->sc_dev, PCCBBR_DEVCTRL, - & ~(PCCBBM_DEVCTRL_INT_SERIAL| - PCCBBM_DEVCTRL_INT_PCI), 1); + & ~(PCCBBM_DEVCTRL_INT_SERIAL | + PCCBBM_DEVCTRL_INT_PCI), 1); PCIC_WRITE(sc, PCIC_INTR, PCIC_INTR_ENABLE); PCIC_WRITE(sc, PCIC_CSC_INTR, 0); break; @@ -363,13 +360,13 @@ pccbb_chipinit(struct pccbb_softc* sc) break; case CB_TOPIC95B: PCI_MASK_CONFIG(sc->sc_dev, PCCBBR_TOPIC_SOCKETCTRL, - | PCCBBM_TOPIC_SOCKETCTRL_SCR_IRQSEL, 4); + | PCCBBM_TOPIC_SOCKETCTRL_SCR_IRQSEL, 4); PCI_MASK2_CONFIG(sc->sc_dev, PCCBBR_TOPIC_SLOTCTRL, - | PCCBBM_TOPIC_SLOTCTRL_SLOTON - | PCCBBM_TOPIC_SLOTCTRL_SLOTEN - | PCCBBM_TOPIC_SLOTCTRL_ID_LOCK - | PCCBBM_TOPIC_SLOTCTRL_CARDBUS, - & ~PCCBBM_TOPIC_SLOTCTRL_SWDETECT, 4); + | PCCBBM_TOPIC_SLOTCTRL_SLOTON | + PCCBBM_TOPIC_SLOTCTRL_SLOTEN | + PCCBBM_TOPIC_SLOTCTRL_ID_LOCK | + PCCBBM_TOPIC_SLOTCTRL_CARDBUS, + & ~PCCBBM_TOPIC_SLOTCTRL_SWDETECT, 4); break; } @@ -385,9 +382,9 @@ pccbb_chipinit(struct pccbb_softc* sc) } static int -pccbb_attach(device_t dev) +pccbb_attach(device_t brdev) { - struct pccbb_softc *sc = (struct pccbb_softc *)device_get_softc(dev); + struct pccbb_softc *sc = (struct pccbb_softc *)device_get_softc(brdev); int rid; u_int32_t tmp; @@ -395,60 +392,60 @@ pccbb_attach(device_t dev) softcs_init = 1; STAILQ_INIT(&softcs); } - mtx_init(&sc->sc_mtx, device_get_nameunit(dev), MTX_DEF); - sc->sc_chipset = cb_chipset(pci_get_devid(dev), NULL, &sc->sc_flags); - sc->sc_dev = dev; + mtx_init(&sc->sc_mtx, device_get_nameunit(brdev), MTX_DEF); + sc->sc_chipset = cb_chipset(pci_get_devid(brdev), NULL, &sc->sc_flags); + sc->sc_dev = brdev; sc->sc_cbdev = NULL; sc->sc_pccarddev = NULL; - sc->sc_secbus = pci_read_config(dev, PCIR_SECBUS_2, 1); - sc->sc_subbus = pci_read_config(dev, PCIR_SUBBUS_2, 1); + sc->sc_secbus = pci_read_config(brdev, PCIR_SECBUS_2, 1); + sc->sc_subbus = pci_read_config(brdev, PCIR_SUBBUS_2, 1); sc->memalloc = 0; sc->ioalloc = 0; SLIST_INIT(&sc->rl); /* Ths PCI bus should have given me memory... right? */ rid=PCCBBR_SOCKBASE; - sc->sc_base_res=bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, - 0,~0,1, RF_ACTIVE); + sc->sc_base_res=bus_alloc_resource(brdev, SYS_RES_MEMORY, &rid, + 0,~0,1, RF_ACTIVE); if (!sc->sc_base_res) { /* - * XXX eVILE HACK BAD THING! XXX + * XXX EVILE HACK BAD THING! XXX * The pci bus device should do this for us. * Some BIOSes doesn't assign a memory space properly. * So we try to manually put one in... */ u_int32_t sockbase; - sockbase = pci_read_config(dev, rid, 4); + sockbase = pci_read_config(brdev, rid, 4); if (sockbase < 0x100000 || sockbase >= 0xfffffff0) { - pci_write_config(dev, rid, 0xffffffff, 4); - sockbase = pci_read_config(dev, rid, 4); + pci_write_config(brdev, rid, 0xffffffff, 4); + sockbase = pci_read_config(brdev, rid, 4); sockbase = (sockbase & 0xfffffff0) & - -(sockbase & 0xfffffff0); + -(sockbase & 0xfffffff0); sc->sc_base_res = bus_generic_alloc_resource( - device_get_parent(dev), dev, SYS_RES_MEMORY, - &rid, CARDBUS_SYS_RES_MEMORY_START, - CARDBUS_SYS_RES_MEMORY_END, sockbase, - RF_ACTIVE|rman_make_alignment_flags(sockbase)); + device_get_parent(brdev), brdev, SYS_RES_MEMORY, + &rid, CARDBUS_SYS_RES_MEMORY_START, + CARDBUS_SYS_RES_MEMORY_END, sockbase, + RF_ACTIVE|rman_make_alignment_flags(sockbase)); if (!sc->sc_base_res){ - device_printf(dev, - "Could not grab register memory\n"); + device_printf(brdev, + "Could not grab register memory\n"); mtx_destroy(&sc->sc_mtx); return ENOMEM; } - pci_write_config(dev, PCCBBR_SOCKBASE, - rman_get_start(sc->sc_base_res), 4); - DEVPRINTF((dev, "PCI Memory allocated: %08lx\n", - rman_get_start(sc->sc_base_res))); + pci_write_config(brdev, PCCBBR_SOCKBASE, + rman_get_start(sc->sc_base_res), 4); + DEVPRINTF((brdev, "PCI Memory allocated: %08lx\n", + rman_get_start(sc->sc_base_res))); } else { - device_printf(dev, "Could not map register memory\n"); + device_printf(brdev, "Could not map register memory\n"); mtx_destroy(&sc->sc_mtx); return ENOMEM; } } sc->sc_socketreg = - (struct pccbb_socketreg *)rman_get_virtual(sc->sc_base_res); + (struct pccbb_socketreg *)rman_get_virtual(sc->sc_base_res); pccbb_chipinit(sc); /* CSC Interrupt: Card detect interrupt on */ @@ -460,50 +457,51 @@ pccbb_attach(device_t dev) /* Map and establish the interrupt. */ rid=0; - sc->sc_irq_res=bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0, ~0, 1, - RF_SHAREABLE | RF_ACTIVE); - if (sc->sc_irq_res == NULL) { + sc->sc_irq_res=bus_alloc_resource(brdev, SYS_RES_IRQ, &rid, 0, ~0, 1, + RF_SHAREABLE | RF_ACTIVE); + if (sc->sc_irq_res == NULL) { printf("pccbb: Unable to map IRQ...\n"); - bus_release_resource(dev, SYS_RES_MEMORY, PCCBBR_SOCKBASE, - sc->sc_base_res); + bus_release_resource(brdev, SYS_RES_MEMORY, PCCBBR_SOCKBASE, + sc->sc_base_res); mtx_destroy(&sc->sc_mtx); return ENOMEM; } - if (bus_setup_intr(dev, sc->sc_irq_res, INTR_TYPE_BIO, pccbb_intr, sc, - &(sc->sc_intrhand))) { - device_printf(dev, "couldn't establish interrupt"); - bus_release_resource(dev, SYS_RES_IRQ, 0, sc->sc_irq_res); - bus_release_resource(dev, SYS_RES_MEMORY, PCCBBR_SOCKBASE, - sc->sc_base_res); + if (bus_setup_intr(brdev, sc->sc_irq_res, INTR_TYPE_BIO, pccbb_intr, sc, + &(sc->sc_intrhand))) { + device_printf(brdev, "couldn't establish interrupt"); + bus_release_resource(brdev, SYS_RES_IRQ, 0, sc->sc_irq_res); + bus_release_resource(brdev, SYS_RES_MEMORY, PCCBBR_SOCKBASE, + sc->sc_base_res); mtx_destroy(&sc->sc_mtx); return ENOMEM; } /* attach children */ - sc->sc_cbdev = device_add_child(dev, "cardbus", -1); + sc->sc_cbdev = device_add_child(brdev, "cardbus", -1); if (sc->sc_cbdev == NULL) - DEVPRINTF((dev, "WARNING: cannot add cardbus bus.\n")); + DEVPRINTF((brdev, "WARNING: cannot add cardbus bus.\n")); else if (device_probe_and_attach(sc->sc_cbdev) != 0) { - DEVPRINTF((dev, "WARNING: cannot attach cardbus bus!\n")); + DEVPRINTF((brdev, "WARNING: cannot attach cardbus bus!\n")); sc->sc_cbdev = NULL; } - sc->sc_pccarddev = device_add_child(dev, "pccard", -1); + sc->sc_pccarddev = device_add_child(brdev, "pccard", -1); if (sc->sc_pccarddev == NULL) - DEVPRINTF((dev, "WARNING: cannot add pccard bus.\n")); + DEVPRINTF((brdev, "WARNING: cannot add pccard bus.\n")); else if (device_probe_and_attach(sc->sc_pccarddev) != 0) { - DEVPRINTF((dev, "WARNING: cannot attach pccard bus.\n")); + DEVPRINTF((brdev, "WARNING: cannot attach pccard bus.\n")); sc->sc_pccarddev = NULL; } #ifndef KLD_MODULE if (sc->sc_cbdev == NULL && sc->sc_pccarddev == NULL) { - device_printf(dev, "ERROR: Failed to attach cardbus/pccard bus!\n"); - bus_teardown_intr(dev, sc->sc_irq_res, sc->sc_intrhand); - bus_release_resource(dev, SYS_RES_IRQ, 0, sc->sc_irq_res); - bus_release_resource(dev, SYS_RES_MEMORY, PCCBBR_SOCKBASE, - sc->sc_base_res); + device_printf(brdev, + "ERROR: Failed to attach cardbus/pccard bus!\n"); + bus_teardown_intr(brdev, sc->sc_irq_res, sc->sc_intrhand); + bus_release_resource(brdev, SYS_RES_IRQ, 0, sc->sc_irq_res); + bus_release_resource(brdev, SYS_RES_MEMORY, PCCBBR_SOCKBASE, + sc->sc_base_res); mtx_destroy(&sc->sc_mtx); return ENOMEM; } @@ -512,7 +510,7 @@ pccbb_attach(device_t dev) { struct pccbb_sclist *sclist; sclist = malloc(sizeof(struct pccbb_sclist), M_DEVBUF, - M_WAITOK); + M_WAITOK); sclist->sc = sc; STAILQ_INSERT_TAIL(&softcs, sclist, entries); } @@ -520,20 +518,20 @@ pccbb_attach(device_t dev) } static int -pccbb_detach(device_t dev) +pccbb_detach(device_t brdev) { - struct pccbb_softc *sc = device_get_softc(dev); + struct pccbb_softc *sc = device_get_softc(brdev); int numdevs; device_t *devlist; int tmp; int error; - device_get_children(dev, &devlist, &numdevs); + device_get_children(brdev, &devlist, &numdevs); error = 0; for (tmp = 0; tmp < numdevs; tmp++) { if (device_detach(devlist[tmp]) == 0) - device_delete_child(dev, devlist[tmp]); + device_delete_child(brdev, devlist[tmp]); else error++; } @@ -542,13 +540,13 @@ pccbb_detach(device_t dev) return ENXIO; mtx_lock(&sc->sc_mtx); - bus_teardown_intr(dev, sc->sc_irq_res, sc->sc_intrhand); + bus_teardown_intr(brdev, sc->sc_irq_res, sc->sc_intrhand); sc->sc_flags |= PCCBB_KTHREAD_DONE; if (sc->sc_flags & PCCBB_KTHREAD_RUNNING) { wakeup(sc); mtx_unlock(&sc->sc_mtx); - DEVPRINTF((dev, "waiting for kthread exit...")); + DEVPRINTF((brdev, "waiting for kthread exit...")); error = tsleep(sc, PWAIT, "pccbb-detach-wait", 60 * hz); if (error) DPRINTF(("timeout\n")); @@ -557,23 +555,23 @@ pccbb_detach(device_t dev) } else mtx_unlock(&sc->sc_mtx); - bus_release_resource(dev, SYS_RES_IRQ, 0, sc->sc_irq_res); - bus_release_resource(dev, SYS_RES_MEMORY, PCCBBR_SOCKBASE, - sc->sc_base_res); + bus_release_resource(brdev, SYS_RES_IRQ, 0, sc->sc_irq_res); + bus_release_resource(brdev, SYS_RES_MEMORY, PCCBBR_SOCKBASE, + sc->sc_base_res); mtx_destroy(&sc->sc_mtx); return 0; } static void -pccbb_driver_added(device_t dev, driver_t *driver) +pccbb_driver_added(device_t brdev, driver_t *driver) { - struct pccbb_softc *sc = device_get_softc(dev); + struct pccbb_softc *sc = device_get_softc(brdev); device_t *devlist; int tmp; int numdevs; - DEVICE_IDENTIFY(driver, dev); - device_get_children(dev, &devlist, &numdevs); + DEVICE_IDENTIFY(driver, brdev); + device_get_children(brdev, &devlist, &numdevs); for (tmp = 0; tmp < numdevs; tmp++) { if (device_get_state(devlist[tmp]) == DS_NOTPRESENT && device_probe_and_attach(devlist[tmp]) == 0) { @@ -596,25 +594,25 @@ pccbb_driver_added(device_t dev, driver_t *driver) mtx_unlock(&sc->sc_mtx); } } else - device_printf(dev, - "Unsupported child bus: %s\n", - driver->name); + device_printf(brdev, + "Unsupported child bus: %s\n", + driver->name); } } free(devlist, M_TEMP); } static void -pccbb_child_detached(device_t dev, device_t child) +pccbb_child_detached(device_t brdev, device_t child) { - struct pccbb_softc *sc = device_get_softc(dev); + struct pccbb_softc *sc = device_get_softc(brdev); if (child == sc->sc_cbdev) sc->sc_cbdev = NULL; else if (child == sc->sc_pccarddev) sc->sc_pccarddev = NULL; else - device_printf(dev, "Unknown child detached: %s %p/%p\n", - device_get_nameunit(child), sc->sc_cbdev, sc->sc_pccarddev); + device_printf(brdev, "Unknown child detached: %s %p/%p\n", + device_get_nameunit(child), sc->sc_cbdev, sc->sc_pccarddev); } /************************************************************************/ @@ -622,7 +620,7 @@ pccbb_child_detached(device_t dev, device_t child) /************************************************************************/ static void -pccbb_event_thread (void *arg) +pccbb_event_thread(void *arg) { struct pccbb_softc *sc = arg; u_int32_t status; @@ -662,8 +660,8 @@ static void pccbb_create_event_thread (struct pccbb_softc *sc) { if (kthread_create(pccbb_event_thread, sc, &sc->event_thread, - 0, "%s%d", device_get_name(sc->sc_dev), - device_get_unit(sc->sc_dev))) { + 0, "%s%d", device_get_name(sc->sc_dev), + device_get_unit(sc->sc_dev))) { device_printf (sc->sc_dev, "unable to create event thread.\n"); panic ("pccbb_create_event_thread"); } @@ -684,7 +682,7 @@ pccbb_start_threads(void *arg) /************************************************************************/ static void -pccbb_insert (struct pccbb_softc *sc) +pccbb_insert(struct pccbb_softc *sc) { u_int32_t sockevent, sockstate; int timeout = 30; @@ -700,7 +698,7 @@ pccbb_insert (struct pccbb_softc *sc) } DEVPRINTF((sc->sc_dev, "card inserted: event=0x%08x, state=%08x\n", - sockevent, sockstate)); + sockevent, sockstate)); if (sockstate & PCCBB_SOCKET_STAT_16BIT && sc->sc_pccarddev != NULL) { sc->sc_flags |= PCCBB_16BIT_CARD; @@ -716,7 +714,7 @@ pccbb_insert (struct pccbb_softc *sc) } static void -pccbb_removal (struct pccbb_softc *sc) +pccbb_removal(struct pccbb_softc *sc) { u_int32_t sockstate; struct pccbb_reslist *rle; @@ -742,7 +740,7 @@ pccbb_removal (struct pccbb_softc *sc) /************************************************************************/ static void -pccbb_intr(void* arg) +pccbb_intr(void *arg) { struct pccbb_softc *sc = arg; u_int32_t sockevent; @@ -762,11 +760,11 @@ pccbb_intr(void* arg) } else { if (sockevent & PCCBB_SOCKET_EVENT_CSTS) { DPRINTF((" cstsevent occures, 0x%08x\n", - sc->sc_socketreg->socket_state)); + sc->sc_socketreg->socket_state)); } if (sockevent & PCCBB_SOCKET_EVENT_POWER) { DPRINTF((" pwrevent occures, 0x%08x\n", - sc->sc_socketreg->socket_state)); + sc->sc_socketreg->socket_state)); } } @@ -778,9 +776,9 @@ pccbb_intr(void* arg) /************************************************************************/ static int -pccbb_detect_voltage(device_t dev) +pccbb_detect_voltage(device_t brdev) { - struct pccbb_softc *sc = device_get_softc(dev); + struct pccbb_softc *sc = device_get_softc(brdev); u_int32_t psr; int vol = CARD_UKN_CARD; @@ -803,25 +801,25 @@ pccbb_detect_voltage(device_t dev) } static int -pccbb_power(device_t dev, int volts) +pccbb_power(device_t brdev, int volts) { u_int32_t status, sock_ctrl; - struct pccbb_softc *sc = device_get_softc(dev); + struct pccbb_softc *sc = device_get_softc(brdev); DEVPRINTF((sc->sc_dev, "pccbb_power: %s and %s [%x]\n", - (volts & CARD_VCCMASK) == CARD_VCC_UC ? "CARD_VCC_UC" : - (volts & CARD_VCCMASK) == CARD_VCC_5V ? "CARD_VCC_5V" : - (volts & CARD_VCCMASK) == CARD_VCC_3V ? "CARD_VCC_3V" : - (volts & CARD_VCCMASK) == CARD_VCC_XV ? "CARD_VCC_XV" : - (volts & CARD_VCCMASK) == CARD_VCC_YV ? "CARD_VCC_YV" : - (volts & CARD_VCCMASK) == CARD_VCC_0V ? "CARD_VCC_0V" : - "VCC-UNKNOWN", - (volts & CARD_VPPMASK) == CARD_VPP_UC ? "CARD_VPP_UC" : - (volts & CARD_VPPMASK) == CARD_VPP_12V ? "CARD_VPP_12V" : - (volts & CARD_VPPMASK) == CARD_VPP_VCC ? "CARD_VPP_VCC" : - (volts & CARD_VPPMASK) == CARD_VPP_0V ? "CARD_VPP_0V" : - "VPP-UNKNOWN", - volts)); + (volts & CARD_VCCMASK) == CARD_VCC_UC ? "CARD_VCC_UC" : + (volts & CARD_VCCMASK) == CARD_VCC_5V ? "CARD_VCC_5V" : + (volts & CARD_VCCMASK) == CARD_VCC_3V ? "CARD_VCC_3V" : + (volts & CARD_VCCMASK) == CARD_VCC_XV ? "CARD_VCC_XV" : + (volts & CARD_VCCMASK) == CARD_VCC_YV ? "CARD_VCC_YV" : + (volts & CARD_VCCMASK) == CARD_VCC_0V ? "CARD_VCC_0V" : + "VCC-UNKNOWN", + (volts & CARD_VPPMASK) == CARD_VPP_UC ? "CARD_VPP_UC" : + (volts & CARD_VPPMASK) == CARD_VPP_12V ? "CARD_VPP_12V" : + (volts & CARD_VPPMASK) == CARD_VPP_VCC ? "CARD_VPP_VCC" : + (volts & CARD_VPPMASK) == CARD_VPP_0V ? "CARD_VPP_0V" : + "VPP-UNKNOWN", + volts)); status = sc->sc_socketreg->socket_state; sock_ctrl = sc->sc_socketreg->socket_control; @@ -835,7 +833,7 @@ pccbb_power(device_t dev, int volts) sock_ctrl |= PCCBB_SOCKET_CTRL_VCC_5V; } else { device_printf(sc->sc_dev, - "BAD voltage request: no 5 V card\n"); + "BAD voltage request: no 5 V card\n"); } break; case CARD_VCC_3V: @@ -844,7 +842,7 @@ pccbb_power(device_t dev, int volts) sock_ctrl |= PCCBB_SOCKET_CTRL_VCC_3V; } else { device_printf(sc->sc_dev, - "BAD voltage request: no 3.3 V card\n"); + "BAD voltage request: no 3.3 V card\n"); } break; case CARD_VCC_0V: @@ -884,10 +882,10 @@ pccbb_power(device_t dev, int volts) DELAY(20*1000); sockevent = sc->sc_socketreg->socket_event; } while (!(sockevent & PCCBB_SOCKET_EVENT_POWER) && - --timeout > 0); + --timeout > 0); /* reset event status */ sc->sc_socketreg->socket_event = sockevent; - if ( timeout < 0 ) { + if (timeout < 0) { printf ("VCC supply failed.\n"); return 0; } @@ -900,22 +898,22 @@ pccbb_power(device_t dev, int volts) if (status & PCCBB_SOCKET_STAT_BADVCC) { device_printf(sc->sc_dev, - "bad Vcc request. ctrl=0x%x, status=0x%x\n", - sock_ctrl ,status); + "bad Vcc request. ctrl=0x%x, status=0x%x\n", + sock_ctrl ,status); printf("pccbb_power: %s and %s [%x]\n", - (volts & CARD_VCCMASK) == CARD_VCC_UC ? "CARD_VCC_UC" : - (volts & CARD_VCCMASK) == CARD_VCC_5V ? "CARD_VCC_5V" : - (volts & CARD_VCCMASK) == CARD_VCC_3V ? "CARD_VCC_3V" : - (volts & CARD_VCCMASK) == CARD_VCC_XV ? "CARD_VCC_XV" : - (volts & CARD_VCCMASK) == CARD_VCC_YV ? "CARD_VCC_YV" : - (volts & CARD_VCCMASK) == CARD_VCC_0V ? "CARD_VCC_0V" : - "VCC-UNKNOWN", - (volts & CARD_VPPMASK) == CARD_VPP_UC ? "CARD_VPP_UC" : - (volts & CARD_VPPMASK) == CARD_VPP_12V ? "CARD_VPP_12V": - (volts & CARD_VPPMASK) == CARD_VPP_VCC ? "CARD_VPP_VCC": - (volts & CARD_VPPMASK) == CARD_VPP_0V ? "CARD_VPP_0V" : - "VPP-UNKNOWN", - volts); + (volts & CARD_VCCMASK) == CARD_VCC_UC ? "CARD_VCC_UC" : + (volts & CARD_VCCMASK) == CARD_VCC_5V ? "CARD_VCC_5V" : + (volts & CARD_VCCMASK) == CARD_VCC_3V ? "CARD_VCC_3V" : + (volts & CARD_VCCMASK) == CARD_VCC_XV ? "CARD_VCC_XV" : + (volts & CARD_VCCMASK) == CARD_VCC_YV ? "CARD_VCC_YV" : + (volts & CARD_VCCMASK) == CARD_VCC_0V ? "CARD_VCC_0V" : + "VCC-UNKNOWN", + (volts & CARD_VPPMASK) == CARD_VPP_UC ? "CARD_VPP_UC" : + (volts & CARD_VPPMASK) == CARD_VPP_12V ? "CARD_VPP_12V": + (volts & CARD_VPPMASK) == CARD_VPP_VCC ? "CARD_VPP_VCC": + (volts & CARD_VPPMASK) == CARD_VPP_0V ? "CARD_VPP_0V" : + "VPP-UNKNOWN", + volts); return 0; } return 1; /* power changed correctly */ @@ -926,56 +924,56 @@ pccbb_power(device_t dev, int volts) /************************************************************************/ static void -pccbb_cardbus_reset(device_t dev) +pccbb_cardbus_reset(device_t brdev) { - struct pccbb_softc *sc = device_get_softc(dev); + struct pccbb_softc *sc = device_get_softc(brdev); int delay_us; delay_us = sc->sc_chipset == CB_RF5C47X ? 400*1000 : 20*1000; - PCI_MASK_CONFIG(dev, PCCBBR_BRIDGECTRL, |PCCBBM_BRIDGECTRL_RESET, 2); + PCI_MASK_CONFIG(brdev, PCCBBR_BRIDGECTRL, |PCCBBM_BRIDGECTRL_RESET, 2); DELAY(delay_us); /* If a card exists, unreset it! */ if ((sc->sc_socketreg->socket_state & PCCBB_SOCKET_STAT_CD) == 0) { - PCI_MASK_CONFIG(dev, PCCBBR_BRIDGECTRL, - &~PCCBBM_BRIDGECTRL_RESET, 2); + PCI_MASK_CONFIG(brdev, PCCBBR_BRIDGECTRL, + &~PCCBBM_BRIDGECTRL_RESET, 2); DELAY(delay_us); } } static int -pccbb_cardbus_power_enable_socket(device_t self, device_t child) +pccbb_cardbus_power_enable_socket(device_t brdev, device_t child) { - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); int voltage; - if ((sc->sc_socketreg->socket_state & PCCBB_SOCKET_STAT_CD) - == PCCBB_SOCKET_STAT_CD) + if ((sc->sc_socketreg->socket_state & PCCBB_SOCKET_STAT_CD) == + PCCBB_SOCKET_STAT_CD) return ENODEV; - voltage = pccbb_detect_voltage(self); + voltage = pccbb_detect_voltage(brdev); - pccbb_power(self, CARD_VCC_0V | CARD_VPP_0V); + pccbb_power(brdev, CARD_VCC_0V | CARD_VPP_0V); if (voltage & CARD_5V_CARD) - pccbb_power(self, CARD_VCC_5V | CARD_VPP_VCC); + pccbb_power(brdev, CARD_VCC_5V | CARD_VPP_VCC); else if (voltage & CARD_3V_CARD) - pccbb_power(self, CARD_VCC_3V | CARD_VPP_VCC); + pccbb_power(brdev, CARD_VCC_3V | CARD_VPP_VCC); else { - device_printf(self, "Unknown card voltage\n"); + device_printf(brdev, "Unknown card voltage\n"); return ENXIO; } - pccbb_cardbus_reset(self); + pccbb_cardbus_reset(brdev); return 0; } static void -pccbb_cardbus_power_disable_socket(device_t self, device_t child) +pccbb_cardbus_power_disable_socket(device_t brdev, device_t child) { - pccbb_power(self, CARD_VCC_0V | CARD_VPP_0V); - pccbb_cardbus_reset(self); + pccbb_power(brdev, CARD_VCC_0V | CARD_VPP_0V); + pccbb_cardbus_reset(brdev); } /************************************************************************/ @@ -983,44 +981,42 @@ pccbb_cardbus_power_disable_socket(device_t self, device_t child) /************************************************************************/ static int -pccbb_cardbus_io_open(device_t dev, int win, u_int32_t start, u_int32_t end) +pccbb_cardbus_io_open(device_t brdev, int win, u_int32_t start, u_int32_t end) { int basereg; int limitreg; if ((win < 0) || (win > 1)) { - DEVPRINTF((dev, - "pccbb_cardbus_io_open: window out of range %d\n", - win)); + DEVPRINTF((brdev, + "pccbb_cardbus_io_open: window out of range %d\n", win)); return EINVAL; } basereg = win*8 + PCCBBR_IOBASE0; limitreg = win*8 + PCCBBR_IOLIMIT0; - pci_write_config(dev, basereg, start, 4); - pci_write_config(dev, limitreg, end, 4); + pci_write_config(brdev, basereg, start, 4); + pci_write_config(brdev, limitreg, end, 4); return 0; } static int -pccbb_cardbus_mem_open(device_t dev, int win, u_int32_t start, u_int32_t end) +pccbb_cardbus_mem_open(device_t brdev, int win, u_int32_t start, u_int32_t end) { int basereg; int limitreg; if ((win < 0) || (win > 1)) { - DEVPRINTF((dev, - "pccbb_cardbus_mem_open: window out of range %d\n", - win)); + DEVPRINTF((brdev, + "pccbb_cardbus_mem_open: window out of range %d\n", win)); return EINVAL; } basereg = win*8 + PCCBBR_MEMBASE0; limitreg = win*8 + PCCBBR_MEMLIMIT0; - pci_write_config(dev, basereg, start, 4); - pci_write_config(dev, limitreg, end, 4); + pci_write_config(brdev, basereg, start, 4); + pci_write_config(brdev, limitreg, end, 4); return 0; } @@ -1108,10 +1104,10 @@ pccbb_cardbus_auto_open(struct pccbb_softc *sc, int type) } static int -pccbb_cardbus_activate_resource(device_t self, device_t child, int type, - int rid, struct resource *r) +pccbb_cardbus_activate_resource(device_t brdev, device_t child, int type, + int rid, struct resource *r) { - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); struct pccbb_reslist *rle; if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) { @@ -1119,7 +1115,7 @@ pccbb_cardbus_activate_resource(device_t self, device_t child, int type, if (type == rle->type && rid == rle->rid && child == rle->odev) return bus_generic_activate_resource( - self, child, type, rid, r); + brdev, child, type, rid, r); } rle = malloc(sizeof(struct pccbb_reslist), M_DEVBUF, M_WAITOK); rle->type = type; @@ -1132,14 +1128,14 @@ pccbb_cardbus_activate_resource(device_t self, device_t child, int type, pccbb_cardbus_auto_open(sc, type); } - return bus_generic_activate_resource(self, child, type, rid, r); + return bus_generic_activate_resource(brdev, child, type, rid, r); } static int -pccbb_cardbus_deactivate_resource(device_t self, device_t child, int type, - int rid, struct resource *r) +pccbb_cardbus_deactivate_resource(device_t brdev, device_t child, int type, + int rid, struct resource *r) { - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); struct pccbb_reslist *rle; SLIST_FOREACH(rle, &sc->rl, entries) { @@ -1153,20 +1149,19 @@ pccbb_cardbus_deactivate_resource(device_t self, device_t child, int type, break; } } - return bus_generic_deactivate_resource(self, child, type, rid, r); + return bus_generic_deactivate_resource(brdev, child, type, rid, r); } -static struct resource* -pccbb_cardbus_alloc_resource(device_t self, device_t child, int type, int* rid, - u_long start, u_long end, u_long count, - u_int flags) +static struct resource * +pccbb_cardbus_alloc_resource(device_t brdev, device_t child, int type, int *rid, + u_long start, u_long end, u_long count, u_int flags) { if (type == SYS_RES_IRQ) { - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); if (start == 0) { start = end = rman_get_start(sc->sc_irq_res); } - return bus_generic_alloc_resource(self, child, type, rid, + return bus_generic_alloc_resource(brdev, child, type, rid, start, end, count, flags); } else { if (type == SYS_RES_MEMORY && start == 0 && end == ~0) { @@ -1176,16 +1171,16 @@ pccbb_cardbus_alloc_resource(device_t self, device_t child, int type, int* rid, start = CARDBUS_SYS_RES_IOPORT_START; end = CARDBUS_SYS_RES_IOPORT_END; } - return bus_generic_alloc_resource(self, child, type, rid, + return bus_generic_alloc_resource(brdev, child, type, rid, start, end, count, flags); } } static int -pccbb_cardbus_release_resource(device_t self, device_t child, int type, - int rid, struct resource *r) +pccbb_cardbus_release_resource(device_t brdev, device_t child, int type, + int rid, struct resource *r) { - return bus_generic_release_resource(self, child, type, rid, r); + return bus_generic_release_resource(brdev, child, type, rid, r); } /************************************************************************/ @@ -1193,23 +1188,23 @@ pccbb_cardbus_release_resource(device_t self, device_t child, int type, /************************************************************************/ static int -pccbb_pcic_power_enable_socket(device_t self, device_t child) +pccbb_pcic_power_enable_socket(device_t brdev, device_t child) { - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); DPRINTF(("pccbb_pcic_socket_enable:\n")); /* power down/up the socket to reset */ { - int voltage = pccbb_detect_voltage(self); + int voltage = pccbb_detect_voltage(brdev); - pccbb_power(self, CARD_VCC_0V | CARD_VPP_0V); + pccbb_power(brdev, CARD_VCC_0V | CARD_VPP_0V); if (voltage & CARD_5V_CARD) - pccbb_power(self, CARD_VCC_5V | CARD_VPP_VCC); + pccbb_power(brdev, CARD_VCC_5V | CARD_VPP_VCC); else if (voltage & CARD_3V_CARD) - pccbb_power(self, CARD_VCC_3V | CARD_VPP_VCC); + pccbb_power(brdev, CARD_VCC_3V | CARD_VPP_VCC); else { - device_printf(self, "Unknown card voltage\n"); + device_printf(brdev, "Unknown card voltage\n"); return ENXIO; } } @@ -1234,10 +1229,9 @@ pccbb_pcic_power_enable_socket(device_t self, device_t child) int cardtype; CARD_GET_TYPE(child, &cardtype); PCIC_MASK(sc, PCIC_INTR, | ((cardtype == PCCARD_IFTYPE_IO) ? - PCIC_INTR_CARDTYPE_IO : - PCIC_INTR_CARDTYPE_MEM)); + PCIC_INTR_CARDTYPE_IO : PCIC_INTR_CARDTYPE_MEM)); DEVPRINTF((sc->sc_dev, "card type is %s\n", - (cardtype == PCCARD_IFTYPE_IO) ? "io" : "mem")); + (cardtype == PCCARD_IFTYPE_IO) ? "io" : "mem")); } /* reinstall all the memory and io mappings */ @@ -1259,9 +1253,9 @@ pccbb_pcic_power_enable_socket(device_t self, device_t child) } static void -pccbb_pcic_power_disable_socket(device_t self, device_t child) +pccbb_pcic_power_disable_socket(device_t brdev, device_t child) { - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); DPRINTF(("pccbb_pcic_socket_disable\n")); @@ -1271,7 +1265,7 @@ pccbb_pcic_power_disable_socket(device_t self, device_t child) /* power down the socket */ PCIC_MASK(sc, PCIC_PWRCTL, &~PCIC_PWRCTL_OE); - pccbb_power(self, CARD_VCC_0V | CARD_VPP_0V); + pccbb_power(brdev, CARD_VCC_0V | CARD_VPP_0V); /* wait 300ms until power fails (Tpf). */ DELAY(300 * 1000); @@ -1286,7 +1280,7 @@ pccbb_pcic_wait_ready(struct pccbb_softc *sc) { int i; DEVPRINTF((sc->sc_dev, "pccbb_pcic_wait_ready: status 0x%02x\n", - PCIC_READ(sc, PCIC_IF_STATUS))); + PCIC_READ(sc, PCIC_IF_STATUS))); for (i = 0; i < 10000; i++) { if (PCIC_READ(sc, PCIC_IF_STATUS) & PCIC_IF_STATUS_READY) { return; @@ -1294,29 +1288,29 @@ pccbb_pcic_wait_ready(struct pccbb_softc *sc) DELAY(500); } device_printf(sc->sc_dev, "ready never happened, status = %02x\n", - PCIC_READ(sc, PCIC_IF_STATUS)); + PCIC_READ(sc, PCIC_IF_STATUS)); } -#define PCIC_MEMINFO(NUM) { \ - PCIC_SYSMEM_ADDR ## NUM ## _START_LSB, \ - PCIC_SYSMEM_ADDR ## NUM ## _START_MSB, \ - PCIC_SYSMEM_ADDR ## NUM ## _STOP_LSB, \ - PCIC_SYSMEM_ADDR ## NUM ## _STOP_MSB, \ - PCIC_SYSMEM_ADDR ## NUM ## _WIN, \ - PCIC_CARDMEM_ADDR ## NUM ## _LSB, \ - PCIC_CARDMEM_ADDR ## NUM ## _MSB, \ - PCIC_ADDRWIN_ENABLE_MEM ## NUM ## , \ +#define PCIC_MEMINFO(NUM) { \ + PCIC_SYSMEM_ADDR ## NUM ## _START_LSB, \ + PCIC_SYSMEM_ADDR ## NUM ## _START_MSB, \ + PCIC_SYSMEM_ADDR ## NUM ## _STOP_LSB, \ + PCIC_SYSMEM_ADDR ## NUM ## _STOP_MSB, \ + PCIC_SYSMEM_ADDR ## NUM ## _WIN, \ + PCIC_CARDMEM_ADDR ## NUM ## _LSB, \ + PCIC_CARDMEM_ADDR ## NUM ## _MSB, \ + PCIC_ADDRWIN_ENABLE_MEM ## NUM ##, \ } static struct mem_map_index_st { - int sysmem_start_lsb; - int sysmem_start_msb; - int sysmem_stop_lsb; - int sysmem_stop_msb; - int sysmem_win; - int cardmem_lsb; - int cardmem_msb; - int memenable; + int sysmem_start_lsb; + int sysmem_start_msb; + int sysmem_stop_lsb; + int sysmem_stop_msb; + int sysmem_win; + int cardmem_lsb; + int cardmem_msb; + int memenable; } mem_map_index[] = { PCIC_MEMINFO(0), PCIC_MEMINFO(1), @@ -1324,39 +1318,39 @@ static struct mem_map_index_st { PCIC_MEMINFO(3), PCIC_MEMINFO(4), }; -#undef PCIC_MEMINFO +#undef PCIC_MEMINFO static void pccbb_pcic_do_mem_map(struct pccbb_softc *sc, int win) { PCIC_WRITE(sc, mem_map_index[win].sysmem_start_lsb, - (sc->mem[win].addr >> PCIC_SYSMEM_ADDRX_SHIFT) & 0xff); + (sc->mem[win].addr >> PCIC_SYSMEM_ADDRX_SHIFT) & 0xff); PCIC_WRITE(sc, mem_map_index[win].sysmem_start_msb, - ((sc->mem[win].addr >> (PCIC_SYSMEM_ADDRX_SHIFT + 8)) & - PCIC_SYSMEM_ADDRX_START_MSB_ADDR_MASK) | 0x80); + ((sc->mem[win].addr >> (PCIC_SYSMEM_ADDRX_SHIFT + 8)) & + PCIC_SYSMEM_ADDRX_START_MSB_ADDR_MASK) | 0x80); PCIC_WRITE(sc, mem_map_index[win].sysmem_stop_lsb, - ((sc->mem[win].addr + sc->mem[win].realsize - 1) >> - PCIC_SYSMEM_ADDRX_SHIFT) & 0xff); + ((sc->mem[win].addr + sc->mem[win].realsize - 1) >> + PCIC_SYSMEM_ADDRX_SHIFT) & 0xff); PCIC_WRITE(sc, mem_map_index[win].sysmem_stop_msb, - (((sc->mem[win].addr + sc->mem[win].realsize - 1) >> - (PCIC_SYSMEM_ADDRX_SHIFT + 8)) & - PCIC_SYSMEM_ADDRX_STOP_MSB_ADDR_MASK) | - PCIC_SYSMEM_ADDRX_STOP_MSB_WAIT2); + (((sc->mem[win].addr + sc->mem[win].realsize - 1) >> + (PCIC_SYSMEM_ADDRX_SHIFT + 8)) & + PCIC_SYSMEM_ADDRX_STOP_MSB_ADDR_MASK) | + PCIC_SYSMEM_ADDRX_STOP_MSB_WAIT2); PCIC_WRITE(sc, mem_map_index[win].sysmem_win, - (sc->mem[win].addr >> PCIC_MEMREG_WIN_SHIFT) & 0xff); + (sc->mem[win].addr >> PCIC_MEMREG_WIN_SHIFT) & 0xff); PCIC_WRITE(sc, mem_map_index[win].cardmem_lsb, - (sc->mem[win].offset >> PCIC_CARDMEM_ADDRX_SHIFT) & 0xff); + (sc->mem[win].offset >> PCIC_CARDMEM_ADDRX_SHIFT) & 0xff); PCIC_WRITE(sc, mem_map_index[win].cardmem_msb, - ((sc->mem[win].offset >> (PCIC_CARDMEM_ADDRX_SHIFT + 8)) & - PCIC_CARDMEM_ADDRX_MSB_ADDR_MASK) | - ((sc->mem[win].kind == PCCARD_MEM_ATTR) ? - PCIC_CARDMEM_ADDRX_MSB_REGACTIVE_ATTR : 0)); + ((sc->mem[win].offset >> (PCIC_CARDMEM_ADDRX_SHIFT + 8)) & + PCIC_CARDMEM_ADDRX_MSB_ADDR_MASK) | + ((sc->mem[win].kind == PCCARD_MEM_ATTR) ? + PCIC_CARDMEM_ADDRX_MSB_REGACTIVE_ATTR : 0)); - PCIC_MASK(sc, PCIC_ADDRWIN_ENABLE, | PCIC_ADDRWIN_ENABLE_MEMCS16 - | mem_map_index[win].memenable); + PCIC_MASK(sc, PCIC_ADDRWIN_ENABLE, | PCIC_ADDRWIN_ENABLE_MEMCS16 | + mem_map_index[win].memenable); DELAY(100); @@ -1371,8 +1365,10 @@ pccbb_pcic_do_mem_map(struct pccbb_softc *sc, int win) r6 = PCIC_READ(sc, mem_map_index[win].cardmem_lsb); r7 = PCIC_READ(sc, mem_map_index[win].sysmem_win); DPRINTF(("pccbb_pcic_do_mem_map window %d: %02x%02x %02x%02x " - "%02x%02x %02x (%08x+%08x.%08x*%08lx)\n", win, r1, r2, r3, r4, r5, r6, r7, - sc->mem[win].addr, sc->mem[win].size, sc->mem[win].realsize, sc->mem[win].offset)); + "%02x%02x %02x (%08x+%08x.%08x*%08lx)\n", + win, r1, r2, r3, r4, r5, r6, r7, + sc->mem[win].addr, sc->mem[win].size, sc->mem[win].realsize, + sc->mem[win].offset)); } #endif } @@ -1407,8 +1403,8 @@ pccbb_pcic_mem_map(struct pccbb_softc *sc, int kind, sc->mem[*win].kind = kind; DPRINTF(("pccbb_pcic_mem_map window %d bus %x+%x+%lx card addr %x\n", - *win, sc->mem[*win].addr, sc->mem[*win].size, - sc->mem[*win].offset, card_addr)); + *win, sc->mem[*win].addr, sc->mem[*win].size, + sc->mem[*win].offset, card_addr)); pccbb_pcic_do_mem_map(sc, *win); @@ -1425,53 +1421,54 @@ pccbb_pcic_mem_unmap(struct pccbb_softc *sc, int window) sc->memalloc &= ~(1 << window); } -#define PCIC_IOINFO(NUM) { \ - PCIC_IOADDR ## NUM ## _START_LSB, \ - PCIC_IOADDR ## NUM ## _START_MSB, \ - PCIC_IOADDR ## NUM ## _STOP_LSB, \ - PCIC_IOADDR ## NUM ## _STOP_MSB, \ - PCIC_ADDRWIN_ENABLE_IO ## NUM ## , \ - PCIC_IOCTL_IO ## NUM ## _WAITSTATE \ - | PCIC_IOCTL_IO ## NUM ## _ZEROWAIT \ - | PCIC_IOCTL_IO ## NUM ## _IOCS16SRC_MASK \ - | PCIC_IOCTL_IO ## NUM ## _DATASIZE_MASK, \ - { \ - PCIC_IOCTL_IO ## NUM ## _IOCS16SRC_CARD, \ - PCIC_IOCTL_IO ## NUM ## _IOCS16SRC_DATASIZE \ - | PCIC_IOCTL_IO ## NUM ## _DATASIZE_8BIT, \ - PCIC_IOCTL_IO ## NUM ## _IOCS16SRC_DATASIZE \ - | PCIC_IOCTL_IO ## NUM ## _DATASIZE_16BIT, \ - } \ +#define PCIC_IOINFO(NUM) { \ + PCIC_IOADDR ## NUM ## _START_LSB, \ + PCIC_IOADDR ## NUM ## _START_MSB, \ + PCIC_IOADDR ## NUM ## _STOP_LSB, \ + PCIC_IOADDR ## NUM ## _STOP_MSB, \ + PCIC_ADDRWIN_ENABLE_IO ## NUM ##, \ + PCIC_IOCTL_IO ## NUM ## _WAITSTATE \ + | PCIC_IOCTL_IO ## NUM ## _ZEROWAIT \ + | PCIC_IOCTL_IO ## NUM ## _IOCS16SRC_MASK \ + | PCIC_IOCTL_IO ## NUM ## _DATASIZE_MASK, \ + { \ + PCIC_IOCTL_IO ## NUM ## _IOCS16SRC_CARD, \ + PCIC_IOCTL_IO ## NUM ## _IOCS16SRC_DATASIZE \ + | PCIC_IOCTL_IO ## NUM ## _DATASIZE_8BIT, \ + PCIC_IOCTL_IO ## NUM ## _IOCS16SRC_DATASIZE \ + | PCIC_IOCTL_IO ## NUM ## _DATASIZE_16BIT, \ + } \ } static struct io_map_index_st { - int start_lsb; - int start_msb; - int stop_lsb; - int stop_msb; - int ioenable; - int ioctlmask; - int ioctlbits[3]; /* indexed by PCCARD_WIDTH_* */ + int start_lsb; + int start_msb; + int stop_lsb; + int stop_msb; + int ioenable; + int ioctlmask; + int ioctlbits[3]; /* indexed by PCCARD_WIDTH_* */ } io_map_index[] = { PCIC_IOINFO(0), PCIC_IOINFO(1), }; -#undef PCIC_IOINFO +#undef PCIC_IOINFO -static void pccbb_pcic_do_io_map(struct pccbb_softc *sc, int win) +static void +pccbb_pcic_do_io_map(struct pccbb_softc *sc, int win) { PCIC_WRITE(sc, io_map_index[win].start_lsb, sc->io[win].addr & 0xff); PCIC_WRITE(sc, io_map_index[win].start_msb, - (sc->io[win].addr >> 8) & 0xff); + (sc->io[win].addr >> 8) & 0xff); PCIC_WRITE(sc, io_map_index[win].stop_lsb, - (sc->io[win].addr + sc->io[win].size - 1) & 0xff); + (sc->io[win].addr + sc->io[win].size - 1) & 0xff); PCIC_WRITE(sc, io_map_index[win].stop_msb, - ((sc->io[win].addr + sc->io[win].size - 1) >> 8) & 0xff); + ((sc->io[win].addr + sc->io[win].size - 1) >> 8) & 0xff); PCIC_MASK2(sc, PCIC_IOCTL, - & ~io_map_index[win].ioctlmask, - | io_map_index[win].ioctlbits[sc->io[win].width]); + & ~io_map_index[win].ioctlmask, + | io_map_index[win].ioctlbits[sc->io[win].width]); PCIC_MASK(sc, PCIC_ADDRWIN_ENABLE, | io_map_index[win].ioenable); #ifdef CBB_DEBUG @@ -1482,8 +1479,8 @@ static void pccbb_pcic_do_io_map(struct pccbb_softc *sc, int win) r3 = PCIC_READ(sc, io_map_index[win].stop_msb); r4 = PCIC_READ(sc, io_map_index[win].stop_lsb); DPRINTF(("pccbb_pcic_do_io_map window %d: %02x%02x %02x%02x " - "(%08x+%08x)\n", win, r1, r2, r3, r4, - sc->io[win].addr, sc->io[win].size)); + "(%08x+%08x)\n", win, r1, r2, r3, r4, + sc->io[win].addr, sc->io[win].size)); } #endif } @@ -1516,8 +1513,8 @@ pccbb_pcic_io_map(struct pccbb_softc *sc, int width, sc->io[*win].width = width; DPRINTF(("pccbb_pcic_io_map window %d %s port %x+%x\n", - *win, width_names[width], sc->io[*win].addr, - sc->io[*win].size)); + *win, width_names[width], sc->io[*win].addr, + sc->io[*win].size)); pccbb_pcic_do_io_map(sc, *win); @@ -1543,13 +1540,13 @@ pccbb_pcic_io_unmap(struct pccbb_softc *sc, int window) } static int -pccbb_pcic_activate_resource(device_t self, device_t child, int type, int rid, - struct resource *r) +pccbb_pcic_activate_resource(device_t brdev, device_t child, int type, int rid, + struct resource *r) { int err; int win; struct pccbb_reslist *rle; - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); if (rman_get_flags(r) & RF_ACTIVE) return 0; @@ -1575,15 +1572,15 @@ pccbb_pcic_activate_resource(device_t self, device_t child, int type, int rid, break; } } - err = bus_generic_activate_resource(self, child, type, rid, r); + err = bus_generic_activate_resource(brdev, child, type, rid, r); return (err); } static int -pccbb_pcic_deactivate_resource(device_t self, device_t child, int type, - int rid, struct resource *r) +pccbb_pcic_deactivate_resource(device_t brdev, device_t child, int type, + int rid, struct resource *r) { - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); int win; struct pccbb_reslist *rle; win = -1; @@ -1609,18 +1606,19 @@ pccbb_pcic_deactivate_resource(device_t self, device_t child, int type, default: break; } - return bus_generic_deactivate_resource(self, child, type, rid, r); + return bus_generic_deactivate_resource(brdev, child, type, rid, r); } -static struct resource* -pccbb_pcic_alloc_resource(device_t self, device_t child, int type, int* rid, - u_long start, u_long end, u_long count, u_int flags) +static struct resource * +pccbb_pcic_alloc_resource(device_t brdev, device_t child, int type, int *rid, + u_long start, u_long end, u_long count, u_int flags) { struct resource *r = NULL; - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); struct pccbb_reslist *rle; if ((sc->sc_flags & PCCBB_PCIC_MEM_32) == 0) { + /* XXX: how do we do this? */ panic("PCCBB bridge cannot handle non MEM_32 bridges\n"); } @@ -1631,8 +1629,8 @@ pccbb_pcic_alloc_resource(device_t self, device_t child, int type, int* rid, start = CARDBUS_SYS_RES_MEMORY_START; /* XXX -- should be tweakable*/ end = CARDBUS_SYS_RES_MEMORY_END; } - flags = (flags & ~RF_ALIGNMENT_MASK) - | rman_make_alignment_flags(PCCBB_MEMALIGN); + flags = (flags & ~RF_ALIGNMENT_MASK) | + rman_make_alignment_flags(PCCBB_MEMALIGN); break; case SYS_RES_IOPORT: if (start < 0x100) @@ -1645,7 +1643,7 @@ pccbb_pcic_alloc_resource(device_t self, device_t child, int type, int* rid, start = end = rman_get_start(sc->sc_irq_res); break; } - r = bus_generic_alloc_resource(self, child, type, rid, start, end, + r = bus_generic_alloc_resource(brdev, child, type, rid, start, end, count, flags & ~RF_ACTIVE); if (r == NULL) return NULL; @@ -1661,7 +1659,7 @@ pccbb_pcic_alloc_resource(device_t self, device_t child, int type, int* rid, if (flags & RF_ACTIVE) { if (bus_activate_resource(child, type, *rid, r) != 0) { - BUS_RELEASE_RESOURCE(self, child, type, *rid, r); + BUS_RELEASE_RESOURCE(brdev, child, type, *rid, r); return NULL; } } @@ -1670,10 +1668,10 @@ pccbb_pcic_alloc_resource(device_t self, device_t child, int type, int* rid, } static int -pccbb_pcic_release_resource(device_t self, device_t child, int type, - int rid, struct resource *res) +pccbb_pcic_release_resource(device_t brdev, device_t child, int type, + int rid, struct resource *res) { - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); struct pccbb_reslist *rle; int count = 0; @@ -1697,7 +1695,7 @@ pccbb_pcic_release_resource(device_t self, device_t child, int type, panic("pccbb_pcic: releasing bogus resource"); } - return bus_generic_release_resource(self, child, type, rid, res); + return bus_generic_release_resource(brdev, child, type, rid, res); } /************************************************************************/ @@ -1705,10 +1703,10 @@ pccbb_pcic_release_resource(device_t self, device_t child, int type, /************************************************************************/ static int -pccbb_pcic_set_res_flags(device_t self, device_t child, int type, int rid, - u_int32_t flags) +pccbb_pcic_set_res_flags(device_t brdev, device_t child, int type, int rid, + u_int32_t flags) { - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); if (type != SYS_RES_MEMORY) return (EINVAL); @@ -1718,10 +1716,10 @@ pccbb_pcic_set_res_flags(device_t self, device_t child, int type, int rid, } static int -pccbb_pcic_set_memory_offset(device_t self, device_t child, int rid, +pccbb_pcic_set_memory_offset(device_t brdev, device_t child, int rid, u_int32_t cardaddr, u_int32_t *deltap) { - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); int win; struct pccbb_reslist *rle; u_int32_t delta; @@ -1744,7 +1742,7 @@ pccbb_pcic_set_memory_offset(device_t self, device_t child, int rid, if (deltap) *deltap = delta; cardaddr -= delta; - sc->mem[win].realsize = sc->mem[win].size + delta + + sc->mem[win].realsize = sc->mem[win].size + delta + PCIC_MEM_PAGESIZE - 1; sc->mem[win].realsize = sc->mem[win].realsize - (sc->mem[win].realsize % PCIC_MEM_PAGESIZE); @@ -1759,24 +1757,24 @@ pccbb_pcic_set_memory_offset(device_t self, device_t child, int rid, /************************************************************************/ static int -pccbb_power_enable_socket(device_t self, device_t child) +pccbb_power_enable_socket(device_t brdev, device_t child) { - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); if (sc->sc_flags & PCCBB_16BIT_CARD) - return pccbb_pcic_power_enable_socket(self, child); + return pccbb_pcic_power_enable_socket(brdev, child); else - return pccbb_cardbus_power_enable_socket(self, child); + return pccbb_cardbus_power_enable_socket(brdev, child); } static void -pccbb_power_disable_socket(device_t self, device_t child) +pccbb_power_disable_socket(device_t brdev, device_t child) { - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); if (sc->sc_flags & PCCBB_16BIT_CARD) - pccbb_pcic_power_disable_socket(self, child); + pccbb_pcic_power_disable_socket(brdev, child); else - pccbb_cardbus_power_disable_socket(self, child); + pccbb_cardbus_power_disable_socket(brdev, child); } /************************************************************************/ /* BUS Methods */ @@ -1784,64 +1782,64 @@ pccbb_power_disable_socket(device_t self, device_t child) static int -pccbb_activate_resource(device_t self, device_t child, int type, int rid, - struct resource *r) +pccbb_activate_resource(device_t brdev, device_t child, int type, int rid, + struct resource *r) { - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); if (sc->sc_flags & PCCBB_16BIT_CARD) - return pccbb_pcic_activate_resource(self, child, type, rid, r); + return pccbb_pcic_activate_resource(brdev, child, type, rid, r); else - return pccbb_cardbus_activate_resource(self, child, type, rid, - r); + return pccbb_cardbus_activate_resource(brdev, child, type, rid, + r); } static int -pccbb_deactivate_resource(device_t self, device_t child, int type, - int rid, struct resource *r) +pccbb_deactivate_resource(device_t brdev, device_t child, int type, + int rid, struct resource *r) { - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); if (sc->sc_flags & PCCBB_16BIT_CARD) - return pccbb_pcic_deactivate_resource(self, child, type, - rid, r); + return pccbb_pcic_deactivate_resource(brdev, child, type, + rid, r); else - return pccbb_cardbus_deactivate_resource(self, child, type, - rid, r); + return pccbb_cardbus_deactivate_resource(brdev, child, type, + rid, r); } -static struct resource* -pccbb_alloc_resource(device_t self, device_t child, int type, int* rid, - u_long start, u_long end, u_long count, u_int flags) +static struct resource * +pccbb_alloc_resource(device_t brdev, device_t child, int type, int *rid, + u_long start, u_long end, u_long count, u_int flags) { - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); if (sc->sc_flags & PCCBB_16BIT_CARD) - return pccbb_pcic_alloc_resource(self, child, type, rid, - start, end, count, flags); + return pccbb_pcic_alloc_resource(brdev, child, type, rid, + start, end, count, flags); else - return pccbb_cardbus_alloc_resource(self, child, type, rid, - start, end, count, flags); + return pccbb_cardbus_alloc_resource(brdev, child, type, rid, + start, end, count, flags); } static int -pccbb_release_resource(device_t self, device_t child, int type, int rid, - struct resource *r) +pccbb_release_resource(device_t brdev, device_t child, int type, int rid, + struct resource *r) { - struct pccbb_softc *sc = device_get_softc(self); + struct pccbb_softc *sc = device_get_softc(brdev); if (sc->sc_flags & PCCBB_16BIT_CARD) - return pccbb_pcic_release_resource(self, child, type, - rid, r); + return pccbb_pcic_release_resource(brdev, child, type, + rid, r); else - return pccbb_cardbus_release_resource(self, child, type, - rid, r); + return pccbb_cardbus_release_resource(brdev, child, type, + rid, r); } static int -pccbb_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) +pccbb_read_ivar(device_t brdev, device_t child, int which, uintptr_t *result) { - struct pccbb_softc *sc = device_get_softc(dev); + struct pccbb_softc *sc = device_get_softc(brdev); switch (which) { case PCIB_IVAR_BUS: @@ -1852,9 +1850,9 @@ pccbb_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) } static int -pccbb_write_ivar(device_t dev, device_t child, int which, uintptr_t value) +pccbb_write_ivar(device_t brdev, device_t child, int which, uintptr_t value) { - struct pccbb_softc *sc = device_get_softc(dev); + struct pccbb_softc *sc = device_get_softc(brdev); switch (which) { case PCIB_IVAR_BUS: @@ -1869,30 +1867,30 @@ pccbb_write_ivar(device_t dev, device_t child, int which, uintptr_t value) /************************************************************************/ static int -pccbb_maxslots(device_t dev) +pccbb_maxslots(device_t brdev) { return 0; } static u_int32_t -pccbb_read_config(device_t dev, int b, int s, int f, int reg, int width) +pccbb_read_config(device_t brdev, int b, int s, int f, int reg, int width) { /* * Pass through to the next ppb up the chain (i.e. our grandparent). */ - return PCIB_READ_CONFIG(device_get_parent(device_get_parent(dev)), - b, s, f, reg, width); + return PCIB_READ_CONFIG(device_get_parent(device_get_parent(brdev)), + b, s, f, reg, width); } static void -pccbb_write_config(device_t dev, int b, int s, int f, int reg, u_int32_t val, - int width) +pccbb_write_config(device_t brdev, int b, int s, int f, int reg, u_int32_t val, + int width) { /* * Pass through to the next ppb up the chain (i.e. our grandparent). */ - PCIB_WRITE_CONFIG(device_get_parent(device_get_parent(dev)), - b, s, f, reg, val, width); + PCIB_WRITE_CONFIG(device_get_parent(device_get_parent(brdev)), + b, s, f, reg, val, width); } static device_method_t pccbb_methods[] = { diff --git a/sys/dev/pccbb/pccbbdevid.h b/sys/dev/pccbb/pccbbdevid.h index d0a488c8251a..77ff4878688d 100644 --- a/sys/dev/pccbb/pccbbdevid.h +++ b/sys/dev/pccbb/pccbbdevid.h @@ -44,7 +44,7 @@ #define PCI_DEVICE_ID_RICOH_RL5C476 0x04761180ul #define PCI_DEVICE_ID_RICOH_RL5C477 0x04771180ul #define PCI_DEVICE_ID_RICOH_RL5C478 0x04781180ul -#define PCI_DEVICE_ID_PCIC_TI1031 0xac13104cul +#define PCI_DEVICE_ID_PCIC_TI1031 0xac13104cul #define PCI_DEVICE_ID_PCIC_TI1130 0xac12104cul #define PCI_DEVICE_ID_PCIC_TI1131 0xac15104cul #define PCI_DEVICE_ID_PCIC_TI1210 0xac1a104cul diff --git a/sys/dev/pccbb/pccbbreg.h b/sys/dev/pccbb/pccbbreg.h index f207752f02bf..70c0815709fe 100644 --- a/sys/dev/pccbb/pccbbreg.h +++ b/sys/dev/pccbb/pccbbreg.h @@ -34,126 +34,126 @@ /* PCI header registers */ -#define PCCBBR_SOCKBASE 0x10 /* len=4 */ +#define PCCBBR_SOCKBASE 0x10 /* len=4 */ -#define PCCBBR_MEMBASE0 0x1c /* len=4 */ -#define PCCBBR_MEMLIMIT0 0x20 /* len=4 */ -#define PCCBBR_MEMBASE1 0x24 /* len=4 */ -#define PCCBBR_MEMLIMIT1 0x28 /* len=4 */ -#define PCCBBR_IOBASE0 0x2c /* len=4 */ -#define PCCBBR_IOLIMIT0 0x30 /* len=4 */ -#define PCCBBR_IOBASE1 0x34 /* len=4 */ -#define PCCBBR_IOLIMIT1 0x38 /* len=4 */ +#define PCCBBR_MEMBASE0 0x1c /* len=4 */ +#define PCCBBR_MEMLIMIT0 0x20 /* len=4 */ +#define PCCBBR_MEMBASE1 0x24 /* len=4 */ +#define PCCBBR_MEMLIMIT1 0x28 /* len=4 */ +#define PCCBBR_IOBASE0 0x2c /* len=4 */ +#define PCCBBR_IOLIMIT0 0x30 /* len=4 */ +#define PCCBBR_IOBASE1 0x34 /* len=4 */ +#define PCCBBR_IOLIMIT1 0x38 /* len=4 */ #define PCCBB_MEMALIGN 4096 #define PCCBB_IOALIGN 4 #define PCCBBR_INTRLINE 0x3c /* len=1 */ #define PCCBBR_INTRPIN 0x3d /* len=1 */ #define PCCBBR_BRIDGECTRL 0x3e /* len=2 */ -# define PCCBBM_BRIDGECTRL_MASTER_ABORT 0x0020 -# define PCCBBM_BRIDGECTRL_RESET 0x0040 -# define PCCBBM_BRIDGECTRL_INTR_IREQ_EN 0x0080 -# define PCCBBM_BRIDGECTRL_PREFETCH_0 0x0100 -# define PCCBBM_BRIDGECTRL_PREFETCH_1 0x0200 -# define PCCBBM_BRIDGECTRL_WRITE_POST_EN 0x0400 +# define PCCBBM_BRIDGECTRL_MASTER_ABORT 0x0020 +# define PCCBBM_BRIDGECTRL_RESET 0x0040 +# define PCCBBM_BRIDGECTRL_INTR_IREQ_EN 0x0080 +# define PCCBBM_BRIDGECTRL_PREFETCH_0 0x0100 +# define PCCBBM_BRIDGECTRL_PREFETCH_1 0x0200 +# define PCCBBM_BRIDGECTRL_WRITE_POST_EN 0x0400 /* additional bit for RF5C46[567] */ -# define PCCBBM_BRIDGECTRL_RL_3E0_EN 0x0800 -# define PCCBBM_BRIDGECTRL_RL_3E2_EN 0x1000 +# define PCCBBM_BRIDGECTRL_RL_3E0_EN 0x0800 +# define PCCBBM_BRIDGECTRL_RL_3E2_EN 0x1000 -#define PCCBBR_LEGACY 0x44 /* len=4 */ +#define PCCBBR_LEGACY 0x44 /* len=4 */ -#define PCCBBR_CBCTRL 0x91 /* len=1 */ +#define PCCBBR_CBCTRL 0x91 /* len=1 */ /* bits for TI 113X */ -# define PCCBBM_CBCTRL_113X_RI_EN 0x80 -# define PCCBBM_CBCTRL_113X_ZV_EN 0x40 -# define PCCBBM_CBCTRL_113X_PCI_IRQ_EN 0x20 -# define PCCBBM_CBCTRL_113X_PCI_INTR 0x10 -# define PCCBBM_CBCTRL_113X_PCI_CSC 0x08 -# define PCCBBM_CBCTRL_113X_PCI_CSC_D 0x04 -# define PCCBBM_CBCTRL_113X_SPEAKER_EN 0x02 -# define PCCBBM_CBCTRL_113X_INTR_DET 0x01 +# define PCCBBM_CBCTRL_113X_RI_EN 0x80 +# define PCCBBM_CBCTRL_113X_ZV_EN 0x40 +# define PCCBBM_CBCTRL_113X_PCI_IRQ_EN 0x20 +# define PCCBBM_CBCTRL_113X_PCI_INTR 0x10 +# define PCCBBM_CBCTRL_113X_PCI_CSC 0x08 +# define PCCBBM_CBCTRL_113X_PCI_CSC_D 0x04 +# define PCCBBM_CBCTRL_113X_SPEAKER_EN 0x02 +# define PCCBBM_CBCTRL_113X_INTR_DET 0x01 /* bits for TI 12XX */ -# define PCCBBM_CBCTRL_12XX_RI_EN 0x80 -# define PCCBBM_CBCTRL_12XX_ZV_EN 0x40 -# define PCCBBM_CBCTRL_12XX_AUD2MUX 0x04 -# define PCCBBM_CBCTRL_12XX_SPEAKER_EN 0x02 -# define PCCBBM_CBCTRL_12XX_INTR_DET 0x01 -#define PCCBBR_DEVCTRL 0x92 /* len=1 */ -# define PCCBBM_DEVCTRL_INT_SERIAL 0x04 -# define PCCBBM_DEVCTRL_INT_PCI 0x02 +# define PCCBBM_CBCTRL_12XX_RI_EN 0x80 +# define PCCBBM_CBCTRL_12XX_ZV_EN 0x40 +# define PCCBBM_CBCTRL_12XX_AUD2MUX 0x04 +# define PCCBBM_CBCTRL_12XX_SPEAKER_EN 0x02 +# define PCCBBM_CBCTRL_12XX_INTR_DET 0x01 +#define PCCBBR_DEVCTRL 0x92 /* len=1 */ +# define PCCBBM_DEVCTRL_INT_SERIAL 0x04 +# define PCCBBM_DEVCTRL_INT_PCI 0x02 -#define PCCBBR_TOPIC_SOCKETCTRL 0x90 -# define PCCBBM_TOPIC_SOCKETCTRL_SCR_IRQSEL 0x00000001 /* PCI intr */ +#define PCCBBR_TOPIC_SOCKETCTRL 0x90 +# define PCCBBM_TOPIC_SOCKETCTRL_SCR_IRQSEL 0x00000001 /* PCI intr */ -#define PCCBBR_TOPIC_SLOTCTRL 0xa0 -# define PCCBBM_TOPIC_SLOTCTRL_SLOTON 0x00000080 -# define PCCBBM_TOPIC_SLOTCTRL_SLOTEN 0x00000040 -# define PCCBBM_TOPIC_SLOTCTRL_ID_LOCK 0x00000020 -# define PCCBBM_TOPIC_SLOTCTRL_ID_WP 0x00000010 -# define PCCBBM_TOPIC_SLOTCTRL_PORT_MASK 0x0000000c -# define PCCBBM_TOPIC_SLOTCTRL_PORT_SHIFT 2 -# define PCCBBM_TOPIC_SLOTCTRL_OSF_MASK 0x00000003 -# define PCCBBM_TOPIC_SLOTCTRL_OSF_SHIFT 0 -# define PCCBBM_TOPIC_SLOTCTRL_INTB 0x00002000 -# define PCCBBM_TOPIC_SLOTCTRL_INTA 0x00001000 -# define PCCBBM_TOPIC_SLOTCTRL_INT_MASK 0x00003000 -# define PCCBBM_TOPIC_SLOTCTRL_CLOCK_MASK 0x00000c00 -# define PCCBBM_TOPIC_SLOTCTRL_CLOCK_2 0x00000800 /* PCI Clock/2 */ -# define PCCBBM_TOPIC_SLOTCTRL_CLOCK_1 0x00000400 /* PCI Clock */ -# define PCCBBM_TOPIC_SLOTCTRL_CLOCK_0 0x00000000 /* no clock */ -# define PCCBBM_TOPIC_SLOTCTRL_CARDBUS 0x80000000 -# define PCCBBM_TOPIC_SLOTCTRL_VS1 0x04000000 -# define PCCBBM_TOPIC_SLOTCTRL_VS2 0x02000000 -# define PCCBBM_TOPIC_SLOTCTRL_SWDETECT 0x01000000 +#define PCCBBR_TOPIC_SLOTCTRL 0xa0 +# define PCCBBM_TOPIC_SLOTCTRL_SLOTON 0x00000080 +# define PCCBBM_TOPIC_SLOTCTRL_SLOTEN 0x00000040 +# define PCCBBM_TOPIC_SLOTCTRL_ID_LOCK 0x00000020 +# define PCCBBM_TOPIC_SLOTCTRL_ID_WP 0x00000010 +# define PCCBBM_TOPIC_SLOTCTRL_PORT_MASK 0x0000000c +# define PCCBBM_TOPIC_SLOTCTRL_PORT_SHIFT 2 +# define PCCBBM_TOPIC_SLOTCTRL_OSF_MASK 0x00000003 +# define PCCBBM_TOPIC_SLOTCTRL_OSF_SHIFT 0 +# define PCCBBM_TOPIC_SLOTCTRL_INTB 0x00002000 +# define PCCBBM_TOPIC_SLOTCTRL_INTA 0x00001000 +# define PCCBBM_TOPIC_SLOTCTRL_INT_MASK 0x00003000 +# define PCCBBM_TOPIC_SLOTCTRL_CLOCK_MASK 0x00000c00 +# define PCCBBM_TOPIC_SLOTCTRL_CLOCK_2 0x00000800 /* PCI Clk/2 */ +# define PCCBBM_TOPIC_SLOTCTRL_CLOCK_1 0x00000400 /* PCI Clk */ +# define PCCBBM_TOPIC_SLOTCTRL_CLOCK_0 0x00000000 /* no clock */ +# define PCCBBM_TOPIC_SLOTCTRL_CARDBUS 0x80000000 +# define PCCBBM_TOPIC_SLOTCTRL_VS1 0x04000000 +# define PCCBBM_TOPIC_SLOTCTRL_VS2 0x02000000 +# define PCCBBM_TOPIC_SLOTCTRL_SWDETECT 0x01000000 /* Socket definitions */ -#define PCCBB_SOCKET_EVENT_CSTS 0x01 /* Card Status Change */ -#define PCCBB_SOCKET_EVENT_CD1 0x02 /* Card Detect 1 */ -#define PCCBB_SOCKET_EVENT_CD2 0x04 /* Card Detect 2 */ -#define PCCBB_SOCKET_EVENT_CD 0x06 /* Card Detect all */ -#define PCCBB_SOCKET_EVENT_POWER 0x08 /* Power Cycle */ +#define PCCBB_SOCKET_EVENT_CSTS 0x01 /* Card Status Change */ +#define PCCBB_SOCKET_EVENT_CD1 0x02 /* Card Detect 1 */ +#define PCCBB_SOCKET_EVENT_CD2 0x04 /* Card Detect 2 */ +#define PCCBB_SOCKET_EVENT_CD 0x06 /* Card Detect all */ +#define PCCBB_SOCKET_EVENT_POWER 0x08 /* Power Cycle */ -#define PCCBB_SOCKET_MASK_CSTS 0x01 /* Card Status Change */ -#define PCCBB_SOCKET_MASK_CD 0x06 /* Card Detect */ -#define PCCBB_SOCKET_MASK_POWER 0x08 /* Power Cycle */ +#define PCCBB_SOCKET_MASK_CSTS 0x01 /* Card Status Change */ +#define PCCBB_SOCKET_MASK_CD 0x06 /* Card Detect */ +#define PCCBB_SOCKET_MASK_POWER 0x08 /* Power Cycle */ -#define PCCBB_SOCKET_STAT_CARDSTS 0x00000001 /* Card Status Change */ -#define PCCBB_SOCKET_STAT_CD1 0x00000002 /* Card Detect 1 */ -#define PCCBB_SOCKET_STAT_CD2 0x00000004 /* Card Detect 2 */ -#define PCCBB_SOCKET_STAT_CD 0x00000006 /* Card Detect all */ -#define PCCBB_SOCKET_STAT_PWRCYCLE 0x00000008 /* Power Cycle */ -#define PCCBB_SOCKET_STAT_16BIT 0x00000010 /* 16-bit Card */ -#define PCCBB_SOCKET_STAT_CB 0x00000020 /* Cardbus Card */ -#define PCCBB_SOCKET_STAT_IREQ 0x00000040 /* Ready */ -#define PCCBB_SOCKET_STAT_NOTCARD 0x00000080 /* Unrecognized Card */ -#define PCCBB_SOCKET_STAT_DATALOST 0x00000100 /* Data Lost */ -#define PCCBB_SOCKET_STAT_BADVCC 0x00000200 /* Bad VccRequest */ -#define PCCBB_SOCKET_STAT_5VCARD 0x00000400 /* 5 V Card */ -#define PCCBB_SOCKET_STAT_3VCARD 0x00000800 /* 3.3 V Card */ -#define PCCBB_SOCKET_STAT_XVCARD 0x00001000 /* X.X V Card */ -#define PCCBB_SOCKET_STAT_YVCARD 0x00002000 /* Y.Y V Card */ -#define PCCBB_SOCKET_STAT_5VSOCK 0x10000000 /* 5 V Socket */ -#define PCCBB_SOCKET_STAT_3VSOCK 0x20000000 /* 3.3 V Socket */ -#define PCCBB_SOCKET_STAT_XVSOCK 0x40000000 /* X.X V Socket */ -#define PCCBB_SOCKET_STAT_YVSOCK 0x80000000 /* Y.Y V Socket */ +#define PCCBB_SOCKET_STAT_CARDSTS 0x00000001 /* Card Status Change */ +#define PCCBB_SOCKET_STAT_CD1 0x00000002 /* Card Detect 1 */ +#define PCCBB_SOCKET_STAT_CD2 0x00000004 /* Card Detect 2 */ +#define PCCBB_SOCKET_STAT_CD 0x00000006 /* Card Detect all */ +#define PCCBB_SOCKET_STAT_PWRCYCLE 0x00000008 /* Power Cycle */ +#define PCCBB_SOCKET_STAT_16BIT 0x00000010 /* 16-bit Card */ +#define PCCBB_SOCKET_STAT_CB 0x00000020 /* Cardbus Card */ +#define PCCBB_SOCKET_STAT_IREQ 0x00000040 /* Ready */ +#define PCCBB_SOCKET_STAT_NOTCARD 0x00000080 /* Unrecognized Card */ +#define PCCBB_SOCKET_STAT_DATALOST 0x00000100 /* Data Lost */ +#define PCCBB_SOCKET_STAT_BADVCC 0x00000200 /* Bad VccRequest */ +#define PCCBB_SOCKET_STAT_5VCARD 0x00000400 /* 5 V Card */ +#define PCCBB_SOCKET_STAT_3VCARD 0x00000800 /* 3.3 V Card */ +#define PCCBB_SOCKET_STAT_XVCARD 0x00001000 /* X.X V Card */ +#define PCCBB_SOCKET_STAT_YVCARD 0x00002000 /* Y.Y V Card */ +#define PCCBB_SOCKET_STAT_5VSOCK 0x10000000 /* 5 V Socket */ +#define PCCBB_SOCKET_STAT_3VSOCK 0x20000000 /* 3.3 V Socket */ +#define PCCBB_SOCKET_STAT_XVSOCK 0x40000000 /* X.X V Socket */ +#define PCCBB_SOCKET_STAT_YVSOCK 0x80000000 /* Y.Y V Socket */ -#define PCCBB_SOCKET_FORCE_BADVCC 0x0200 /* Bad Vcc Request */ +#define PCCBB_SOCKET_FORCE_BADVCC 0x0200 /* Bad Vcc Request */ -#define PCCBB_SOCKET_CTRL_VPPMASK 0x07 -#define PCCBB_SOCKET_CTRL_VPP_OFF 0x00 -#define PCCBB_SOCKET_CTRL_VPP_12V 0x01 -#define PCCBB_SOCKET_CTRL_VPP_5V 0x02 -#define PCCBB_SOCKET_CTRL_VPP_3V 0x03 -#define PCCBB_SOCKET_CTRL_VPP_XV 0x04 -#define PCCBB_SOCKET_CTRL_VPP_YV 0x05 +#define PCCBB_SOCKET_CTRL_VPPMASK 0x07 +#define PCCBB_SOCKET_CTRL_VPP_OFF 0x00 +#define PCCBB_SOCKET_CTRL_VPP_12V 0x01 +#define PCCBB_SOCKET_CTRL_VPP_5V 0x02 +#define PCCBB_SOCKET_CTRL_VPP_3V 0x03 +#define PCCBB_SOCKET_CTRL_VPP_XV 0x04 +#define PCCBB_SOCKET_CTRL_VPP_YV 0x05 -#define PCCBB_SOCKET_CTRL_VCCMASK 0x70 -#define PCCBB_SOCKET_CTRL_VCC_OFF 0x00 -#define PCCBB_SOCKET_CTRL_VCC_5V 0x20 -#define PCCBB_SOCKET_CTRL_VCC_3V 0x30 -#define PCCBB_SOCKET_CTRL_VCC_XV 0x40 -#define PCCBB_SOCKET_CTRL_VCC_YV 0x50 +#define PCCBB_SOCKET_CTRL_VCCMASK 0x70 +#define PCCBB_SOCKET_CTRL_VCC_OFF 0x00 +#define PCCBB_SOCKET_CTRL_VCC_5V 0x20 +#define PCCBB_SOCKET_CTRL_VCC_3V 0x30 +#define PCCBB_SOCKET_CTRL_VCC_XV 0x40 +#define PCCBB_SOCKET_CTRL_VCC_YV 0x50 -#define PCCBB_SOCKET_CTRL_STOPCLK 0x80 +#define PCCBB_SOCKET_CTRL_STOPCLK 0x80 #include <dev/pccbb/pccbbdevid.h> diff --git a/sys/dev/pccbb/pccbbvar.h b/sys/dev/pccbb/pccbbvar.h index 76aed70ee7f7..27e1bf66f466 100644 --- a/sys/dev/pccbb/pccbbvar.h +++ b/sys/dev/pccbb/pccbbvar.h @@ -34,47 +34,47 @@ struct intrhand { void(*func)(void*arg); - void* arg; + void *arg; STAILQ_ENTRY(intrhand) entries; }; struct pccbb_socketreg { - u_int32_t socket_event; - u_int32_t socket_mask; - u_int32_t socket_state; - u_int32_t socket_force; - u_int32_t socket_control; - u_int32_t socket_power; + u_int32_t socket_event; + u_int32_t socket_mask; + u_int32_t socket_state; + u_int32_t socket_force; + u_int32_t socket_control; + u_int32_t socket_power; }; struct pccbb_reslist { SLIST_ENTRY(pccbb_reslist) entries; - int type; - int rid; + int type; + int rid; u_int32_t start; u_int32_t end; device_t odev; int win; }; -#define PCCBB_AUTO_OPEN_SMALLHOLE 0x100 +#define PCCBB_AUTO_OPEN_SMALLHOLE 0x100 struct pccbb_softc { - device_t sc_dev; - struct resource *sc_base_res; - struct resource *sc_irq_res; - void *sc_intrhand; - struct pccbb_socketreg *sc_socketreg; - u_int8_t sc_secbus; - u_int8_t sc_subbus; - struct mtx sc_mtx; - u_int32_t sc_flags; -#define PCCBB_PCIC_IO_RELOC 0x01 -#define PCCBB_PCIC_MEM_32 0x02 + device_t sc_dev; + struct resource *sc_base_res; + struct resource *sc_irq_res; + void *sc_intrhand; + struct pccbb_socketreg *sc_socketreg; + u_int8_t sc_secbus; + u_int8_t sc_subbus; + struct mtx sc_mtx; + u_int32_t sc_flags; +#define PCCBB_PCIC_IO_RELOC 0x01 +#define PCCBB_PCIC_MEM_32 0x02 #define PCCBB_16BIT_CARD 0x02000000 #define PCCBB_KTHREAD_RUNNING 0x04000000 #define PCCBB_KTHREAD_DONE 0x08000000 - int sc_chipset; /* chipset id */ + int sc_chipset; /* chipset id */ #define CB_UNKNOWN 0 /* NOT Cardbus-PCI bridge */ #define CB_TI113X 1 /* TI PCI1130/1131 */ #define CB_TI12XX 2 /* TI PCI1250/1220 */ @@ -83,46 +83,46 @@ struct pccbb_softc { #define CB_TOPIC95 5 /* Toshiba ToPIC95 */ #define CB_TOPIC95B 6 /* Toshiba ToPIC95B */ #define CB_TOPIC97 7 /* Toshiba ToPIC97/100 */ -#define CB_CIRRUS 8 /* Cirrus Logic CLPD683x */ +#define CB_CIRRUS 8 /* Cirrus Logic CLPD683x */ SLIST_HEAD(, pccbb_reslist) rl; - device_t sc_cbdev; - device_t sc_pccarddev; + device_t sc_cbdev; + device_t sc_pccarddev; /* PC Card stuff */ - int memalloc; - struct pccard_mem_handle mem[PCIC_MEM_WINS]; - int ioalloc; - struct pccard_io_handle io[PCIC_IO_WINS]; + int memalloc; + struct pccard_mem_handle mem[PCIC_MEM_WINS]; + int ioalloc; + struct pccard_io_handle io[PCIC_IO_WINS]; /* kthread staff */ - struct proc *event_thread; + struct proc *event_thread; }; /* result of detect_card */ -#define CARD_UKN_CARD 0x00 -#define CARD_5V_CARD 0x01 -#define CARD_3V_CARD 0x02 -#define CARD_XV_CARD 0x04 -#define CARD_YV_CARD 0x08 +#define CARD_UKN_CARD 0x00 +#define CARD_5V_CARD 0x01 +#define CARD_3V_CARD 0x02 +#define CARD_XV_CARD 0x04 +#define CARD_YV_CARD 0x08 /* for power_socket */ -#define CARD_VCC_UC 0x0000 -#define CARD_VCC_3V 0x0001 -#define CARD_VCC_XV 0x0002 -#define CARD_VCC_YV 0x0003 -#define CARD_VCC_0V 0x0004 -#define CARD_VCC_5V 0x0005 -#define CARD_VCCMASK 0x000f -#define CARD_VPP_UC 0x0000 -#define CARD_VPP_VCC 0x0010 -#define CARD_VPP_12V 0x0030 -#define CARD_VPP_0V 0x0040 -#define CARD_VPPMASK 0x00f0 +#define CARD_VCC_UC 0x0000 +#define CARD_VCC_3V 0x0001 +#define CARD_VCC_XV 0x0002 +#define CARD_VCC_YV 0x0003 +#define CARD_VCC_0V 0x0004 +#define CARD_VCC_5V 0x0005 +#define CARD_VCCMASK 0x000f +#define CARD_VPP_UC 0x0000 +#define CARD_VPP_VCC 0x0010 +#define CARD_VPP_12V 0x0030 +#define CARD_VPP_0V 0x0040 +#define CARD_VPPMASK 0x00f0 /* XXX: rman is dumb */ -#define CARDBUS_SYS_RES_MEMORY_START 0x44000000 -#define CARDBUS_SYS_RES_MEMORY_END 0xEFFFFFFF -#define CARDBUS_SYS_RES_IOPORT_START 0x3000 -#define CARDBUS_SYS_RES_IOPORT_END 0xEFFF +#define CARDBUS_SYS_RES_MEMORY_START 0x44000000 +#define CARDBUS_SYS_RES_MEMORY_END 0xEFFFFFFF +#define CARDBUS_SYS_RES_IOPORT_START 0x3000 +#define CARDBUS_SYS_RES_IOPORT_END 0xEFFF |
