Lines Matching refs:priv

91 	struct mpc52xx_fec_priv *priv = netdev_priv(dev);
96 spin_lock_irqsave(&priv->lock, flags);
99 spin_unlock_irqrestore(&priv->lock, flags);
106 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
107 struct mpc52xx_fec __iomem *fec = priv->fec;
115 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
116 struct mpc52xx_fec __iomem *fec = priv->fec;
148 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
151 bd = (struct bcom_fec_bd *) bcom_prepare_next_buffer(priv->rx_dmatsk);
155 bcom_submit_next_buffer(priv->rx_dmatsk, rskb);
177 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
178 struct phy_device *phydev = priv->phydev;
182 if (phydev->duplex != priv->duplex) {
183 struct mpc52xx_fec __iomem *fec = priv->fec;
188 priv->duplex = phydev->duplex;
204 if (phydev->speed != priv->speed) {
206 priv->speed = phydev->speed;
209 if (priv->link == PHY_DOWN) {
211 priv->link = phydev->link;
214 } else if (priv->link) {
216 priv->link = PHY_DOWN;
217 priv->speed = 0;
218 priv->duplex = -1;
221 if (new_state && netif_msg_link(priv))
227 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
230 if (priv->phy_node) {
231 priv->phydev = of_phy_connect(priv->ndev, priv->phy_node,
233 if (!priv->phydev) {
237 phy_start(priv->phydev);
245 if (request_irq(priv->r_irq, mpc52xx_fec_rx_interrupt, 0,
250 if (request_irq(priv->t_irq, mpc52xx_fec_tx_interrupt, 0,
256 bcom_fec_rx_reset(priv->rx_dmatsk);
257 bcom_fec_tx_reset(priv->tx_dmatsk);
259 err = mpc52xx_fec_alloc_rx_buffers(dev, priv->rx_dmatsk);
265 bcom_enable(priv->rx_dmatsk);
266 bcom_enable(priv->tx_dmatsk);
275 free_irq(priv->t_irq, dev);
277 free_irq(priv->r_irq, dev);
281 if (priv->phydev) {
282 phy_stop(priv->phydev);
283 phy_disconnect(priv->phydev);
284 priv->phydev = NULL;
292 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
298 mpc52xx_fec_free_rx_buffers(dev, priv->rx_dmatsk);
301 free_irq(priv->r_irq, dev);
302 free_irq(priv->t_irq, dev);
304 if (priv->phydev) {
306 phy_stop(priv->phydev);
307 phy_disconnect(priv->phydev);
308 priv->phydev = NULL;
321 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
325 if (bcom_queue_full(priv->tx_dmatsk)) {
331 spin_lock_irqsave(&priv->lock, flags);
334 bcom_prepare_next_buffer(priv->tx_dmatsk);
341 bcom_submit_next_buffer(priv->tx_dmatsk, skb);
342 spin_unlock_irqrestore(&priv->lock, flags);
344 if (bcom_queue_full(priv->tx_dmatsk)) {
354 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
356 disable_irq(priv->t_irq);
357 mpc52xx_fec_tx_interrupt(priv->t_irq, dev);
358 enable_irq(priv->t_irq);
359 disable_irq(priv->r_irq);
360 mpc52xx_fec_rx_interrupt(priv->r_irq, dev);
361 enable_irq(priv->r_irq);
371 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
373 spin_lock(&priv->lock);
374 while (bcom_buffer_done(priv->tx_dmatsk)) {
377 skb = bcom_retrieve_buffer(priv->tx_dmatsk, NULL,
384 spin_unlock(&priv->lock);
394 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
401 spin_lock(&priv->lock);
403 while (bcom_buffer_done(priv->rx_dmatsk)) {
405 rskb = bcom_retrieve_buffer(priv->rx_dmatsk, &status,
433 spin_unlock(&priv->lock);
443 spin_lock(&priv->lock);
446 spin_unlock(&priv->lock);
454 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
455 struct mpc52xx_fec __iomem *fec = priv->fec;
474 spin_lock(&priv->lock);
476 spin_unlock(&priv->lock);
493 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
495 struct mpc52xx_fec __iomem *fec = priv->fec;
543 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
544 struct mpc52xx_fec __iomem *fec = priv->fec;
560 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
561 struct mpc52xx_fec __iomem *fec = priv->fec;
603 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
604 struct mpc52xx_fec __iomem *fec = priv->fec;
641 out_be32(&fec->mii_speed, priv->mdio_speed);
654 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
655 struct mpc52xx_fec __iomem *fec = priv->fec;
677 if (!priv->seven_wire_mode)
680 if (priv->duplex == DUPLEX_FULL)
708 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
709 struct mpc52xx_fec __iomem *fec = priv->fec;
716 bcom_disable(priv->rx_dmatsk);
722 !bcom_queue_empty(priv->tx_dmatsk))
730 priv->tx_dmatsk->index,
731 priv->tx_dmatsk->outdex);
733 priv->rx_dmatsk->index,
734 priv->rx_dmatsk->outdex);
739 bcom_disable(priv->tx_dmatsk);
748 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
749 struct mpc52xx_fec __iomem *fec = priv->fec;
756 mpc52xx_fec_free_rx_buffers(dev, priv->rx_dmatsk);
760 bcom_fec_rx_reset(priv->rx_dmatsk);
761 bcom_fec_tx_reset(priv->tx_dmatsk);
763 mpc52xx_fec_alloc_rx_buffers(dev, priv->rx_dmatsk);
765 bcom_enable(priv->rx_dmatsk);
766 bcom_enable(priv->tx_dmatsk);
778 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
780 if (!priv->phydev)
783 return phy_ethtool_gset(priv->phydev, cmd);
788 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
790 if (!priv->phydev)
793 return phy_ethtool_sset(priv->phydev, cmd);
798 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
799 return priv->msg_enable;
804 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
805 priv->msg_enable = level;
819 struct mpc52xx_fec_priv *priv = netdev_priv(dev);
821 if (!priv->phydev)
824 return phy_mii_ioctl(priv->phydev, rq, cmd);
851 struct mpc52xx_fec_priv *priv = NULL;
864 priv = netdev_priv(ndev);
865 priv->ndev = ndev;
896 spin_lock_init(&priv->lock);
899 priv->fec = ioremap(mem.start, sizeof(struct mpc52xx_fec));
901 if (!priv->fec) {
910 priv->rx_dmatsk = bcom_fec_rx_init(FEC_RX_NUM_BD, rx_fifo, FEC_RX_BUFFER_SIZE);
911 priv->tx_dmatsk = bcom_fec_tx_init(FEC_TX_NUM_BD, tx_fifo);
913 if (!priv->rx_dmatsk || !priv->tx_dmatsk) {
924 priv->r_irq = bcom_get_task_irq(priv->rx_dmatsk);
927 priv->t_irq = bcom_get_task_irq(priv->tx_dmatsk);
935 priv->msg_enable = netif_msg_init(debug, MPC52xx_MESSAGES_DEFAULT);
942 priv->speed = 100;
943 priv->duplex = DUPLEX_HALF;
944 priv->mdio_speed = ((mpc5xxx_get_bus_frequency(op->dev.of_node) >> 20) / 5) << 1;
949 priv->speed = prop[0];
950 priv->duplex = prop[1] ? DUPLEX_FULL : DUPLEX_HALF;
954 priv->phy_node = of_parse_phandle(op->dev.of_node, "phy-handle", 0);
958 priv->seven_wire_mode = 1;
976 of_node_put(priv->phy_node);
979 if (priv->rx_dmatsk)
980 bcom_fec_rx_release(priv->rx_dmatsk);
981 if (priv->tx_dmatsk)
982 bcom_fec_tx_release(priv->tx_dmatsk);
983 iounmap(priv->fec);
996 struct mpc52xx_fec_priv *priv;
999 priv = netdev_priv(ndev);
1003 if (priv->phy_node)
1004 of_node_put(priv->phy_node);
1005 priv->phy_node = NULL;
1009 bcom_fec_rx_release(priv->rx_dmatsk);
1010 bcom_fec_tx_release(priv->tx_dmatsk);
1012 iounmap(priv->fec);