diff options
author | David S. Miller <davem@davemloft.net> | 2014-07-09 21:20:23 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-07-09 21:20:23 -0400 |
commit | 5edbf7dfeac62ed062e46a1ebf78da764ff23205 (patch) | |
tree | c732768e0907f427152f9b5bae4098264ebf0926 | |
parent | 316158feff0078b266d6e423adb016d12eb96a5a (diff) | |
parent | 40a8a317a02ea516e89ee71d8d355babf0617e5f (diff) |
Merge branch 'systemport-next'
Florian Fainelli says:
====================
net: systemport: checkpatch fixes
These two patches fixes the multiple line alignment issues and
kzalloc on array reported by checkpatch.pl
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/broadcom/bcmsysport.c | 123 |
1 files changed, 61 insertions, 62 deletions
diff --git a/drivers/net/ethernet/broadcom/bcmsysport.c b/drivers/net/ethernet/broadcom/bcmsysport.c index 7a1bd2b3bc26..31b5340c685e 100644 --- a/drivers/net/ethernet/broadcom/bcmsysport.c +++ b/drivers/net/ethernet/broadcom/bcmsysport.c | |||
@@ -81,14 +81,14 @@ static inline void dma_desc_set_addr(struct bcm_sysport_priv *priv, | |||
81 | { | 81 | { |
82 | #ifdef CONFIG_PHYS_ADDR_T_64BIT | 82 | #ifdef CONFIG_PHYS_ADDR_T_64BIT |
83 | __raw_writel(upper_32_bits(addr) & DESC_ADDR_HI_MASK, | 83 | __raw_writel(upper_32_bits(addr) & DESC_ADDR_HI_MASK, |
84 | d + DESC_ADDR_HI_STATUS_LEN); | 84 | d + DESC_ADDR_HI_STATUS_LEN); |
85 | #endif | 85 | #endif |
86 | __raw_writel(lower_32_bits(addr), d + DESC_ADDR_LO); | 86 | __raw_writel(lower_32_bits(addr), d + DESC_ADDR_LO); |
87 | } | 87 | } |
88 | 88 | ||
89 | static inline void tdma_port_write_desc_addr(struct bcm_sysport_priv *priv, | 89 | static inline void tdma_port_write_desc_addr(struct bcm_sysport_priv *priv, |
90 | struct dma_desc *desc, | 90 | struct dma_desc *desc, |
91 | unsigned int port) | 91 | unsigned int port) |
92 | { | 92 | { |
93 | /* Ports are latched, so write upper address first */ | 93 | /* Ports are latched, so write upper address first */ |
94 | tdma_writel(priv, desc->addr_status_len, TDMA_WRITE_PORT_HI(port)); | 94 | tdma_writel(priv, desc->addr_status_len, TDMA_WRITE_PORT_HI(port)); |
@@ -108,7 +108,7 @@ static int bcm_sysport_set_settings(struct net_device *dev, | |||
108 | } | 108 | } |
109 | 109 | ||
110 | static int bcm_sysport_get_settings(struct net_device *dev, | 110 | static int bcm_sysport_get_settings(struct net_device *dev, |
111 | struct ethtool_cmd *cmd) | 111 | struct ethtool_cmd *cmd) |
112 | { | 112 | { |
113 | struct bcm_sysport_priv *priv = netdev_priv(dev); | 113 | struct bcm_sysport_priv *priv = netdev_priv(dev); |
114 | 114 | ||
@@ -119,7 +119,7 @@ static int bcm_sysport_get_settings(struct net_device *dev, | |||
119 | } | 119 | } |
120 | 120 | ||
121 | static int bcm_sysport_set_rx_csum(struct net_device *dev, | 121 | static int bcm_sysport_set_rx_csum(struct net_device *dev, |
122 | netdev_features_t wanted) | 122 | netdev_features_t wanted) |
123 | { | 123 | { |
124 | struct bcm_sysport_priv *priv = netdev_priv(dev); | 124 | struct bcm_sysport_priv *priv = netdev_priv(dev); |
125 | u32 reg; | 125 | u32 reg; |
@@ -145,7 +145,7 @@ static int bcm_sysport_set_rx_csum(struct net_device *dev, | |||
145 | } | 145 | } |
146 | 146 | ||
147 | static int bcm_sysport_set_tx_csum(struct net_device *dev, | 147 | static int bcm_sysport_set_tx_csum(struct net_device *dev, |
148 | netdev_features_t wanted) | 148 | netdev_features_t wanted) |
149 | { | 149 | { |
150 | struct bcm_sysport_priv *priv = netdev_priv(dev); | 150 | struct bcm_sysport_priv *priv = netdev_priv(dev); |
151 | u32 reg; | 151 | u32 reg; |
@@ -165,7 +165,7 @@ static int bcm_sysport_set_tx_csum(struct net_device *dev, | |||
165 | } | 165 | } |
166 | 166 | ||
167 | static int bcm_sysport_set_features(struct net_device *dev, | 167 | static int bcm_sysport_set_features(struct net_device *dev, |
168 | netdev_features_t features) | 168 | netdev_features_t features) |
169 | { | 169 | { |
170 | netdev_features_t changed = features ^ dev->features; | 170 | netdev_features_t changed = features ^ dev->features; |
171 | netdev_features_t wanted = dev->wanted_features; | 171 | netdev_features_t wanted = dev->wanted_features; |
@@ -261,7 +261,7 @@ static const struct bcm_sysport_stats bcm_sysport_gstrings_stats[] = { | |||
261 | /* RXCHK misc statistics */ | 261 | /* RXCHK misc statistics */ |
262 | STAT_RXCHK("rxchk_bad_csum", mib.rxchk_bad_csum, RXCHK_BAD_CSUM_CNTR), | 262 | STAT_RXCHK("rxchk_bad_csum", mib.rxchk_bad_csum, RXCHK_BAD_CSUM_CNTR), |
263 | STAT_RXCHK("rxchk_other_pkt_disc", mib.rxchk_other_pkt_disc, | 263 | STAT_RXCHK("rxchk_other_pkt_disc", mib.rxchk_other_pkt_disc, |
264 | RXCHK_OTHER_DISC_CNTR), | 264 | RXCHK_OTHER_DISC_CNTR), |
265 | /* RBUF misc statistics */ | 265 | /* RBUF misc statistics */ |
266 | STAT_RBUF("rbuf_ovflow_cnt", mib.rbuf_ovflow_cnt, RBUF_OVFL_DISC_CNTR), | 266 | STAT_RBUF("rbuf_ovflow_cnt", mib.rbuf_ovflow_cnt, RBUF_OVFL_DISC_CNTR), |
267 | STAT_RBUF("rbuf_err_cnt", mib.rbuf_err_cnt, RBUF_ERR_PKT_CNTR), | 267 | STAT_RBUF("rbuf_err_cnt", mib.rbuf_err_cnt, RBUF_ERR_PKT_CNTR), |
@@ -270,7 +270,7 @@ static const struct bcm_sysport_stats bcm_sysport_gstrings_stats[] = { | |||
270 | #define BCM_SYSPORT_STATS_LEN ARRAY_SIZE(bcm_sysport_gstrings_stats) | 270 | #define BCM_SYSPORT_STATS_LEN ARRAY_SIZE(bcm_sysport_gstrings_stats) |
271 | 271 | ||
272 | static void bcm_sysport_get_drvinfo(struct net_device *dev, | 272 | static void bcm_sysport_get_drvinfo(struct net_device *dev, |
273 | struct ethtool_drvinfo *info) | 273 | struct ethtool_drvinfo *info) |
274 | { | 274 | { |
275 | strlcpy(info->driver, KBUILD_MODNAME, sizeof(info->driver)); | 275 | strlcpy(info->driver, KBUILD_MODNAME, sizeof(info->driver)); |
276 | strlcpy(info->version, "0.1", sizeof(info->version)); | 276 | strlcpy(info->version, "0.1", sizeof(info->version)); |
@@ -303,7 +303,7 @@ static int bcm_sysport_get_sset_count(struct net_device *dev, int string_set) | |||
303 | } | 303 | } |
304 | 304 | ||
305 | static void bcm_sysport_get_strings(struct net_device *dev, | 305 | static void bcm_sysport_get_strings(struct net_device *dev, |
306 | u32 stringset, u8 *data) | 306 | u32 stringset, u8 *data) |
307 | { | 307 | { |
308 | int i; | 308 | int i; |
309 | 309 | ||
@@ -311,8 +311,8 @@ static void bcm_sysport_get_strings(struct net_device *dev, | |||
311 | case ETH_SS_STATS: | 311 | case ETH_SS_STATS: |
312 | for (i = 0; i < BCM_SYSPORT_STATS_LEN; i++) { | 312 | for (i = 0; i < BCM_SYSPORT_STATS_LEN; i++) { |
313 | memcpy(data + i * ETH_GSTRING_LEN, | 313 | memcpy(data + i * ETH_GSTRING_LEN, |
314 | bcm_sysport_gstrings_stats[i].stat_string, | 314 | bcm_sysport_gstrings_stats[i].stat_string, |
315 | ETH_GSTRING_LEN); | 315 | ETH_GSTRING_LEN); |
316 | } | 316 | } |
317 | break; | 317 | break; |
318 | default: | 318 | default: |
@@ -362,7 +362,7 @@ static void bcm_sysport_update_mib_counters(struct bcm_sysport_priv *priv) | |||
362 | } | 362 | } |
363 | 363 | ||
364 | static void bcm_sysport_get_stats(struct net_device *dev, | 364 | static void bcm_sysport_get_stats(struct net_device *dev, |
365 | struct ethtool_stats *stats, u64 *data) | 365 | struct ethtool_stats *stats, u64 *data) |
366 | { | 366 | { |
367 | struct bcm_sysport_priv *priv = netdev_priv(dev); | 367 | struct bcm_sysport_priv *priv = netdev_priv(dev); |
368 | int i; | 368 | int i; |
@@ -404,7 +404,7 @@ static void bcm_sysport_get_wol(struct net_device *dev, | |||
404 | } | 404 | } |
405 | 405 | ||
406 | static int bcm_sysport_set_wol(struct net_device *dev, | 406 | static int bcm_sysport_set_wol(struct net_device *dev, |
407 | struct ethtool_wolinfo *wol) | 407 | struct ethtool_wolinfo *wol) |
408 | { | 408 | { |
409 | struct bcm_sysport_priv *priv = netdev_priv(dev); | 409 | struct bcm_sysport_priv *priv = netdev_priv(dev); |
410 | struct device *kdev = &priv->pdev->dev; | 410 | struct device *kdev = &priv->pdev->dev; |
@@ -419,9 +419,9 @@ static int bcm_sysport_set_wol(struct net_device *dev, | |||
419 | /* Program the SecureOn password */ | 419 | /* Program the SecureOn password */ |
420 | if (wol->wolopts & WAKE_MAGICSECURE) { | 420 | if (wol->wolopts & WAKE_MAGICSECURE) { |
421 | umac_writel(priv, get_unaligned_be16(&wol->sopass[0]), | 421 | umac_writel(priv, get_unaligned_be16(&wol->sopass[0]), |
422 | UMAC_PSW_MS); | 422 | UMAC_PSW_MS); |
423 | umac_writel(priv, get_unaligned_be32(&wol->sopass[2]), | 423 | umac_writel(priv, get_unaligned_be32(&wol->sopass[2]), |
424 | UMAC_PSW_LS); | 424 | UMAC_PSW_LS); |
425 | } | 425 | } |
426 | 426 | ||
427 | /* Flag the device and relevant IRQ as wakeup capable */ | 427 | /* Flag the device and relevant IRQ as wakeup capable */ |
@@ -464,7 +464,7 @@ static int bcm_sysport_rx_refill(struct bcm_sysport_priv *priv, | |||
464 | } | 464 | } |
465 | 465 | ||
466 | mapping = dma_map_single(kdev, cb->skb->data, | 466 | mapping = dma_map_single(kdev, cb->skb->data, |
467 | RX_BUF_LENGTH, DMA_FROM_DEVICE); | 467 | RX_BUF_LENGTH, DMA_FROM_DEVICE); |
468 | ret = dma_mapping_error(kdev, mapping); | 468 | ret = dma_mapping_error(kdev, mapping); |
469 | if (ret) { | 469 | if (ret) { |
470 | bcm_sysport_free_cb(cb); | 470 | bcm_sysport_free_cb(cb); |
@@ -528,22 +528,20 @@ static unsigned int bcm_sysport_desc_rx(struct bcm_sysport_priv *priv, | |||
528 | to_process = p_index - priv->rx_c_index; | 528 | to_process = p_index - priv->rx_c_index; |
529 | 529 | ||
530 | netif_dbg(priv, rx_status, ndev, | 530 | netif_dbg(priv, rx_status, ndev, |
531 | "p_index=%d rx_c_index=%d to_process=%d\n", | 531 | "p_index=%d rx_c_index=%d to_process=%d\n", |
532 | p_index, priv->rx_c_index, to_process); | 532 | p_index, priv->rx_c_index, to_process); |
533 | |||
534 | while ((processed < to_process) && | ||
535 | (processed < budget)) { | ||
536 | 533 | ||
534 | while ((processed < to_process) && (processed < budget)) { | ||
537 | cb = &priv->rx_cbs[priv->rx_read_ptr]; | 535 | cb = &priv->rx_cbs[priv->rx_read_ptr]; |
538 | skb = cb->skb; | 536 | skb = cb->skb; |
539 | dma_unmap_single(kdev, dma_unmap_addr(cb, dma_addr), | 537 | dma_unmap_single(kdev, dma_unmap_addr(cb, dma_addr), |
540 | RX_BUF_LENGTH, DMA_FROM_DEVICE); | 538 | RX_BUF_LENGTH, DMA_FROM_DEVICE); |
541 | 539 | ||
542 | /* Extract the Receive Status Block prepended */ | 540 | /* Extract the Receive Status Block prepended */ |
543 | rsb = (struct bcm_rsb *)skb->data; | 541 | rsb = (struct bcm_rsb *)skb->data; |
544 | len = (rsb->rx_status_len >> DESC_LEN_SHIFT) & DESC_LEN_MASK; | 542 | len = (rsb->rx_status_len >> DESC_LEN_SHIFT) & DESC_LEN_MASK; |
545 | status = (rsb->rx_status_len >> DESC_STATUS_SHIFT) & | 543 | status = (rsb->rx_status_len >> DESC_STATUS_SHIFT) & |
546 | DESC_STATUS_MASK; | 544 | DESC_STATUS_MASK; |
547 | 545 | ||
548 | processed++; | 546 | processed++; |
549 | priv->rx_read_ptr++; | 547 | priv->rx_read_ptr++; |
@@ -551,9 +549,9 @@ static unsigned int bcm_sysport_desc_rx(struct bcm_sysport_priv *priv, | |||
551 | priv->rx_read_ptr = 0; | 549 | priv->rx_read_ptr = 0; |
552 | 550 | ||
553 | netif_dbg(priv, rx_status, ndev, | 551 | netif_dbg(priv, rx_status, ndev, |
554 | "p=%d, c=%d, rd_ptr=%d, len=%d, flag=0x%04x\n", | 552 | "p=%d, c=%d, rd_ptr=%d, len=%d, flag=0x%04x\n", |
555 | p_index, priv->rx_c_index, priv->rx_read_ptr, | 553 | p_index, priv->rx_c_index, priv->rx_read_ptr, |
556 | len, status); | 554 | len, status); |
557 | 555 | ||
558 | if (unlikely(!skb)) { | 556 | if (unlikely(!skb)) { |
559 | netif_err(priv, rx_err, ndev, "out of memory!\n"); | 557 | netif_err(priv, rx_err, ndev, "out of memory!\n"); |
@@ -612,9 +610,9 @@ refill: | |||
612 | } | 610 | } |
613 | 611 | ||
614 | static void bcm_sysport_tx_reclaim_one(struct bcm_sysport_priv *priv, | 612 | static void bcm_sysport_tx_reclaim_one(struct bcm_sysport_priv *priv, |
615 | struct bcm_sysport_cb *cb, | 613 | struct bcm_sysport_cb *cb, |
616 | unsigned int *bytes_compl, | 614 | unsigned int *bytes_compl, |
617 | unsigned int *pkts_compl) | 615 | unsigned int *pkts_compl) |
618 | { | 616 | { |
619 | struct device *kdev = &priv->pdev->dev; | 617 | struct device *kdev = &priv->pdev->dev; |
620 | struct net_device *ndev = priv->netdev; | 618 | struct net_device *ndev = priv->netdev; |
@@ -623,8 +621,8 @@ static void bcm_sysport_tx_reclaim_one(struct bcm_sysport_priv *priv, | |||
623 | ndev->stats.tx_bytes += cb->skb->len; | 621 | ndev->stats.tx_bytes += cb->skb->len; |
624 | *bytes_compl += cb->skb->len; | 622 | *bytes_compl += cb->skb->len; |
625 | dma_unmap_single(kdev, dma_unmap_addr(cb, dma_addr), | 623 | dma_unmap_single(kdev, dma_unmap_addr(cb, dma_addr), |
626 | dma_unmap_len(cb, dma_len), | 624 | dma_unmap_len(cb, dma_len), |
627 | DMA_TO_DEVICE); | 625 | DMA_TO_DEVICE); |
628 | ndev->stats.tx_packets++; | 626 | ndev->stats.tx_packets++; |
629 | (*pkts_compl)++; | 627 | (*pkts_compl)++; |
630 | bcm_sysport_free_cb(cb); | 628 | bcm_sysport_free_cb(cb); |
@@ -632,7 +630,7 @@ static void bcm_sysport_tx_reclaim_one(struct bcm_sysport_priv *priv, | |||
632 | } else if (dma_unmap_addr(cb, dma_addr)) { | 630 | } else if (dma_unmap_addr(cb, dma_addr)) { |
633 | ndev->stats.tx_bytes += dma_unmap_len(cb, dma_len); | 631 | ndev->stats.tx_bytes += dma_unmap_len(cb, dma_len); |
634 | dma_unmap_page(kdev, dma_unmap_addr(cb, dma_addr), | 632 | dma_unmap_page(kdev, dma_unmap_addr(cb, dma_addr), |
635 | dma_unmap_len(cb, dma_len), DMA_TO_DEVICE); | 633 | dma_unmap_len(cb, dma_len), DMA_TO_DEVICE); |
636 | dma_unmap_addr_set(cb, dma_addr, 0); | 634 | dma_unmap_addr_set(cb, dma_addr, 0); |
637 | } | 635 | } |
638 | } | 636 | } |
@@ -666,8 +664,8 @@ static unsigned int __bcm_sysport_tx_reclaim(struct bcm_sysport_priv *priv, | |||
666 | last_tx_cn = num_tx_cbs - last_c_index + c_index; | 664 | last_tx_cn = num_tx_cbs - last_c_index + c_index; |
667 | 665 | ||
668 | netif_dbg(priv, tx_done, ndev, | 666 | netif_dbg(priv, tx_done, ndev, |
669 | "ring=%d c_index=%d last_tx_cn=%d last_c_index=%d\n", | 667 | "ring=%d c_index=%d last_tx_cn=%d last_c_index=%d\n", |
670 | ring->index, c_index, last_tx_cn, last_c_index); | 668 | ring->index, c_index, last_tx_cn, last_c_index); |
671 | 669 | ||
672 | while (last_tx_cn-- > 0) { | 670 | while (last_tx_cn-- > 0) { |
673 | cb = ring->cbs + last_c_index; | 671 | cb = ring->cbs + last_c_index; |
@@ -684,8 +682,8 @@ static unsigned int __bcm_sysport_tx_reclaim(struct bcm_sysport_priv *priv, | |||
684 | netif_tx_wake_queue(txq); | 682 | netif_tx_wake_queue(txq); |
685 | 683 | ||
686 | netif_dbg(priv, tx_done, ndev, | 684 | netif_dbg(priv, tx_done, ndev, |
687 | "ring=%d c_index=%d pkts_compl=%d, bytes_compl=%d\n", | 685 | "ring=%d c_index=%d pkts_compl=%d, bytes_compl=%d\n", |
688 | ring->index, ring->c_index, pkts_compl, bytes_compl); | 686 | ring->index, ring->c_index, pkts_compl, bytes_compl); |
689 | 687 | ||
690 | return pkts_compl; | 688 | return pkts_compl; |
691 | } | 689 | } |
@@ -890,8 +888,9 @@ static int bcm_sysport_insert_tsb(struct sk_buff *skb, struct net_device *dev) | |||
890 | csum_info |= L4_LENGTH_VALID; | 888 | csum_info |= L4_LENGTH_VALID; |
891 | if (ip_proto == IPPROTO_UDP && ip_ver == ETH_P_IP) | 889 | if (ip_proto == IPPROTO_UDP && ip_ver == ETH_P_IP) |
892 | csum_info |= L4_UDP; | 890 | csum_info |= L4_UDP; |
893 | } else | 891 | } else { |
894 | csum_info = 0; | 892 | csum_info = 0; |
893 | } | ||
895 | 894 | ||
896 | tsb->l4_ptr_dest_map = csum_info; | 895 | tsb->l4_ptr_dest_map = csum_info; |
897 | } | 896 | } |
@@ -955,7 +954,7 @@ static netdev_tx_t bcm_sysport_xmit(struct sk_buff *skb, | |||
955 | mapping = dma_map_single(kdev, skb->data, skb_len, DMA_TO_DEVICE); | 954 | mapping = dma_map_single(kdev, skb->data, skb_len, DMA_TO_DEVICE); |
956 | if (dma_mapping_error(kdev, mapping)) { | 955 | if (dma_mapping_error(kdev, mapping)) { |
957 | netif_err(priv, tx_err, dev, "DMA map failed at %p (len=%d)\n", | 956 | netif_err(priv, tx_err, dev, "DMA map failed at %p (len=%d)\n", |
958 | skb->data, skb_len); | 957 | skb->data, skb_len); |
959 | ret = NETDEV_TX_OK; | 958 | ret = NETDEV_TX_OK; |
960 | goto out; | 959 | goto out; |
961 | } | 960 | } |
@@ -973,7 +972,7 @@ static netdev_tx_t bcm_sysport_xmit(struct sk_buff *skb, | |||
973 | len_status = upper_32_bits(mapping) & DESC_ADDR_HI_MASK; | 972 | len_status = upper_32_bits(mapping) & DESC_ADDR_HI_MASK; |
974 | len_status |= (skb_len << DESC_LEN_SHIFT); | 973 | len_status |= (skb_len << DESC_LEN_SHIFT); |
975 | len_status |= (DESC_SOP | DESC_EOP | TX_STATUS_APP_CRC) << | 974 | len_status |= (DESC_SOP | DESC_EOP | TX_STATUS_APP_CRC) << |
976 | DESC_STATUS_SHIFT; | 975 | DESC_STATUS_SHIFT; |
977 | if (skb->ip_summed == CHECKSUM_PARTIAL) | 976 | if (skb->ip_summed == CHECKSUM_PARTIAL) |
978 | len_status |= (DESC_L4_CSUM << DESC_STATUS_SHIFT); | 977 | len_status |= (DESC_L4_CSUM << DESC_STATUS_SHIFT); |
979 | 978 | ||
@@ -998,7 +997,7 @@ static netdev_tx_t bcm_sysport_xmit(struct sk_buff *skb, | |||
998 | netif_tx_stop_queue(txq); | 997 | netif_tx_stop_queue(txq); |
999 | 998 | ||
1000 | netif_dbg(priv, tx_queued, dev, "ring=%d desc_count=%d, curr_desc=%d\n", | 999 | netif_dbg(priv, tx_queued, dev, "ring=%d desc_count=%d, curr_desc=%d\n", |
1001 | ring->index, ring->desc_count, ring->curr_desc); | 1000 | ring->index, ring->desc_count, ring->curr_desc); |
1002 | 1001 | ||
1003 | ret = NETDEV_TX_OK; | 1002 | ret = NETDEV_TX_OK; |
1004 | out: | 1003 | out: |
@@ -1096,7 +1095,7 @@ static int bcm_sysport_init_tx_ring(struct bcm_sysport_priv *priv, | |||
1096 | return -ENOMEM; | 1095 | return -ENOMEM; |
1097 | } | 1096 | } |
1098 | 1097 | ||
1099 | ring->cbs = kzalloc(sizeof(struct bcm_sysport_cb) * size, GFP_KERNEL); | 1098 | ring->cbs = kcalloc(size, sizeof(struct bcm_sysport_cb), GFP_KERNEL); |
1100 | if (!ring->cbs) { | 1099 | if (!ring->cbs) { |
1101 | netif_err(priv, hw, priv->netdev, "CB allocation failed\n"); | 1100 | netif_err(priv, hw, priv->netdev, "CB allocation failed\n"); |
1102 | return -ENOMEM; | 1101 | return -ENOMEM; |
@@ -1136,14 +1135,14 @@ static int bcm_sysport_init_tx_ring(struct bcm_sysport_priv *priv, | |||
1136 | napi_enable(&ring->napi); | 1135 | napi_enable(&ring->napi); |
1137 | 1136 | ||
1138 | netif_dbg(priv, hw, priv->netdev, | 1137 | netif_dbg(priv, hw, priv->netdev, |
1139 | "TDMA cfg, size=%d, desc_cpu=%p\n", | 1138 | "TDMA cfg, size=%d, desc_cpu=%p\n", |
1140 | ring->size, ring->desc_cpu); | 1139 | ring->size, ring->desc_cpu); |
1141 | 1140 | ||
1142 | return 0; | 1141 | return 0; |
1143 | } | 1142 | } |
1144 | 1143 | ||
1145 | static void bcm_sysport_fini_tx_ring(struct bcm_sysport_priv *priv, | 1144 | static void bcm_sysport_fini_tx_ring(struct bcm_sysport_priv *priv, |
1146 | unsigned int index) | 1145 | unsigned int index) |
1147 | { | 1146 | { |
1148 | struct bcm_sysport_tx_ring *ring = &priv->tx_rings[index]; | 1147 | struct bcm_sysport_tx_ring *ring = &priv->tx_rings[index]; |
1149 | struct device *kdev = &priv->pdev->dev; | 1148 | struct device *kdev = &priv->pdev->dev; |
@@ -1174,7 +1173,7 @@ static void bcm_sysport_fini_tx_ring(struct bcm_sysport_priv *priv, | |||
1174 | 1173 | ||
1175 | /* RDMA helper */ | 1174 | /* RDMA helper */ |
1176 | static inline int rdma_enable_set(struct bcm_sysport_priv *priv, | 1175 | static inline int rdma_enable_set(struct bcm_sysport_priv *priv, |
1177 | unsigned int enable) | 1176 | unsigned int enable) |
1178 | { | 1177 | { |
1179 | unsigned int timeout = 1000; | 1178 | unsigned int timeout = 1000; |
1180 | u32 reg; | 1179 | u32 reg; |
@@ -1201,7 +1200,7 @@ static inline int rdma_enable_set(struct bcm_sysport_priv *priv, | |||
1201 | 1200 | ||
1202 | /* TDMA helper */ | 1201 | /* TDMA helper */ |
1203 | static inline int tdma_enable_set(struct bcm_sysport_priv *priv, | 1202 | static inline int tdma_enable_set(struct bcm_sysport_priv *priv, |
1204 | unsigned int enable) | 1203 | unsigned int enable) |
1205 | { | 1204 | { |
1206 | unsigned int timeout = 1000; | 1205 | unsigned int timeout = 1000; |
1207 | u32 reg; | 1206 | u32 reg; |
@@ -1239,8 +1238,8 @@ static int bcm_sysport_init_rx_ring(struct bcm_sysport_priv *priv) | |||
1239 | priv->rx_bd_assign_index = 0; | 1238 | priv->rx_bd_assign_index = 0; |
1240 | priv->rx_c_index = 0; | 1239 | priv->rx_c_index = 0; |
1241 | priv->rx_read_ptr = 0; | 1240 | priv->rx_read_ptr = 0; |
1242 | priv->rx_cbs = kzalloc(priv->num_rx_bds * | 1241 | priv->rx_cbs = kcalloc(priv->num_rx_bds, sizeof(struct bcm_sysport_cb), |
1243 | sizeof(struct bcm_sysport_cb), GFP_KERNEL); | 1242 | GFP_KERNEL); |
1244 | if (!priv->rx_cbs) { | 1243 | if (!priv->rx_cbs) { |
1245 | netif_err(priv, hw, priv->netdev, "CB allocation failed\n"); | 1244 | netif_err(priv, hw, priv->netdev, "CB allocation failed\n"); |
1246 | return -ENOMEM; | 1245 | return -ENOMEM; |
@@ -1272,8 +1271,8 @@ static int bcm_sysport_init_rx_ring(struct bcm_sysport_priv *priv) | |||
1272 | rdma_writel(priv, 1, RDMA_MBDONE_INTR); | 1271 | rdma_writel(priv, 1, RDMA_MBDONE_INTR); |
1273 | 1272 | ||
1274 | netif_dbg(priv, hw, priv->netdev, | 1273 | netif_dbg(priv, hw, priv->netdev, |
1275 | "RDMA cfg, num_rx_bds=%d, rx_bds=%p\n", | 1274 | "RDMA cfg, num_rx_bds=%d, rx_bds=%p\n", |
1276 | priv->num_rx_bds, priv->rx_bds); | 1275 | priv->num_rx_bds, priv->rx_bds); |
1277 | 1276 | ||
1278 | return 0; | 1277 | return 0; |
1279 | } | 1278 | } |
@@ -1293,8 +1292,8 @@ static void bcm_sysport_fini_rx_ring(struct bcm_sysport_priv *priv) | |||
1293 | cb = &priv->rx_cbs[i]; | 1292 | cb = &priv->rx_cbs[i]; |
1294 | if (dma_unmap_addr(cb, dma_addr)) | 1293 | if (dma_unmap_addr(cb, dma_addr)) |
1295 | dma_unmap_single(&priv->pdev->dev, | 1294 | dma_unmap_single(&priv->pdev->dev, |
1296 | dma_unmap_addr(cb, dma_addr), | 1295 | dma_unmap_addr(cb, dma_addr), |
1297 | RX_BUF_LENGTH, DMA_FROM_DEVICE); | 1296 | RX_BUF_LENGTH, DMA_FROM_DEVICE); |
1298 | bcm_sysport_free_cb(cb); | 1297 | bcm_sysport_free_cb(cb); |
1299 | } | 1298 | } |
1300 | 1299 | ||
@@ -1322,7 +1321,7 @@ static void bcm_sysport_set_rx_mode(struct net_device *dev) | |||
1322 | } | 1321 | } |
1323 | 1322 | ||
1324 | static inline void umac_enable_set(struct bcm_sysport_priv *priv, | 1323 | static inline void umac_enable_set(struct bcm_sysport_priv *priv, |
1325 | u32 mask, unsigned int enable) | 1324 | u32 mask, unsigned int enable) |
1326 | { | 1325 | { |
1327 | u32 reg; | 1326 | u32 reg; |
1328 | 1327 | ||
@@ -1365,7 +1364,7 @@ static inline int umac_reset(struct bcm_sysport_priv *priv) | |||
1365 | } | 1364 | } |
1366 | 1365 | ||
1367 | static void umac_set_hw_addr(struct bcm_sysport_priv *priv, | 1366 | static void umac_set_hw_addr(struct bcm_sysport_priv *priv, |
1368 | unsigned char *addr) | 1367 | unsigned char *addr) |
1369 | { | 1368 | { |
1370 | umac_writel(priv, (addr[0] << 24) | (addr[1] << 16) | | 1369 | umac_writel(priv, (addr[0] << 24) | (addr[1] << 16) | |
1371 | (addr[2] << 8) | addr[3], UMAC_MAC0); | 1370 | (addr[2] << 8) | addr[3], UMAC_MAC0); |
@@ -1474,7 +1473,7 @@ static int bcm_sysport_open(struct net_device *dev) | |||
1474 | ret = bcm_sysport_init_tx_ring(priv, i); | 1473 | ret = bcm_sysport_init_tx_ring(priv, i); |
1475 | if (ret) { | 1474 | if (ret) { |
1476 | netdev_err(dev, "failed to initialize TX ring %d\n", | 1475 | netdev_err(dev, "failed to initialize TX ring %d\n", |
1477 | i); | 1476 | i); |
1478 | goto out_free_tx_ring; | 1477 | goto out_free_tx_ring; |
1479 | } | 1478 | } |
1480 | } | 1479 | } |
@@ -1692,7 +1691,7 @@ static int bcm_sysport_probe(struct platform_device *pdev) | |||
1692 | /* Request the WOL interrupt and advertise suspend if available */ | 1691 | /* Request the WOL interrupt and advertise suspend if available */ |
1693 | priv->wol_irq_disabled = 1; | 1692 | priv->wol_irq_disabled = 1; |
1694 | ret = devm_request_irq(&pdev->dev, priv->wol_irq, | 1693 | ret = devm_request_irq(&pdev->dev, priv->wol_irq, |
1695 | bcm_sysport_wol_isr, 0, dev->name, priv); | 1694 | bcm_sysport_wol_isr, 0, dev->name, priv); |
1696 | if (!ret) | 1695 | if (!ret) |
1697 | device_set_wakeup_capable(&pdev->dev, 1); | 1696 | device_set_wakeup_capable(&pdev->dev, 1); |
1698 | 1697 | ||
@@ -1717,10 +1716,10 @@ static int bcm_sysport_probe(struct platform_device *pdev) | |||
1717 | 1716 | ||
1718 | priv->rev = topctrl_readl(priv, REV_CNTL) & REV_MASK; | 1717 | priv->rev = topctrl_readl(priv, REV_CNTL) & REV_MASK; |
1719 | dev_info(&pdev->dev, | 1718 | dev_info(&pdev->dev, |
1720 | "Broadcom SYSTEMPORT" REV_FMT | 1719 | "Broadcom SYSTEMPORT" REV_FMT |
1721 | " at 0x%p (irqs: %d, %d, TXQs: %d, RXQs: %d)\n", | 1720 | " at 0x%p (irqs: %d, %d, TXQs: %d, RXQs: %d)\n", |
1722 | (priv->rev >> 8) & 0xff, priv->rev & 0xff, | 1721 | (priv->rev >> 8) & 0xff, priv->rev & 0xff, |
1723 | priv->base, priv->irq0, priv->irq1, txq, rxq); | 1722 | priv->base, priv->irq0, priv->irq1, txq, rxq); |
1724 | 1723 | ||
1725 | return 0; | 1724 | return 0; |
1726 | err: | 1725 | err: |
@@ -1869,7 +1868,7 @@ static int bcm_sysport_resume(struct device *d) | |||
1869 | ret = bcm_sysport_init_tx_ring(priv, i); | 1868 | ret = bcm_sysport_init_tx_ring(priv, i); |
1870 | if (ret) { | 1869 | if (ret) { |
1871 | netdev_err(dev, "failed to initialize TX ring %d\n", | 1870 | netdev_err(dev, "failed to initialize TX ring %d\n", |
1872 | i); | 1871 | i); |
1873 | goto out_free_tx_rings; | 1872 | goto out_free_tx_rings; |
1874 | } | 1873 | } |
1875 | } | 1874 | } |