Lines Matching refs:dev

117 	struct device *dev;
148 dma_unmap_single(priv->dev, dma_addr, skb->len, DMA_TO_DEVICE);
151 static void hisi_femac_xmit_reclaim(struct net_device *dev)
154 struct hisi_femac_priv *priv = netdev_priv(dev);
159 netif_tx_lock(dev);
165 netdev_err(dev, "xmitq_cnt_inuse=%d, tx_fifo_used=%d\n",
181 netdev_completed_queue(dev, pkts_compl, bytes_compl);
183 if (unlikely(netif_queue_stopped(dev)) && pkts_compl)
184 netif_wake_queue(dev);
186 netif_tx_unlock(dev);
189 static void hisi_femac_adjust_link(struct net_device *dev)
191 struct hisi_femac_priv *priv = netdev_priv(dev);
192 struct phy_device *phy = dev->phydev;
231 addr = dma_map_single(priv->dev, skb->data, len,
233 if (dma_mapping_error(priv->dev, addr)) {
245 static int hisi_femac_rx(struct net_device *dev, int limit)
247 struct hisi_femac_priv *priv = netdev_priv(dev);
266 netdev_err(dev, "rx skb NULL. pos=%d\n", pos);
272 dma_unmap_single(priv->dev, addr, MAX_FRAME_SIZE,
276 netdev_err(dev, "rcv len err, len = %d\n", skb->len);
277 dev->stats.rx_errors++;
278 dev->stats.rx_length_errors++;
283 skb->protocol = eth_type_trans(skb, dev);
285 dev->stats.rx_packets++;
286 dev->stats.rx_bytes += len;
303 struct net_device *dev = priv->ndev;
308 hisi_femac_xmit_reclaim(dev);
309 num = hisi_femac_rx(dev, task);
332 struct net_device *dev = (struct net_device *)dev_id;
333 struct hisi_femac_priv *priv = netdev_priv(dev);
347 static int hisi_femac_init_queue(struct device *dev,
351 queue->skb = devm_kcalloc(dev, num, sizeof(struct sk_buff *),
356 queue->dma_phys = devm_kcalloc(dev, num, sizeof(dma_addr_t),
372 ret = hisi_femac_init_queue(priv->dev, &priv->txq, TXQ_NUM);
376 ret = hisi_femac_init_queue(priv->dev, &priv->rxq, RXQ_NUM);
403 dma_unmap_single(priv->dev, dma_addr, MAX_FRAME_SIZE,
459 static int hisi_femac_net_open(struct net_device *dev)
461 struct hisi_femac_priv *priv = netdev_priv(dev);
464 hisi_femac_set_hw_mac_addr(priv, dev->dev_addr);
467 netif_carrier_off(dev);
468 netdev_reset_queue(dev);
469 netif_start_queue(dev);
473 if (dev->phydev)
474 phy_start(dev->phydev);
482 static int hisi_femac_net_close(struct net_device *dev)
484 struct hisi_femac_priv *priv = netdev_priv(dev);
488 if (dev->phydev)
489 phy_stop(dev->phydev);
491 netif_stop_queue(dev);
500 struct net_device *dev)
502 struct hisi_femac_priv *priv = netdev_priv(dev);
511 dev->stats.tx_dropped++;
512 dev->stats.tx_fifo_errors++;
513 netif_stop_queue(dev);
520 dev->stats.tx_dropped++;
521 dev->stats.tx_fifo_errors++;
522 netif_stop_queue(dev);
526 addr = dma_map_single(priv->dev, skb->data,
528 if (unlikely(dma_mapping_error(priv->dev, addr))) {
530 dev->stats.tx_dropped++;
543 dev->stats.tx_packets++;
544 dev->stats.tx_bytes += skb->len;
545 netdev_sent_queue(dev, skb->len);
550 static int hisi_femac_set_mac_address(struct net_device *dev, void *p)
552 struct hisi_femac_priv *priv = netdev_priv(dev);
558 memcpy(dev->dev_addr, skaddr->sa_data, dev->addr_len);
559 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
561 hisi_femac_set_hw_mac_addr(priv, dev->dev_addr);
615 struct net_device *dev = priv->ndev;
619 if ((netdev_mc_count(dev) > MAX_MULTICAST_ADDRESSES) ||
620 (dev->flags & IFF_ALLMULTI)) {
630 netdev_for_each_mc_addr(ha, dev) {
642 struct net_device *dev = priv->ndev;
646 if (netdev_uc_count(dev) > MAX_UNICAST_ADDRESSES) {
656 netdev_for_each_uc_addr(ha, dev) {
665 static void hisi_femac_net_set_rx_mode(struct net_device *dev)
667 struct hisi_femac_priv *priv = netdev_priv(dev);
669 if (dev->flags & IFF_PROMISC) {
770 struct device *dev = &pdev->dev;
771 struct device_node *node = dev->of_node;
783 SET_NETDEV_DEV(ndev, &pdev->dev);
786 priv->dev = dev;
801 priv->clk = devm_clk_get(&pdev->dev, NULL);
803 dev_err(dev, "failed to get clk\n");
810 dev_err(dev, "failed to enable clk %d\n", ret);
814 priv->mac_rst = devm_reset_control_get(dev, "mac");
821 priv->phy_rst = devm_reset_control_get(dev, "phy");
836 dev_err(dev, "connect to PHY failed!\n");
850 dev_warn(dev, "using random MAC address %pM\n",
872 ret = devm_request_irq(dev, ndev->irq, hisi_femac_interrupt,
875 dev_err(dev, "devm_request_irq %d failed!\n", ndev->irq);
881 dev_err(dev, "register_netdev failed!\n");