cz 204 dev/pci/cz.c #define CZ_PLX_READ(cz, reg) \ cz 205 dev/pci/cz.c bus_space_read_4((cz)->cz_plx.plx_st, (cz)->cz_plx.plx_sh, (reg)) cz 206 dev/pci/cz.c #define CZ_PLX_WRITE(cz, reg, val) \ cz 207 dev/pci/cz.c bus_space_write_4((cz)->cz_plx.plx_st, (cz)->cz_plx.plx_sh, \ cz 214 dev/pci/cz.c #define CZ_FPGA_READ(cz, reg) \ cz 215 dev/pci/cz.c bus_space_read_4((cz)->cz_win_st, (cz)->cz_win_sh, (reg)) cz 216 dev/pci/cz.c #define CZ_FPGA_WRITE(cz, reg, val) \ cz 217 dev/pci/cz.c bus_space_write_4((cz)->cz_win_st, (cz)->cz_win_sh, (reg), (val)) cz 222 dev/pci/cz.c #define CZ_FWCTL_READ(cz, off) \ cz 223 dev/pci/cz.c bus_space_read_4((cz)->cz_win_st, (cz)->cz_win_sh, \ cz 224 dev/pci/cz.c (cz)->cz_fwctl + (off)) cz 226 dev/pci/cz.c #define CZ_FWCTL_WRITE(cz, off, val) \ cz 227 dev/pci/cz.c bus_space_write_4((cz)->cz_win_st, (cz)->cz_win_sh, \ cz 228 dev/pci/cz.c (cz)->cz_fwctl + (off), (val)) cz 250 dev/pci/cz.c #define CZ_WIN_RAM(cz) \ cz 252 dev/pci/cz.c CZ_PLX_WRITE((cz), PLX_LAS0BA, LOCAL_ADDR0_RAM); \ cz 256 dev/pci/cz.c #define CZ_WIN_FPGA(cz) \ cz 258 dev/pci/cz.c CZ_PLX_WRITE((cz), PLX_LAS0BA, LOCAL_ADDR0_FPGA); \ cz 294 dev/pci/cz.c struct cz_softc *cz = (void *) self; cz 303 dev/pci/cz.c cz->cz_plx.plx_pc = pa->pa_pc; cz 304 dev/pci/cz.c cz->cz_plx.plx_tag = pa->pa_tag; cz 308 dev/pci/cz.c &cz->cz_plx.plx_st, &cz->cz_plx.plx_sh, NULL, NULL, 0) != 0) { cz 314 dev/pci/cz.c &cz->cz_win_st, &cz->cz_win_sh, NULL, NULL, 0) != 0) { cz 319 dev/pci/cz.c cz->cz_mailbox0 = CZ_PLX_READ(cz, PLX_MAILBOX0); cz 320 dev/pci/cz.c cz->cz_nopenchan = 0; cz 325 dev/pci/cz.c CZ_WIN_FPGA(cz); cz 326 dev/pci/cz.c CZ_FPGA_WRITE(cz, FPGA_CPU_STOP, 0); cz 331 dev/pci/cz.c if (cz_load_firmware(cz) != 0) cz 346 dev/pci/cz.c cz->cz_ih = NULL; cz 350 dev/pci/cz.c cz->cz_ih = pci_intr_establish(pc, ih, IPL_TTY, cz 351 dev/pci/cz.c cz_intr, cz, cz->cz_dev.dv_xname); cz 353 dev/pci/cz.c if (cz->cz_ih == NULL) { cz 363 dev/pci/cz.c if (cz->cz_ih == NULL) { cz 364 dev/pci/cz.c timeout_set(&cz->cz_timeout, cz_poll, cz); cz 368 dev/pci/cz.c cz->cz_dev.dv_xname, CZ_POLL_MS, cz_timeout_ticks, cz 384 dev/pci/cz.c CZ_WIN_RAM(cz); cz 386 dev/pci/cz.c if (cz->cz_nchannels == 0) { cz 391 dev/pci/cz.c cz->cz_ports = malloc(sizeof(struct cztty_softc) * cz->cz_nchannels, cz 393 dev/pci/cz.c cztty_attached_ttys += cz->cz_nchannels; cz 394 dev/pci/cz.c memset(cz->cz_ports, 0, cz 395 dev/pci/cz.c sizeof(struct cztty_softc) * cz->cz_nchannels); cz 397 dev/pci/cz.c for (i = 0; i < cz->cz_nchannels; i++) { cz 398 dev/pci/cz.c sc = &cz->cz_ports[i]; cz 401 dev/pci/cz.c sc->sc_chan_st = cz->cz_win_st; cz 402 dev/pci/cz.c sc->sc_parent = cz; cz 404 dev/pci/cz.c if (bus_space_subregion(cz->cz_win_st, cz->cz_win_sh, cz 405 dev/pci/cz.c cz->cz_fwctl + ZFIRM_CHNCTL_OFF(i, 0), cz 408 dev/pci/cz.c cz->cz_dev.dv_xname, i); cz 412 dev/pci/cz.c if (bus_space_subregion(cz->cz_win_st, cz->cz_win_sh, cz 413 dev/pci/cz.c cz->cz_fwctl + ZFIRM_BUFCTL_OFF(i, 0), cz 416 dev/pci/cz.c cz->cz_dev.dv_xname, i); cz 425 dev/pci/cz.c (cz->cz_dev.dv_unit * ZFIRM_MAX_CHANNELS) + i); cz 451 dev/pci/cz.c cz_reset_board(struct cz_softc *cz) cz 455 dev/pci/cz.c reg = CZ_PLX_READ(cz, PLX_CONTROL); cz 456 dev/pci/cz.c CZ_PLX_WRITE(cz, PLX_CONTROL, reg | CONTROL_SWR); cz 459 dev/pci/cz.c CZ_PLX_WRITE(cz, PLX_CONTROL, reg); cz 463 dev/pci/cz.c reg = CZ_PLX_READ(cz, PLX_CONTROL); cz 464 dev/pci/cz.c CZ_PLX_WRITE(cz, PLX_CONTROL, reg | CONTROL_RELOADCFG); cz 466 dev/pci/cz.c CZ_PLX_WRITE(cz, PLX_CONTROL, reg); cz 476 dev/pci/cz.c cz_load_firmware(struct cz_softc *cz) cz 491 dev/pci/cz.c cz->cz_dev.dv_xname, letoh32(zfh->zfh_configoff)); cz 500 dev/pci/cz.c if (letoh32(zfc->zfc_mailbox) == cz->cz_mailbox0 && cz 506 dev/pci/cz.c cz->cz_dev.dv_xname); cz 518 dev/pci/cz.c if (cz->cz_mailbox0 != MAILBOX0_8Zo_V1 cz 520 dev/pci/cz.c && ((CZ_PLX_READ(cz, PLX_CONTROL) & CONTROL_FPGA_LOADED) == 0) cz 524 dev/pci/cz.c printf("%s: Loading FPGA...", cz->cz_dev.dv_xname); cz 526 dev/pci/cz.c CZ_WIN_FPGA(cz); cz 535 dev/pci/cz.c bus_space_write_1(cz->cz_win_st, cz 536 dev/pci/cz.c cz->cz_win_sh, 0, *cp); cz 548 dev/pci/cz.c CZ_WIN_RAM(cz); cz 560 dev/pci/cz.c bus_space_write_4(cz->cz_win_st, cz->cz_win_sh, cz 568 dev/pci/cz.c CZ_WIN_FPGA(cz); cz 569 dev/pci/cz.c CZ_FPGA_WRITE(cz, FPGA_CPU_START, 0); cz 572 dev/pci/cz.c CZ_WIN_RAM(cz); cz 575 dev/pci/cz.c printf("%s: waiting for MIPS to start", cz->cz_dev.dv_xname); cz 578 dev/pci/cz.c fid = bus_space_read_4(cz->cz_win_st, cz->cz_win_sh, cz 589 dev/pci/cz.c "problem\n", cz->cz_dev.dv_xname); cz 603 dev/pci/cz.c CZ_WIN_FPGA(cz); cz 605 dev/pci/cz.c cz->cz_dev.dv_xname, ZFIRM_SIG, fid); cz 607 dev/pci/cz.c cz->cz_dev.dv_xname, CZ_FPGA_READ(cz, FPGA_ID), cz 608 dev/pci/cz.c CZ_FPGA_READ(cz, FPGA_VERSION)); cz 615 dev/pci/cz.c cz->cz_fwctl = bus_space_read_4(cz->cz_win_st, cz->cz_win_sh, cz 619 dev/pci/cz.c cz->cz_dev.dv_xname, cz->cz_fwctl); cz 622 dev/pci/cz.c CZ_FWCTL_WRITE(cz, BRDCTL_C_OS, C_OS_BSD); cz 623 dev/pci/cz.c CZ_FWCTL_WRITE(cz, BRDCTL_DRVERSION, CZ_DRIVER_VERSION); cz 625 dev/pci/cz.c cz->cz_nchannels = CZ_FWCTL_READ(cz, BRDCTL_NCHANNEL); cz 627 dev/pci/cz.c switch (cz->cz_mailbox0) { cz 645 dev/pci/cz.c fid = CZ_FWCTL_READ(cz, BRDCTL_FWVERSION); cz 646 dev/pci/cz.c printf("%s: %s, ", cz->cz_dev.dv_xname, board); cz 647 dev/pci/cz.c if (cz->cz_nchannels == 0) cz 651 dev/pci/cz.c cz->cz_nchannels, cztty_attached_ttys, cz 652 dev/pci/cz.c cztty_attached_ttys + (cz->cz_nchannels - 1)); cz 669 dev/pci/cz.c struct cz_softc *cz = arg; cz 671 dev/pci/cz.c cz_intr(cz); cz 672 dev/pci/cz.c timeout_add(&cz->cz_timeout, cz_timeout_ticks); cz 690 dev/pci/cz.c struct cz_softc *cz = arg; cz 694 dev/pci/cz.c while ((command = (CZ_PLX_READ(cz, PLX_LOCAL_PCI_DOORBELL) & 0xff))) { cz 696 dev/pci/cz.c channel = CZ_FWCTL_READ(cz, BRDCTL_FWCMD_CHANNEL); cz 697 dev/pci/cz.c param = CZ_FWCTL_READ(cz, BRDCTL_FWCMD_PARAM); cz 700 dev/pci/cz.c CZ_PLX_WRITE(cz, PLX_LOCAL_PCI_DOORBELL, command); cz 702 dev/pci/cz.c if (cz->cz_ports == NULL) { cz 705 dev/pci/cz.c cz->cz_dev.dv_xname, channel); cz 710 dev/pci/cz.c sc = &cz->cz_ports[channel]; cz 725 dev/pci/cz.c cz->cz_dev.dv_xname, channel); cz 809 dev/pci/cz.c cz->cz_dev.dv_xname, sc->sc_channel, command); cz 825 dev/pci/cz.c cz_wait_pci_doorbell(struct cz_softc *cz, char *wstring) cz 829 dev/pci/cz.c while (CZ_PLX_READ(cz, PLX_PCI_LOCAL_DOORBELL)) { cz 830 dev/pci/cz.c error = tsleep(cz, TTIPRI | PCATCH, wstring, max(1, hz/100)); cz 852 dev/pci/cz.c struct cz_softc *cz; cz 856 dev/pci/cz.c cz = (struct cz_softc *)device_lookup(&cz_cd, i); cz 857 dev/pci/cz.c if (cz == NULL) cz 859 dev/pci/cz.c if (cz->cz_ports == NULL) cz 861 dev/pci/cz.c j += cz->cz_nchannels; cz 869 dev/pci/cz.c return (&cz->cz_ports[u - k]); cz 911 dev/pci/cz.c struct cz_softc *cz = CZTTY_CZ(sc); cz 930 dev/pci/cz.c cz_wait_pci_doorbell(cz, "czdis"); cz 932 dev/pci/cz.c CZ_FWCTL_WRITE(cz, BRDCTL_HCMD_CHANNEL, sc->sc_channel); cz 933 dev/pci/cz.c CZ_PLX_WRITE(cz, PLX_PCI_LOCAL_DOORBELL, C_CM_IOCTL); cz 935 dev/pci/cz.c if ((--cz->cz_nopenchan == 0) && (cz->cz_ih == NULL)) { cz 937 dev/pci/cz.c printf("%s: Disabling polling\n", cz->cz_dev.dv_xname); cz 939 dev/pci/cz.c timeout_del(&cz->cz_timeout); cz 954 dev/pci/cz.c struct cz_softc *cz; cz 964 dev/pci/cz.c cz = CZTTY_CZ(sc); cz 983 dev/pci/cz.c if ((cz->cz_nopenchan++ == 0) && (cz->cz_ih == NULL)) { cz 986 dev/pci/cz.c cz->cz_dev.dv_xname); cz 988 dev/pci/cz.c timeout_add(&cz->cz_timeout, cz_timeout_ticks); cz 995 dev/pci/cz.c cz_wait_pci_doorbell(cz, "czopen"); cz 1218 dev/pci/cz.c struct cz_softc *cz = CZTTY_CZ(sc); cz 1220 dev/pci/cz.c cz_wait_pci_doorbell(cz, "czbreak"); cz 1222 dev/pci/cz.c CZ_FWCTL_WRITE(cz, BRDCTL_HCMD_CHANNEL, sc->sc_channel); cz 1223 dev/pci/cz.c CZ_PLX_WRITE(cz, PLX_PCI_LOCAL_DOORBELL, cz 1235 dev/pci/cz.c struct cz_softc *cz = CZTTY_CZ(sc); cz 1240 dev/pci/cz.c cz_wait_pci_doorbell(cz, "czmod"); cz 1248 dev/pci/cz.c CZ_FWCTL_WRITE(cz, BRDCTL_HCMD_CHANNEL, sc->sc_channel); cz 1249 dev/pci/cz.c CZ_PLX_WRITE(cz, PLX_PCI_LOCAL_DOORBELL, C_CM_IOCTLM); cz 1260 dev/pci/cz.c struct cz_softc *cz = CZTTY_CZ(sc); cz 1269 dev/pci/cz.c cz_wait_pci_doorbell(cz, "cztiocm"); cz 1288 dev/pci/cz.c CZ_FWCTL_WRITE(cz, BRDCTL_HCMD_CHANNEL, sc->sc_channel); cz 1289 dev/pci/cz.c CZ_PLX_WRITE(cz, PLX_PCI_LOCAL_DOORBELL, C_CM_IOCTLM); cz 1300 dev/pci/cz.c struct cz_softc *cz = CZTTY_CZ(sc); cz 1304 dev/pci/cz.c cz_wait_pci_doorbell(cz, "cztty"); cz 1340 dev/pci/cz.c struct cz_softc *cz = CZTTY_CZ(sc); cz 1441 dev/pci/cz.c cz_wait_pci_doorbell(cz, "czparam"); cz 1449 dev/pci/cz.c CZ_FWCTL_WRITE(cz, BRDCTL_HCMD_CHANNEL, sc->sc_channel); cz 1450 dev/pci/cz.c CZ_PLX_WRITE(cz, PLX_PCI_LOCAL_DOORBELL, C_CM_IOCTLW); cz 1452 dev/pci/cz.c cz_wait_pci_doorbell(cz, "czparam"); cz 1454 dev/pci/cz.c CZ_FWCTL_WRITE(cz, BRDCTL_HCMD_CHANNEL, sc->sc_channel); cz 1455 dev/pci/cz.c CZ_PLX_WRITE(cz, PLX_PCI_LOCAL_DOORBELL, C_CM_IOCTLM); cz 1457 dev/pci/cz.c cz_wait_pci_doorbell(cz, "czparam"); cz 1528 dev/pci/cz.c struct cz_softc *cz = CZTTY_CZ(sc); cz 1549 dev/pci/cz.c cz->cz_dev.dv_xname, sc->sc_channel, cz 1579 dev/pci/cz.c struct cz_softc *cz = CZTTY_CZ(sc); cz 1599 dev/pci/cz.c "transmit buf\n", cz->cz_dev.dv_xname, cz 1606 dev/pci/cz.c bus_space_write_region_1(cz->cz_win_st, cz->cz_win_sh, cz 1625 dev/pci/cz.c struct cz_softc *cz = CZTTY_CZ(sc); cz 1640 dev/pci/cz.c ch = bus_space_read_1(cz->cz_win_st, cz->cz_win_sh,