Lines Matching refs:pdata
128 struct xgbe_prv_data *pdata = mii->priv; in xgbe_mdio_read() local
129 struct xgbe_hw_if *hw_if = &pdata->hw_if; in xgbe_mdio_read()
135 mmd_data = hw_if->read_mmd_regs(pdata, prtad, mmd_reg); in xgbe_mdio_read()
145 struct xgbe_prv_data *pdata = mii->priv; in xgbe_mdio_write() local
146 struct xgbe_hw_if *hw_if = &pdata->hw_if; in xgbe_mdio_write()
152 hw_if->write_mmd_regs(pdata, prtad, mmd_reg, mmd_data); in xgbe_mdio_write()
159 void xgbe_dump_phy_registers(struct xgbe_prv_data *pdata) in xgbe_dump_phy_registers() argument
161 struct device *dev = pdata->dev; in xgbe_dump_phy_registers()
162 struct phy_device *phydev = pdata->mii->phy_map[XGBE_PRTAD]; in xgbe_dump_phy_registers()
168 XMDIO_READ(pdata, MDIO_MMD_PCS, MDIO_CTRL1)); in xgbe_dump_phy_registers()
170 XMDIO_READ(pdata, MDIO_MMD_PCS, MDIO_STAT1)); in xgbe_dump_phy_registers()
172 XMDIO_READ(pdata, MDIO_MMD_PCS, MDIO_DEVID1)); in xgbe_dump_phy_registers()
174 XMDIO_READ(pdata, MDIO_MMD_PCS, MDIO_DEVID2)); in xgbe_dump_phy_registers()
176 XMDIO_READ(pdata, MDIO_MMD_PCS, MDIO_DEVS1)); in xgbe_dump_phy_registers()
178 XMDIO_READ(pdata, MDIO_MMD_PCS, MDIO_DEVS2)); in xgbe_dump_phy_registers()
181 XMDIO_READ(pdata, MDIO_MMD_AN, MDIO_CTRL1)); in xgbe_dump_phy_registers()
183 XMDIO_READ(pdata, MDIO_MMD_AN, MDIO_STAT1)); in xgbe_dump_phy_registers()
186 XMDIO_READ(pdata, MDIO_MMD_AN, MDIO_AN_ADVERTISE)); in xgbe_dump_phy_registers()
189 XMDIO_READ(pdata, MDIO_MMD_AN, MDIO_AN_ADVERTISE + 1)); in xgbe_dump_phy_registers()
192 XMDIO_READ(pdata, MDIO_MMD_AN, MDIO_AN_ADVERTISE + 2)); in xgbe_dump_phy_registers()
195 XMDIO_READ(pdata, MDIO_MMD_AN, MDIO_AN_COMP_STAT)); in xgbe_dump_phy_registers()
206 int xgbe_mdio_register(struct xgbe_prv_data *pdata) in xgbe_mdio_register() argument
216 dev_err(pdata->dev, "mdiobus_alloc failed\n"); in xgbe_mdio_register()
224 snprintf(mii->id, sizeof(mii->id), "%s", pdata->mii_bus_id); in xgbe_mdio_register()
225 mii->priv = pdata; in xgbe_mdio_register()
227 mii->parent = pdata->dev; in xgbe_mdio_register()
230 dev_err(pdata->dev, "mdiobus_register failed\n"); in xgbe_mdio_register()
233 DBGPR(" mdiobus_register succeeded for %s\n", pdata->mii_bus_id); in xgbe_mdio_register()
239 dev_err(pdata->dev, "get_phy_device failed\n"); in xgbe_mdio_register()
248 dev_err(pdata->dev, "phy_device_register failed\n"); in xgbe_mdio_register()
252 dev_err(pdata->dev, "phy driver probe failed\n"); in xgbe_mdio_register()
258 pdata->phy_module = phydev->dev.driver->owner; in xgbe_mdio_register()
259 if (!try_module_get(pdata->phy_module)) { in xgbe_mdio_register()
260 dev_err(pdata->dev, "try_module_get failed\n"); in xgbe_mdio_register()
265 pdata->mii = mii; in xgbe_mdio_register()
266 pdata->mdio_mmd = MDIO_MMD_PCS; in xgbe_mdio_register()
268 phydev->autoneg = pdata->default_autoneg; in xgbe_mdio_register()
270 phydev->speed = pdata->default_speed; in xgbe_mdio_register()
276 pdata->phydev = phydev; in xgbe_mdio_register()
278 DBGPHY_REGS(pdata); in xgbe_mdio_register()
296 void xgbe_mdio_unregister(struct xgbe_prv_data *pdata) in xgbe_mdio_unregister() argument
300 pdata->phydev = NULL; in xgbe_mdio_unregister()
302 module_put(pdata->phy_module); in xgbe_mdio_unregister()
303 pdata->phy_module = NULL; in xgbe_mdio_unregister()
305 mdiobus_unregister(pdata->mii); in xgbe_mdio_unregister()
306 pdata->mii->priv = NULL; in xgbe_mdio_unregister()
308 mdiobus_free(pdata->mii); in xgbe_mdio_unregister()
309 pdata->mii = NULL; in xgbe_mdio_unregister()