• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/drivers/net/

Lines Matching refs:mdio

2  * mdio.c: Generic support for MDIO-compatible transceivers
14 #include <linux/mdio.h>
23 * @mdio: MDIO interface
29 int mdio45_probe(struct mdio_if_info *mdio, int prtad)
37 stat2 = mdio->mdio_read(mdio->dev, prtad, mmd, MDIO_STAT2);
43 devs1 = mdio->mdio_read(mdio->dev, prtad, mmd, MDIO_DEVS1);
44 devs2 = mdio->mdio_read(mdio->dev, prtad, mmd, MDIO_DEVS2);
48 mdio->prtad = prtad;
49 mdio->mmds = devs1 | (devs2 << 16);
59 * @mdio: MDIO interface
69 int mdio_set_flag(const struct mdio_if_info *mdio,
73 int old_val = mdio->mdio_read(mdio->dev, prtad, devad, addr);
84 return mdio->mdio_write(mdio->dev, prtad, devad, addr, new_val);
90 * @mdio: MDIO interface
94 * @mmd_mask is normally @mdio->mmds, but if loopback is enabled
97 int mdio45_links_ok(const struct mdio_if_info *mdio, u32 mmd_mask)
103 reg = mdio->mdio_read(mdio->dev, mdio->prtad,
113 mdio->mdio_read(mdio->dev, mdio->prtad,
117 mdio->mdio_read(mdio->dev, mdio->prtad,
121 reg = mdio->mdio_read(mdio->dev, mdio->prtad,
136 * @mdio: MDIO interface
140 int mdio45_nway_restart(const struct mdio_if_info *mdio)
142 if (!(mdio->mmds & MDIO_DEVS_AN))
145 mdio_set_flag(mdio, mdio->prtad, MDIO_MMD_AN, MDIO_CTRL1,
151 static u32 mdio45_get_an(const struct mdio_if_info *mdio, u16 addr)
156 reg = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_AN, addr);
174 * @mdio: MDIO interface
183 void mdio45_ethtool_gset_npage(const struct mdio_if_info *mdio,
190 ecmd->phy_address = mdio->prtad;
192 mdio->mode_support & (MDIO_SUPPORTS_C45 | MDIO_SUPPORTS_C22);
194 reg = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_PMAPMD,
203 reg = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_PMAPMD,
230 reg = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_PMAPMD,
238 reg = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_PMAPMD,
253 if (mdio->mmds & MDIO_DEVS_AN) {
255 reg = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_AN,
261 mdio45_get_an(mdio, MDIO_AN_ADVERTISE) |
272 int an_stat = mdio->mdio_read(mdio->dev, mdio->prtad,
279 mdio45_get_an(mdio, MDIO_AN_LPA) | npage_lpa;
307 reg = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_PMAPMD,
317 switch (mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_PMAPMD,
336 * @mdio: MDIO interface
342 void mdio45_ethtool_spauseparam_an(const struct mdio_if_info *mdio,
347 WARN_ON(!(mdio->mmds & MDIO_DEVS_AN));
349 old_adv = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_AN,
355 mdio->mdio_write(mdio->dev, mdio->prtad, MDIO_MMD_AN,
357 mdio45_nway_restart(mdio);
364 * @mdio: MDIO interface
370 int mdio_mii_ioctl(const struct mdio_if_info *mdio,
379 if (mdio->prtad == MDIO_PRTAD_NONE)
381 mii_data->phy_id = mdio->prtad;
392 if ((mdio->mode_support & MDIO_SUPPORTS_C45) &&
396 } else if ((mdio->mode_support & MDIO_SUPPORTS_C22) &&
401 } else if ((mdio->mode_support & MDIO_EMULATE_C22) &&
402 mdio->prtad != MDIO_PRTAD_NONE &&
403 mii_data->phy_id == mdio->prtad) {
405 prtad = mdio->prtad;
411 devad = __ffs(mdio->mmds);
415 if (!(mdio->mmds & MDIO_DEVS_AN))
431 int rc = mdio->mdio_read(mdio->dev, prtad, devad, addr);
437 return mdio->mdio_write(mdio->dev, prtad, devad, addr,