Lines Matching refs:tp
49 struct tulip_private *tp = netdev_priv(dev); in tulip_mdio_read() local
53 void __iomem *ioaddr = tp->base_addr; in tulip_mdio_read()
60 if (tp->chip_id == COMET && phy_id == 30) { in tulip_mdio_read()
66 spin_lock_irqsave(&tp->mii_lock, flags); in tulip_mdio_read()
67 if (tp->chip_id == LC82C168) { in tulip_mdio_read()
76 spin_unlock_irqrestore(&tp->mii_lock, flags); in tulip_mdio_read()
105 spin_unlock_irqrestore(&tp->mii_lock, flags); in tulip_mdio_read()
111 struct tulip_private *tp = netdev_priv(dev); in tulip_mdio_write() local
114 void __iomem *ioaddr = tp->base_addr; in tulip_mdio_write()
121 if (tp->chip_id == COMET && phy_id == 30) { in tulip_mdio_write()
127 spin_lock_irqsave(&tp->mii_lock, flags); in tulip_mdio_write()
128 if (tp->chip_id == LC82C168) { in tulip_mdio_write()
135 spin_unlock_irqrestore(&tp->mii_lock, flags); in tulip_mdio_write()
162 spin_unlock_irqrestore(&tp->mii_lock, flags); in tulip_mdio_write()
169 struct tulip_private *tp = netdev_priv(dev); in tulip_select_media() local
170 void __iomem *ioaddr = tp->base_addr; in tulip_select_media()
171 struct mediatable *mtable = tp->mtable; in tulip_select_media()
176 struct medialeaf *mleaf = &mtable->mleaf[tp->cur_index]; in tulip_select_media()
197 tp->full_duplex = 1; in tulip_select_media()
309 tp->advertising[phy_num] = tmp_info | 1; in tulip_select_media()
311 if (tp->mii_advertise == 0) in tulip_select_media()
312 tp->mii_advertise = tp->advertising[phy_num]; in tulip_select_media()
315 tp->mii_advertise, in tulip_select_media()
316 tp->phys[phy_num]); in tulip_select_media()
317 tulip_mdio_write(dev, tp->phys[phy_num], 4, tp->mii_advertise); in tulip_select_media()
344 } else if (tp->chip_id == LC82C168) { in tulip_select_media()
345 if (startup && ! tp->medialock) in tulip_select_media()
346 dev->if_port = tp->mii_cnt ? 11 : 0; in tulip_select_media()
351 if (tp->mii_cnt) { in tulip_select_media()
372 if (tp->default_port == 0) in tulip_select_media()
373 dev->if_port = tp->mii_cnt ? 11 : 3; in tulip_select_media()
386 tp->csr6 = new_csr6 | (tp->csr6 & 0xfdff) | (tp->full_duplex ? 0x0200 : 0); in tulip_select_media()
399 struct tulip_private *tp = netdev_priv(dev); in tulip_check_duplex() local
402 bmsr = tulip_mdio_read(dev, tp->phys[0], MII_BMSR); in tulip_check_duplex()
403 lpa = tulip_mdio_read(dev, tp->phys[0], MII_LPA); in tulip_check_duplex()
410 int new_bmsr = tulip_mdio_read(dev, tp->phys[0], MII_BMSR); in tulip_check_duplex()
419 negotiated = lpa & tp->advertising[0]; in tulip_check_duplex()
420 tp->full_duplex = mii_duplex(tp->full_duplex_lock, negotiated); in tulip_check_duplex()
422 new_csr6 = tp->csr6; in tulip_check_duplex()
426 if (tp->full_duplex) new_csr6 |= FullDuplex; in tulip_check_duplex()
429 if (new_csr6 != tp->csr6) { in tulip_check_duplex()
430 tp->csr6 = new_csr6; in tulip_check_duplex()
431 tulip_restart_rxtx(tp); in tulip_check_duplex()
436 tp->full_duplex ? "full" : "half", in tulip_check_duplex()
437 tp->phys[0], lpa); in tulip_check_duplex()
446 struct tulip_private *tp = netdev_priv(dev); in tulip_find_mii() local
455 for (phyn = 1; phyn <= 32 && phy_idx < ARRAY_SIZE(tp->phys); phyn++) { in tulip_find_mii()
479 if (tp->mii_advertise) { in tulip_find_mii()
480 tp->advertising[phy_idx] = in tulip_find_mii()
481 to_advert = tp->mii_advertise; in tulip_find_mii()
482 } else if (tp->advertising[phy_idx]) { in tulip_find_mii()
483 to_advert = tp->advertising[phy_idx]; in tulip_find_mii()
485 tp->advertising[phy_idx] = in tulip_find_mii()
486 tp->mii_advertise = in tulip_find_mii()
490 tp->phys[phy_idx++] = phy; in tulip_find_mii()
503 if (tp->default_port == 0) { in tulip_find_mii()
522 if (tp->full_duplex) in tulip_find_mii()
524 if (tulip_media_cap[tp->default_port] & MediaIs100) in tulip_find_mii()
541 tp->mii_cnt = phy_idx; in tulip_find_mii()
542 if (tp->mtable && tp->mtable->has_mii && phy_idx == 0) { in tulip_find_mii()
545 tp->phys[0] = 1; in tulip_find_mii()