qep                85 drivers/net/ethernet/sun/sunqe.c static inline int qe_stop(struct sunqe *qep)
qep                87 drivers/net/ethernet/sun/sunqe.c 	void __iomem *cregs = qep->qcregs;
qep                88 drivers/net/ethernet/sun/sunqe.c 	void __iomem *mregs = qep->mregs;
qep               124 drivers/net/ethernet/sun/sunqe.c static void qe_init_rings(struct sunqe *qep)
qep               126 drivers/net/ethernet/sun/sunqe.c 	struct qe_init_block *qb = qep->qe_block;
qep               127 drivers/net/ethernet/sun/sunqe.c 	struct sunqe_buffers *qbufs = qep->buffers;
qep               128 drivers/net/ethernet/sun/sunqe.c 	__u32 qbufs_dvma = (__u32)qep->buffers_dvma;
qep               131 drivers/net/ethernet/sun/sunqe.c 	qep->rx_new = qep->rx_old = qep->tx_new = qep->tx_old = 0;
qep               141 drivers/net/ethernet/sun/sunqe.c static int qe_init(struct sunqe *qep, int from_irq)
qep               143 drivers/net/ethernet/sun/sunqe.c 	struct sunqec *qecp = qep->parent;
qep               144 drivers/net/ethernet/sun/sunqe.c 	void __iomem *cregs = qep->qcregs;
qep               145 drivers/net/ethernet/sun/sunqe.c 	void __iomem *mregs = qep->mregs;
qep               147 drivers/net/ethernet/sun/sunqe.c 	unsigned char *e = &qep->dev->dev_addr[0];
qep               148 drivers/net/ethernet/sun/sunqe.c 	__u32 qblk_dvma = (__u32)qep->qblock_dvma;
qep               153 drivers/net/ethernet/sun/sunqe.c 	if (qe_stop(qep))
qep               168 drivers/net/ethernet/sun/sunqe.c 	tmp = qep->channel * sbus_readl(gregs + GLOB_MSIZE);
qep               224 drivers/net/ethernet/sun/sunqe.c 	qe_init_rings(qep);
qep               241 drivers/net/ethernet/sun/sunqe.c 			printk(KERN_NOTICE "%s: Warning, link state is down.\n", qep->dev->name);
qep               250 drivers/net/ethernet/sun/sunqe.c 	qe_set_multicast(qep->dev);
qep               259 drivers/net/ethernet/sun/sunqe.c static int qe_is_bolixed(struct sunqe *qep, u32 qe_status)
qep               261 drivers/net/ethernet/sun/sunqe.c 	struct net_device *dev = qep->dev;
qep               405 drivers/net/ethernet/sun/sunqe.c 		qe_init(qep, 1);
qep               412 drivers/net/ethernet/sun/sunqe.c static void qe_rx(struct sunqe *qep)
qep               414 drivers/net/ethernet/sun/sunqe.c 	struct qe_rxd *rxbase = &qep->qe_block->qe_rxd[0];
qep               415 drivers/net/ethernet/sun/sunqe.c 	struct net_device *dev = qep->dev;
qep               417 drivers/net/ethernet/sun/sunqe.c 	struct sunqe_buffers *qbufs = qep->buffers;
qep               418 drivers/net/ethernet/sun/sunqe.c 	__u32 qbufs_dvma = (__u32)qep->buffers_dvma;
qep               419 drivers/net/ethernet/sun/sunqe.c 	int elem = qep->rx_new;
qep               447 drivers/net/ethernet/sun/sunqe.c 				skb->protocol = eth_type_trans(skb, qep->dev);
qep               459 drivers/net/ethernet/sun/sunqe.c 	qep->rx_new = elem;
qep               462 drivers/net/ethernet/sun/sunqe.c static void qe_tx_reclaim(struct sunqe *qep);
qep               478 drivers/net/ethernet/sun/sunqe.c 			struct sunqe *qep = qecp->qes[channel];
qep               481 drivers/net/ethernet/sun/sunqe.c 			qe_status = sbus_readl(qep->qcregs + CREG_STAT);
qep               483 drivers/net/ethernet/sun/sunqe.c 				if (qe_is_bolixed(qep, qe_status))
qep               487 drivers/net/ethernet/sun/sunqe.c 				qe_rx(qep);
qep               488 drivers/net/ethernet/sun/sunqe.c 			if (netif_queue_stopped(qep->dev) &&
qep               490 drivers/net/ethernet/sun/sunqe.c 				spin_lock(&qep->lock);
qep               491 drivers/net/ethernet/sun/sunqe.c 				qe_tx_reclaim(qep);
qep               492 drivers/net/ethernet/sun/sunqe.c 				if (TX_BUFFS_AVAIL(qep) > 0) {
qep               496 drivers/net/ethernet/sun/sunqe.c 					netif_wake_queue(qep->dev);
qep               497 drivers/net/ethernet/sun/sunqe.c 					sbus_writel(1, qep->qcregs + CREG_TIMASK);
qep               499 drivers/net/ethernet/sun/sunqe.c 				spin_unlock(&qep->lock);
qep               513 drivers/net/ethernet/sun/sunqe.c 	struct sunqe *qep = netdev_priv(dev);
qep               515 drivers/net/ethernet/sun/sunqe.c 	qep->mconfig = (MREGS_MCONFIG_TXENAB |
qep               518 drivers/net/ethernet/sun/sunqe.c 	return qe_init(qep, 0);
qep               523 drivers/net/ethernet/sun/sunqe.c 	struct sunqe *qep = netdev_priv(dev);
qep               525 drivers/net/ethernet/sun/sunqe.c 	qe_stop(qep);
qep               532 drivers/net/ethernet/sun/sunqe.c static void qe_tx_reclaim(struct sunqe *qep)
qep               534 drivers/net/ethernet/sun/sunqe.c 	struct qe_txd *txbase = &qep->qe_block->qe_txd[0];
qep               535 drivers/net/ethernet/sun/sunqe.c 	int elem = qep->tx_old;
qep               537 drivers/net/ethernet/sun/sunqe.c 	while (elem != qep->tx_new) {
qep               544 drivers/net/ethernet/sun/sunqe.c 	qep->tx_old = elem;
qep               549 drivers/net/ethernet/sun/sunqe.c 	struct sunqe *qep = netdev_priv(dev);
qep               552 drivers/net/ethernet/sun/sunqe.c 	spin_lock_irq(&qep->lock);
qep               557 drivers/net/ethernet/sun/sunqe.c 	qe_tx_reclaim(qep);
qep               558 drivers/net/ethernet/sun/sunqe.c 	tx_full = TX_BUFFS_AVAIL(qep) <= 0;
qep               560 drivers/net/ethernet/sun/sunqe.c 	spin_unlock_irq(&qep->lock);
qep               566 drivers/net/ethernet/sun/sunqe.c 	qe_init(qep, 1);
qep               575 drivers/net/ethernet/sun/sunqe.c 	struct sunqe *qep = netdev_priv(dev);
qep               576 drivers/net/ethernet/sun/sunqe.c 	struct sunqe_buffers *qbufs = qep->buffers;
qep               577 drivers/net/ethernet/sun/sunqe.c 	__u32 txbuf_dvma, qbufs_dvma = (__u32)qep->buffers_dvma;
qep               581 drivers/net/ethernet/sun/sunqe.c 	spin_lock_irq(&qep->lock);
qep               583 drivers/net/ethernet/sun/sunqe.c 	qe_tx_reclaim(qep);
qep               586 drivers/net/ethernet/sun/sunqe.c 	entry = qep->tx_new;
qep               593 drivers/net/ethernet/sun/sunqe.c 	qep->qe_block->qe_txd[entry].tx_flags = TXD_UPDATE;
qep               597 drivers/net/ethernet/sun/sunqe.c 	qep->qe_block->qe_txd[entry].tx_addr = txbuf_dvma;
qep               598 drivers/net/ethernet/sun/sunqe.c 	qep->qe_block->qe_txd[entry].tx_flags =
qep               600 drivers/net/ethernet/sun/sunqe.c 	qep->tx_new = NEXT_TX(entry);
qep               603 drivers/net/ethernet/sun/sunqe.c 	sbus_writel(CREG_CTRL_TWAKEUP, qep->qcregs + CREG_CTRL);
qep               608 drivers/net/ethernet/sun/sunqe.c 	if (TX_BUFFS_AVAIL(qep) <= 0) {
qep               615 drivers/net/ethernet/sun/sunqe.c 		sbus_writel(0, qep->qcregs + CREG_TIMASK);
qep               617 drivers/net/ethernet/sun/sunqe.c 	spin_unlock_irq(&qep->lock);
qep               626 drivers/net/ethernet/sun/sunqe.c 	struct sunqe *qep = netdev_priv(dev);
qep               628 drivers/net/ethernet/sun/sunqe.c 	u8 new_mconfig = qep->mconfig;
qep               637 drivers/net/ethernet/sun/sunqe.c 			    qep->mregs + MREGS_IACONFIG);
qep               638 drivers/net/ethernet/sun/sunqe.c 		while ((sbus_readb(qep->mregs + MREGS_IACONFIG) & MREGS_IACONFIG_ACHNGE) != 0)
qep               641 drivers/net/ethernet/sun/sunqe.c 			sbus_writeb(0xff, qep->mregs + MREGS_FILTER);
qep               642 drivers/net/ethernet/sun/sunqe.c 		sbus_writeb(0, qep->mregs + MREGS_IACONFIG);
qep               657 drivers/net/ethernet/sun/sunqe.c 			    qep->mregs + MREGS_IACONFIG);
qep               658 drivers/net/ethernet/sun/sunqe.c 		while ((sbus_readb(qep->mregs + MREGS_IACONFIG) & MREGS_IACONFIG_ACHNGE) != 0)
qep               662 drivers/net/ethernet/sun/sunqe.c 			sbus_writeb(tmp, qep->mregs + MREGS_FILTER);
qep               664 drivers/net/ethernet/sun/sunqe.c 		sbus_writeb(0, qep->mregs + MREGS_IACONFIG);
qep               673 drivers/net/ethernet/sun/sunqe.c 	qep->mconfig = new_mconfig;
qep               674 drivers/net/ethernet/sun/sunqe.c 	sbus_writeb(qep->mconfig, qep->mregs + MREGS_MCONFIG);
qep               684 drivers/net/ethernet/sun/sunqe.c 	struct sunqe *qep = netdev_priv(dev);
qep               690 drivers/net/ethernet/sun/sunqe.c 	op = qep->op;
qep               700 drivers/net/ethernet/sun/sunqe.c 	struct sunqe *qep = netdev_priv(dev);
qep               701 drivers/net/ethernet/sun/sunqe.c 	void __iomem *mregs = qep->mregs;
qep               704 drivers/net/ethernet/sun/sunqe.c 	spin_lock_irq(&qep->lock);
qep               706 drivers/net/ethernet/sun/sunqe.c 	spin_unlock_irq(&qep->lock);