tree: git://git.infradead.org/users/hch/block.git remove-dma-mask-indirection head: 7f0f0d04b7c2d957bee8220cf37362ed7b956a3b commit: 7f0f0d04b7c2d957bee8220cf37362ed7b956a3b [2/2] device.h: make dma_mask a scalar instead of a pointer config: powerpc-defconfig (attached as .config) compiler: powerpc64-linux-gcc (GCC) 9.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 7f0f0d04b7c2d957bee8220cf37362ed7b956a3b # save the attached .config to linux build tree GCC_VERSION=9.2.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): drivers/net/ethernet/broadcom/tg3.c: In function 'tg3_init_one': >> drivers/net/ethernet/broadcom/tg3.c:17979:11: error: 'struct pci_dev' has no member named 'dma_mask' 17979 | pdev->dma_mask == DMA_BIT_MASK(32) ? 32 : | ^~ drivers/net/ethernet/broadcom/tg3.c:17980:17: error: 'struct pci_dev' has no member named 'dma_mask' 17980 | ((u64)pdev->dma_mask) == DMA_BIT_MASK(40) ? 40 : 64); | ^~ vim +17979 drivers/net/ethernet/broadcom/tg3.c 15f9850d3c2d46 drivers/net/tg3.c David S. Miller 2005-05-18 17616 229b1ad1cb1a71 drivers/net/ethernet/broadcom/tg3.c Bill Pemberton 2012-12-03 17617 static int tg3_init_one(struct pci_dev *pdev, ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17618 const struct pci_device_id *ent) ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17619 { ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17620 struct net_device *dev; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17621 struct tg3 *tp; 5865fc1b6a99bc drivers/net/ethernet/broadcom/tg3.c Yijing Wang 2013-06-02 17622 int i, err; 646c9eddcffd20 drivers/net/tg3.c Matt Carlson 2009-09-01 17623 u32 sndmbx, rcvmbx, intmbx; f9804ddbeec2ea drivers/net/tg3.c Michael Chan 2005-09-27 17624 char str[40]; 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17625 u64 dma_mask, persist_dma_mask; c8f44affb7244f drivers/net/ethernet/broadcom/tg3.c Michał Mirosław 2011-11-15 17626 netdev_features_t features = 0; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17627 05dbe005386e75 drivers/net/tg3.c Joe Perches 2010-02-17 17628 printk_once(KERN_INFO "%s\n", version); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17629 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17630 err = pci_enable_device(pdev); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17631 if (err) { 2445e461ce8c5a drivers/net/tg3.c Matt Carlson 2010-04-05 17632 dev_err(&pdev->dev, "Cannot enable PCI device, aborting\n"); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17633 return err; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17634 } ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17635 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17636 err = pci_request_regions(pdev, DRV_MODULE_NAME); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17637 if (err) { 2445e461ce8c5a drivers/net/tg3.c Matt Carlson 2010-04-05 17638 dev_err(&pdev->dev, "Cannot obtain PCI resources, aborting\n"); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17639 goto err_out_disable_pdev; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17640 } ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17641 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17642 pci_set_master(pdev); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17643 fe5f5787f0866e drivers/net/tg3.c Matt Carlson 2009-09-01 17644 dev = alloc_etherdev_mq(sizeof(*tp), TG3_IRQ_MAX_VECS); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17645 if (!dev) { ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17646 err = -ENOMEM; 5865fc1b6a99bc drivers/net/ethernet/broadcom/tg3.c Yijing Wang 2013-06-02 17647 goto err_out_free_res; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17648 } ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17649 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17650 SET_NETDEV_DEV(dev, &pdev->dev); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17651 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17652 tp = netdev_priv(dev); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17653 tp->pdev = pdev; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17654 tp->dev = dev; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17655 tp->rx_mode = TG3_DEF_RX_MODE; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17656 tp->tx_mode = TG3_DEF_TX_MODE; 9c13cb8bb477a8 drivers/net/ethernet/broadcom/tg3.c Nithin Nayak Sujir 2013-01-14 17657 tp->irq_sync = 1; 0486a063b1ffce drivers/net/ethernet/broadcom/tg3.c Ivan Vecera 2014-09-01 17658 tp->pcierr_recovery = false; 8ef214288622bf drivers/net/tg3.c Matt Carlson 2008-05-02 17659 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17660 if (tg3_debug > 0) ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17661 tp->msg_enable = tg3_debug; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17662 else ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17663 tp->msg_enable = TG3_DEF_MSG_ENABLE; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17664 7e6c63f03d9427 drivers/net/ethernet/broadcom/tg3.c Hauke Mehrtens 2013-02-07 17665 if (pdev_is_ssb_gige_core(pdev)) { 7e6c63f03d9427 drivers/net/ethernet/broadcom/tg3.c Hauke Mehrtens 2013-02-07 17666 tg3_flag_set(tp, IS_SSB_CORE); 7e6c63f03d9427 drivers/net/ethernet/broadcom/tg3.c Hauke Mehrtens 2013-02-07 17667 if (ssb_gige_must_flush_posted_writes(pdev)) 7e6c63f03d9427 drivers/net/ethernet/broadcom/tg3.c Hauke Mehrtens 2013-02-07 17668 tg3_flag_set(tp, FLUSH_POSTED_WRITES); 7e6c63f03d9427 drivers/net/ethernet/broadcom/tg3.c Hauke Mehrtens 2013-02-07 17669 if (ssb_gige_one_dma_at_once(pdev)) 7e6c63f03d9427 drivers/net/ethernet/broadcom/tg3.c Hauke Mehrtens 2013-02-07 17670 tg3_flag_set(tp, ONE_DMA_AT_ONCE); ee002b64ec81db drivers/net/ethernet/broadcom/tg3.c Hauke Mehrtens 2013-09-28 17671 if (ssb_gige_have_roboswitch(pdev)) { ee002b64ec81db drivers/net/ethernet/broadcom/tg3.c Hauke Mehrtens 2013-09-28 17672 tg3_flag_set(tp, USE_PHYLIB); 7e6c63f03d9427 drivers/net/ethernet/broadcom/tg3.c Hauke Mehrtens 2013-02-07 17673 tg3_flag_set(tp, ROBOSWITCH); ee002b64ec81db drivers/net/ethernet/broadcom/tg3.c Hauke Mehrtens 2013-09-28 17674 } 7e6c63f03d9427 drivers/net/ethernet/broadcom/tg3.c Hauke Mehrtens 2013-02-07 17675 if (ssb_gige_is_rgmii(pdev)) 7e6c63f03d9427 drivers/net/ethernet/broadcom/tg3.c Hauke Mehrtens 2013-02-07 17676 tg3_flag_set(tp, RGMII_MODE); 7e6c63f03d9427 drivers/net/ethernet/broadcom/tg3.c Hauke Mehrtens 2013-02-07 17677 } 7e6c63f03d9427 drivers/net/ethernet/broadcom/tg3.c Hauke Mehrtens 2013-02-07 17678 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17679 /* The word/byte swap controls here control register access byte ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17680 * swapping. DMA data byte swapping is controlled in the GRC_MODE ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17681 * setting below. ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17682 */ ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17683 tp->misc_host_ctrl = ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17684 MISC_HOST_CTRL_MASK_PCI_INT | ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17685 MISC_HOST_CTRL_WORD_SWAP | ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17686 MISC_HOST_CTRL_INDIR_ACCESS | ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17687 MISC_HOST_CTRL_PCISTATE_RW; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17688 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17689 /* The NONFRM (non-frame) byte/word swap controls take effect ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17690 * on descriptor entries, anything which isn't packet data. ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17691 * ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17692 * The StrongARM chips on the board (one for tx, one for rx) ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17693 * are running in big-endian mode. ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17694 */ ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17695 tp->grc_mode = (GRC_MODE_WSWAP_DATA | GRC_MODE_BSWAP_DATA | ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17696 GRC_MODE_WSWAP_NONFRM_DATA); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17697 #ifdef __BIG_ENDIAN ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17698 tp->grc_mode |= GRC_MODE_BSWAP_NONFRM_DATA; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17699 #endif ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17700 spin_lock_init(&tp->lock); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17701 spin_lock_init(&tp->indirect_lock); c4028958b6ecad drivers/net/tg3.c David Howells 2006-11-22 17702 INIT_WORK(&tp->reset_task, tg3_reset_task); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17703 d5fe488a7b59e4 drivers/net/tg3.c Matt Carlson 2008-11-21 17704 tp->regs = pci_ioremap_bar(pdev, BAR_0); ab0049b4a2f660 drivers/net/tg3.c Andy Gospodarek 2007-09-06 17705 if (!tp->regs) { ab96b241fd82ec drivers/net/tg3.c Matt Carlson 2010-04-05 17706 dev_err(&pdev->dev, "Cannot map device registers, aborting\n"); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17707 err = -ENOMEM; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17708 goto err_out_free_dev; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17709 } ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17710 c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17711 if (tp->pdev->device == PCI_DEVICE_ID_TIGON3_5761 || c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17712 tp->pdev->device == PCI_DEVICE_ID_TIGON3_5761E || c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17713 tp->pdev->device == TG3PCI_DEVICE_TIGON3_5761S || c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17714 tp->pdev->device == TG3PCI_DEVICE_TIGON3_5761SE || c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17715 tp->pdev->device == TG3PCI_DEVICE_TIGON3_5717 || 79d4969535f1d5 drivers/net/ethernet/broadcom/tg3.c Michael Chan 2012-11-05 17716 tp->pdev->device == TG3PCI_DEVICE_TIGON3_5717_C || c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17717 tp->pdev->device == TG3PCI_DEVICE_TIGON3_5718 || c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17718 tp->pdev->device == TG3PCI_DEVICE_TIGON3_5719 || c65a17f4f51231 drivers/net/ethernet/broadcom/tg3.c Michael Chan 2013-01-06 17719 tp->pdev->device == TG3PCI_DEVICE_TIGON3_5720 || 68273712a19e91 drivers/net/ethernet/broadcom/tg3.c Nithin Sujir 2013-09-20 17720 tp->pdev->device == TG3PCI_DEVICE_TIGON3_57767 || 68273712a19e91 drivers/net/ethernet/broadcom/tg3.c Nithin Sujir 2013-09-20 17721 tp->pdev->device == TG3PCI_DEVICE_TIGON3_57764 || c65a17f4f51231 drivers/net/ethernet/broadcom/tg3.c Michael Chan 2013-01-06 17722 tp->pdev->device == TG3PCI_DEVICE_TIGON3_5762 || c65a17f4f51231 drivers/net/ethernet/broadcom/tg3.c Michael Chan 2013-01-06 17723 tp->pdev->device == TG3PCI_DEVICE_TIGON3_5725 || 68273712a19e91 drivers/net/ethernet/broadcom/tg3.c Nithin Sujir 2013-09-20 17724 tp->pdev->device == TG3PCI_DEVICE_TIGON3_5727 || 68273712a19e91 drivers/net/ethernet/broadcom/tg3.c Nithin Sujir 2013-09-20 17725 tp->pdev->device == TG3PCI_DEVICE_TIGON3_57787) { c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17726 tg3_flag_set(tp, ENABLE_APE); c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17727 tp->aperegs = pci_ioremap_bar(pdev, BAR_2); c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17728 if (!tp->aperegs) { c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17729 dev_err(&pdev->dev, c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17730 "Cannot map APE registers, aborting\n"); c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17731 err = -ENOMEM; c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17732 goto err_out_iounmap; c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17733 } c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17734 } c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17735 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17736 tp->rx_pending = TG3_DEF_RX_RING_PENDING; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17737 tp->rx_jumbo_pending = TG3_DEF_RX_JUMBO_RING_PENDING; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17738 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17739 dev->ethtool_ops = &tg3_ethtool_ops; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17740 dev->watchdog_timeo = TG3_TX_TIMEOUT; 2ffcc981d823a0 drivers/net/tg3.c Matt Carlson 2011-05-19 17741 dev->netdev_ops = &tg3_netdev_ops; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17742 dev->irq = pdev->irq; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17743 3d567e0e291c4f drivers/net/ethernet/broadcom/tg3.c Nithin Nayak Sujir 2012-11-14 17744 err = tg3_get_invariants(tp, ent); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17745 if (err) { ab96b241fd82ec drivers/net/tg3.c Matt Carlson 2010-04-05 17746 dev_err(&pdev->dev, ab96b241fd82ec drivers/net/tg3.c Matt Carlson 2010-04-05 17747 "Problem fetching invariants of chip, aborting\n"); c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17748 goto err_out_apeunmap; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17749 } ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17750 4a29cc2e503b33 drivers/net/tg3.c Michael Chan 2006-03-19 17751 /* The EPB bridge inside 5714, 5715, and 5780 and any 4a29cc2e503b33 drivers/net/tg3.c Michael Chan 2006-03-19 17752 * device behind the EPB cannot support DMA addresses > 40-bit. 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17753 * On 64-bit systems with IOMMU, use 40-bit dma_mask. 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17754 * On 64-bit systems without IOMMU, use 64-bit dma_mask and 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17755 * do DMA address check in tg3_start_xmit(). 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17756 */ 63c3a66fe6c827 drivers/net/tg3.c Joe Perches 2011-04-26 17757 if (tg3_flag(tp, IS_5788)) 284901a90a9e0b drivers/net/tg3.c Yang Hongyang 2009-04-06 17758 persist_dma_mask = dma_mask = DMA_BIT_MASK(32); 63c3a66fe6c827 drivers/net/tg3.c Joe Perches 2011-04-26 17759 else if (tg3_flag(tp, 40BIT_DMA_BUG)) { 50cf156af7dc68 drivers/net/tg3.c Yang Hongyang 2009-04-06 17760 persist_dma_mask = dma_mask = DMA_BIT_MASK(40); 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17761 #ifdef CONFIG_HIGHMEM 6a35528a8346f6 drivers/net/tg3.c Yang Hongyang 2009-04-06 17762 dma_mask = DMA_BIT_MASK(64); 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17763 #endif 4a29cc2e503b33 drivers/net/tg3.c Michael Chan 2006-03-19 17764 } else 6a35528a8346f6 drivers/net/tg3.c Yang Hongyang 2009-04-06 17765 persist_dma_mask = dma_mask = DMA_BIT_MASK(64); 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17766 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17767 /* Configure DMA attributes. */ 284901a90a9e0b drivers/net/tg3.c Yang Hongyang 2009-04-06 17768 if (dma_mask > DMA_BIT_MASK(32)) { 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17769 err = pci_set_dma_mask(pdev, dma_mask); 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17770 if (!err) { 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17771 features |= NETIF_F_HIGHDMA; 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17772 err = pci_set_consistent_dma_mask(pdev, 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17773 persist_dma_mask); 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17774 if (err < 0) { ab96b241fd82ec drivers/net/tg3.c Matt Carlson 2010-04-05 17775 dev_err(&pdev->dev, "Unable to obtain 64 bit " ab96b241fd82ec drivers/net/tg3.c Matt Carlson 2010-04-05 17776 "DMA for consistent allocations\n"); c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17777 goto err_out_apeunmap; 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17778 } 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17779 } 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17780 } 284901a90a9e0b drivers/net/tg3.c Yang Hongyang 2009-04-06 17781 if (err || dma_mask == DMA_BIT_MASK(32)) { 284901a90a9e0b drivers/net/tg3.c Yang Hongyang 2009-04-06 17782 err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17783 if (err) { ab96b241fd82ec drivers/net/tg3.c Matt Carlson 2010-04-05 17784 dev_err(&pdev->dev, ab96b241fd82ec drivers/net/tg3.c Matt Carlson 2010-04-05 17785 "No usable DMA configuration, aborting\n"); c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17786 goto err_out_apeunmap; 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17787 } 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17788 } 72f2afb8a6858e drivers/net/tg3.c Michael Chan 2006-03-06 17789 fdfec1726b14b4 drivers/net/tg3.c Michael Chan 2005-07-25 17790 tg3_init_bufmgr_config(tp); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17791 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17792 /* 5700 B0 chips do not support checksumming correctly due 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17793 * to hardware bugs. 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17794 */ 4153577a8d318a drivers/net/ethernet/broadcom/tg3.c Joe Perches 2013-02-16 17795 if (tg3_chip_rev_id(tp) != CHIPREV_ID_5700_B0) { 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17796 features |= NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_RXCSUM; 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17797 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17798 if (tg3_flag(tp, 5755_PLUS)) 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17799 features |= NETIF_F_IPV6_CSUM; 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17800 } 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17801 4e3a7aaa28db95 drivers/net/tg3.c Michael Chan 2006-03-20 17802 /* TSO is on by default on chips that support hardware TSO. 4e3a7aaa28db95 drivers/net/tg3.c Michael Chan 2006-03-20 17803 * Firmware TSO on older chips gives lower performance, so it 4e3a7aaa28db95 drivers/net/tg3.c Michael Chan 2006-03-20 17804 * is off by default, but can be enabled using ethtool. 4e3a7aaa28db95 drivers/net/tg3.c Michael Chan 2006-03-20 17805 */ 63c3a66fe6c827 drivers/net/tg3.c Joe Perches 2011-04-26 17806 if ((tg3_flag(tp, HW_TSO_1) || 63c3a66fe6c827 drivers/net/tg3.c Joe Perches 2011-04-26 17807 tg3_flag(tp, HW_TSO_2) || 63c3a66fe6c827 drivers/net/tg3.c Joe Perches 2011-04-26 17808 tg3_flag(tp, HW_TSO_3)) && 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17809 (features & NETIF_F_IP_CSUM)) 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17810 features |= NETIF_F_TSO; 63c3a66fe6c827 drivers/net/tg3.c Joe Perches 2011-04-26 17811 if (tg3_flag(tp, HW_TSO_2) || tg3_flag(tp, HW_TSO_3)) { 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17812 if (features & NETIF_F_IPV6_CSUM) 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17813 features |= NETIF_F_TSO6; 63c3a66fe6c827 drivers/net/tg3.c Joe Perches 2011-04-26 17814 if (tg3_flag(tp, HW_TSO_3) || 4153577a8d318a drivers/net/ethernet/broadcom/tg3.c Joe Perches 2013-02-16 17815 tg3_asic_rev(tp) == ASIC_REV_5761 || 4153577a8d318a drivers/net/ethernet/broadcom/tg3.c Joe Perches 2013-02-16 17816 (tg3_asic_rev(tp) == ASIC_REV_5784 && 4153577a8d318a drivers/net/ethernet/broadcom/tg3.c Joe Perches 2013-02-16 17817 tg3_chip_rev(tp) != CHIPREV_5784_AX) || 4153577a8d318a drivers/net/ethernet/broadcom/tg3.c Joe Perches 2013-02-16 17818 tg3_asic_rev(tp) == ASIC_REV_5785 || 4153577a8d318a drivers/net/ethernet/broadcom/tg3.c Joe Perches 2013-02-16 17819 tg3_asic_rev(tp) == ASIC_REV_57780) 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17820 features |= NETIF_F_TSO_ECN; b0026624f1aa3e drivers/net/tg3.c Michael Chan 2006-07-03 17821 } ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17822 51dfe7b944998e drivers/net/ethernet/broadcom/tg3.c Vlad Yasevich 2014-03-24 17823 dev->features |= features | NETIF_F_HW_VLAN_CTAG_TX | 51dfe7b944998e drivers/net/ethernet/broadcom/tg3.c Vlad Yasevich 2014-03-24 17824 NETIF_F_HW_VLAN_CTAG_RX; d542fe27c86ecf drivers/net/tg3.c Matt Carlson 2011-05-19 17825 dev->vlan_features |= features; d542fe27c86ecf drivers/net/tg3.c Matt Carlson 2011-05-19 17826 06c03c02ea528a drivers/net/tg3.c Mahesh Bandewar 2011-05-08 17827 /* 06c03c02ea528a drivers/net/tg3.c Mahesh Bandewar 2011-05-08 17828 * Add loopback capability only for a subset of devices that support 06c03c02ea528a drivers/net/tg3.c Mahesh Bandewar 2011-05-08 17829 * MAC-LOOPBACK. Eventually this need to be enhanced to allow INT-PHY 06c03c02ea528a drivers/net/tg3.c Mahesh Bandewar 2011-05-08 17830 * loopback for the remaining devices. 06c03c02ea528a drivers/net/tg3.c Mahesh Bandewar 2011-05-08 17831 */ 4153577a8d318a drivers/net/ethernet/broadcom/tg3.c Joe Perches 2013-02-16 17832 if (tg3_asic_rev(tp) != ASIC_REV_5780 && 06c03c02ea528a drivers/net/tg3.c Mahesh Bandewar 2011-05-08 17833 !tg3_flag(tp, CPMU_PRESENT)) 06c03c02ea528a drivers/net/tg3.c Mahesh Bandewar 2011-05-08 17834 /* Add the loopback capability */ 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17835 features |= NETIF_F_LOOPBACK; 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17836 0da0606f493c5c drivers/net/tg3.c Matt Carlson 2011-05-19 17837 dev->hw_features |= features; e565eec31d9d5b drivers/net/ethernet/broadcom/tg3.c Michael Chan 2014-01-03 17838 dev->priv_flags |= IFF_UNICAST_FLT; 06c03c02ea528a drivers/net/tg3.c Mahesh Bandewar 2011-05-08 17839 e1c6dccaf3af29 drivers/net/ethernet/broadcom/tg3.c Jarod Wilson 2016-10-17 17840 /* MTU range: 60 - 9000 or 1500, depending on hardware */ e1c6dccaf3af29 drivers/net/ethernet/broadcom/tg3.c Jarod Wilson 2016-10-17 17841 dev->min_mtu = TG3_MIN_MTU; e1c6dccaf3af29 drivers/net/ethernet/broadcom/tg3.c Jarod Wilson 2016-10-17 17842 dev->max_mtu = TG3_MAX_MTU(tp); e1c6dccaf3af29 drivers/net/ethernet/broadcom/tg3.c Jarod Wilson 2016-10-17 17843 4153577a8d318a drivers/net/ethernet/broadcom/tg3.c Joe Perches 2013-02-16 17844 if (tg3_chip_rev_id(tp) == CHIPREV_ID_5705_A1 && 63c3a66fe6c827 drivers/net/tg3.c Joe Perches 2011-04-26 17845 !tg3_flag(tp, TSO_CAPABLE) && ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17846 !(tr32(TG3PCI_PCISTATE) & PCISTATE_BUS_SPEED_HIGH)) { 63c3a66fe6c827 drivers/net/tg3.c Joe Perches 2011-04-26 17847 tg3_flag_set(tp, MAX_RXPEND_64); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17848 tp->rx_pending = 63; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17849 } ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17850 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17851 err = tg3_get_device_address(tp); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17852 if (err) { ab96b241fd82ec drivers/net/tg3.c Matt Carlson 2010-04-05 17853 dev_err(&pdev->dev, ab96b241fd82ec drivers/net/tg3.c Matt Carlson 2010-04-05 17854 "Could not obtain valid ethernet address, aborting\n"); c9cab24e954867 drivers/net/tg3.c Matt Carlson 2011-07-13 17855 goto err_out_apeunmap; c88864df27590b drivers/net/tg3.c Matt Carlson 2007-11-12 17856 } c88864df27590b drivers/net/tg3.c Matt Carlson 2007-11-12 17857 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17858 intmbx = MAILBOX_INTERRUPT_0 + TG3_64BIT_REG_LOW; 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17859 rcvmbx = MAILBOX_RCVRET_CON_IDX_0 + TG3_64BIT_REG_LOW; 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17860 sndmbx = MAILBOX_SNDHOST_PROD_IDX_0 + TG3_64BIT_REG_LOW; 6fd45cb8147097 drivers/net/tg3.c Matt Carlson 2010-09-15 17861 for (i = 0; i < tp->irq_max; i++) { 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17862 struct tg3_napi *tnapi = &tp->napi[i]; 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17863 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17864 tnapi->tp = tp; 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17865 tnapi->tx_pending = TG3_DEF_TX_RING_PENDING; 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17866 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17867 tnapi->int_mbox = intmbx; 93a700a9d20b05 drivers/net/ethernet/broadcom/tg3.c Matt Carlson 2011-08-31 17868 if (i <= 4) 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17869 intmbx += 0x8; 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17870 else 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17871 intmbx += 0x4; 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17872 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17873 tnapi->consmbox = rcvmbx; 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17874 tnapi->prodmbox = sndmbx; 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17875 66cfd1bd05a7a1 drivers/net/tg3.c Matt Carlson 2010-09-30 17876 if (i) 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17877 tnapi->coal_now = HOSTCC_MODE_COAL_VEC1_NOW << (i - 1); 66cfd1bd05a7a1 drivers/net/tg3.c Matt Carlson 2010-09-30 17878 else 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17879 tnapi->coal_now = HOSTCC_MODE_NOW; 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17880 63c3a66fe6c827 drivers/net/tg3.c Joe Perches 2011-04-26 17881 if (!tg3_flag(tp, SUPPORT_MSIX)) 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17882 break; 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17883 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17884 /* 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17885 * If we support MSIX, we'll be using RSS. If we're using 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17886 * RSS, the first vector only handles link interrupts and the 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17887 * remaining vectors handle rx and tx interrupts. Reuse the 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17888 * mailbox values for the next iteration. The values we setup 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17889 * above are still useful for the single vectored mode. 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17890 */ 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17891 if (!i) 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17892 continue; 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17893 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17894 rcvmbx += 0x8; 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17895 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17896 if (sndmbx & 0x4) 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17897 sndmbx -= 0x4; 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17898 else 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17899 sndmbx += 0xc; 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17900 } 78f90dcf184b82 drivers/net/tg3.c Matt Carlson 2009-11-13 17901 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17902 /* 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17903 * Reset chip in case UNDI or EFI driver did not shutdown 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17904 * DMA self test will enable WDMAC and we'll see (spurious) 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17905 * pending DMA on the PCI bus at that point. 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17906 */ 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17907 if ((tr32(HOSTCC_MODE) & HOSTCC_MODE_ENABLE) || 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17908 (tr32(WDMAC_MODE) & WDMAC_MODE_ENABLE)) { d0af71a3573f12 drivers/net/ethernet/broadcom/tg3.c Jun'ichi Nomura \(NEC\ 2015-02-12 17909) tg3_full_lock(tp, 0); 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17910 tw32(MEMARB_MODE, MEMARB_MODE_ENABLE); 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17911 tg3_halt(tp, RESET_KIND_SHUTDOWN, 1); d0af71a3573f12 drivers/net/ethernet/broadcom/tg3.c Jun'ichi Nomura \(NEC\ 2015-02-12 17912) tg3_full_unlock(tp); 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17913 } 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17914 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17915 err = tg3_test_dma(tp); 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17916 if (err) { 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17917 dev_err(&pdev->dev, "DMA engine test failed, aborting\n"); 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17918 goto err_out_apeunmap; 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17919 } 05b0aa579397b7 drivers/net/ethernet/broadcom/tg3.c Prashant Sreedharan 2014-12-20 17920 15f9850d3c2d46 drivers/net/tg3.c David S. Miller 2005-05-18 17921 tg3_init_coal(tp); 15f9850d3c2d46 drivers/net/tg3.c David S. Miller 2005-05-18 17922 c49a1561ee4b66 drivers/net/tg3.c Michael Chan 2006-12-17 17923 pci_set_drvdata(pdev, dev); c49a1561ee4b66 drivers/net/tg3.c Michael Chan 2006-12-17 17924 4153577a8d318a drivers/net/ethernet/broadcom/tg3.c Joe Perches 2013-02-16 17925 if (tg3_asic_rev(tp) == ASIC_REV_5719 || 4153577a8d318a drivers/net/ethernet/broadcom/tg3.c Joe Perches 2013-02-16 17926 tg3_asic_rev(tp) == ASIC_REV_5720 || 4153577a8d318a drivers/net/ethernet/broadcom/tg3.c Joe Perches 2013-02-16 17927 tg3_asic_rev(tp) == ASIC_REV_5762) fb4ce8ad8036e6 drivers/net/ethernet/broadcom/tg3.c Matt Carlson 2012-12-03 17928 tg3_flag_set(tp, PTP_CAPABLE); fb4ce8ad8036e6 drivers/net/ethernet/broadcom/tg3.c Matt Carlson 2012-12-03 17929 21f7638e6f05c3 drivers/net/ethernet/broadcom/tg3.c Matt Carlson 2012-02-22 17930 tg3_timer_init(tp); 21f7638e6f05c3 drivers/net/ethernet/broadcom/tg3.c Matt Carlson 2012-02-22 17931 402e1398a39800 drivers/net/ethernet/broadcom/tg3.c Michael Chan 2013-02-14 17932 tg3_carrier_off(tp); 402e1398a39800 drivers/net/ethernet/broadcom/tg3.c Michael Chan 2013-02-14 17933 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17934 err = register_netdev(dev); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17935 if (err) { ab96b241fd82ec drivers/net/tg3.c Matt Carlson 2010-04-05 17936 dev_err(&pdev->dev, "Cannot register net device, aborting\n"); 0d3031d9e674cd drivers/net/tg3.c Matt Carlson 2007-10-10 17937 goto err_out_apeunmap; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17938 } ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17939 20d14a5d377a62 drivers/net/ethernet/broadcom/tg3.c Ivan Vecera 2015-01-08 17940 if (tg3_flag(tp, PTP_CAPABLE)) { 20d14a5d377a62 drivers/net/ethernet/broadcom/tg3.c Ivan Vecera 2015-01-08 17941 tg3_ptp_init(tp); 20d14a5d377a62 drivers/net/ethernet/broadcom/tg3.c Ivan Vecera 2015-01-08 17942 tp->ptp_clock = ptp_clock_register(&tp->ptp_info, 20d14a5d377a62 drivers/net/ethernet/broadcom/tg3.c Ivan Vecera 2015-01-08 17943 &tp->pdev->dev); 20d14a5d377a62 drivers/net/ethernet/broadcom/tg3.c Ivan Vecera 2015-01-08 17944 if (IS_ERR(tp->ptp_clock)) 20d14a5d377a62 drivers/net/ethernet/broadcom/tg3.c Ivan Vecera 2015-01-08 17945 tp->ptp_clock = NULL; 20d14a5d377a62 drivers/net/ethernet/broadcom/tg3.c Ivan Vecera 2015-01-08 17946 } 20d14a5d377a62 drivers/net/ethernet/broadcom/tg3.c Ivan Vecera 2015-01-08 17947 05dbe005386e75 drivers/net/tg3.c Joe Perches 2010-02-17 17948 netdev_info(dev, "Tigon3 [partno(%s) rev %04x] (%s) MAC address %pM\n", ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17949 tp->board_part_number, 4153577a8d318a drivers/net/ethernet/broadcom/tg3.c Joe Perches 2013-02-16 17950 tg3_chip_rev_id(tp), f9804ddbeec2ea drivers/net/tg3.c Michael Chan 2005-09-27 17951 tg3_bus_string(tp, str), df59c940355739 drivers/net/tg3.c Matt Carlson 2008-11-03 17952 dev->dev_addr); df59c940355739 drivers/net/tg3.c Matt Carlson 2008-11-03 17953 2220943a21e26d drivers/net/ethernet/broadcom/tg3.c Andrew Lunn 2016-01-06 17954 if (!(tp->phy_flags & TG3_PHYFLG_IS_CONNECTED)) { f07e9af31e6e1b drivers/net/tg3.c Matt Carlson 2010-08-02 17955 char *ethtype; f07e9af31e6e1b drivers/net/tg3.c Matt Carlson 2010-08-02 17956 f07e9af31e6e1b drivers/net/tg3.c Matt Carlson 2010-08-02 17957 if (tp->phy_flags & TG3_PHYFLG_10_100_ONLY) f07e9af31e6e1b drivers/net/tg3.c Matt Carlson 2010-08-02 17958 ethtype = "10/100Base-TX"; f07e9af31e6e1b drivers/net/tg3.c Matt Carlson 2010-08-02 17959 else if (tp->phy_flags & TG3_PHYFLG_ANY_SERDES) f07e9af31e6e1b drivers/net/tg3.c Matt Carlson 2010-08-02 17960 ethtype = "1000Base-SX"; f07e9af31e6e1b drivers/net/tg3.c Matt Carlson 2010-08-02 17961 else f07e9af31e6e1b drivers/net/tg3.c Matt Carlson 2010-08-02 17962 ethtype = "10/100/1000Base-T"; f07e9af31e6e1b drivers/net/tg3.c Matt Carlson 2010-08-02 17963 5129c3a3faf8c5 drivers/net/tg3.c Matt Carlson 2010-04-05 17964 netdev_info(dev, "attached PHY is %s (%s Ethernet) " 470078312515f1 drivers/net/tg3.c Matt Carlson 2011-04-20 17965 "(WireSpeed[%d], EEE[%d])\n", 470078312515f1 drivers/net/tg3.c Matt Carlson 2011-04-20 17966 tg3_phy_string(tp), ethtype, 470078312515f1 drivers/net/tg3.c Matt Carlson 2011-04-20 17967 (tp->phy_flags & TG3_PHYFLG_NO_ETH_WIRE_SPEED) == 0, 470078312515f1 drivers/net/tg3.c Matt Carlson 2011-04-20 17968 (tp->phy_flags & TG3_PHYFLG_EEE_CAP) != 0); f07e9af31e6e1b drivers/net/tg3.c Matt Carlson 2010-08-02 17969 } ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17970 05dbe005386e75 drivers/net/tg3.c Joe Perches 2010-02-17 17971 netdev_info(dev, "RXcsums[%d] LinkChgREG[%d] MIirq[%d] ASF[%d] TSOcap[%d]\n", dc668910f4eaa2 drivers/net/tg3.c Michał Mirosław 2011-04-07 17972 (dev->features & NETIF_F_RXCSUM) != 0, 63c3a66fe6c827 drivers/net/tg3.c Joe Perches 2011-04-26 17973 tg3_flag(tp, USE_LINKCHG_REG) != 0, f07e9af31e6e1b drivers/net/tg3.c Matt Carlson 2010-08-02 17974 (tp->phy_flags & TG3_PHYFLG_USE_MI_INTERRUPT) != 0, 63c3a66fe6c827 drivers/net/tg3.c Joe Perches 2011-04-26 17975 tg3_flag(tp, ENABLE_ASF) != 0, 63c3a66fe6c827 drivers/net/tg3.c Joe Perches 2011-04-26 17976 tg3_flag(tp, TSO_CAPABLE) != 0); 05dbe005386e75 drivers/net/tg3.c Joe Perches 2010-02-17 17977 netdev_info(dev, "dma_rwctrl[%08x] dma_mask[%d-bit]\n", 05dbe005386e75 drivers/net/tg3.c Joe Perches 2010-02-17 17978 tp->dma_rwctrl, 05dbe005386e75 drivers/net/tg3.c Joe Perches 2010-02-17 @17979 pdev->dma_mask == DMA_BIT_MASK(32) ? 32 : 05dbe005386e75 drivers/net/tg3.c Joe Perches 2010-02-17 17980 ((u64)pdev->dma_mask) == DMA_BIT_MASK(40) ? 40 : 64); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17981 b45aa2f6192e34 drivers/net/tg3.c Matt Carlson 2011-04-25 17982 pci_save_state(pdev); b45aa2f6192e34 drivers/net/tg3.c Matt Carlson 2011-04-25 17983 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17984 return 0; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17985 0d3031d9e674cd drivers/net/tg3.c Matt Carlson 2007-10-10 17986 err_out_apeunmap: 0d3031d9e674cd drivers/net/tg3.c Matt Carlson 2007-10-10 17987 if (tp->aperegs) { 0d3031d9e674cd drivers/net/tg3.c Matt Carlson 2007-10-10 17988 iounmap(tp->aperegs); 0d3031d9e674cd drivers/net/tg3.c Matt Carlson 2007-10-10 17989 tp->aperegs = NULL; 0d3031d9e674cd drivers/net/tg3.c Matt Carlson 2007-10-10 17990 } 0d3031d9e674cd drivers/net/tg3.c Matt Carlson 2007-10-10 17991 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17992 err_out_iounmap: 6892914fb7980d drivers/net/tg3.c Michael Chan 2005-08-09 17993 if (tp->regs) { ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17994 iounmap(tp->regs); 22abe310bc4b0c drivers/net/tg3.c Peter Hagervall 2005-09-16 17995 tp->regs = NULL; 6892914fb7980d drivers/net/tg3.c Michael Chan 2005-08-09 17996 } ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17997 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17998 err_out_free_dev: ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 17999 free_netdev(dev); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 18000 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 18001 err_out_free_res: ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 18002 pci_release_regions(pdev); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 18003 ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 18004 err_out_disable_pdev: c80dc13dda73db drivers/net/ethernet/broadcom/tg3.c Gavin Shan 2013-07-24 18005 if (pci_is_enabled(pdev)) ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 18006 pci_disable_device(pdev); ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 18007 return err; ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 18008 } ^1da177e4c3f41 drivers/net/tg3.c Linus Torvalds 2005-04-16 18009 :::::: The code at line 17979 was first introduced by commit :::::: 05dbe005386e7521153dce6c5ad95c98b73b80c7 drivers/net/tg3.c: Use (pr|netdev)_ macro helpers :::::: TO: Joe Perches :::::: CC: David S. Miller --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org