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