scc 41 arch/arm/mach-vexpress/tc2_pm.c static void __iomem *scc; scc 120 arch/arm/mach-vexpress/tc2_pm.c return !(readl_relaxed(scc + RESET_CTRL) & mask); scc 136 arch/arm/mach-vexpress/tc2_pm.c readl_relaxed(scc + RESET_CTRL)); scc 216 arch/arm/mach-vexpress/tc2_pm.c scc = of_iomap(np, 0); scc 217 arch/arm/mach-vexpress/tc2_pm.c if (!scc) scc 220 arch/arm/mach-vexpress/tc2_pm.c a15_cluster_id = readl_relaxed(scc + A15_CONF) & 0xf; scc 221 arch/arm/mach-vexpress/tc2_pm.c a7_cluster_id = readl_relaxed(scc + A7_CONF) & 0xf; scc 225 arch/arm/mach-vexpress/tc2_pm.c sys_info = readl_relaxed(scc + SYS_INFO); scc 237 arch/arm/mach-vexpress/tc2_pm.c ret = ve_spc_init(scc + SPC_BASE, a15_cluster_id, irq); scc 185 arch/mips/include/asm/octeon/cvmx-pciercx-defs.h __BITFIELD_FIELD(uint32_t scc:1, scc 78 arch/mips/include/asm/txx9/tx3927.h endian_def_b4(cc, scc, rpli, rid); scc 74 arch/powerpc/boot/cpm-serial.c static struct cpm_scc *scc; scc 119 arch/powerpc/boot/cpm-serial.c out_be32(&scc->gsmrl, in_be32(&scc->gsmrl) & ~0x30); scc 130 arch/powerpc/boot/cpm-serial.c out_be32(&scc->gsmrl, in_be32(&scc->gsmrl) | 0x30); scc 239 arch/powerpc/boot/cpm-serial.c scc = vreg[0]; scc 4330 drivers/ata/sata_mv.c u8 scc; scc 4336 drivers/ata/sata_mv.c pci_read_config_byte(pdev, PCI_CLASS_DEVICE, &scc); scc 4337 drivers/ata/sata_mv.c if (scc == 0) scc 4339 drivers/ata/sata_mv.c else if (scc == 0x01) scc 254 drivers/dma/ipu/ipu_idmac.c u32 scc:1; scc 1703 drivers/net/ethernet/atheros/atlx/atl1.c adapter->soft_stats.scc += smb->tx_1_col; scc 3158 drivers/net/ethernet/atheros/atlx/atl1.c {"tx_single_coll_ok", ATL1_STAT(soft_stats.scc)}, scc 668 drivers/net/ethernet/atheros/atlx/atl1.h u64 scc; /* packets TX after a single collision */ scc 179 drivers/net/ethernet/freescale/fs_enet/fs_enet.h } scc; scc 99 drivers/net/ethernet/freescale/fs_enet/mac-scc.c fep->scc.sccp = of_iomap(ofdev->dev.of_node, 0); scc 100 drivers/net/ethernet/freescale/fs_enet/mac-scc.c if (!fep->scc.sccp) scc 103 drivers/net/ethernet/freescale/fs_enet/mac-scc.c fep->scc.ep = of_iomap(ofdev->dev.of_node, 1); scc 104 drivers/net/ethernet/freescale/fs_enet/mac-scc.c if (!fep->scc.ep) { scc 105 drivers/net/ethernet/freescale/fs_enet/mac-scc.c iounmap(fep->scc.sccp); scc 122 drivers/net/ethernet/freescale/fs_enet/mac-scc.c fep->scc.hthi = 0; scc 123 drivers/net/ethernet/freescale/fs_enet/mac-scc.c fep->scc.htlo = 0; scc 164 drivers/net/ethernet/freescale/fs_enet/mac-scc.c scc_t __iomem *sccp = fep->scc.sccp; scc 172 drivers/net/ethernet/freescale/fs_enet/mac-scc.c scc_enet_t __iomem *ep = fep->scc.ep; scc 183 drivers/net/ethernet/freescale/fs_enet/mac-scc.c scc_enet_t __iomem *ep = fep->scc.ep; scc 199 drivers/net/ethernet/freescale/fs_enet/mac-scc.c scc_t __iomem *sccp = fep->scc.sccp; scc 200 drivers/net/ethernet/freescale/fs_enet/mac-scc.c scc_enet_t __iomem *ep = fep->scc.ep; scc 237 drivers/net/ethernet/freescale/fs_enet/mac-scc.c scc_t __iomem *sccp = fep->scc.sccp; scc 238 drivers/net/ethernet/freescale/fs_enet/mac-scc.c scc_enet_t __iomem *ep = fep->scc.ep; scc 357 drivers/net/ethernet/freescale/fs_enet/mac-scc.c scc_t __iomem *sccp = fep->scc.sccp; scc 375 drivers/net/ethernet/freescale/fs_enet/mac-scc.c scc_t __iomem *sccp = fep->scc.sccp; scc 383 drivers/net/ethernet/freescale/fs_enet/mac-scc.c scc_t __iomem *sccp = fep->scc.sccp; scc 391 drivers/net/ethernet/freescale/fs_enet/mac-scc.c scc_t __iomem *sccp = fep->scc.sccp; scc 409 drivers/net/ethernet/freescale/fs_enet/mac-scc.c scc_t __iomem *sccp = fep->scc.sccp; scc 417 drivers/net/ethernet/freescale/fs_enet/mac-scc.c scc_t __iomem *sccp = fep->scc.sccp; scc 436 drivers/net/ethernet/freescale/fs_enet/mac-scc.c memcpy_fromio(p, fep->scc.sccp, sizeof(scc_t)); scc 439 drivers/net/ethernet/freescale/fs_enet/mac-scc.c memcpy_fromio(p, fep->scc.ep, sizeof(scc_enet_t __iomem *)); scc 53 drivers/net/ethernet/intel/e1000/e1000_ethtool.c { "tx_single_coll_ok", E1000_STAT(stats.scc) }, scc 1259 drivers/net/ethernet/intel/e1000/e1000_hw.h u64 scc; scc 3628 drivers/net/ethernet/intel/e1000/e1000_main.c adapter->stats.scc += er32(SCC); scc 64 drivers/net/ethernet/intel/e1000e/ethtool.c E1000_STAT("tx_single_coll_ok", stats.scc), scc 342 drivers/net/ethernet/intel/e1000e/hw.h u64 scc; scc 4866 drivers/net/ethernet/intel/e1000e/netdev.c adapter->stats.scc += phy_data; scc 4941 drivers/net/ethernet/intel/e1000e/netdev.c adapter->stats.scc += er32(SCC); scc 173 drivers/net/ethernet/intel/igb/e1000_hw.h u64 scc; scc 51 drivers/net/ethernet/intel/igb/igb_ethtool.c IGB_STAT("tx_single_coll_ok", stats.scc), scc 549 drivers/net/ethernet/intel/igb/igb_ethtool.c regs_buff[59] = adapter->stats.scc; scc 6345 drivers/net/ethernet/intel/igb/igb_main.c adapter->stats.scc += rd32(E1000_SCC); scc 42 drivers/net/ethernet/intel/igc/igc_ethtool.c IGC_STAT("tx_single_coll_ok", stats.scc), scc 216 drivers/net/ethernet/intel/igc/igc_ethtool.c regs_buff[35] = adapter->stats.scc; scc 225 drivers/net/ethernet/intel/igc/igc_hw.h u64 scc; scc 1987 drivers/net/ethernet/intel/igc/igc_main.c adapter->stats.scc += rd32(IGC_SCC); scc 202 drivers/net/hamradio/scc.c static void init_channel(struct scc_channel *scc); scc 203 drivers/net/hamradio/scc.c static void scc_key_trx (struct scc_channel *scc, char tx); scc 204 drivers/net/hamradio/scc.c static void scc_init_timer(struct scc_channel *scc); scc 206 drivers/net/hamradio/scc.c static int scc_net_alloc(const char *name, struct scc_channel *scc); scc 210 drivers/net/hamradio/scc.c static void scc_net_rx(struct scc_channel *scc, struct sk_buff *skb); scc 276 drivers/net/hamradio/scc.c static inline void wr(struct scc_channel *scc, unsigned char reg, scc 279 drivers/net/hamradio/scc.c OutReg(scc->ctrl, reg, (scc->wreg[reg] = val)); scc 282 drivers/net/hamradio/scc.c static inline void or(struct scc_channel *scc, unsigned char reg, unsigned char val) scc 284 drivers/net/hamradio/scc.c OutReg(scc->ctrl, reg, (scc->wreg[reg] |= val)); scc 287 drivers/net/hamradio/scc.c static inline void cl(struct scc_channel *scc, unsigned char reg, unsigned char val) scc 289 drivers/net/hamradio/scc.c OutReg(scc->ctrl, reg, (scc->wreg[reg] &= ~val)); scc 296 drivers/net/hamradio/scc.c static inline void scc_discard_buffers(struct scc_channel *scc) scc 300 drivers/net/hamradio/scc.c spin_lock_irqsave(&scc->lock, flags); scc 301 drivers/net/hamradio/scc.c if (scc->tx_buff != NULL) scc 303 drivers/net/hamradio/scc.c dev_kfree_skb(scc->tx_buff); scc 304 drivers/net/hamradio/scc.c scc->tx_buff = NULL; scc 307 drivers/net/hamradio/scc.c while (!skb_queue_empty(&scc->tx_queue)) scc 308 drivers/net/hamradio/scc.c dev_kfree_skb(skb_dequeue(&scc->tx_queue)); scc 310 drivers/net/hamradio/scc.c spin_unlock_irqrestore(&scc->lock, flags); scc 322 drivers/net/hamradio/scc.c static inline void scc_notify(struct scc_channel *scc, int event) scc 327 drivers/net/hamradio/scc.c if (scc->kiss.fulldup != KISS_DUPLEX_OPTIMA) scc 336 drivers/net/hamradio/scc.c scc_net_rx(scc, skb); scc 338 drivers/net/hamradio/scc.c scc->stat.nospace++; scc 341 drivers/net/hamradio/scc.c static inline void flush_rx_FIFO(struct scc_channel *scc) scc 346 drivers/net/hamradio/scc.c Inb(scc->data); scc 348 drivers/net/hamradio/scc.c if(scc->rx_buff != NULL) /* did we receive something? */ scc 350 drivers/net/hamradio/scc.c scc->stat.rxerrs++; /* then count it as an error */ scc 351 drivers/net/hamradio/scc.c dev_kfree_skb_irq(scc->rx_buff); scc 352 drivers/net/hamradio/scc.c scc->rx_buff = NULL; scc 356 drivers/net/hamradio/scc.c static void start_hunt(struct scc_channel *scc) scc 358 drivers/net/hamradio/scc.c if ((scc->modem.clocksrc != CLK_EXTERNAL)) scc 359 drivers/net/hamradio/scc.c OutReg(scc->ctrl,R14,SEARCH|scc->wreg[R14]); /* DPLL: enter search mode */ scc 360 drivers/net/hamradio/scc.c or(scc,R3,ENT_HM|RxENABLE); /* enable the receiver, hunt mode */ scc 367 drivers/net/hamradio/scc.c static inline void scc_txint(struct scc_channel *scc) scc 371 drivers/net/hamradio/scc.c scc->stat.txints++; scc 372 drivers/net/hamradio/scc.c skb = scc->tx_buff; scc 378 drivers/net/hamradio/scc.c skb = skb_dequeue(&scc->tx_queue); scc 379 drivers/net/hamradio/scc.c scc->tx_buff = skb; scc 380 drivers/net/hamradio/scc.c netif_wake_queue(scc->dev); scc 384 drivers/net/hamradio/scc.c scc_tx_done(scc); scc 385 drivers/net/hamradio/scc.c Outb(scc->ctrl, RES_Tx_P); scc 392 drivers/net/hamradio/scc.c scc->tx_buff = NULL; scc 393 drivers/net/hamradio/scc.c scc_tx_done(scc); scc 394 drivers/net/hamradio/scc.c Outb(scc->ctrl, RES_Tx_P); scc 398 drivers/net/hamradio/scc.c scc->stat.tx_state = TXS_ACTIVE; scc 400 drivers/net/hamradio/scc.c OutReg(scc->ctrl, R0, RES_Tx_CRC); scc 402 drivers/net/hamradio/scc.c or(scc,R10,ABUNDER); /* re-install underrun protection */ scc 403 drivers/net/hamradio/scc.c Outb(scc->data,*skb->data); /* send byte */ scc 406 drivers/net/hamradio/scc.c if (!scc->enhanced) /* reset EOM latch */ scc 407 drivers/net/hamradio/scc.c Outb(scc->ctrl,RES_EOM_L); scc 415 drivers/net/hamradio/scc.c Outb(scc->ctrl, RES_Tx_P); /* reset pending int */ scc 416 drivers/net/hamradio/scc.c cl(scc, R10, ABUNDER); /* send CRC */ scc 418 drivers/net/hamradio/scc.c scc->tx_buff = NULL; scc 419 drivers/net/hamradio/scc.c scc->stat.tx_state = TXS_NEWFRAME; /* next frame... */ scc 425 drivers/net/hamradio/scc.c Outb(scc->data,*skb->data); scc 431 drivers/net/hamradio/scc.c static inline void scc_exint(struct scc_channel *scc) scc 435 drivers/net/hamradio/scc.c scc->stat.exints++; scc 437 drivers/net/hamradio/scc.c status = InReg(scc->ctrl,R0); scc 438 drivers/net/hamradio/scc.c changes = status ^ scc->status; scc 444 drivers/net/hamradio/scc.c flush_rx_FIFO(scc); scc 448 drivers/net/hamradio/scc.c if ((changes & SYNC_HUNT) && scc->kiss.softdcd) scc 452 drivers/net/hamradio/scc.c scc->dcd = 0; scc 453 drivers/net/hamradio/scc.c flush_rx_FIFO(scc); scc 454 drivers/net/hamradio/scc.c if ((scc->modem.clocksrc != CLK_EXTERNAL)) scc 455 drivers/net/hamradio/scc.c OutReg(scc->ctrl,R14,SEARCH|scc->wreg[R14]); /* DPLL: enter search mode */ scc 457 drivers/net/hamradio/scc.c scc->dcd = 1; scc 460 drivers/net/hamradio/scc.c scc_notify(scc, scc->dcd? HWEV_DCD_OFF:HWEV_DCD_ON); scc 466 drivers/net/hamradio/scc.c if((changes & DCD) && !scc->kiss.softdcd) /* DCD input changed state */ scc 470 drivers/net/hamradio/scc.c start_hunt(scc); scc 471 drivers/net/hamradio/scc.c scc->dcd = 1; scc 473 drivers/net/hamradio/scc.c cl(scc,R3,ENT_HM|RxENABLE); /* disable the receiver */ scc 474 drivers/net/hamradio/scc.c flush_rx_FIFO(scc); scc 475 drivers/net/hamradio/scc.c scc->dcd = 0; scc 478 drivers/net/hamradio/scc.c scc_notify(scc, scc->dcd? HWEV_DCD_ON:HWEV_DCD_OFF); scc 490 drivers/net/hamradio/scc.c if (scc->kiss.txdelay == 0) /* zero TXDELAY = wait for CTS */ scc 491 drivers/net/hamradio/scc.c scc_start_tx_timer(scc, t_txdelay, 0); scc 495 drivers/net/hamradio/scc.c if (scc->stat.tx_state == TXS_ACTIVE && (status & TxEOM)) scc 497 drivers/net/hamradio/scc.c scc->stat.tx_under++; /* oops, an underrun! count 'em */ scc 498 drivers/net/hamradio/scc.c Outb(scc->ctrl, RES_EXT_INT); /* reset ext/status interrupts */ scc 500 drivers/net/hamradio/scc.c if (scc->tx_buff != NULL) scc 502 drivers/net/hamradio/scc.c dev_kfree_skb_irq(scc->tx_buff); scc 503 drivers/net/hamradio/scc.c scc->tx_buff = NULL; scc 506 drivers/net/hamradio/scc.c or(scc,R10,ABUNDER); scc 507 drivers/net/hamradio/scc.c scc_start_tx_timer(scc, t_txdelay, 0); /* restart transmission */ scc 510 drivers/net/hamradio/scc.c scc->status = status; scc 511 drivers/net/hamradio/scc.c Outb(scc->ctrl,RES_EXT_INT); scc 516 drivers/net/hamradio/scc.c static inline void scc_rxint(struct scc_channel *scc) scc 520 drivers/net/hamradio/scc.c scc->stat.rxints++; scc 522 drivers/net/hamradio/scc.c if((scc->wreg[5] & RTS) && scc->kiss.fulldup == KISS_DUPLEX_HALF) scc 524 drivers/net/hamradio/scc.c Inb(scc->data); /* discard char */ scc 525 drivers/net/hamradio/scc.c or(scc,R3,ENT_HM); /* enter hunt mode for next flag */ scc 529 drivers/net/hamradio/scc.c skb = scc->rx_buff; scc 533 drivers/net/hamradio/scc.c skb = dev_alloc_skb(scc->stat.bufsize); scc 536 drivers/net/hamradio/scc.c scc->dev_stat.rx_dropped++; scc 537 drivers/net/hamradio/scc.c scc->stat.nospace++; scc 538 drivers/net/hamradio/scc.c Inb(scc->data); scc 539 drivers/net/hamradio/scc.c or(scc, R3, ENT_HM); scc 543 drivers/net/hamradio/scc.c scc->rx_buff = skb; scc 547 drivers/net/hamradio/scc.c if (skb->len >= scc->stat.bufsize) scc 553 drivers/net/hamradio/scc.c scc->rx_buff = NULL; scc 554 drivers/net/hamradio/scc.c Inb(scc->data); scc 555 drivers/net/hamradio/scc.c or(scc, R3, ENT_HM); scc 559 drivers/net/hamradio/scc.c skb_put_u8(skb, Inb(scc->data)); scc 564 drivers/net/hamradio/scc.c static inline void scc_spint(struct scc_channel *scc) scc 569 drivers/net/hamradio/scc.c scc->stat.spints++; scc 571 drivers/net/hamradio/scc.c status = InReg(scc->ctrl,R1); /* read receiver status */ scc 573 drivers/net/hamradio/scc.c Inb(scc->data); /* throw away Rx byte */ scc 574 drivers/net/hamradio/scc.c skb = scc->rx_buff; scc 578 drivers/net/hamradio/scc.c scc->stat.rx_over++; /* count them */ scc 579 drivers/net/hamradio/scc.c or(scc,R3,ENT_HM); /* enter hunt mode for next flag */ scc 583 drivers/net/hamradio/scc.c scc->rx_buff = skb = NULL; scc 594 drivers/net/hamradio/scc.c scc_net_rx(scc, skb); scc 595 drivers/net/hamradio/scc.c scc->rx_buff = NULL; scc 596 drivers/net/hamradio/scc.c scc->stat.rxframes++; scc 599 drivers/net/hamradio/scc.c scc->rx_buff = NULL; scc 600 drivers/net/hamradio/scc.c scc->stat.rxerrs++; scc 604 drivers/net/hamradio/scc.c Outb(scc->ctrl,ERR_RES); scc 610 drivers/net/hamradio/scc.c static void scc_isr_dispatch(struct scc_channel *scc, int vector) scc 612 drivers/net/hamradio/scc.c spin_lock(&scc->lock); scc 615 drivers/net/hamradio/scc.c case TXINT: scc_txint(scc); break; scc 616 drivers/net/hamradio/scc.c case EXINT: scc_exint(scc); break; scc 617 drivers/net/hamradio/scc.c case RXINT: scc_rxint(scc); break; scc 618 drivers/net/hamradio/scc.c case SPINT: scc_spint(scc); break; scc 620 drivers/net/hamradio/scc.c spin_unlock(&scc->lock); scc 634 drivers/net/hamradio/scc.c struct scc_channel *scc; scc 648 drivers/net/hamradio/scc.c scc=&SCC_Info[vector >> 3 ^ 0x01]; scc 649 drivers/net/hamradio/scc.c if (!scc->dev) break; scc 651 drivers/net/hamradio/scc.c scc_isr_dispatch(scc, vector); scc 653 drivers/net/hamradio/scc.c OutReg(scc->ctrl,R0,RES_H_IUS); /* Reset Highest IUS */ scc 675 drivers/net/hamradio/scc.c scc = NULL; scc 681 drivers/net/hamradio/scc.c scc = &SCC_Info[vector >> 3 ^ 0x01]; scc 682 drivers/net/hamradio/scc.c if (!scc->dev) break; scc 684 drivers/net/hamradio/scc.c scc_isr_dispatch(scc, vector); scc 700 drivers/net/hamradio/scc.c if (scc != NULL) scc 702 drivers/net/hamradio/scc.c OutReg(scc->ctrl,R0,RES_H_IUS); scc 719 drivers/net/hamradio/scc.c static inline void set_brg(struct scc_channel *scc, unsigned int tc) scc 721 drivers/net/hamradio/scc.c cl(scc,R14,BRENABL); /* disable baudrate generator */ scc 722 drivers/net/hamradio/scc.c wr(scc,R12,tc & 255); /* brg rate LOW */ scc 723 drivers/net/hamradio/scc.c wr(scc,R13,tc >> 8); /* brg rate HIGH */ scc 724 drivers/net/hamradio/scc.c or(scc,R14,BRENABL); /* enable baudrate generator */ scc 727 drivers/net/hamradio/scc.c static inline void set_speed(struct scc_channel *scc) scc 730 drivers/net/hamradio/scc.c spin_lock_irqsave(&scc->lock, flags); scc 732 drivers/net/hamradio/scc.c if (scc->modem.speed > 0) /* paranoia... */ scc 733 drivers/net/hamradio/scc.c set_brg(scc, (unsigned) (scc->clock / (scc->modem.speed * 64)) - 2); scc 735 drivers/net/hamradio/scc.c spin_unlock_irqrestore(&scc->lock, flags); scc 741 drivers/net/hamradio/scc.c static inline void init_brg(struct scc_channel *scc) scc 743 drivers/net/hamradio/scc.c wr(scc, R14, BRSRC); /* BRG source = PCLK */ scc 744 drivers/net/hamradio/scc.c OutReg(scc->ctrl, R14, SSBR|scc->wreg[R14]); /* DPLL source = BRG */ scc 745 drivers/net/hamradio/scc.c OutReg(scc->ctrl, R14, SNRZI|scc->wreg[R14]); /* DPLL NRZI mode */ scc 793 drivers/net/hamradio/scc.c static void init_channel(struct scc_channel *scc) scc 795 drivers/net/hamradio/scc.c del_timer(&scc->tx_t); scc 796 drivers/net/hamradio/scc.c del_timer(&scc->tx_wdog); scc 798 drivers/net/hamradio/scc.c disable_irq(scc->irq); scc 800 drivers/net/hamradio/scc.c wr(scc,R4,X1CLK|SDLC); /* *1 clock, SDLC mode */ scc 801 drivers/net/hamradio/scc.c wr(scc,R1,0); /* no W/REQ operation */ scc 802 drivers/net/hamradio/scc.c wr(scc,R3,Rx8|RxCRC_ENAB); /* RX 8 bits/char, CRC, disabled */ scc 803 drivers/net/hamradio/scc.c wr(scc,R5,Tx8|DTR|TxCRC_ENAB); /* TX 8 bits/char, disabled, DTR */ scc 804 drivers/net/hamradio/scc.c wr(scc,R6,0); /* SDLC address zero (not used) */ scc 805 drivers/net/hamradio/scc.c wr(scc,R7,FLAG); /* SDLC flag value */ scc 806 drivers/net/hamradio/scc.c wr(scc,R9,VIS); /* vector includes status */ scc 807 drivers/net/hamradio/scc.c wr(scc,R10,(scc->modem.nrz? NRZ : NRZI)|CRCPS|ABUNDER); /* abort on underrun, preset CRC generator, NRZ(I) */ scc 808 drivers/net/hamradio/scc.c wr(scc,R14, 0); scc 837 drivers/net/hamradio/scc.c switch(scc->modem.clocksrc) scc 840 drivers/net/hamradio/scc.c wr(scc, R11, RCDPLL|TCDPLL|TRxCOI|TRxCDP); scc 841 drivers/net/hamradio/scc.c init_brg(scc); scc 845 drivers/net/hamradio/scc.c wr(scc, R11, ((scc->brand & BAYCOM)? TRxCDP : TRxCBR) | RCDPLL|TCRTxCP|TRxCOI); scc 846 drivers/net/hamradio/scc.c init_brg(scc); scc 850 drivers/net/hamradio/scc.c wr(scc, R11, (scc->brand & BAYCOM)? RCTRxCP|TCRTxCP : RCRTxCP|TCTRxCP); scc 851 drivers/net/hamradio/scc.c OutReg(scc->ctrl, R14, DISDPLL); scc 856 drivers/net/hamradio/scc.c set_speed(scc); /* set baudrate */ scc 858 drivers/net/hamradio/scc.c if(scc->enhanced) scc 860 drivers/net/hamradio/scc.c or(scc,R15,SHDLCE|FIFOE); /* enable FIFO, SDLC/HDLC Enhancements (From now R7 is R7') */ scc 861 drivers/net/hamradio/scc.c wr(scc,R7,AUTOEOM); scc 864 drivers/net/hamradio/scc.c if(scc->kiss.softdcd || (InReg(scc->ctrl,R0) & DCD)) scc 867 drivers/net/hamradio/scc.c start_hunt(scc); scc 872 drivers/net/hamradio/scc.c wr(scc,R15, BRKIE|TxUIE|(scc->kiss.softdcd? SYNCIE:DCDIE)); scc 874 drivers/net/hamradio/scc.c Outb(scc->ctrl,RES_EXT_INT); /* reset ext/status interrupts */ scc 875 drivers/net/hamradio/scc.c Outb(scc->ctrl,RES_EXT_INT); /* must be done twice */ scc 877 drivers/net/hamradio/scc.c or(scc,R1,INT_ALL_Rx|TxINT_ENAB|EXT_INT_ENAB); /* enable interrupts */ scc 879 drivers/net/hamradio/scc.c scc->status = InReg(scc->ctrl,R0); /* read initial status */ scc 881 drivers/net/hamradio/scc.c or(scc,R9,MIE); /* master interrupt enable */ scc 883 drivers/net/hamradio/scc.c scc_init_timer(scc); scc 885 drivers/net/hamradio/scc.c enable_irq(scc->irq); scc 899 drivers/net/hamradio/scc.c static void scc_key_trx(struct scc_channel *scc, char tx) scc 903 drivers/net/hamradio/scc.c if (scc->brand & PRIMUS) scc 904 drivers/net/hamradio/scc.c Outb(scc->ctrl + 4, scc->option | (tx? 0x80 : 0)); scc 906 drivers/net/hamradio/scc.c if (scc->modem.speed < 300) scc 907 drivers/net/hamradio/scc.c scc->modem.speed = 1200; scc 909 drivers/net/hamradio/scc.c time_const = (unsigned) (scc->clock / (scc->modem.speed * (tx? 2:64))) - 2; scc 911 drivers/net/hamradio/scc.c disable_irq(scc->irq); scc 915 drivers/net/hamradio/scc.c or(scc, R1, TxINT_ENAB); /* t_maxkeyup may have reset these */ scc 916 drivers/net/hamradio/scc.c or(scc, R15, TxUIE); scc 919 drivers/net/hamradio/scc.c if (scc->modem.clocksrc == CLK_DPLL) scc 924 drivers/net/hamradio/scc.c cl(scc, R3, RxENABLE|ENT_HM); /* switch off receiver */ scc 925 drivers/net/hamradio/scc.c cl(scc, R15, DCDIE|SYNCIE); /* No DCD changes, please */ scc 927 drivers/net/hamradio/scc.c set_brg(scc, time_const); /* reprogram baudrate generator */ scc 930 drivers/net/hamradio/scc.c wr(scc, R11, RCDPLL|TCBR|TRxCOI|TRxCBR); scc 933 drivers/net/hamradio/scc.c if (scc->kiss.tx_inhibit) scc 935 drivers/net/hamradio/scc.c or(scc,R5, TxENAB); scc 936 drivers/net/hamradio/scc.c scc->wreg[R5] |= RTS; scc 938 drivers/net/hamradio/scc.c or(scc,R5,RTS|TxENAB); /* set the RTS line and enable TX */ scc 941 drivers/net/hamradio/scc.c cl(scc,R5,RTS|TxENAB); scc 943 drivers/net/hamradio/scc.c set_brg(scc, time_const); /* reprogram baudrate generator */ scc 946 drivers/net/hamradio/scc.c wr(scc, R11, RCDPLL|TCDPLL|TRxCOI|TRxCDP); scc 949 drivers/net/hamradio/scc.c if (scc->kiss.softdcd) scc 952 drivers/net/hamradio/scc.c or(scc,R15, scc->kiss.softdcd? SYNCIE:DCDIE); scc 953 drivers/net/hamradio/scc.c start_hunt(scc); scc 960 drivers/net/hamradio/scc.c if (scc->kiss.fulldup == KISS_DUPLEX_HALF) scc 962 drivers/net/hamradio/scc.c cl(scc, R3, RxENABLE); scc 963 drivers/net/hamradio/scc.c cl(scc, R15, DCDIE|SYNCIE); scc 967 drivers/net/hamradio/scc.c if (scc->kiss.tx_inhibit) scc 969 drivers/net/hamradio/scc.c or(scc,R5, TxENAB); scc 970 drivers/net/hamradio/scc.c scc->wreg[R5] |= RTS; scc 972 drivers/net/hamradio/scc.c or(scc,R5,RTS|TxENAB); /* enable tx */ scc 975 drivers/net/hamradio/scc.c cl(scc,R5,RTS|TxENAB); /* disable tx */ scc 977 drivers/net/hamradio/scc.c if ((scc->kiss.fulldup == KISS_DUPLEX_HALF) && scc 979 drivers/net/hamradio/scc.c scc->kiss.softdcd) scc 984 drivers/net/hamradio/scc.c or(scc, R15, scc->kiss.softdcd? SYNCIE:DCDIE); scc 985 drivers/net/hamradio/scc.c start_hunt(scc); scc 990 drivers/net/hamradio/scc.c enable_irq(scc->irq); scc 996 drivers/net/hamradio/scc.c static void __scc_start_tx_timer(struct scc_channel *scc, scc 1000 drivers/net/hamradio/scc.c del_timer(&scc->tx_t); scc 1004 drivers/net/hamradio/scc.c handler(&scc->tx_t); scc 1008 drivers/net/hamradio/scc.c scc->tx_t.function = handler; scc 1009 drivers/net/hamradio/scc.c scc->tx_t.expires = jiffies + (when*HZ)/100; scc 1010 drivers/net/hamradio/scc.c add_timer(&scc->tx_t); scc 1014 drivers/net/hamradio/scc.c static void scc_start_tx_timer(struct scc_channel *scc, scc 1020 drivers/net/hamradio/scc.c spin_lock_irqsave(&scc->lock, flags); scc 1021 drivers/net/hamradio/scc.c __scc_start_tx_timer(scc, handler, when); scc 1022 drivers/net/hamradio/scc.c spin_unlock_irqrestore(&scc->lock, flags); scc 1025 drivers/net/hamradio/scc.c static void scc_start_defer(struct scc_channel *scc) scc 1029 drivers/net/hamradio/scc.c spin_lock_irqsave(&scc->lock, flags); scc 1030 drivers/net/hamradio/scc.c del_timer(&scc->tx_wdog); scc 1032 drivers/net/hamradio/scc.c if (scc->kiss.maxdefer != 0 && scc->kiss.maxdefer != TIMER_OFF) scc 1034 drivers/net/hamradio/scc.c scc->tx_wdog.function = t_busy; scc 1035 drivers/net/hamradio/scc.c scc->tx_wdog.expires = jiffies + HZ*scc->kiss.maxdefer; scc 1036 drivers/net/hamradio/scc.c add_timer(&scc->tx_wdog); scc 1038 drivers/net/hamradio/scc.c spin_unlock_irqrestore(&scc->lock, flags); scc 1041 drivers/net/hamradio/scc.c static void scc_start_maxkeyup(struct scc_channel *scc) scc 1045 drivers/net/hamradio/scc.c spin_lock_irqsave(&scc->lock, flags); scc 1046 drivers/net/hamradio/scc.c del_timer(&scc->tx_wdog); scc 1048 drivers/net/hamradio/scc.c if (scc->kiss.maxkeyup != 0 && scc->kiss.maxkeyup != TIMER_OFF) scc 1050 drivers/net/hamradio/scc.c scc->tx_wdog.function = t_maxkeyup; scc 1051 drivers/net/hamradio/scc.c scc->tx_wdog.expires = jiffies + HZ*scc->kiss.maxkeyup; scc 1052 drivers/net/hamradio/scc.c add_timer(&scc->tx_wdog); scc 1054 drivers/net/hamradio/scc.c spin_unlock_irqrestore(&scc->lock, flags); scc 1062 drivers/net/hamradio/scc.c static void scc_tx_done(struct scc_channel *scc) scc 1068 drivers/net/hamradio/scc.c switch (scc->kiss.fulldup) scc 1071 drivers/net/hamradio/scc.c scc->stat.tx_state = TXS_IDLE2; scc 1072 drivers/net/hamradio/scc.c if (scc->kiss.idletime != TIMER_OFF) scc 1073 drivers/net/hamradio/scc.c scc_start_tx_timer(scc, t_idle, scc 1074 drivers/net/hamradio/scc.c scc->kiss.idletime*100); scc 1077 drivers/net/hamradio/scc.c scc_notify(scc, HWEV_ALL_SENT); scc 1080 drivers/net/hamradio/scc.c scc->stat.tx_state = TXS_BUSY; scc 1081 drivers/net/hamradio/scc.c scc_start_tx_timer(scc, t_tail, scc->kiss.tailtime); scc 1084 drivers/net/hamradio/scc.c netif_wake_queue(scc->dev); scc 1090 drivers/net/hamradio/scc.c static inline int is_grouped(struct scc_channel *scc) scc 1096 drivers/net/hamradio/scc.c grp1 = scc->kiss.group; scc 1103 drivers/net/hamradio/scc.c if (scc2 == scc || !(scc2->dev && grp2)) scc 1128 drivers/net/hamradio/scc.c struct scc_channel *scc = from_timer(scc, t, tx_t); scc 1130 drivers/net/hamradio/scc.c if (scc->stat.tx_state == TXS_WAIT) /* maxkeyup or idle timeout */ scc 1132 drivers/net/hamradio/scc.c if (skb_queue_empty(&scc->tx_queue)) { /* nothing to send */ scc 1133 drivers/net/hamradio/scc.c scc->stat.tx_state = TXS_IDLE; scc 1134 drivers/net/hamradio/scc.c netif_wake_queue(scc->dev); /* t_maxkeyup locked it. */ scc 1138 drivers/net/hamradio/scc.c scc->stat.tx_state = TXS_BUSY; scc 1141 drivers/net/hamradio/scc.c if (scc->kiss.fulldup == KISS_DUPLEX_HALF) scc 1145 drivers/net/hamradio/scc.c if (scc->dcd || (scc->kiss.persist) < Rand || (scc->kiss.group && is_grouped(scc)) ) scc 1147 drivers/net/hamradio/scc.c scc_start_defer(scc); scc 1148 drivers/net/hamradio/scc.c scc_start_tx_timer(scc, t_dwait, scc->kiss.slottime); scc 1153 drivers/net/hamradio/scc.c if ( !(scc->wreg[R5] & RTS) ) scc 1155 drivers/net/hamradio/scc.c scc_key_trx(scc, TX_ON); scc 1156 drivers/net/hamradio/scc.c scc_start_tx_timer(scc, t_txdelay, scc->kiss.txdelay); scc 1158 drivers/net/hamradio/scc.c scc_start_tx_timer(scc, t_txdelay, 0); scc 1170 drivers/net/hamradio/scc.c struct scc_channel *scc = from_timer(scc, t, tx_t); scc 1172 drivers/net/hamradio/scc.c scc_start_maxkeyup(scc); scc 1174 drivers/net/hamradio/scc.c if (scc->tx_buff == NULL) scc 1176 drivers/net/hamradio/scc.c disable_irq(scc->irq); scc 1177 drivers/net/hamradio/scc.c scc_txint(scc); scc 1178 drivers/net/hamradio/scc.c enable_irq(scc->irq); scc 1191 drivers/net/hamradio/scc.c struct scc_channel *scc = from_timer(scc, t, tx_t); scc 1194 drivers/net/hamradio/scc.c spin_lock_irqsave(&scc->lock, flags); scc 1195 drivers/net/hamradio/scc.c del_timer(&scc->tx_wdog); scc 1196 drivers/net/hamradio/scc.c scc_key_trx(scc, TX_OFF); scc 1197 drivers/net/hamradio/scc.c spin_unlock_irqrestore(&scc->lock, flags); scc 1199 drivers/net/hamradio/scc.c if (scc->stat.tx_state == TXS_TIMEOUT) /* we had a timeout? */ scc 1201 drivers/net/hamradio/scc.c scc->stat.tx_state = TXS_WAIT; scc 1202 drivers/net/hamradio/scc.c scc_start_tx_timer(scc, t_dwait, scc->kiss.mintime*100); scc 1206 drivers/net/hamradio/scc.c scc->stat.tx_state = TXS_IDLE; scc 1207 drivers/net/hamradio/scc.c netif_wake_queue(scc->dev); scc 1218 drivers/net/hamradio/scc.c struct scc_channel *scc = from_timer(scc, t, tx_wdog); scc 1220 drivers/net/hamradio/scc.c del_timer(&scc->tx_t); scc 1221 drivers/net/hamradio/scc.c netif_stop_queue(scc->dev); /* don't pile on the wabbit! */ scc 1223 drivers/net/hamradio/scc.c scc_discard_buffers(scc); scc 1224 drivers/net/hamradio/scc.c scc->stat.txerrs++; scc 1225 drivers/net/hamradio/scc.c scc->stat.tx_state = TXS_IDLE; scc 1227 drivers/net/hamradio/scc.c netif_wake_queue(scc->dev); scc 1237 drivers/net/hamradio/scc.c struct scc_channel *scc = from_timer(scc, t, tx_wdog); scc 1240 drivers/net/hamradio/scc.c spin_lock_irqsave(&scc->lock, flags); scc 1246 drivers/net/hamradio/scc.c netif_stop_queue(scc->dev); scc 1247 drivers/net/hamradio/scc.c scc_discard_buffers(scc); scc 1249 drivers/net/hamradio/scc.c del_timer(&scc->tx_t); scc 1251 drivers/net/hamradio/scc.c cl(scc, R1, TxINT_ENAB); /* force an ABORT, but don't */ scc 1252 drivers/net/hamradio/scc.c cl(scc, R15, TxUIE); /* count it. */ scc 1253 drivers/net/hamradio/scc.c OutReg(scc->ctrl, R0, RES_Tx_P); scc 1255 drivers/net/hamradio/scc.c spin_unlock_irqrestore(&scc->lock, flags); scc 1257 drivers/net/hamradio/scc.c scc->stat.txerrs++; scc 1258 drivers/net/hamradio/scc.c scc->stat.tx_state = TXS_TIMEOUT; scc 1259 drivers/net/hamradio/scc.c scc_start_tx_timer(scc, t_tail, scc->kiss.tailtime); scc 1271 drivers/net/hamradio/scc.c struct scc_channel *scc = from_timer(scc, t, tx_t); scc 1273 drivers/net/hamradio/scc.c del_timer(&scc->tx_wdog); scc 1275 drivers/net/hamradio/scc.c scc_key_trx(scc, TX_OFF); scc 1276 drivers/net/hamradio/scc.c if(scc->kiss.mintime) scc 1277 drivers/net/hamradio/scc.c scc_start_tx_timer(scc, t_dwait, scc->kiss.mintime*100); scc 1278 drivers/net/hamradio/scc.c scc->stat.tx_state = TXS_WAIT; scc 1281 drivers/net/hamradio/scc.c static void scc_init_timer(struct scc_channel *scc) scc 1285 drivers/net/hamradio/scc.c spin_lock_irqsave(&scc->lock, flags); scc 1286 drivers/net/hamradio/scc.c scc->stat.tx_state = TXS_IDLE; scc 1287 drivers/net/hamradio/scc.c spin_unlock_irqrestore(&scc->lock, flags); scc 1302 drivers/net/hamradio/scc.c static unsigned int scc_set_param(struct scc_channel *scc, unsigned int cmd, unsigned int arg) scc 1306 drivers/net/hamradio/scc.c case PARAM_TXDELAY: scc->kiss.txdelay=arg; break; scc 1307 drivers/net/hamradio/scc.c case PARAM_PERSIST: scc->kiss.persist=arg; break; scc 1308 drivers/net/hamradio/scc.c case PARAM_SLOTTIME: scc->kiss.slottime=arg; break; scc 1309 drivers/net/hamradio/scc.c case PARAM_TXTAIL: scc->kiss.tailtime=arg; break; scc 1310 drivers/net/hamradio/scc.c case PARAM_FULLDUP: scc->kiss.fulldup=arg; break; scc 1312 drivers/net/hamradio/scc.c case PARAM_GROUP: scc->kiss.group=arg; break; scc 1313 drivers/net/hamradio/scc.c case PARAM_IDLE: scc->kiss.idletime=arg; break; scc 1314 drivers/net/hamradio/scc.c case PARAM_MIN: scc->kiss.mintime=arg; break; scc 1315 drivers/net/hamradio/scc.c case PARAM_MAXKEY: scc->kiss.maxkeyup=arg; break; scc 1316 drivers/net/hamradio/scc.c case PARAM_WAIT: scc->kiss.waittime=arg; break; scc 1317 drivers/net/hamradio/scc.c case PARAM_MAXDEFER: scc->kiss.maxdefer=arg; break; scc 1318 drivers/net/hamradio/scc.c case PARAM_TX: scc->kiss.tx_inhibit=arg; break; scc 1321 drivers/net/hamradio/scc.c scc->kiss.softdcd=arg; scc 1324 drivers/net/hamradio/scc.c or(scc, R15, SYNCIE); scc 1325 drivers/net/hamradio/scc.c cl(scc, R15, DCDIE); scc 1326 drivers/net/hamradio/scc.c start_hunt(scc); scc 1328 drivers/net/hamradio/scc.c or(scc, R15, DCDIE); scc 1329 drivers/net/hamradio/scc.c cl(scc, R15, SYNCIE); scc 1335 drivers/net/hamradio/scc.c scc->modem.speed=arg*100; scc 1337 drivers/net/hamradio/scc.c scc->modem.speed=arg; scc 1339 drivers/net/hamradio/scc.c if (scc->stat.tx_state == 0) /* only switch baudrate on rx... ;-) */ scc 1340 drivers/net/hamradio/scc.c set_speed(scc); scc 1344 drivers/net/hamradio/scc.c if ( !(scc->wreg[R5] & RTS) ) scc 1347 drivers/net/hamradio/scc.c scc_key_trx(scc, TX_ON); scc 1348 drivers/net/hamradio/scc.c scc_start_tx_timer(scc, t_txdelay, scc->kiss.txdelay); scc 1353 drivers/net/hamradio/scc.c scc->stat.tx_state = TXS_BUSY; scc 1354 drivers/net/hamradio/scc.c scc_start_tx_timer(scc, t_tail, scc->kiss.tailtime); scc 1360 drivers/net/hamradio/scc.c scc_notify(scc, scc->dcd? HWEV_DCD_ON:HWEV_DCD_OFF); scc 1371 drivers/net/hamradio/scc.c static unsigned long scc_get_param(struct scc_channel *scc, unsigned int cmd) scc 1375 drivers/net/hamradio/scc.c case PARAM_TXDELAY: return CAST(scc->kiss.txdelay); scc 1376 drivers/net/hamradio/scc.c case PARAM_PERSIST: return CAST(scc->kiss.persist); scc 1377 drivers/net/hamradio/scc.c case PARAM_SLOTTIME: return CAST(scc->kiss.slottime); scc 1378 drivers/net/hamradio/scc.c case PARAM_TXTAIL: return CAST(scc->kiss.tailtime); scc 1379 drivers/net/hamradio/scc.c case PARAM_FULLDUP: return CAST(scc->kiss.fulldup); scc 1380 drivers/net/hamradio/scc.c case PARAM_SOFTDCD: return CAST(scc->kiss.softdcd); scc 1381 drivers/net/hamradio/scc.c case PARAM_DTR: return CAST((scc->wreg[R5] & DTR)? 1:0); scc 1382 drivers/net/hamradio/scc.c case PARAM_RTS: return CAST((scc->wreg[R5] & RTS)? 1:0); scc 1383 drivers/net/hamradio/scc.c case PARAM_SPEED: return CAST(scc->modem.speed); scc 1384 drivers/net/hamradio/scc.c case PARAM_GROUP: return CAST(scc->kiss.group); scc 1385 drivers/net/hamradio/scc.c case PARAM_IDLE: return CAST(scc->kiss.idletime); scc 1386 drivers/net/hamradio/scc.c case PARAM_MIN: return CAST(scc->kiss.mintime); scc 1387 drivers/net/hamradio/scc.c case PARAM_MAXKEY: return CAST(scc->kiss.maxkeyup); scc 1388 drivers/net/hamradio/scc.c case PARAM_WAIT: return CAST(scc->kiss.waittime); scc 1389 drivers/net/hamradio/scc.c case PARAM_MAXDEFER: return CAST(scc->kiss.maxdefer); scc 1390 drivers/net/hamradio/scc.c case PARAM_TX: return CAST(scc->kiss.tx_inhibit); scc 1404 drivers/net/hamradio/scc.c struct scc_channel *scc = from_timer(scc, t, tx_wdog); scc 1407 drivers/net/hamradio/scc.c spin_lock_irqsave(&scc->lock, flags); scc 1408 drivers/net/hamradio/scc.c del_timer(&scc->tx_wdog); scc 1409 drivers/net/hamradio/scc.c scc_key_trx(scc, TX_OFF); scc 1410 drivers/net/hamradio/scc.c wr(scc, R6, 0); scc 1411 drivers/net/hamradio/scc.c wr(scc, R7, FLAG); scc 1412 drivers/net/hamradio/scc.c Outb(scc->ctrl,RES_EXT_INT); /* reset ext/status interrupts */ scc 1413 drivers/net/hamradio/scc.c Outb(scc->ctrl,RES_EXT_INT); scc 1415 drivers/net/hamradio/scc.c netif_wake_queue(scc->dev); scc 1416 drivers/net/hamradio/scc.c spin_unlock_irqrestore(&scc->lock, flags); scc 1421 drivers/net/hamradio/scc.c scc_start_calibrate(struct scc_channel *scc, int duration, unsigned char pattern) scc 1425 drivers/net/hamradio/scc.c spin_lock_irqsave(&scc->lock, flags); scc 1426 drivers/net/hamradio/scc.c netif_stop_queue(scc->dev); scc 1427 drivers/net/hamradio/scc.c scc_discard_buffers(scc); scc 1429 drivers/net/hamradio/scc.c del_timer(&scc->tx_wdog); scc 1431 drivers/net/hamradio/scc.c scc->tx_wdog.function = scc_stop_calibrate; scc 1432 drivers/net/hamradio/scc.c scc->tx_wdog.expires = jiffies + HZ*duration; scc 1433 drivers/net/hamradio/scc.c add_timer(&scc->tx_wdog); scc 1436 drivers/net/hamradio/scc.c wr(scc, R6, 0); scc 1437 drivers/net/hamradio/scc.c wr(scc, R7, pattern); scc 1444 drivers/net/hamradio/scc.c Outb(scc->ctrl,RES_EXT_INT); /* reset ext/status interrupts */ scc 1445 drivers/net/hamradio/scc.c Outb(scc->ctrl,RES_EXT_INT); scc 1447 drivers/net/hamradio/scc.c scc_key_trx(scc, TX_ON); scc 1448 drivers/net/hamradio/scc.c spin_unlock_irqrestore(&scc->lock, flags); scc 1461 drivers/net/hamradio/scc.c struct scc_channel *scc; scc 1482 drivers/net/hamradio/scc.c scc=&SCC_Info[2*chip]; scc 1483 drivers/net/hamradio/scc.c if (!scc->ctrl) continue; scc 1487 drivers/net/hamradio/scc.c if(scc->brand & EAGLE) /* this is an EAGLE card */ scc 1488 drivers/net/hamradio/scc.c Outb(scc->special,0x08); /* enable interrupt on the board */ scc 1490 drivers/net/hamradio/scc.c if(scc->brand & (PC100 | PRIMUS)) /* this is a PC100/PRIMUS card */ scc 1491 drivers/net/hamradio/scc.c Outb(scc->special,scc->option); /* set the MODEM mode (0x22) */ scc 1496 drivers/net/hamradio/scc.c spin_lock_irqsave(&scc->lock, flags); scc 1498 drivers/net/hamradio/scc.c Outb(scc->ctrl, 0); scc 1499 drivers/net/hamradio/scc.c OutReg(scc->ctrl,R9,FHWRES); /* force hardware reset */ scc 1501 drivers/net/hamradio/scc.c wr(scc, R2, chip*16); /* interrupt vector */ scc 1502 drivers/net/hamradio/scc.c wr(scc, R9, VIS); /* vector includes status */ scc 1503 drivers/net/hamradio/scc.c spin_unlock_irqrestore(&scc->lock, flags); scc 1514 drivers/net/hamradio/scc.c static int scc_net_alloc(const char *name, struct scc_channel *scc) scc 1523 drivers/net/hamradio/scc.c dev->ml_priv = scc; scc 1524 drivers/net/hamradio/scc.c scc->dev = dev; scc 1525 drivers/net/hamradio/scc.c spin_lock_init(&scc->lock); scc 1526 drivers/net/hamradio/scc.c timer_setup(&scc->tx_t, NULL, 0); scc 1527 drivers/net/hamradio/scc.c timer_setup(&scc->tx_wdog, NULL, 0); scc 1534 drivers/net/hamradio/scc.c scc->dev = NULL; scc 1581 drivers/net/hamradio/scc.c struct scc_channel *scc = (struct scc_channel *) dev->ml_priv; scc 1583 drivers/net/hamradio/scc.c if (!scc->init) scc 1586 drivers/net/hamradio/scc.c scc->tx_buff = NULL; scc 1587 drivers/net/hamradio/scc.c skb_queue_head_init(&scc->tx_queue); scc 1589 drivers/net/hamradio/scc.c init_channel(scc); scc 1599 drivers/net/hamradio/scc.c struct scc_channel *scc = (struct scc_channel *) dev->ml_priv; scc 1604 drivers/net/hamradio/scc.c spin_lock_irqsave(&scc->lock, flags); scc 1605 drivers/net/hamradio/scc.c Outb(scc->ctrl,0); /* Make sure pointer is written */ scc 1606 drivers/net/hamradio/scc.c wr(scc,R1,0); /* disable interrupts */ scc 1607 drivers/net/hamradio/scc.c wr(scc,R3,0); scc 1608 drivers/net/hamradio/scc.c spin_unlock_irqrestore(&scc->lock, flags); scc 1610 drivers/net/hamradio/scc.c del_timer_sync(&scc->tx_t); scc 1611 drivers/net/hamradio/scc.c del_timer_sync(&scc->tx_wdog); scc 1613 drivers/net/hamradio/scc.c scc_discard_buffers(scc); scc 1620 drivers/net/hamradio/scc.c static void scc_net_rx(struct scc_channel *scc, struct sk_buff *skb) scc 1627 drivers/net/hamradio/scc.c scc->dev_stat.rx_packets++; scc 1628 drivers/net/hamradio/scc.c scc->dev_stat.rx_bytes += skb->len; scc 1630 drivers/net/hamradio/scc.c skb->protocol = ax25_type_trans(skb, scc->dev); scc 1639 drivers/net/hamradio/scc.c struct scc_channel *scc = (struct scc_channel *) dev->ml_priv; scc 1646 drivers/net/hamradio/scc.c if (skb->len > scc->stat.bufsize || skb->len < 2) { scc 1647 drivers/net/hamradio/scc.c scc->dev_stat.tx_dropped++; /* bogus frame */ scc 1652 drivers/net/hamradio/scc.c scc->dev_stat.tx_packets++; scc 1653 drivers/net/hamradio/scc.c scc->dev_stat.tx_bytes += skb->len; scc 1654 drivers/net/hamradio/scc.c scc->stat.txframes++; scc 1660 drivers/net/hamradio/scc.c scc_set_param(scc, kisscmd, *skb->data); scc 1665 drivers/net/hamradio/scc.c spin_lock_irqsave(&scc->lock, flags); scc 1667 drivers/net/hamradio/scc.c if (skb_queue_len(&scc->tx_queue) > scc->dev->tx_queue_len) { scc 1669 drivers/net/hamradio/scc.c skb_del = skb_dequeue(&scc->tx_queue); scc 1672 drivers/net/hamradio/scc.c skb_queue_tail(&scc->tx_queue, skb); scc 1682 drivers/net/hamradio/scc.c if(scc->stat.tx_state == TXS_IDLE || scc->stat.tx_state == TXS_IDLE2) { scc 1683 drivers/net/hamradio/scc.c scc->stat.tx_state = TXS_BUSY; scc 1684 drivers/net/hamradio/scc.c if (scc->kiss.fulldup == KISS_DUPLEX_HALF) scc 1685 drivers/net/hamradio/scc.c __scc_start_tx_timer(scc, t_dwait, scc->kiss.waittime); scc 1687 drivers/net/hamradio/scc.c __scc_start_tx_timer(scc, t_dwait, 0); scc 1689 drivers/net/hamradio/scc.c spin_unlock_irqrestore(&scc->lock, flags); scc 1712 drivers/net/hamradio/scc.c struct scc_channel *scc = (struct scc_channel *) dev->ml_priv; scc 1848 drivers/net/hamradio/scc.c if (!scc->init) scc 1855 drivers/net/hamradio/scc.c scc->stat.bufsize = SCC_BUFSIZE; scc 1857 drivers/net/hamradio/scc.c if (copy_from_user(&scc->modem, arg, sizeof(struct scc_modem))) scc 1862 drivers/net/hamradio/scc.c if (scc->modem.speed < 4800) scc 1864 drivers/net/hamradio/scc.c scc->kiss.txdelay = 36; /* 360 ms */ scc 1865 drivers/net/hamradio/scc.c scc->kiss.persist = 42; /* 25% persistence */ /* was 25 */ scc 1866 drivers/net/hamradio/scc.c scc->kiss.slottime = 16; /* 160 ms */ scc 1867 drivers/net/hamradio/scc.c scc->kiss.tailtime = 4; /* minimal reasonable value */ scc 1868 drivers/net/hamradio/scc.c scc->kiss.fulldup = 0; /* CSMA */ scc 1869 drivers/net/hamradio/scc.c scc->kiss.waittime = 50; /* 500 ms */ scc 1870 drivers/net/hamradio/scc.c scc->kiss.maxkeyup = 10; /* 10 s */ scc 1871 drivers/net/hamradio/scc.c scc->kiss.mintime = 3; /* 3 s */ scc 1872 drivers/net/hamradio/scc.c scc->kiss.idletime = 30; /* 30 s */ scc 1873 drivers/net/hamradio/scc.c scc->kiss.maxdefer = 120; /* 2 min */ scc 1874 drivers/net/hamradio/scc.c scc->kiss.softdcd = 0; /* hardware dcd */ scc 1876 drivers/net/hamradio/scc.c scc->kiss.txdelay = 10; /* 100 ms */ scc 1877 drivers/net/hamradio/scc.c scc->kiss.persist = 64; /* 25% persistence */ /* was 25 */ scc 1878 drivers/net/hamradio/scc.c scc->kiss.slottime = 8; /* 160 ms */ scc 1879 drivers/net/hamradio/scc.c scc->kiss.tailtime = 1; /* minimal reasonable value */ scc 1880 drivers/net/hamradio/scc.c scc->kiss.fulldup = 0; /* CSMA */ scc 1881 drivers/net/hamradio/scc.c scc->kiss.waittime = 50; /* 500 ms */ scc 1882 drivers/net/hamradio/scc.c scc->kiss.maxkeyup = 7; /* 7 s */ scc 1883 drivers/net/hamradio/scc.c scc->kiss.mintime = 3; /* 3 s */ scc 1884 drivers/net/hamradio/scc.c scc->kiss.idletime = 30; /* 30 s */ scc 1885 drivers/net/hamradio/scc.c scc->kiss.maxdefer = 120; /* 2 min */ scc 1886 drivers/net/hamradio/scc.c scc->kiss.softdcd = 0; /* hardware dcd */ scc 1889 drivers/net/hamradio/scc.c scc->tx_buff = NULL; scc 1890 drivers/net/hamradio/scc.c skb_queue_head_init(&scc->tx_queue); scc 1891 drivers/net/hamradio/scc.c scc->init = 1; scc 1908 drivers/net/hamradio/scc.c scc->stat.bufsize = memcfg.bufsize; scc 1912 drivers/net/hamradio/scc.c if (!arg || copy_to_user(arg, &scc->stat, sizeof(scc->stat))) scc 1919 drivers/net/hamradio/scc.c kiss_cmd.param = scc_get_param(scc, kiss_cmd.command); scc 1928 drivers/net/hamradio/scc.c return scc_set_param(scc, kiss_cmd.command, kiss_cmd.param); scc 1935 drivers/net/hamradio/scc.c scc_start_calibrate(scc, cal.time, cal.pattern); scc 1959 drivers/net/hamradio/scc.c struct scc_channel *scc = (struct scc_channel *) dev->ml_priv; scc 1961 drivers/net/hamradio/scc.c scc->dev_stat.rx_errors = scc->stat.rxerrs + scc->stat.rx_over; scc 1962 drivers/net/hamradio/scc.c scc->dev_stat.tx_errors = scc->stat.txerrs + scc->stat.tx_under; scc 1963 drivers/net/hamradio/scc.c scc->dev_stat.rx_fifo_errors = scc->stat.rx_over; scc 1964 drivers/net/hamradio/scc.c scc->dev_stat.tx_fifo_errors = scc->stat.tx_under; scc 1966 drivers/net/hamradio/scc.c return &scc->dev_stat; scc 1997 drivers/net/hamradio/scc.c struct scc_channel *scc = v; scc 2000 drivers/net/hamradio/scc.c for (k = (v == SEQ_START_TOKEN) ? 0 : (scc - SCC_Info)+1; scc 2021 drivers/net/hamradio/scc.c const struct scc_channel *scc = v; scc 2022 drivers/net/hamradio/scc.c const struct scc_stat *stat = &scc->stat; scc 2023 drivers/net/hamradio/scc.c const struct scc_kiss *kiss = &scc->kiss; scc 2036 drivers/net/hamradio/scc.c scc->dev->name, scc 2037 drivers/net/hamradio/scc.c scc->data, scc->ctrl, scc->irq, scc->clock, scc->brand, scc 2038 drivers/net/hamradio/scc.c scc->enhanced, Vector_Latch, scc->special, scc 2039 drivers/net/hamradio/scc.c scc->option); scc 2041 drivers/net/hamradio/scc.c scc->modem.speed, scc->modem.nrz, scc 2042 drivers/net/hamradio/scc.c scc->modem.clocksrc, kiss->softdcd, scc 2063 drivers/net/hamradio/scc.c seq_printf(seq, "%2.2x ", scc->wreg[reg]); scc 2066 drivers/net/hamradio/scc.c seq_printf(seq, "\tR %2.2x %2.2x XX ", InReg(scc->ctrl,R0), InReg(scc->ctrl,R1)); scc 2068 drivers/net/hamradio/scc.c seq_printf(seq, "%2.2x ", InReg(scc->ctrl, reg)); scc 2071 drivers/net/hamradio/scc.c seq_printf(seq, "%2.2x ", InReg(scc->ctrl, reg)); scc 2119 drivers/net/hamradio/scc.c struct scc_channel *scc; scc 2148 drivers/net/hamradio/scc.c scc = &SCC_Info[k]; scc 2149 drivers/net/hamradio/scc.c if (scc->ctrl) scc 2151 drivers/net/hamradio/scc.c release_region(scc->ctrl, 1); scc 2152 drivers/net/hamradio/scc.c release_region(scc->data, 1); scc 2154 drivers/net/hamradio/scc.c if (scc->dev) scc 2156 drivers/net/hamradio/scc.c unregister_netdev(scc->dev); scc 2157 drivers/net/hamradio/scc.c free_netdev(scc->dev); scc 106 drivers/tty/serial/zs.c resource_size_t scc[ZS_NUM_SCCS]; scc 202 drivers/tty/serial/zs.c if (!zport->scc) scc 243 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 247 drivers/tty/serial/zs.c zs_spin_unlock_cond_irq(&scc->zlock, irq); scc 249 drivers/tty/serial/zs.c zs_spin_lock_cond_irq(&scc->zlock, irq); scc 256 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 260 drivers/tty/serial/zs.c zs_spin_unlock_cond_irq(&scc->zlock, irq); scc 262 drivers/tty/serial/zs.c zs_spin_lock_cond_irq(&scc->zlock, irq); scc 311 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 315 drivers/tty/serial/zs.c spin_lock_irqsave(&scc->zlock, flags); scc 317 drivers/tty/serial/zs.c spin_unlock_irqrestore(&scc->zlock, flags); scc 341 drivers/tty/serial/zs.c struct zs_port *zport_a = &zport->scc->zport[ZS_CHAN_A]; scc 348 drivers/tty/serial/zs.c struct zs_port *zport_a = &zport->scc->zport[ZS_CHAN_A]; scc 379 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 382 drivers/tty/serial/zs.c spin_lock(&scc->zlock); scc 384 drivers/tty/serial/zs.c spin_unlock(&scc->zlock); scc 392 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 393 drivers/tty/serial/zs.c struct zs_port *zport_a = &scc->zport[ZS_CHAN_A]; scc 396 drivers/tty/serial/zs.c spin_lock(&scc->zlock); scc 420 drivers/tty/serial/zs.c spin_unlock(&scc->zlock); scc 432 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 434 drivers/tty/serial/zs.c spin_lock(&scc->zlock); scc 436 drivers/tty/serial/zs.c spin_unlock(&scc->zlock); scc 444 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 446 drivers/tty/serial/zs.c spin_lock(&scc->zlock); scc 452 drivers/tty/serial/zs.c spin_unlock(&scc->zlock); scc 458 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 459 drivers/tty/serial/zs.c struct zs_port *zport_a = &scc->zport[ZS_CHAN_A]; scc 461 drivers/tty/serial/zs.c spin_lock(&scc->zlock); scc 486 drivers/tty/serial/zs.c spin_unlock(&scc->zlock); scc 492 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 493 drivers/tty/serial/zs.c struct zs_port *zport_a = &scc->zport[ZS_CHAN_A]; scc 498 drivers/tty/serial/zs.c spin_lock(&scc->zlock); scc 516 drivers/tty/serial/zs.c spin_unlock(&scc->zlock); scc 522 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 525 drivers/tty/serial/zs.c spin_lock_irqsave(&scc->zlock, flags); scc 531 drivers/tty/serial/zs.c spin_unlock_irqrestore(&scc->zlock, flags); scc 544 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 550 drivers/tty/serial/zs.c spin_lock(&scc->zlock); scc 552 drivers/tty/serial/zs.c spin_unlock(&scc->zlock); scc 556 drivers/tty/serial/zs.c spin_lock(&scc->zlock); scc 559 drivers/tty/serial/zs.c spin_unlock(&scc->zlock); scc 575 drivers/tty/serial/zs.c spin_lock(&scc->zlock); scc 577 drivers/tty/serial/zs.c spin_unlock(&scc->zlock); scc 643 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 645 drivers/tty/serial/zs.c spin_lock(&scc->zlock); scc 647 drivers/tty/serial/zs.c spin_unlock(&scc->zlock); scc 653 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 657 drivers/tty/serial/zs.c spin_lock(&scc->zlock); scc 665 drivers/tty/serial/zs.c spin_unlock(&scc->zlock); scc 670 drivers/tty/serial/zs.c spin_lock(&scc->zlock); scc 677 drivers/tty/serial/zs.c spin_unlock(&scc->zlock); scc 693 drivers/tty/serial/zs.c spin_lock(&scc->zlock); scc 699 drivers/tty/serial/zs.c spin_unlock(&scc->zlock); scc 707 drivers/tty/serial/zs.c struct zs_scc *scc = dev_id; scc 708 drivers/tty/serial/zs.c struct zs_port *zport_a = &scc->zport[ZS_CHAN_A]; scc 709 drivers/tty/serial/zs.c struct zs_port *zport_b = &scc->zport[ZS_CHAN_B]; scc 722 drivers/tty/serial/zs.c spin_lock(&scc->zlock); scc 724 drivers/tty/serial/zs.c spin_unlock(&scc->zlock); scc 759 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 764 drivers/tty/serial/zs.c irq_guard = atomic_add_return(1, &scc->irq_guard); scc 767 drivers/tty/serial/zs.c IRQF_SHARED, "scc", scc); scc 769 drivers/tty/serial/zs.c atomic_add(-1, &scc->irq_guard); scc 776 drivers/tty/serial/zs.c spin_lock_irqsave(&scc->zlock, flags); scc 804 drivers/tty/serial/zs.c spin_unlock_irqrestore(&scc->zlock, flags); scc 812 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 816 drivers/tty/serial/zs.c spin_lock_irqsave(&scc->zlock, flags); scc 822 drivers/tty/serial/zs.c spin_unlock_irqrestore(&scc->zlock, flags); scc 824 drivers/tty/serial/zs.c irq_guard = atomic_add_return(-1, &scc->irq_guard); scc 826 drivers/tty/serial/zs.c free_irq(zport->port.irq, scc); scc 832 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 836 drivers/tty/serial/zs.c spin_lock_irqsave(&scc->zlock, flags); scc 838 drivers/tty/serial/zs.c if (!scc->initialised) { scc 846 drivers/tty/serial/zs.c scc->initialised = 1; scc 849 drivers/tty/serial/zs.c spin_unlock_irqrestore(&scc->zlock, flags); scc 856 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 857 drivers/tty/serial/zs.c struct zs_port *zport_a = &scc->zport[ZS_CHAN_A]; scc 862 drivers/tty/serial/zs.c spin_lock_irqsave(&scc->zlock, flags); scc 959 drivers/tty/serial/zs.c spin_unlock_irqrestore(&scc->zlock, flags); scc 1085 drivers/tty/serial/zs.c zs_parms.scc[n_chips] = IOASIC_SCC0; scc 1091 drivers/tty/serial/zs.c zs_parms.scc[n_chips] = IOASIC_SCC1; scc 1106 drivers/tty/serial/zs.c zport->scc = &zs_sccs[chip]; scc 1117 drivers/tty/serial/zs.c zs_parms.scc[chip] + scc 1133 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 1137 drivers/tty/serial/zs.c spin_lock_irqsave(&scc->zlock, flags); scc 1141 drivers/tty/serial/zs.c spin_unlock_irqrestore(&scc->zlock, flags); scc 1153 drivers/tty/serial/zs.c struct zs_scc *scc = zport->scc; scc 1159 drivers/tty/serial/zs.c spin_lock_irqsave(&scc->zlock, flags); scc 1170 drivers/tty/serial/zs.c spin_unlock_irqrestore(&scc->zlock, flags); scc 1175 drivers/tty/serial/zs.c spin_lock_irqsave(&scc->zlock, flags); scc 1190 drivers/tty/serial/zs.c spin_unlock_irqrestore(&scc->zlock, flags); scc 1282 drivers/tty/serial/zs.c struct zs_scc *scc = &zs_sccs[i / ZS_NUM_CHAN]; scc 1283 drivers/tty/serial/zs.c struct zs_port *zport = &scc->zport[i % ZS_NUM_CHAN]; scc 1286 drivers/tty/serial/zs.c if (zport->scc) scc 1298 drivers/tty/serial/zs.c struct zs_scc *scc = &zs_sccs[i / ZS_NUM_CHAN]; scc 1299 drivers/tty/serial/zs.c struct zs_port *zport = &scc->zport[i % ZS_NUM_CHAN]; scc 1302 drivers/tty/serial/zs.c if (zport->scc) scc 23 drivers/tty/serial/zs.h struct zs_scc *scc; /* Containing SCC. */