jme                49 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme                53 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_SMI, SMI_OP_REQ |
jme                60 drivers/net/ethernet/jme.c 		val = jread32(jme, JME_SMI);
jme                80 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme                83 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_SMI, SMI_OP_WRITE | SMI_OP_REQ |
jme                90 drivers/net/ethernet/jme.c 		if ((jread32(jme, JME_SMI) & SMI_OP_REQ) == 0)
jme                99 drivers/net/ethernet/jme.c jme_reset_phy_processor(struct jme_adapter *jme)
jme               103 drivers/net/ethernet/jme.c 	jme_mdio_write(jme->dev,
jme               104 drivers/net/ethernet/jme.c 			jme->mii_if.phy_id,
jme               108 drivers/net/ethernet/jme.c 	if (jme->pdev->device == PCI_DEVICE_ID_JMICRON_JMC250)
jme               109 drivers/net/ethernet/jme.c 		jme_mdio_write(jme->dev,
jme               110 drivers/net/ethernet/jme.c 				jme->mii_if.phy_id,
jme               114 drivers/net/ethernet/jme.c 	val = jme_mdio_read(jme->dev,
jme               115 drivers/net/ethernet/jme.c 				jme->mii_if.phy_id,
jme               118 drivers/net/ethernet/jme.c 	jme_mdio_write(jme->dev,
jme               119 drivers/net/ethernet/jme.c 			jme->mii_if.phy_id,
jme               124 drivers/net/ethernet/jme.c jme_setup_wakeup_frame(struct jme_adapter *jme,
jme               132 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_WFOI, WFOI_CRC_SEL | (fnr & WFOI_FRAME_SEL));
jme               134 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_WFODP, crc);
jme               141 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_WFOI,
jme               145 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_WFODP, mask[i]);
jme               151 drivers/net/ethernet/jme.c jme_mac_rxclk_off(struct jme_adapter *jme)
jme               153 drivers/net/ethernet/jme.c 	jme->reg_gpreg1 |= GPREG1_RXCLKOFF;
jme               154 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_GPREG1, jme->reg_gpreg1);
jme               158 drivers/net/ethernet/jme.c jme_mac_rxclk_on(struct jme_adapter *jme)
jme               160 drivers/net/ethernet/jme.c 	jme->reg_gpreg1 &= ~GPREG1_RXCLKOFF;
jme               161 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_GPREG1, jme->reg_gpreg1);
jme               165 drivers/net/ethernet/jme.c jme_mac_txclk_off(struct jme_adapter *jme)
jme               167 drivers/net/ethernet/jme.c 	jme->reg_ghc &= ~(GHC_TO_CLK_SRC | GHC_TXMAC_CLK_SRC);
jme               168 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_GHC, jme->reg_ghc);
jme               172 drivers/net/ethernet/jme.c jme_mac_txclk_on(struct jme_adapter *jme)
jme               174 drivers/net/ethernet/jme.c 	u32 speed = jme->reg_ghc & GHC_SPEED;
jme               176 drivers/net/ethernet/jme.c 		jme->reg_ghc |= GHC_TO_CLK_GPHY | GHC_TXMAC_CLK_GPHY;
jme               178 drivers/net/ethernet/jme.c 		jme->reg_ghc |= GHC_TO_CLK_PCIE | GHC_TXMAC_CLK_PCIE;
jme               179 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_GHC, jme->reg_ghc);
jme               183 drivers/net/ethernet/jme.c jme_reset_ghc_speed(struct jme_adapter *jme)
jme               185 drivers/net/ethernet/jme.c 	jme->reg_ghc &= ~(GHC_SPEED | GHC_DPX);
jme               186 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_GHC, jme->reg_ghc);
jme               190 drivers/net/ethernet/jme.c jme_reset_250A2_workaround(struct jme_adapter *jme)
jme               192 drivers/net/ethernet/jme.c 	jme->reg_gpreg1 &= ~(GPREG1_HALFMODEPATCH |
jme               194 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_GPREG1, jme->reg_gpreg1);
jme               198 drivers/net/ethernet/jme.c jme_assert_ghc_reset(struct jme_adapter *jme)
jme               200 drivers/net/ethernet/jme.c 	jme->reg_ghc |= GHC_SWRST;
jme               201 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_GHC, jme->reg_ghc);
jme               205 drivers/net/ethernet/jme.c jme_clear_ghc_reset(struct jme_adapter *jme)
jme               207 drivers/net/ethernet/jme.c 	jme->reg_ghc &= ~GHC_SWRST;
jme               208 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_GHC, jme->reg_ghc);
jme               212 drivers/net/ethernet/jme.c jme_reset_mac_processor(struct jme_adapter *jme)
jme               219 drivers/net/ethernet/jme.c 	jme_reset_ghc_speed(jme);
jme               220 drivers/net/ethernet/jme.c 	jme_reset_250A2_workaround(jme);
jme               222 drivers/net/ethernet/jme.c 	jme_mac_rxclk_on(jme);
jme               223 drivers/net/ethernet/jme.c 	jme_mac_txclk_on(jme);
jme               225 drivers/net/ethernet/jme.c 	jme_assert_ghc_reset(jme);
jme               227 drivers/net/ethernet/jme.c 	jme_mac_rxclk_off(jme);
jme               228 drivers/net/ethernet/jme.c 	jme_mac_txclk_off(jme);
jme               230 drivers/net/ethernet/jme.c 	jme_clear_ghc_reset(jme);
jme               232 drivers/net/ethernet/jme.c 	jme_mac_rxclk_on(jme);
jme               233 drivers/net/ethernet/jme.c 	jme_mac_txclk_on(jme);
jme               235 drivers/net/ethernet/jme.c 	jme_mac_rxclk_off(jme);
jme               236 drivers/net/ethernet/jme.c 	jme_mac_txclk_off(jme);
jme               238 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXDBA_LO, 0x00000000);
jme               239 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXDBA_HI, 0x00000000);
jme               240 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXQDC, 0x00000000);
jme               241 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXNDA, 0x00000000);
jme               242 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_TXDBA_LO, 0x00000000);
jme               243 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_TXDBA_HI, 0x00000000);
jme               244 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_TXQDC, 0x00000000);
jme               245 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_TXNDA, 0x00000000);
jme               247 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXMCHT_LO, 0x00000000);
jme               248 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXMCHT_HI, 0x00000000);
jme               250 drivers/net/ethernet/jme.c 		jme_setup_wakeup_frame(jme, mask, crc, i);
jme               251 drivers/net/ethernet/jme.c 	if (jme->fpgaver)
jme               255 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_GPREG0, gpreg0);
jme               259 drivers/net/ethernet/jme.c jme_clear_pm_enable_wol(struct jme_adapter *jme)
jme               261 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_PMCS, PMCS_STMASK | jme->reg_pmcs);
jme               265 drivers/net/ethernet/jme.c jme_clear_pm_disable_wol(struct jme_adapter *jme)
jme               267 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_PMCS, PMCS_STMASK);
jme               271 drivers/net/ethernet/jme.c jme_reload_eeprom(struct jme_adapter *jme)
jme               276 drivers/net/ethernet/jme.c 	val = jread32(jme, JME_SMBCSR);
jme               280 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_SMBCSR, val);
jme               282 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_SMBCSR, val);
jme               287 drivers/net/ethernet/jme.c 			if ((jread32(jme, JME_SMBCSR) & SMBCSR_RELOAD) == 0)
jme               303 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme               307 drivers/net/ethernet/jme.c 	spin_lock_bh(&jme->macaddr_lock);
jme               308 drivers/net/ethernet/jme.c 	val = jread32(jme, JME_RXUMA_LO);
jme               313 drivers/net/ethernet/jme.c 	val = jread32(jme, JME_RXUMA_HI);
jme               317 drivers/net/ethernet/jme.c 	spin_unlock_bh(&jme->macaddr_lock);
jme               321 drivers/net/ethernet/jme.c jme_set_rx_pcc(struct jme_adapter *jme, int p)
jme               325 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_PCCRX0,
jme               330 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_PCCRX0,
jme               335 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_PCCRX0,
jme               340 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_PCCRX0,
jme               349 drivers/net/ethernet/jme.c 	if (!(test_bit(JME_FLAG_POLL, &jme->flags)))
jme               350 drivers/net/ethernet/jme.c 		netif_info(jme, rx_status, jme->dev, "Switched to PCC_P%d\n", p);
jme               354 drivers/net/ethernet/jme.c jme_start_irq(struct jme_adapter *jme)
jme               356 drivers/net/ethernet/jme.c 	register struct dynpcc_info *dpi = &(jme->dpi);
jme               358 drivers/net/ethernet/jme.c 	jme_set_rx_pcc(jme, PCC_P1);
jme               363 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_PCCTX,
jme               372 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_IENS, INTR_ENABLE);
jme               376 drivers/net/ethernet/jme.c jme_stop_irq(struct jme_adapter *jme)
jme               381 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_IENC, INTR_ENABLE);
jme               385 drivers/net/ethernet/jme.c jme_linkstat_from_phy(struct jme_adapter *jme)
jme               389 drivers/net/ethernet/jme.c 	phylink = jme_mdio_read(jme->dev, jme->mii_if.phy_id, 17);
jme               390 drivers/net/ethernet/jme.c 	bmsr = jme_mdio_read(jme->dev, jme->mii_if.phy_id, MII_BMSR);
jme               398 drivers/net/ethernet/jme.c jme_set_phyfifo_5level(struct jme_adapter *jme)
jme               400 drivers/net/ethernet/jme.c 	jme_mdio_write(jme->dev, jme->mii_if.phy_id, 27, 0x0004);
jme               404 drivers/net/ethernet/jme.c jme_set_phyfifo_8level(struct jme_adapter *jme)
jme               406 drivers/net/ethernet/jme.c 	jme_mdio_write(jme->dev, jme->mii_if.phy_id, 27, 0x0000);
jme               412 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme               419 drivers/net/ethernet/jme.c 	if (jme->fpgaver)
jme               420 drivers/net/ethernet/jme.c 		phylink = jme_linkstat_from_phy(jme);
jme               422 drivers/net/ethernet/jme.c 		phylink = jread32(jme, JME_PHY_LINK);
jme               432 drivers/net/ethernet/jme.c 			bmcr = jme_mdio_read(jme->dev,
jme               433 drivers/net/ethernet/jme.c 						jme->mii_if.phy_id,
jme               456 drivers/net/ethernet/jme.c 				if (jme->fpgaver)
jme               457 drivers/net/ethernet/jme.c 					phylink = jme_linkstat_from_phy(jme);
jme               459 drivers/net/ethernet/jme.c 					phylink = jread32(jme, JME_PHY_LINK);
jme               467 drivers/net/ethernet/jme.c 		if (jme->phylink == phylink) {
jme               474 drivers/net/ethernet/jme.c 		jme->phylink = phylink;
jme               482 drivers/net/ethernet/jme.c 			jme->reg_ghc |= GHC_SPEED_10M;
jme               486 drivers/net/ethernet/jme.c 			jme->reg_ghc |= GHC_SPEED_100M;
jme               490 drivers/net/ethernet/jme.c 			jme->reg_ghc |= GHC_SPEED_1000M;
jme               498 drivers/net/ethernet/jme.c 			jwrite32(jme, JME_TXMCS, TXMCS_DEFAULT);
jme               499 drivers/net/ethernet/jme.c 			jwrite32(jme, JME_TXTRHD, TXTRHD_FULLDUPLEX);
jme               500 drivers/net/ethernet/jme.c 			jme->reg_ghc |= GHC_DPX;
jme               502 drivers/net/ethernet/jme.c 			jwrite32(jme, JME_TXMCS, TXMCS_DEFAULT |
jme               506 drivers/net/ethernet/jme.c 			jwrite32(jme, JME_TXTRHD, TXTRHD_HALFDUPLEX);
jme               509 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_GHC, jme->reg_ghc);
jme               511 drivers/net/ethernet/jme.c 		if (is_buggy250(jme->pdev->device, jme->chiprev)) {
jme               512 drivers/net/ethernet/jme.c 			jme->reg_gpreg1 &= ~(GPREG1_HALFMODEPATCH |
jme               515 drivers/net/ethernet/jme.c 				jme->reg_gpreg1 |= GPREG1_HALFMODEPATCH;
jme               518 drivers/net/ethernet/jme.c 				jme_set_phyfifo_8level(jme);
jme               519 drivers/net/ethernet/jme.c 				jme->reg_gpreg1 |= GPREG1_RSSPATCH;
jme               522 drivers/net/ethernet/jme.c 				jme_set_phyfifo_5level(jme);
jme               523 drivers/net/ethernet/jme.c 				jme->reg_gpreg1 |= GPREG1_RSSPATCH;
jme               526 drivers/net/ethernet/jme.c 				jme_set_phyfifo_8level(jme);
jme               532 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_GPREG1, jme->reg_gpreg1);
jme               540 drivers/net/ethernet/jme.c 		netif_info(jme, link, jme->dev, "Link is up at %s\n", linkmsg);
jme               546 drivers/net/ethernet/jme.c 		netif_info(jme, link, jme->dev, "Link is down\n");
jme               547 drivers/net/ethernet/jme.c 		jme->phylink = 0;
jme               556 drivers/net/ethernet/jme.c jme_setup_tx_resources(struct jme_adapter *jme)
jme               558 drivers/net/ethernet/jme.c 	struct jme_ring *txring = &(jme->txring[0]);
jme               560 drivers/net/ethernet/jme.c 	txring->alloc = dma_alloc_coherent(&(jme->pdev->dev),
jme               561 drivers/net/ethernet/jme.c 				   TX_RING_ALLOC_SIZE(jme->tx_ring_size),
jme               576 drivers/net/ethernet/jme.c 	atomic_set(&txring->nr_free, jme->tx_ring_size);
jme               578 drivers/net/ethernet/jme.c 	txring->bufinf		= kcalloc(jme->tx_ring_size,
jme               587 drivers/net/ethernet/jme.c 	dma_free_coherent(&(jme->pdev->dev),
jme               588 drivers/net/ethernet/jme.c 			  TX_RING_ALLOC_SIZE(jme->tx_ring_size),
jme               602 drivers/net/ethernet/jme.c jme_free_tx_resources(struct jme_adapter *jme)
jme               605 drivers/net/ethernet/jme.c 	struct jme_ring *txring = &(jme->txring[0]);
jme               610 drivers/net/ethernet/jme.c 			for (i = 0 ; i < jme->tx_ring_size ; ++i) {
jme               624 drivers/net/ethernet/jme.c 		dma_free_coherent(&(jme->pdev->dev),
jme               625 drivers/net/ethernet/jme.c 				  TX_RING_ALLOC_SIZE(jme->tx_ring_size),
jme               641 drivers/net/ethernet/jme.c jme_enable_tx_engine(struct jme_adapter *jme)
jme               646 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_TXCS, TXCS_DEFAULT | TXCS_SELECT_QUEUE0);
jme               652 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_TXDBA_LO, (__u64)jme->txring[0].dma & 0xFFFFFFFFUL);
jme               653 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_TXDBA_HI, (__u64)(jme->txring[0].dma) >> 32);
jme               654 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_TXNDA, (__u64)jme->txring[0].dma & 0xFFFFFFFFUL);
jme               659 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_TXQDC, jme->tx_ring_size);
jme               665 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_TXCS, jme->reg_txcs |
jme               672 drivers/net/ethernet/jme.c 	jme_mac_txclk_on(jme);
jme               676 drivers/net/ethernet/jme.c jme_disable_tx_engine(struct jme_adapter *jme)
jme               684 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_TXCS, jme->reg_txcs | TXCS_SELECT_QUEUE0);
jme               687 drivers/net/ethernet/jme.c 	val = jread32(jme, JME_TXCS);
jme               690 drivers/net/ethernet/jme.c 		val = jread32(jme, JME_TXCS);
jme               700 drivers/net/ethernet/jme.c 	jme_mac_txclk_off(jme);
jme               704 drivers/net/ethernet/jme.c jme_set_clean_rxdesc(struct jme_adapter *jme, int i)
jme               706 drivers/net/ethernet/jme.c 	struct jme_ring *rxring = &(jme->rxring[0]);
jme               718 drivers/net/ethernet/jme.c 	if (jme->dev->features & NETIF_F_HIGHDMA)
jme               725 drivers/net/ethernet/jme.c jme_make_new_rx_buf(struct jme_adapter *jme, int i)
jme               727 drivers/net/ethernet/jme.c 	struct jme_ring *rxring = &(jme->rxring[0]);
jme               732 drivers/net/ethernet/jme.c 	skb = netdev_alloc_skb(jme->dev,
jme               733 drivers/net/ethernet/jme.c 		jme->dev->mtu + RX_EXTRA_LEN);
jme               737 drivers/net/ethernet/jme.c 	mapping = pci_map_page(jme->pdev, virt_to_page(skb->data),
jme               740 drivers/net/ethernet/jme.c 	if (unlikely(pci_dma_mapping_error(jme->pdev, mapping))) {
jme               746 drivers/net/ethernet/jme.c 		pci_unmap_page(jme->pdev, rxbi->mapping,
jme               756 drivers/net/ethernet/jme.c jme_free_rx_buf(struct jme_adapter *jme, int i)
jme               758 drivers/net/ethernet/jme.c 	struct jme_ring *rxring = &(jme->rxring[0]);
jme               763 drivers/net/ethernet/jme.c 		pci_unmap_page(jme->pdev,
jme               775 drivers/net/ethernet/jme.c jme_free_rx_resources(struct jme_adapter *jme)
jme               778 drivers/net/ethernet/jme.c 	struct jme_ring *rxring = &(jme->rxring[0]);
jme               782 drivers/net/ethernet/jme.c 			for (i = 0 ; i < jme->rx_ring_size ; ++i)
jme               783 drivers/net/ethernet/jme.c 				jme_free_rx_buf(jme, i);
jme               787 drivers/net/ethernet/jme.c 		dma_free_coherent(&(jme->pdev->dev),
jme               788 drivers/net/ethernet/jme.c 				  RX_RING_ALLOC_SIZE(jme->rx_ring_size),
jme               802 drivers/net/ethernet/jme.c jme_setup_rx_resources(struct jme_adapter *jme)
jme               805 drivers/net/ethernet/jme.c 	struct jme_ring *rxring = &(jme->rxring[0]);
jme               807 drivers/net/ethernet/jme.c 	rxring->alloc = dma_alloc_coherent(&(jme->pdev->dev),
jme               808 drivers/net/ethernet/jme.c 				   RX_RING_ALLOC_SIZE(jme->rx_ring_size),
jme               823 drivers/net/ethernet/jme.c 	rxring->bufinf		= kcalloc(jme->rx_ring_size,
jme               832 drivers/net/ethernet/jme.c 	for (i = 0 ; i < jme->rx_ring_size ; ++i) {
jme               833 drivers/net/ethernet/jme.c 		if (unlikely(jme_make_new_rx_buf(jme, i))) {
jme               834 drivers/net/ethernet/jme.c 			jme_free_rx_resources(jme);
jme               838 drivers/net/ethernet/jme.c 		jme_set_clean_rxdesc(jme, i);
jme               844 drivers/net/ethernet/jme.c 	dma_free_coherent(&(jme->pdev->dev),
jme               845 drivers/net/ethernet/jme.c 			  RX_RING_ALLOC_SIZE(jme->rx_ring_size),
jme               858 drivers/net/ethernet/jme.c jme_enable_rx_engine(struct jme_adapter *jme)
jme               863 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXCS, jme->reg_rxcs |
jme               870 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXDBA_LO, (__u64)(jme->rxring[0].dma) & 0xFFFFFFFFUL);
jme               871 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXDBA_HI, (__u64)(jme->rxring[0].dma) >> 32);
jme               872 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXNDA, (__u64)(jme->rxring[0].dma) & 0xFFFFFFFFUL);
jme               877 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXQDC, jme->rx_ring_size);
jme               882 drivers/net/ethernet/jme.c 	jme_set_unicastaddr(jme->dev);
jme               883 drivers/net/ethernet/jme.c 	jme_set_multi(jme->dev);
jme               889 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_RXCS, jme->reg_rxcs |
jme               897 drivers/net/ethernet/jme.c 	jme_mac_rxclk_on(jme);
jme               901 drivers/net/ethernet/jme.c jme_restart_rx_engine(struct jme_adapter *jme)
jme               906 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXCS, jme->reg_rxcs |
jme               913 drivers/net/ethernet/jme.c jme_disable_rx_engine(struct jme_adapter *jme)
jme               921 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXCS, jme->reg_rxcs);
jme               924 drivers/net/ethernet/jme.c 	val = jread32(jme, JME_RXCS);
jme               927 drivers/net/ethernet/jme.c 		val = jread32(jme, JME_RXCS);
jme               937 drivers/net/ethernet/jme.c 	jme_mac_rxclk_off(jme);
jme               967 drivers/net/ethernet/jme.c jme_rxsum_ok(struct jme_adapter *jme, u16 flags, struct sk_buff *skb)
jme               975 drivers/net/ethernet/jme.c 			netif_err(jme, rx_err, jme->dev, "TCP Checksum error\n");
jme               982 drivers/net/ethernet/jme.c 			netif_err(jme, rx_err, jme->dev, "UDP Checksum error\n");
jme               988 drivers/net/ethernet/jme.c 		netif_err(jme, rx_err, jme->dev, "IPv4 Checksum error\n");
jme               996 drivers/net/ethernet/jme.c jme_alloc_and_feed_skb(struct jme_adapter *jme, int idx)
jme               998 drivers/net/ethernet/jme.c 	struct jme_ring *rxring = &(jme->rxring[0]);
jme              1008 drivers/net/ethernet/jme.c 	pci_dma_sync_single_for_cpu(jme->pdev,
jme              1013 drivers/net/ethernet/jme.c 	if (unlikely(jme_make_new_rx_buf(jme, idx))) {
jme              1014 drivers/net/ethernet/jme.c 		pci_dma_sync_single_for_device(jme->pdev,
jme              1019 drivers/net/ethernet/jme.c 		++(NET_STAT(jme).rx_dropped);
jme              1026 drivers/net/ethernet/jme.c 		skb->protocol = eth_type_trans(skb, jme->dev);
jme              1028 drivers/net/ethernet/jme.c 		if (jme_rxsum_ok(jme, le16_to_cpu(rxdesc->descwb.flags), skb))
jme              1037 drivers/net/ethernet/jme.c 			NET_STAT(jme).rx_bytes += 4;
jme              1039 drivers/net/ethernet/jme.c 		jme->jme_rx(skb);
jme              1043 drivers/net/ethernet/jme.c 			++(NET_STAT(jme).multicast);
jme              1045 drivers/net/ethernet/jme.c 		NET_STAT(jme).rx_bytes += framesize;
jme              1046 drivers/net/ethernet/jme.c 		++(NET_STAT(jme).rx_packets);
jme              1049 drivers/net/ethernet/jme.c 	jme_set_clean_rxdesc(jme, idx);
jme              1054 drivers/net/ethernet/jme.c jme_process_receive(struct jme_adapter *jme, int limit)
jme              1056 drivers/net/ethernet/jme.c 	struct jme_ring *rxring = &(jme->rxring[0]);
jme              1058 drivers/net/ethernet/jme.c 	int i, j, ccnt, desccnt, mask = jme->rx_ring_mask;
jme              1060 drivers/net/ethernet/jme.c 	if (unlikely(!atomic_dec_and_test(&jme->rx_cleaning)))
jme              1063 drivers/net/ethernet/jme.c 	if (unlikely(atomic_read(&jme->link_changing) != 1))
jme              1066 drivers/net/ethernet/jme.c 	if (unlikely(!netif_carrier_ok(jme->dev)))
jme              1086 drivers/net/ethernet/jme.c 				++(NET_STAT(jme).rx_crc_errors);
jme              1088 drivers/net/ethernet/jme.c 				++(NET_STAT(jme).rx_fifo_errors);
jme              1090 drivers/net/ethernet/jme.c 				++(NET_STAT(jme).rx_errors);
jme              1096 drivers/net/ethernet/jme.c 				jme_set_clean_rxdesc(jme, j);
jme              1101 drivers/net/ethernet/jme.c 			jme_alloc_and_feed_skb(jme, i);
jme              1111 drivers/net/ethernet/jme.c 	atomic_inc(&jme->rx_cleaning);
jme              1135 drivers/net/ethernet/jme.c jme_dynamic_pcc(struct jme_adapter *jme)
jme              1137 drivers/net/ethernet/jme.c 	register struct dynpcc_info *dpi = &(jme->dpi);
jme              1139 drivers/net/ethernet/jme.c 	if ((NET_STAT(jme).rx_bytes - dpi->last_bytes) > PCC_P3_THRESHOLD)
jme              1141 drivers/net/ethernet/jme.c 	else if ((NET_STAT(jme).rx_packets - dpi->last_pkts) > PCC_P2_THRESHOLD ||
jme              1149 drivers/net/ethernet/jme.c 			tasklet_schedule(&jme->rxclean_task);
jme              1150 drivers/net/ethernet/jme.c 		jme_set_rx_pcc(jme, dpi->attempt);
jme              1157 drivers/net/ethernet/jme.c jme_start_pcc_timer(struct jme_adapter *jme)
jme              1159 drivers/net/ethernet/jme.c 	struct dynpcc_info *dpi = &(jme->dpi);
jme              1160 drivers/net/ethernet/jme.c 	dpi->last_bytes		= NET_STAT(jme).rx_bytes;
jme              1161 drivers/net/ethernet/jme.c 	dpi->last_pkts		= NET_STAT(jme).rx_packets;
jme              1163 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_TMCSR,
jme              1168 drivers/net/ethernet/jme.c jme_stop_pcc_timer(struct jme_adapter *jme)
jme              1170 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_TMCSR, 0);
jme              1174 drivers/net/ethernet/jme.c jme_shutdown_nic(struct jme_adapter *jme)
jme              1178 drivers/net/ethernet/jme.c 	phylink = jme_linkstat_from_phy(jme);
jme              1184 drivers/net/ethernet/jme.c 		jme_stop_irq(jme);
jme              1185 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_TIMER2, TMCSR_EN | 0xFFFFFE);
jme              1192 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = (struct jme_adapter *)arg;
jme              1193 drivers/net/ethernet/jme.c 	struct net_device *netdev = jme->dev;
jme              1195 drivers/net/ethernet/jme.c 	if (unlikely(test_bit(JME_FLAG_SHUTDOWN, &jme->flags))) {
jme              1196 drivers/net/ethernet/jme.c 		jme_shutdown_nic(jme);
jme              1201 drivers/net/ethernet/jme.c 		(atomic_read(&jme->link_changing) != 1)
jme              1203 drivers/net/ethernet/jme.c 		jme_stop_pcc_timer(jme);
jme              1207 drivers/net/ethernet/jme.c 	if (!(test_bit(JME_FLAG_POLL, &jme->flags)))
jme              1208 drivers/net/ethernet/jme.c 		jme_dynamic_pcc(jme);
jme              1210 drivers/net/ethernet/jme.c 	jme_start_pcc_timer(jme);
jme              1214 drivers/net/ethernet/jme.c jme_polling_mode(struct jme_adapter *jme)
jme              1216 drivers/net/ethernet/jme.c 	jme_set_rx_pcc(jme, PCC_OFF);
jme              1220 drivers/net/ethernet/jme.c jme_interrupt_mode(struct jme_adapter *jme)
jme              1222 drivers/net/ethernet/jme.c 	jme_set_rx_pcc(jme, PCC_P1);
jme              1226 drivers/net/ethernet/jme.c jme_pseudo_hotplug_enabled(struct jme_adapter *jme)
jme              1229 drivers/net/ethernet/jme.c 	apmc = jread32(jme, JME_APMC);
jme              1234 drivers/net/ethernet/jme.c jme_start_shutdown_timer(struct jme_adapter *jme)
jme              1238 drivers/net/ethernet/jme.c 	apmc = jread32(jme, JME_APMC) | JME_APMC_PCIE_SD_EN;
jme              1241 drivers/net/ethernet/jme.c 		jwrite32f(jme, JME_APMC, apmc | JME_APMC_EPIEN_CTRL_EN);
jme              1244 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_APMC, apmc);
jme              1246 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_TIMER2, 0);
jme              1247 drivers/net/ethernet/jme.c 	set_bit(JME_FLAG_SHUTDOWN, &jme->flags);
jme              1248 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_TMCSR,
jme              1253 drivers/net/ethernet/jme.c jme_stop_shutdown_timer(struct jme_adapter *jme)
jme              1257 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_TMCSR, 0);
jme              1258 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_TIMER2, 0);
jme              1259 drivers/net/ethernet/jme.c 	clear_bit(JME_FLAG_SHUTDOWN, &jme->flags);
jme              1261 drivers/net/ethernet/jme.c 	apmc = jread32(jme, JME_APMC);
jme              1263 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_APMC, apmc | JME_APMC_EPIEN_CTRL_DIS);
jme              1265 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_APMC, apmc);
jme              1271 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = (struct jme_adapter *)arg;
jme              1272 drivers/net/ethernet/jme.c 	struct net_device *netdev = jme->dev;
jme              1275 drivers/net/ethernet/jme.c 	while (!atomic_dec_and_test(&jme->link_changing)) {
jme              1276 drivers/net/ethernet/jme.c 		atomic_inc(&jme->link_changing);
jme              1277 drivers/net/ethernet/jme.c 		netif_info(jme, intr, jme->dev, "Get link change lock failed\n");
jme              1278 drivers/net/ethernet/jme.c 		while (atomic_read(&jme->link_changing) != 1)
jme              1279 drivers/net/ethernet/jme.c 			netif_info(jme, intr, jme->dev, "Waiting link change lock\n");
jme              1282 drivers/net/ethernet/jme.c 	if (jme_check_link(netdev, 1) && jme->old_mtu == netdev->mtu)
jme              1285 drivers/net/ethernet/jme.c 	jme->old_mtu = netdev->mtu;
jme              1287 drivers/net/ethernet/jme.c 	if (jme_pseudo_hotplug_enabled(jme))
jme              1288 drivers/net/ethernet/jme.c 		jme_stop_shutdown_timer(jme);
jme              1290 drivers/net/ethernet/jme.c 	jme_stop_pcc_timer(jme);
jme              1291 drivers/net/ethernet/jme.c 	tasklet_disable(&jme->txclean_task);
jme              1292 drivers/net/ethernet/jme.c 	tasklet_disable(&jme->rxclean_task);
jme              1293 drivers/net/ethernet/jme.c 	tasklet_disable(&jme->rxempty_task);
jme              1296 drivers/net/ethernet/jme.c 		jme_disable_rx_engine(jme);
jme              1297 drivers/net/ethernet/jme.c 		jme_disable_tx_engine(jme);
jme              1298 drivers/net/ethernet/jme.c 		jme_reset_mac_processor(jme);
jme              1299 drivers/net/ethernet/jme.c 		jme_free_rx_resources(jme);
jme              1300 drivers/net/ethernet/jme.c 		jme_free_tx_resources(jme);
jme              1302 drivers/net/ethernet/jme.c 		if (test_bit(JME_FLAG_POLL, &jme->flags))
jme              1303 drivers/net/ethernet/jme.c 			jme_polling_mode(jme);
jme              1310 drivers/net/ethernet/jme.c 		rc = jme_setup_rx_resources(jme);
jme              1316 drivers/net/ethernet/jme.c 		rc = jme_setup_tx_resources(jme);
jme              1322 drivers/net/ethernet/jme.c 		jme_enable_rx_engine(jme);
jme              1323 drivers/net/ethernet/jme.c 		jme_enable_tx_engine(jme);
jme              1327 drivers/net/ethernet/jme.c 		if (test_bit(JME_FLAG_POLL, &jme->flags))
jme              1328 drivers/net/ethernet/jme.c 			jme_interrupt_mode(jme);
jme              1330 drivers/net/ethernet/jme.c 		jme_start_pcc_timer(jme);
jme              1331 drivers/net/ethernet/jme.c 	} else if (jme_pseudo_hotplug_enabled(jme)) {
jme              1332 drivers/net/ethernet/jme.c 		jme_start_shutdown_timer(jme);
jme              1338 drivers/net/ethernet/jme.c 	jme_free_rx_resources(jme);
jme              1340 drivers/net/ethernet/jme.c 	tasklet_enable(&jme->txclean_task);
jme              1341 drivers/net/ethernet/jme.c 	tasklet_enable(&jme->rxclean_task);
jme              1342 drivers/net/ethernet/jme.c 	tasklet_enable(&jme->rxempty_task);
jme              1344 drivers/net/ethernet/jme.c 	atomic_inc(&jme->link_changing);
jme              1350 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = (struct jme_adapter *)arg;
jme              1351 drivers/net/ethernet/jme.c 	struct dynpcc_info *dpi = &(jme->dpi);
jme              1353 drivers/net/ethernet/jme.c 	jme_process_receive(jme, jme->rx_ring_size);
jme              1361 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = jme_napi_priv(holder);
jme              1364 drivers/net/ethernet/jme.c 	rest = jme_process_receive(jme, JME_NAPI_WEIGHT_VAL(budget));
jme              1366 drivers/net/ethernet/jme.c 	while (atomic_read(&jme->rx_empty) > 0) {
jme              1367 drivers/net/ethernet/jme.c 		atomic_dec(&jme->rx_empty);
jme              1368 drivers/net/ethernet/jme.c 		++(NET_STAT(jme).rx_dropped);
jme              1369 drivers/net/ethernet/jme.c 		jme_restart_rx_engine(jme);
jme              1371 drivers/net/ethernet/jme.c 	atomic_inc(&jme->rx_empty);
jme              1375 drivers/net/ethernet/jme.c 		jme_interrupt_mode(jme);
jme              1385 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = (struct jme_adapter *)arg;
jme              1387 drivers/net/ethernet/jme.c 	if (unlikely(atomic_read(&jme->link_changing) != 1))
jme              1390 drivers/net/ethernet/jme.c 	if (unlikely(!netif_carrier_ok(jme->dev)))
jme              1393 drivers/net/ethernet/jme.c 	netif_info(jme, rx_status, jme->dev, "RX Queue Full!\n");
jme              1397 drivers/net/ethernet/jme.c 	while (atomic_read(&jme->rx_empty) > 0) {
jme              1398 drivers/net/ethernet/jme.c 		atomic_dec(&jme->rx_empty);
jme              1399 drivers/net/ethernet/jme.c 		++(NET_STAT(jme).rx_dropped);
jme              1400 drivers/net/ethernet/jme.c 		jme_restart_rx_engine(jme);
jme              1402 drivers/net/ethernet/jme.c 	atomic_inc(&jme->rx_empty);
jme              1406 drivers/net/ethernet/jme.c jme_wake_queue_if_stopped(struct jme_adapter *jme)
jme              1408 drivers/net/ethernet/jme.c 	struct jme_ring *txring = &(jme->txring[0]);
jme              1411 drivers/net/ethernet/jme.c 	if (unlikely(netif_queue_stopped(jme->dev) &&
jme              1412 drivers/net/ethernet/jme.c 	atomic_read(&txring->nr_free) >= (jme->tx_wake_threshold))) {
jme              1413 drivers/net/ethernet/jme.c 		netif_info(jme, tx_done, jme->dev, "TX Queue Waked\n");
jme              1414 drivers/net/ethernet/jme.c 		netif_wake_queue(jme->dev);
jme              1422 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = (struct jme_adapter *)arg;
jme              1423 drivers/net/ethernet/jme.c 	struct jme_ring *txring = &(jme->txring[0]);
jme              1428 drivers/net/ethernet/jme.c 	tx_dbg(jme, "Into txclean\n");
jme              1430 drivers/net/ethernet/jme.c 	if (unlikely(!atomic_dec_and_test(&jme->tx_cleaning)))
jme              1433 drivers/net/ethernet/jme.c 	if (unlikely(atomic_read(&jme->link_changing) != 1))
jme              1436 drivers/net/ethernet/jme.c 	if (unlikely(!netif_carrier_ok(jme->dev)))
jme              1439 drivers/net/ethernet/jme.c 	max = jme->tx_ring_size - atomic_read(&txring->nr_free);
jme              1440 drivers/net/ethernet/jme.c 	mask = jme->tx_ring_mask;
jme              1449 drivers/net/ethernet/jme.c 			tx_dbg(jme, "txclean: %d+%d@%lu\n",
jme              1458 drivers/net/ethernet/jme.c 				pci_unmap_page(jme->pdev,
jme              1472 drivers/net/ethernet/jme.c 				++(NET_STAT(jme).tx_carrier_errors);
jme              1474 drivers/net/ethernet/jme.c 				++(NET_STAT(jme).tx_packets);
jme              1475 drivers/net/ethernet/jme.c 				NET_STAT(jme).tx_bytes += ctxbi->len;
jme              1491 drivers/net/ethernet/jme.c 	tx_dbg(jme, "txclean: done %d@%lu\n", i, jiffies);
jme              1495 drivers/net/ethernet/jme.c 	jme_wake_queue_if_stopped(jme);
jme              1498 drivers/net/ethernet/jme.c 	atomic_inc(&jme->tx_cleaning);
jme              1502 drivers/net/ethernet/jme.c jme_intr_msi(struct jme_adapter *jme, u32 intrstat)
jme              1507 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_IENC, INTR_ENABLE);
jme              1514 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_IEVE, intrstat);
jme              1515 drivers/net/ethernet/jme.c 		tasklet_schedule(&jme->linkch_task);
jme              1520 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_IEVE, INTR_TMINTR);
jme              1521 drivers/net/ethernet/jme.c 		tasklet_schedule(&jme->pcc_task);
jme              1525 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_IEVE, INTR_PCCTXTO | INTR_PCCTX | INTR_TX0);
jme              1526 drivers/net/ethernet/jme.c 		tasklet_schedule(&jme->txclean_task);
jme              1530 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_IEVE, (intrstat & (INTR_PCCRX0TO |
jme              1536 drivers/net/ethernet/jme.c 	if (test_bit(JME_FLAG_POLL, &jme->flags)) {
jme              1538 drivers/net/ethernet/jme.c 			atomic_inc(&jme->rx_empty);
jme              1541 drivers/net/ethernet/jme.c 			if (likely(JME_RX_SCHEDULE_PREP(jme))) {
jme              1542 drivers/net/ethernet/jme.c 				jme_polling_mode(jme);
jme              1543 drivers/net/ethernet/jme.c 				JME_RX_SCHEDULE(jme);
jme              1548 drivers/net/ethernet/jme.c 			atomic_inc(&jme->rx_empty);
jme              1549 drivers/net/ethernet/jme.c 			tasklet_hi_schedule(&jme->rxempty_task);
jme              1551 drivers/net/ethernet/jme.c 			tasklet_hi_schedule(&jme->rxclean_task);
jme              1559 drivers/net/ethernet/jme.c 	jwrite32f(jme, JME_IENS, INTR_ENABLE);
jme              1566 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              1569 drivers/net/ethernet/jme.c 	intrstat = jread32(jme, JME_IEVE);
jme              1583 drivers/net/ethernet/jme.c 	jme_intr_msi(jme, intrstat);
jme              1592 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              1595 drivers/net/ethernet/jme.c 	intrstat = jread32(jme, JME_IEVE);
jme              1597 drivers/net/ethernet/jme.c 	jme_intr_msi(jme, intrstat);
jme              1603 drivers/net/ethernet/jme.c jme_reset_link(struct jme_adapter *jme)
jme              1605 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_TMCSR, TMCSR_SWIT);
jme              1609 drivers/net/ethernet/jme.c jme_restart_an(struct jme_adapter *jme)
jme              1613 drivers/net/ethernet/jme.c 	spin_lock_bh(&jme->phy_lock);
jme              1614 drivers/net/ethernet/jme.c 	bmcr = jme_mdio_read(jme->dev, jme->mii_if.phy_id, MII_BMCR);
jme              1616 drivers/net/ethernet/jme.c 	jme_mdio_write(jme->dev, jme->mii_if.phy_id, MII_BMCR, bmcr);
jme              1617 drivers/net/ethernet/jme.c 	spin_unlock_bh(&jme->phy_lock);
jme              1621 drivers/net/ethernet/jme.c jme_request_irq(struct jme_adapter *jme)
jme              1624 drivers/net/ethernet/jme.c 	struct net_device *netdev = jme->dev;
jme              1628 drivers/net/ethernet/jme.c 	if (!pci_enable_msi(jme->pdev)) {
jme              1629 drivers/net/ethernet/jme.c 		set_bit(JME_FLAG_MSI, &jme->flags);
jme              1634 drivers/net/ethernet/jme.c 	rc = request_irq(jme->pdev->irq, handler, irq_flags, netdev->name,
jme              1639 drivers/net/ethernet/jme.c 			   test_bit(JME_FLAG_MSI, &jme->flags) ? "MSI" : "INTx",
jme              1642 drivers/net/ethernet/jme.c 		if (test_bit(JME_FLAG_MSI, &jme->flags)) {
jme              1643 drivers/net/ethernet/jme.c 			pci_disable_msi(jme->pdev);
jme              1644 drivers/net/ethernet/jme.c 			clear_bit(JME_FLAG_MSI, &jme->flags);
jme              1647 drivers/net/ethernet/jme.c 		netdev->irq = jme->pdev->irq;
jme              1654 drivers/net/ethernet/jme.c jme_free_irq(struct jme_adapter *jme)
jme              1656 drivers/net/ethernet/jme.c 	free_irq(jme->pdev->irq, jme->dev);
jme              1657 drivers/net/ethernet/jme.c 	if (test_bit(JME_FLAG_MSI, &jme->flags)) {
jme              1658 drivers/net/ethernet/jme.c 		pci_disable_msi(jme->pdev);
jme              1659 drivers/net/ethernet/jme.c 		clear_bit(JME_FLAG_MSI, &jme->flags);
jme              1660 drivers/net/ethernet/jme.c 		jme->dev->irq = jme->pdev->irq;
jme              1665 drivers/net/ethernet/jme.c jme_new_phy_on(struct jme_adapter *jme)
jme              1669 drivers/net/ethernet/jme.c 	reg = jread32(jme, JME_PHY_PWR);
jme              1672 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_PHY_PWR, reg);
jme              1674 drivers/net/ethernet/jme.c 	pci_read_config_dword(jme->pdev, PCI_PRIV_PE1, &reg);
jme              1677 drivers/net/ethernet/jme.c 	pci_write_config_dword(jme->pdev, PCI_PRIV_PE1, reg);
jme              1681 drivers/net/ethernet/jme.c jme_new_phy_off(struct jme_adapter *jme)
jme              1685 drivers/net/ethernet/jme.c 	reg = jread32(jme, JME_PHY_PWR);
jme              1688 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_PHY_PWR, reg);
jme              1690 drivers/net/ethernet/jme.c 	pci_read_config_dword(jme->pdev, PCI_PRIV_PE1, &reg);
jme              1693 drivers/net/ethernet/jme.c 	pci_write_config_dword(jme->pdev, PCI_PRIV_PE1, reg);
jme              1697 drivers/net/ethernet/jme.c jme_phy_on(struct jme_adapter *jme)
jme              1701 drivers/net/ethernet/jme.c 	bmcr = jme_mdio_read(jme->dev, jme->mii_if.phy_id, MII_BMCR);
jme              1703 drivers/net/ethernet/jme.c 	jme_mdio_write(jme->dev, jme->mii_if.phy_id, MII_BMCR, bmcr);
jme              1705 drivers/net/ethernet/jme.c 	if (new_phy_power_ctrl(jme->chip_main_rev))
jme              1706 drivers/net/ethernet/jme.c 		jme_new_phy_on(jme);
jme              1710 drivers/net/ethernet/jme.c jme_phy_off(struct jme_adapter *jme)
jme              1714 drivers/net/ethernet/jme.c 	bmcr = jme_mdio_read(jme->dev, jme->mii_if.phy_id, MII_BMCR);
jme              1716 drivers/net/ethernet/jme.c 	jme_mdio_write(jme->dev, jme->mii_if.phy_id, MII_BMCR, bmcr);
jme              1718 drivers/net/ethernet/jme.c 	if (new_phy_power_ctrl(jme->chip_main_rev))
jme              1719 drivers/net/ethernet/jme.c 		jme_new_phy_off(jme);
jme              1723 drivers/net/ethernet/jme.c jme_phy_specreg_read(struct jme_adapter *jme, u32 specreg)
jme              1728 drivers/net/ethernet/jme.c 	jme_mdio_write(jme->dev, jme->mii_if.phy_id, JM_PHY_SPEC_ADDR_REG,
jme              1730 drivers/net/ethernet/jme.c 	return jme_mdio_read(jme->dev, jme->mii_if.phy_id,
jme              1735 drivers/net/ethernet/jme.c jme_phy_specreg_write(struct jme_adapter *jme, u32 ext_reg, u32 phy_data)
jme              1740 drivers/net/ethernet/jme.c 	jme_mdio_write(jme->dev, jme->mii_if.phy_id, JM_PHY_SPEC_DATA_REG,
jme              1742 drivers/net/ethernet/jme.c 	jme_mdio_write(jme->dev, jme->mii_if.phy_id, JM_PHY_SPEC_ADDR_REG,
jme              1747 drivers/net/ethernet/jme.c jme_phy_calibration(struct jme_adapter *jme)
jme              1751 drivers/net/ethernet/jme.c 	jme_phy_off(jme);
jme              1752 drivers/net/ethernet/jme.c 	jme_phy_on(jme);
jme              1754 drivers/net/ethernet/jme.c 	ctrl1000 = jme_mdio_read(jme->dev, jme->mii_if.phy_id, MII_CTRL1000);
jme              1757 drivers/net/ethernet/jme.c 	jme_mdio_write(jme->dev, jme->mii_if.phy_id, MII_CTRL1000, ctrl1000);
jme              1759 drivers/net/ethernet/jme.c 	phy_data = jme_phy_specreg_read(jme, JM_PHY_EXT_COMM_2_REG);
jme              1763 drivers/net/ethernet/jme.c 	jme_phy_specreg_write(jme, JM_PHY_EXT_COMM_2_REG, phy_data);
jme              1765 drivers/net/ethernet/jme.c 	phy_data = jme_phy_specreg_read(jme, JM_PHY_EXT_COMM_2_REG);
jme              1769 drivers/net/ethernet/jme.c 	jme_phy_specreg_write(jme, JM_PHY_EXT_COMM_2_REG, phy_data);
jme              1772 drivers/net/ethernet/jme.c 	ctrl1000 = jme_mdio_read(jme->dev, jme->mii_if.phy_id, MII_CTRL1000);
jme              1774 drivers/net/ethernet/jme.c 	jme_mdio_write(jme->dev, jme->mii_if.phy_id, MII_CTRL1000, ctrl1000);
jme              1779 drivers/net/ethernet/jme.c jme_phy_setEA(struct jme_adapter *jme)
jme              1784 drivers/net/ethernet/jme.c 	pci_read_config_byte(jme->pdev, PCI_PRIV_SHARE_NICCTRL, &nic_ctrl);
jme              1788 drivers/net/ethernet/jme.c 	switch (jme->pdev->device) {
jme              1790 drivers/net/ethernet/jme.c 		if (((jme->chip_main_rev == 5) &&
jme              1791 drivers/net/ethernet/jme.c 			((jme->chip_sub_rev == 0) || (jme->chip_sub_rev == 1) ||
jme              1792 drivers/net/ethernet/jme.c 			(jme->chip_sub_rev == 3))) ||
jme              1793 drivers/net/ethernet/jme.c 			(jme->chip_main_rev >= 6)) {
jme              1797 drivers/net/ethernet/jme.c 		if ((jme->chip_main_rev == 3) &&
jme              1798 drivers/net/ethernet/jme.c 			((jme->chip_sub_rev == 1) || (jme->chip_sub_rev == 2)))
jme              1802 drivers/net/ethernet/jme.c 		if (((jme->chip_main_rev == 5) &&
jme              1803 drivers/net/ethernet/jme.c 			((jme->chip_sub_rev == 0) || (jme->chip_sub_rev == 1) ||
jme              1804 drivers/net/ethernet/jme.c 			(jme->chip_sub_rev == 3))) ||
jme              1805 drivers/net/ethernet/jme.c 			(jme->chip_main_rev >= 6)) {
jme              1809 drivers/net/ethernet/jme.c 		if ((jme->chip_main_rev == 3) &&
jme              1810 drivers/net/ethernet/jme.c 			((jme->chip_sub_rev == 1) || (jme->chip_sub_rev == 2)))
jme              1812 drivers/net/ethernet/jme.c 		if ((jme->chip_main_rev == 2) && (jme->chip_sub_rev == 0))
jme              1814 drivers/net/ethernet/jme.c 		if ((jme->chip_main_rev == 2) && (jme->chip_sub_rev == 2))
jme              1821 drivers/net/ethernet/jme.c 		jme_phy_specreg_write(jme, JM_PHY_EXT_COMM_0_REG, phy_comm0);
jme              1823 drivers/net/ethernet/jme.c 		jme_phy_specreg_write(jme, JM_PHY_EXT_COMM_1_REG, phy_comm1);
jme              1831 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              1834 drivers/net/ethernet/jme.c 	jme_clear_pm_disable_wol(jme);
jme              1835 drivers/net/ethernet/jme.c 	JME_NAPI_ENABLE(jme);
jme              1837 drivers/net/ethernet/jme.c 	tasklet_init(&jme->linkch_task, jme_link_change_tasklet,
jme              1838 drivers/net/ethernet/jme.c 		     (unsigned long) jme);
jme              1839 drivers/net/ethernet/jme.c 	tasklet_init(&jme->txclean_task, jme_tx_clean_tasklet,
jme              1840 drivers/net/ethernet/jme.c 		     (unsigned long) jme);
jme              1841 drivers/net/ethernet/jme.c 	tasklet_init(&jme->rxclean_task, jme_rx_clean_tasklet,
jme              1842 drivers/net/ethernet/jme.c 		     (unsigned long) jme);
jme              1843 drivers/net/ethernet/jme.c 	tasklet_init(&jme->rxempty_task, jme_rx_empty_tasklet,
jme              1844 drivers/net/ethernet/jme.c 		     (unsigned long) jme);
jme              1846 drivers/net/ethernet/jme.c 	rc = jme_request_irq(jme);
jme              1850 drivers/net/ethernet/jme.c 	jme_start_irq(jme);
jme              1852 drivers/net/ethernet/jme.c 	jme_phy_on(jme);
jme              1853 drivers/net/ethernet/jme.c 	if (test_bit(JME_FLAG_SSET, &jme->flags))
jme              1854 drivers/net/ethernet/jme.c 		jme_set_link_ksettings(netdev, &jme->old_cmd);
jme              1856 drivers/net/ethernet/jme.c 		jme_reset_phy_processor(jme);
jme              1857 drivers/net/ethernet/jme.c 	jme_phy_calibration(jme);
jme              1858 drivers/net/ethernet/jme.c 	jme_phy_setEA(jme);
jme              1859 drivers/net/ethernet/jme.c 	jme_reset_link(jme);
jme              1870 drivers/net/ethernet/jme.c jme_set_100m_half(struct jme_adapter *jme)
jme              1874 drivers/net/ethernet/jme.c 	jme_phy_on(jme);
jme              1875 drivers/net/ethernet/jme.c 	bmcr = jme_mdio_read(jme->dev, jme->mii_if.phy_id, MII_BMCR);
jme              1881 drivers/net/ethernet/jme.c 		jme_mdio_write(jme->dev, jme->mii_if.phy_id, MII_BMCR, tmp);
jme              1883 drivers/net/ethernet/jme.c 	if (jme->fpgaver)
jme              1884 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_GHC, GHC_SPEED_100M | GHC_LINK_POLL);
jme              1886 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_GHC, GHC_SPEED_100M);
jme              1891 drivers/net/ethernet/jme.c jme_wait_link(struct jme_adapter *jme)
jme              1896 drivers/net/ethernet/jme.c 	phylink = jme_linkstat_from_phy(jme);
jme              1899 drivers/net/ethernet/jme.c 		phylink = jme_linkstat_from_phy(jme);
jme              1904 drivers/net/ethernet/jme.c jme_powersave_phy(struct jme_adapter *jme)
jme              1906 drivers/net/ethernet/jme.c 	if (jme->reg_pmcs && device_may_wakeup(&jme->pdev->dev)) {
jme              1907 drivers/net/ethernet/jme.c 		jme_set_100m_half(jme);
jme              1908 drivers/net/ethernet/jme.c 		if (jme->reg_pmcs & (PMCS_LFEN | PMCS_LREN))
jme              1909 drivers/net/ethernet/jme.c 			jme_wait_link(jme);
jme              1910 drivers/net/ethernet/jme.c 		jme_clear_pm_enable_wol(jme);
jme              1912 drivers/net/ethernet/jme.c 		jme_phy_off(jme);
jme              1919 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              1924 drivers/net/ethernet/jme.c 	jme_stop_irq(jme);
jme              1925 drivers/net/ethernet/jme.c 	jme_free_irq(jme);
jme              1927 drivers/net/ethernet/jme.c 	JME_NAPI_DISABLE(jme);
jme              1929 drivers/net/ethernet/jme.c 	tasklet_kill(&jme->linkch_task);
jme              1930 drivers/net/ethernet/jme.c 	tasklet_kill(&jme->txclean_task);
jme              1931 drivers/net/ethernet/jme.c 	tasklet_kill(&jme->rxclean_task);
jme              1932 drivers/net/ethernet/jme.c 	tasklet_kill(&jme->rxempty_task);
jme              1934 drivers/net/ethernet/jme.c 	jme_disable_rx_engine(jme);
jme              1935 drivers/net/ethernet/jme.c 	jme_disable_tx_engine(jme);
jme              1936 drivers/net/ethernet/jme.c 	jme_reset_mac_processor(jme);
jme              1937 drivers/net/ethernet/jme.c 	jme_free_rx_resources(jme);
jme              1938 drivers/net/ethernet/jme.c 	jme_free_tx_resources(jme);
jme              1939 drivers/net/ethernet/jme.c 	jme->phylink = 0;
jme              1940 drivers/net/ethernet/jme.c 	jme_phy_off(jme);
jme              1946 drivers/net/ethernet/jme.c jme_alloc_txdesc(struct jme_adapter *jme,
jme              1949 drivers/net/ethernet/jme.c 	struct jme_ring *txring = &(jme->txring[0]);
jme              1950 drivers/net/ethernet/jme.c 	int idx, nr_alloc, mask = jme->tx_ring_mask;
jme              2004 drivers/net/ethernet/jme.c static void jme_drop_tx_map(struct jme_adapter *jme, int startidx, int count)
jme              2006 drivers/net/ethernet/jme.c 	struct jme_ring *txring = &(jme->txring[0]);
jme              2008 drivers/net/ethernet/jme.c 	int mask = jme->tx_ring_mask;
jme              2013 drivers/net/ethernet/jme.c 		pci_unmap_page(jme->pdev,
jme              2024 drivers/net/ethernet/jme.c jme_map_tx_skb(struct jme_adapter *jme, struct sk_buff *skb, int idx)
jme              2026 drivers/net/ethernet/jme.c 	struct jme_ring *txring = &(jme->txring[0]);
jme              2029 drivers/net/ethernet/jme.c 	bool hidma = jme->dev->features & NETIF_F_HIGHDMA;
jme              2031 drivers/net/ethernet/jme.c 	int mask = jme->tx_ring_mask;
jme              2041 drivers/net/ethernet/jme.c 		ret = jme_fill_tx_map(jme->pdev, ctxdesc, ctxbi,
jme              2045 drivers/net/ethernet/jme.c 			jme_drop_tx_map(jme, idx, i);
jme              2053 drivers/net/ethernet/jme.c 	ret = jme_fill_tx_map(jme->pdev, ctxdesc, ctxbi, virt_to_page(skb->data),
jme              2056 drivers/net/ethernet/jme.c 		jme_drop_tx_map(jme, idx, i);
jme              2095 drivers/net/ethernet/jme.c jme_tx_csum(struct jme_adapter *jme, struct sk_buff *skb, u8 *flags)
jme              2120 drivers/net/ethernet/jme.c 			netif_err(jme, tx_err, jme->dev, "Error upper layer protocol\n");
jme              2136 drivers/net/ethernet/jme.c jme_fill_tx_desc(struct jme_adapter *jme, struct sk_buff *skb, int idx)
jme              2138 drivers/net/ethernet/jme.c 	struct jme_ring *txring = &(jme->txring[0]);
jme              2165 drivers/net/ethernet/jme.c 		jme_tx_csum(jme, skb, &flags);
jme              2167 drivers/net/ethernet/jme.c 	ret = jme_map_tx_skb(jme, skb, idx);
jme              2188 drivers/net/ethernet/jme.c jme_stop_queue_if_full(struct jme_adapter *jme)
jme              2190 drivers/net/ethernet/jme.c 	struct jme_ring *txring = &(jme->txring[0]);
jme              2198 drivers/net/ethernet/jme.c 		netif_stop_queue(jme->dev);
jme              2199 drivers/net/ethernet/jme.c 		netif_info(jme, tx_queued, jme->dev, "TX Queue Paused\n");
jme              2202 drivers/net/ethernet/jme.c 			>= (jme->tx_wake_threshold)) {
jme              2203 drivers/net/ethernet/jme.c 			netif_wake_queue(jme->dev);
jme              2204 drivers/net/ethernet/jme.c 			netif_info(jme, tx_queued, jme->dev, "TX Queue Fast Waked\n");
jme              2211 drivers/net/ethernet/jme.c 		netif_stop_queue(jme->dev);
jme              2212 drivers/net/ethernet/jme.c 		netif_info(jme, tx_queued, jme->dev,
jme              2224 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2229 drivers/net/ethernet/jme.c 		++(NET_STAT(jme).tx_dropped);
jme              2233 drivers/net/ethernet/jme.c 	idx = jme_alloc_txdesc(jme, skb);
jme              2237 drivers/net/ethernet/jme.c 		netif_err(jme, tx_err, jme->dev,
jme              2243 drivers/net/ethernet/jme.c 	if (jme_fill_tx_desc(jme, skb, idx))
jme              2246 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_TXCS, jme->reg_txcs |
jme              2251 drivers/net/ethernet/jme.c 	tx_dbg(jme, "xmit: %d+%d@%lu\n",
jme              2253 drivers/net/ethernet/jme.c 	jme_stop_queue_if_full(jme);
jme              2261 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2268 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXUMA_LO, val);
jme              2271 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXUMA_HI, val);
jme              2277 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2283 drivers/net/ethernet/jme.c 	spin_lock_bh(&jme->macaddr_lock);
jme              2286 drivers/net/ethernet/jme.c 	spin_unlock_bh(&jme->macaddr_lock);
jme              2294 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2297 drivers/net/ethernet/jme.c 	spin_lock_bh(&jme->rxmcs_lock);
jme              2299 drivers/net/ethernet/jme.c 	jme->reg_rxmcs |= RXMCS_BRDFRAME | RXMCS_UNIFRAME;
jme              2302 drivers/net/ethernet/jme.c 		jme->reg_rxmcs |= RXMCS_ALLFRAME;
jme              2304 drivers/net/ethernet/jme.c 		jme->reg_rxmcs |= RXMCS_ALLMULFRAME;
jme              2309 drivers/net/ethernet/jme.c 		jme->reg_rxmcs |= RXMCS_MULFRAME | RXMCS_MULFILTERED;
jme              2315 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_RXMCHT_LO, mc_hash[0]);
jme              2316 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_RXMCHT_HI, mc_hash[1]);
jme              2320 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXMCS, jme->reg_rxmcs);
jme              2322 drivers/net/ethernet/jme.c 	spin_unlock_bh(&jme->rxmcs_lock);
jme              2328 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2333 drivers/net/ethernet/jme.c 	jme_restart_rx_engine(jme);
jme              2334 drivers/net/ethernet/jme.c 	jme_reset_link(jme);
jme              2342 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2344 drivers/net/ethernet/jme.c 	jme->phylink = 0;
jme              2345 drivers/net/ethernet/jme.c 	jme_reset_phy_processor(jme);
jme              2346 drivers/net/ethernet/jme.c 	if (test_bit(JME_FLAG_SSET, &jme->flags))
jme              2347 drivers/net/ethernet/jme.c 		jme_set_link_ksettings(netdev, &jme->old_cmd);
jme              2352 drivers/net/ethernet/jme.c 	jme_reset_link(jme);
jme              2359 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2363 drivers/net/ethernet/jme.c 	strlcpy(info->bus_info, pci_name(jme->pdev), sizeof(info->bus_info));
jme              2373 drivers/net/ethernet/jme.c mmapio_memcpy(struct jme_adapter *jme, u32 *p, u32 reg, int len)
jme              2378 drivers/net/ethernet/jme.c 		p[i >> 2] = jread32(jme, reg + i);
jme              2382 drivers/net/ethernet/jme.c mdio_memcpy(struct jme_adapter *jme, u32 *p, int reg_nr)
jme              2388 drivers/net/ethernet/jme.c 		p16[i] = jme_mdio_read(jme->dev, jme->mii_if.phy_id, i);
jme              2394 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2400 drivers/net/ethernet/jme.c 	mmapio_memcpy(jme, p32, JME_MAC, JME_MAC_LEN);
jme              2403 drivers/net/ethernet/jme.c 	mmapio_memcpy(jme, p32, JME_PHY, JME_PHY_LEN);
jme              2406 drivers/net/ethernet/jme.c 	mmapio_memcpy(jme, p32, JME_MISC, JME_MISC_LEN);
jme              2409 drivers/net/ethernet/jme.c 	mmapio_memcpy(jme, p32, JME_RSS, JME_RSS_LEN);
jme              2412 drivers/net/ethernet/jme.c 	mdio_memcpy(jme, p32, JME_PHY_REG_NR);
jme              2418 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2423 drivers/net/ethernet/jme.c 	if (test_bit(JME_FLAG_POLL, &jme->flags)) {
jme              2432 drivers/net/ethernet/jme.c 	switch (jme->dpi.cur) {
jme              2455 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2456 drivers/net/ethernet/jme.c 	struct dynpcc_info *dpi = &(jme->dpi);
jme              2462 drivers/net/ethernet/jme.c 	    test_bit(JME_FLAG_POLL, &jme->flags)) {
jme              2463 drivers/net/ethernet/jme.c 		clear_bit(JME_FLAG_POLL, &jme->flags);
jme              2464 drivers/net/ethernet/jme.c 		jme->jme_rx = netif_rx;
jme              2468 drivers/net/ethernet/jme.c 		jme_set_rx_pcc(jme, PCC_P1);
jme              2469 drivers/net/ethernet/jme.c 		jme_interrupt_mode(jme);
jme              2471 drivers/net/ethernet/jme.c 		   !(test_bit(JME_FLAG_POLL, &jme->flags))) {
jme              2472 drivers/net/ethernet/jme.c 		set_bit(JME_FLAG_POLL, &jme->flags);
jme              2473 drivers/net/ethernet/jme.c 		jme->jme_rx = netif_receive_skb;
jme              2474 drivers/net/ethernet/jme.c 		jme_interrupt_mode(jme);
jme              2484 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2487 drivers/net/ethernet/jme.c 	ecmd->tx_pause = (jme->reg_txpfc & TXPFC_PF_EN) != 0;
jme              2488 drivers/net/ethernet/jme.c 	ecmd->rx_pause = (jme->reg_rxmcs & RXMCS_FLOWCTRL) != 0;
jme              2490 drivers/net/ethernet/jme.c 	spin_lock_bh(&jme->phy_lock);
jme              2491 drivers/net/ethernet/jme.c 	val = jme_mdio_read(jme->dev, jme->mii_if.phy_id, MII_ADVERTISE);
jme              2492 drivers/net/ethernet/jme.c 	spin_unlock_bh(&jme->phy_lock);
jme              2502 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2505 drivers/net/ethernet/jme.c 	if (((jme->reg_txpfc & TXPFC_PF_EN) != 0) ^
jme              2509 drivers/net/ethernet/jme.c 			jme->reg_txpfc |= TXPFC_PF_EN;
jme              2511 drivers/net/ethernet/jme.c 			jme->reg_txpfc &= ~TXPFC_PF_EN;
jme              2513 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_TXPFC, jme->reg_txpfc);
jme              2516 drivers/net/ethernet/jme.c 	spin_lock_bh(&jme->rxmcs_lock);
jme              2517 drivers/net/ethernet/jme.c 	if (((jme->reg_rxmcs & RXMCS_FLOWCTRL) != 0) ^
jme              2521 drivers/net/ethernet/jme.c 			jme->reg_rxmcs |= RXMCS_FLOWCTRL;
jme              2523 drivers/net/ethernet/jme.c 			jme->reg_rxmcs &= ~RXMCS_FLOWCTRL;
jme              2525 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_RXMCS, jme->reg_rxmcs);
jme              2527 drivers/net/ethernet/jme.c 	spin_unlock_bh(&jme->rxmcs_lock);
jme              2529 drivers/net/ethernet/jme.c 	spin_lock_bh(&jme->phy_lock);
jme              2530 drivers/net/ethernet/jme.c 	val = jme_mdio_read(jme->dev, jme->mii_if.phy_id, MII_ADVERTISE);
jme              2539 drivers/net/ethernet/jme.c 		jme_mdio_write(jme->dev, jme->mii_if.phy_id,
jme              2542 drivers/net/ethernet/jme.c 	spin_unlock_bh(&jme->phy_lock);
jme              2551 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2557 drivers/net/ethernet/jme.c 	if (jme->reg_pmcs & (PMCS_LFEN | PMCS_LREN))
jme              2560 drivers/net/ethernet/jme.c 	if (jme->reg_pmcs & PMCS_MFEN)
jme              2569 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2578 drivers/net/ethernet/jme.c 	jme->reg_pmcs = 0;
jme              2581 drivers/net/ethernet/jme.c 		jme->reg_pmcs |= PMCS_LFEN | PMCS_LREN;
jme              2584 drivers/net/ethernet/jme.c 		jme->reg_pmcs |= PMCS_MFEN;
jme              2593 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2595 drivers/net/ethernet/jme.c 	spin_lock_bh(&jme->phy_lock);
jme              2596 drivers/net/ethernet/jme.c 	mii_ethtool_get_link_ksettings(&jme->mii_if, cmd);
jme              2597 drivers/net/ethernet/jme.c 	spin_unlock_bh(&jme->phy_lock);
jme              2605 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2616 drivers/net/ethernet/jme.c 	if (jme->mii_if.force_media &&
jme              2618 drivers/net/ethernet/jme.c 	    (jme->mii_if.full_duplex != cmd->base.duplex))
jme              2621 drivers/net/ethernet/jme.c 	spin_lock_bh(&jme->phy_lock);
jme              2622 drivers/net/ethernet/jme.c 	rc = mii_ethtool_set_link_ksettings(&jme->mii_if, cmd);
jme              2623 drivers/net/ethernet/jme.c 	spin_unlock_bh(&jme->phy_lock);
jme              2627 drivers/net/ethernet/jme.c 			jme_reset_link(jme);
jme              2628 drivers/net/ethernet/jme.c 		jme->old_cmd = *cmd;
jme              2629 drivers/net/ethernet/jme.c 		set_bit(JME_FLAG_SSET, &jme->flags);
jme              2639 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2650 drivers/net/ethernet/jme.c 	spin_lock_bh(&jme->phy_lock);
jme              2651 drivers/net/ethernet/jme.c 	rc = generic_mii_ioctl(&jme->mii_if, mii_data, cmd, &duplex_chg);
jme              2652 drivers/net/ethernet/jme.c 	spin_unlock_bh(&jme->phy_lock);
jme              2656 drivers/net/ethernet/jme.c 			jme_reset_link(jme);
jme              2657 drivers/net/ethernet/jme.c 		jme_get_link_ksettings(netdev, &jme->old_cmd);
jme              2658 drivers/net/ethernet/jme.c 		set_bit(JME_FLAG_SSET, &jme->flags);
jme              2667 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2668 drivers/net/ethernet/jme.c 	return jread32(jme, JME_PHY_LINK) & PHY_LINK_UP;
jme              2674 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2675 drivers/net/ethernet/jme.c 	return jme->msg_enable;
jme              2681 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2682 drivers/net/ethernet/jme.c 	jme->msg_enable = value;
jme              2696 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2698 drivers/net/ethernet/jme.c 	spin_lock_bh(&jme->rxmcs_lock);
jme              2700 drivers/net/ethernet/jme.c 		jme->reg_rxmcs |= RXMCS_CHECKSUM;
jme              2702 drivers/net/ethernet/jme.c 		jme->reg_rxmcs &= ~RXMCS_CHECKSUM;
jme              2703 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_RXMCS, jme->reg_rxmcs);
jme              2704 drivers/net/ethernet/jme.c 	spin_unlock_bh(&jme->rxmcs_lock);
jme              2723 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2724 drivers/net/ethernet/jme.c 	jme_restart_an(jme);
jme              2729 drivers/net/ethernet/jme.c jme_smb_read(struct jme_adapter *jme, unsigned int addr)
jme              2734 drivers/net/ethernet/jme.c 	val = jread32(jme, JME_SMBCSR);
jme              2738 drivers/net/ethernet/jme.c 		val = jread32(jme, JME_SMBCSR);
jme              2741 drivers/net/ethernet/jme.c 		netif_err(jme, hw, jme->dev, "SMB Bus Busy\n");
jme              2745 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_SMBINTF,
jme              2750 drivers/net/ethernet/jme.c 	val = jread32(jme, JME_SMBINTF);
jme              2754 drivers/net/ethernet/jme.c 		val = jread32(jme, JME_SMBINTF);
jme              2757 drivers/net/ethernet/jme.c 		netif_err(jme, hw, jme->dev, "SMB Bus Busy\n");
jme              2765 drivers/net/ethernet/jme.c jme_smb_write(struct jme_adapter *jme, unsigned int addr, u8 data)
jme              2770 drivers/net/ethernet/jme.c 	val = jread32(jme, JME_SMBCSR);
jme              2774 drivers/net/ethernet/jme.c 		val = jread32(jme, JME_SMBCSR);
jme              2777 drivers/net/ethernet/jme.c 		netif_err(jme, hw, jme->dev, "SMB Bus Busy\n");
jme              2781 drivers/net/ethernet/jme.c 	jwrite32(jme, JME_SMBINTF,
jme              2787 drivers/net/ethernet/jme.c 	val = jread32(jme, JME_SMBINTF);
jme              2791 drivers/net/ethernet/jme.c 		val = jread32(jme, JME_SMBINTF);
jme              2794 drivers/net/ethernet/jme.c 		netif_err(jme, hw, jme->dev, "SMB Bus Busy\n");
jme              2804 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2806 drivers/net/ethernet/jme.c 	val = jread32(jme, JME_SMBCSR);
jme              2814 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2822 drivers/net/ethernet/jme.c 		data[i] = jme_smb_read(jme, i + offset);
jme              2831 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              2841 drivers/net/ethernet/jme.c 		jme_smb_write(jme, i + offset, data[i]);
jme              2888 drivers/net/ethernet/jme.c jme_phy_init(struct jme_adapter *jme)
jme              2892 drivers/net/ethernet/jme.c 	reg26 = jme_mdio_read(jme->dev, jme->mii_if.phy_id, 26);
jme              2893 drivers/net/ethernet/jme.c 	jme_mdio_write(jme->dev, jme->mii_if.phy_id, 26, reg26 | 0x1000);
jme              2897 drivers/net/ethernet/jme.c jme_check_hw_ver(struct jme_adapter *jme)
jme              2901 drivers/net/ethernet/jme.c 	chipmode = jread32(jme, JME_CHIPMODE);
jme              2903 drivers/net/ethernet/jme.c 	jme->fpgaver = (chipmode & CM_FPGAVER_MASK) >> CM_FPGAVER_SHIFT;
jme              2904 drivers/net/ethernet/jme.c 	jme->chiprev = (chipmode & CM_CHIPREV_MASK) >> CM_CHIPREV_SHIFT;
jme              2905 drivers/net/ethernet/jme.c 	jme->chip_main_rev = jme->chiprev & 0xF;
jme              2906 drivers/net/ethernet/jme.c 	jme->chip_sub_rev = (jme->chiprev >> 4) & 0xF;
jme              2932 drivers/net/ethernet/jme.c 	struct jme_adapter *jme;
jme              2972 drivers/net/ethernet/jme.c 	netdev = alloc_etherdev(sizeof(*jme));
jme              3006 drivers/net/ethernet/jme.c 	jme = netdev_priv(netdev);
jme              3007 drivers/net/ethernet/jme.c 	jme->pdev = pdev;
jme              3008 drivers/net/ethernet/jme.c 	jme->dev = netdev;
jme              3009 drivers/net/ethernet/jme.c 	jme->jme_rx = netif_rx;
jme              3010 drivers/net/ethernet/jme.c 	jme->old_mtu = netdev->mtu = 1500;
jme              3011 drivers/net/ethernet/jme.c 	jme->phylink = 0;
jme              3012 drivers/net/ethernet/jme.c 	jme->tx_ring_size = 1 << 10;
jme              3013 drivers/net/ethernet/jme.c 	jme->tx_ring_mask = jme->tx_ring_size - 1;
jme              3014 drivers/net/ethernet/jme.c 	jme->tx_wake_threshold = 1 << 9;
jme              3015 drivers/net/ethernet/jme.c 	jme->rx_ring_size = 1 << 9;
jme              3016 drivers/net/ethernet/jme.c 	jme->rx_ring_mask = jme->rx_ring_size - 1;
jme              3017 drivers/net/ethernet/jme.c 	jme->msg_enable = JME_DEF_MSG_ENABLE;
jme              3018 drivers/net/ethernet/jme.c 	jme->regs = ioremap(pci_resource_start(pdev, 0),
jme              3020 drivers/net/ethernet/jme.c 	if (!(jme->regs)) {
jme              3027 drivers/net/ethernet/jme.c 		apmc = jread32(jme, JME_APMC) & ~JME_APMC_PSEUDO_HP_EN;
jme              3028 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_APMC, apmc);
jme              3030 drivers/net/ethernet/jme.c 		apmc = jread32(jme, JME_APMC) | JME_APMC_PSEUDO_HP_EN;
jme              3031 drivers/net/ethernet/jme.c 		jwrite32(jme, JME_APMC, apmc);
jme              3034 drivers/net/ethernet/jme.c 	NETIF_NAPI_SET(netdev, &jme->napi, jme_poll, NAPI_POLL_WEIGHT)
jme              3036 drivers/net/ethernet/jme.c 	spin_lock_init(&jme->phy_lock);
jme              3037 drivers/net/ethernet/jme.c 	spin_lock_init(&jme->macaddr_lock);
jme              3038 drivers/net/ethernet/jme.c 	spin_lock_init(&jme->rxmcs_lock);
jme              3040 drivers/net/ethernet/jme.c 	atomic_set(&jme->link_changing, 1);
jme              3041 drivers/net/ethernet/jme.c 	atomic_set(&jme->rx_cleaning, 1);
jme              3042 drivers/net/ethernet/jme.c 	atomic_set(&jme->tx_cleaning, 1);
jme              3043 drivers/net/ethernet/jme.c 	atomic_set(&jme->rx_empty, 1);
jme              3045 drivers/net/ethernet/jme.c 	tasklet_init(&jme->pcc_task,
jme              3047 drivers/net/ethernet/jme.c 		     (unsigned long) jme);
jme              3048 drivers/net/ethernet/jme.c 	jme->dpi.cur = PCC_P1;
jme              3050 drivers/net/ethernet/jme.c 	jme->reg_ghc = 0;
jme              3051 drivers/net/ethernet/jme.c 	jme->reg_rxcs = RXCS_DEFAULT;
jme              3052 drivers/net/ethernet/jme.c 	jme->reg_rxmcs = RXMCS_DEFAULT;
jme              3053 drivers/net/ethernet/jme.c 	jme->reg_txpfc = 0;
jme              3054 drivers/net/ethernet/jme.c 	jme->reg_pmcs = PMCS_MFEN;
jme              3055 drivers/net/ethernet/jme.c 	jme->reg_gpreg1 = GPREG1_DEFAULT;
jme              3057 drivers/net/ethernet/jme.c 	if (jme->reg_rxmcs & RXMCS_CHECKSUM)
jme              3063 drivers/net/ethernet/jme.c 	pci_read_config_byte(pdev, PCI_DCSR_MRRS, &jme->mrrs);
jme              3064 drivers/net/ethernet/jme.c 	jme->mrrs &= PCI_DCSR_MRRS_MASK;
jme              3065 drivers/net/ethernet/jme.c 	switch (jme->mrrs) {
jme              3067 drivers/net/ethernet/jme.c 		jme->reg_txcs = TXCS_DEFAULT | TXCS_DMASIZE_128B;
jme              3070 drivers/net/ethernet/jme.c 		jme->reg_txcs = TXCS_DEFAULT | TXCS_DMASIZE_256B;
jme              3073 drivers/net/ethernet/jme.c 		jme->reg_txcs = TXCS_DEFAULT | TXCS_DMASIZE_512B;
jme              3080 drivers/net/ethernet/jme.c 	jme_check_hw_ver(jme);
jme              3081 drivers/net/ethernet/jme.c 	jme->mii_if.dev = netdev;
jme              3082 drivers/net/ethernet/jme.c 	if (jme->fpgaver) {
jme              3083 drivers/net/ethernet/jme.c 		jme->mii_if.phy_id = 0;
jme              3088 drivers/net/ethernet/jme.c 				jme->mii_if.phy_id = i;
jme              3093 drivers/net/ethernet/jme.c 		if (!jme->mii_if.phy_id) {
jme              3099 drivers/net/ethernet/jme.c 		jme->reg_ghc |= GHC_LINK_POLL;
jme              3101 drivers/net/ethernet/jme.c 		jme->mii_if.phy_id = 1;
jme              3104 drivers/net/ethernet/jme.c 		jme->mii_if.supports_gmii = true;
jme              3106 drivers/net/ethernet/jme.c 		jme->mii_if.supports_gmii = false;
jme              3107 drivers/net/ethernet/jme.c 	jme->mii_if.phy_id_mask = 0x1F;
jme              3108 drivers/net/ethernet/jme.c 	jme->mii_if.reg_num_mask = 0x1F;
jme              3109 drivers/net/ethernet/jme.c 	jme->mii_if.mdio_read = jme_mdio_read;
jme              3110 drivers/net/ethernet/jme.c 	jme->mii_if.mdio_write = jme_mdio_write;
jme              3112 drivers/net/ethernet/jme.c 	jme_clear_pm_disable_wol(jme);
jme              3115 drivers/net/ethernet/jme.c 	jme_set_phyfifo_5level(jme);
jme              3116 drivers/net/ethernet/jme.c 	jme->pcirev = pdev->revision;
jme              3117 drivers/net/ethernet/jme.c 	if (!jme->fpgaver)
jme              3118 drivers/net/ethernet/jme.c 		jme_phy_init(jme);
jme              3119 drivers/net/ethernet/jme.c 	jme_phy_off(jme);
jme              3124 drivers/net/ethernet/jme.c 	jme_reset_mac_processor(jme);
jme              3125 drivers/net/ethernet/jme.c 	rc = jme_reload_eeprom(jme);
jme              3143 drivers/net/ethernet/jme.c 	netif_info(jme, probe, jme->dev, "%s%s chiprev:%x pcirev:%x macaddr:%pM\n",
jme              3144 drivers/net/ethernet/jme.c 		   (jme->pdev->device == PCI_DEVICE_ID_JMICRON_JMC250) ?
jme              3146 drivers/net/ethernet/jme.c 		   (jme->pdev->device == PCI_DEVICE_ID_JMICRON_JMC260) ?
jme              3148 drivers/net/ethernet/jme.c 		   (jme->fpgaver != 0) ? " (FPGA)" : "",
jme              3149 drivers/net/ethernet/jme.c 		   (jme->fpgaver != 0) ? jme->fpgaver : jme->chiprev,
jme              3150 drivers/net/ethernet/jme.c 		   jme->pcirev, netdev->dev_addr);
jme              3155 drivers/net/ethernet/jme.c 	iounmap(jme->regs);
jme              3170 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              3173 drivers/net/ethernet/jme.c 	iounmap(jme->regs);
jme              3184 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              3186 drivers/net/ethernet/jme.c 	jme_powersave_phy(jme);
jme              3195 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              3200 drivers/net/ethernet/jme.c 	atomic_dec(&jme->link_changing);
jme              3204 drivers/net/ethernet/jme.c 	jme_stop_irq(jme);
jme              3206 drivers/net/ethernet/jme.c 	tasklet_disable(&jme->txclean_task);
jme              3207 drivers/net/ethernet/jme.c 	tasklet_disable(&jme->rxclean_task);
jme              3208 drivers/net/ethernet/jme.c 	tasklet_disable(&jme->rxempty_task);
jme              3211 drivers/net/ethernet/jme.c 		if (test_bit(JME_FLAG_POLL, &jme->flags))
jme              3212 drivers/net/ethernet/jme.c 			jme_polling_mode(jme);
jme              3214 drivers/net/ethernet/jme.c 		jme_stop_pcc_timer(jme);
jme              3215 drivers/net/ethernet/jme.c 		jme_disable_rx_engine(jme);
jme              3216 drivers/net/ethernet/jme.c 		jme_disable_tx_engine(jme);
jme              3217 drivers/net/ethernet/jme.c 		jme_reset_mac_processor(jme);
jme              3218 drivers/net/ethernet/jme.c 		jme_free_rx_resources(jme);
jme              3219 drivers/net/ethernet/jme.c 		jme_free_tx_resources(jme);
jme              3221 drivers/net/ethernet/jme.c 		jme->phylink = 0;
jme              3224 drivers/net/ethernet/jme.c 	tasklet_enable(&jme->txclean_task);
jme              3225 drivers/net/ethernet/jme.c 	tasklet_enable(&jme->rxclean_task);
jme              3226 drivers/net/ethernet/jme.c 	tasklet_enable(&jme->rxempty_task);
jme              3228 drivers/net/ethernet/jme.c 	jme_powersave_phy(jme);
jme              3237 drivers/net/ethernet/jme.c 	struct jme_adapter *jme = netdev_priv(netdev);
jme              3242 drivers/net/ethernet/jme.c 	jme_clear_pm_disable_wol(jme);
jme              3243 drivers/net/ethernet/jme.c 	jme_phy_on(jme);
jme              3244 drivers/net/ethernet/jme.c 	if (test_bit(JME_FLAG_SSET, &jme->flags))
jme              3245 drivers/net/ethernet/jme.c 		jme_set_link_ksettings(netdev, &jme->old_cmd);
jme              3247 drivers/net/ethernet/jme.c 		jme_reset_phy_processor(jme);
jme              3248 drivers/net/ethernet/jme.c 	jme_phy_calibration(jme);
jme              3249 drivers/net/ethernet/jme.c 	jme_phy_setEA(jme);
jme              3252 drivers/net/ethernet/jme.c 	atomic_inc(&jme->link_changing);
jme              3254 drivers/net/ethernet/jme.c 	jme_reset_link(jme);
jme              3256 drivers/net/ethernet/jme.c 	jme_start_irq(jme);
jme               464 drivers/net/ethernet/jme.h 	struct jme_adapter *jme;
jme               465 drivers/net/ethernet/jme.h 	jme = container_of(napi, struct jme_adapter, napi);
jme               466 drivers/net/ethernet/jme.h 	return jme;
jme              1174 drivers/net/ethernet/jme.h static inline void reg_dbg(const struct jme_adapter *jme,
jme              1191 drivers/net/ethernet/jme.h 	printk(KERN_DEBUG "%s: %-20s %08x@%s\n", jme->dev->name,
jme              1195 drivers/net/ethernet/jme.h static inline void reg_dbg(const struct jme_adapter *jme,
jme              1202 drivers/net/ethernet/jme.h static inline u32 jread32(struct jme_adapter *jme, u32 reg)
jme              1204 drivers/net/ethernet/jme.h 	return readl(jme->regs + reg);
jme              1207 drivers/net/ethernet/jme.h static inline void jwrite32(struct jme_adapter *jme, u32 reg, u32 val)
jme              1209 drivers/net/ethernet/jme.h 	reg_dbg(jme, "REG WRITE", val, reg);
jme              1210 drivers/net/ethernet/jme.h 	writel(val, jme->regs + reg);
jme              1211 drivers/net/ethernet/jme.h 	reg_dbg(jme, "VAL AFTER WRITE", readl(jme->regs + reg), reg);
jme              1214 drivers/net/ethernet/jme.h static inline void jwrite32f(struct jme_adapter *jme, u32 reg, u32 val)
jme              1219 drivers/net/ethernet/jme.h 	reg_dbg(jme, "REG WRITE FLUSH", val, reg);
jme              1220 drivers/net/ethernet/jme.h 	writel(val, jme->regs + reg);
jme              1221 drivers/net/ethernet/jme.h 	readl(jme->regs + reg);
jme              1222 drivers/net/ethernet/jme.h 	reg_dbg(jme, "VAL AFTER WRITE", readl(jme->regs + reg), reg);