diff options
Diffstat (limited to 'drivers/net/r8169.c')
-rw-r--r-- | drivers/net/r8169.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 9d3ebf3e975e..b93fd23b9f0d 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c | |||
@@ -187,7 +187,7 @@ static DEFINE_PCI_DEVICE_TABLE(rtl8169_pci_tbl) = { | |||
187 | MODULE_DEVICE_TABLE(pci, rtl8169_pci_tbl); | 187 | MODULE_DEVICE_TABLE(pci, rtl8169_pci_tbl); |
188 | 188 | ||
189 | static int rx_copybreak = 200; | 189 | static int rx_copybreak = 200; |
190 | static int use_dac = -1; | 190 | static int use_dac; |
191 | static struct { | 191 | static struct { |
192 | u32 msg_enable; | 192 | u32 msg_enable; |
193 | } debug = { -1 }; | 193 | } debug = { -1 }; |
@@ -511,8 +511,7 @@ MODULE_DESCRIPTION("RealTek RTL-8169 Gigabit Ethernet driver"); | |||
511 | module_param(rx_copybreak, int, 0); | 511 | module_param(rx_copybreak, int, 0); |
512 | MODULE_PARM_DESC(rx_copybreak, "Copy breakpoint for copy-only-tiny-frames"); | 512 | MODULE_PARM_DESC(rx_copybreak, "Copy breakpoint for copy-only-tiny-frames"); |
513 | module_param(use_dac, int, 0); | 513 | module_param(use_dac, int, 0); |
514 | MODULE_PARM_DESC(use_dac, "Enable PCI DAC. -1 defaults on for PCI Express only." | 514 | MODULE_PARM_DESC(use_dac, "Enable PCI DAC. Unsafe on 32 bit PCI slot."); |
515 | " Unsafe on 32 bit PCI slot."); | ||
516 | module_param_named(debug, debug.msg_enable, int, 0); | 515 | module_param_named(debug, debug.msg_enable, int, 0); |
517 | MODULE_PARM_DESC(debug, "Debug verbosity level (0=none, ..., 16=all)"); | 516 | MODULE_PARM_DESC(debug, "Debug verbosity level (0=none, ..., 16=all)"); |
518 | MODULE_LICENSE("GPL"); | 517 | MODULE_LICENSE("GPL"); |
@@ -2974,7 +2973,6 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
2974 | void __iomem *ioaddr; | 2973 | void __iomem *ioaddr; |
2975 | unsigned int i; | 2974 | unsigned int i; |
2976 | int rc; | 2975 | int rc; |
2977 | int this_use_dac = use_dac; | ||
2978 | 2976 | ||
2979 | if (netif_msg_drv(&debug)) { | 2977 | if (netif_msg_drv(&debug)) { |
2980 | printk(KERN_INFO "%s Gigabit Ethernet driver %s loaded\n", | 2978 | printk(KERN_INFO "%s Gigabit Ethernet driver %s loaded\n", |
@@ -3040,17 +3038,8 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
3040 | 3038 | ||
3041 | tp->cp_cmd = PCIMulRW | RxChkSum; | 3039 | tp->cp_cmd = PCIMulRW | RxChkSum; |
3042 | 3040 | ||
3043 | tp->pcie_cap = pci_find_capability(pdev, PCI_CAP_ID_EXP); | ||
3044 | if (!tp->pcie_cap) | ||
3045 | netif_info(tp, probe, dev, "no PCI Express capability\n"); | ||
3046 | |||
3047 | if (this_use_dac < 0) | ||
3048 | this_use_dac = tp->pcie_cap != 0; | ||
3049 | |||
3050 | if ((sizeof(dma_addr_t) > 4) && | 3041 | if ((sizeof(dma_addr_t) > 4) && |
3051 | this_use_dac && | 3042 | !pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) && use_dac) { |
3052 | !pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) { | ||
3053 | netif_info(tp, probe, dev, "using 64-bit DMA\n"); | ||
3054 | tp->cp_cmd |= PCIDAC; | 3043 | tp->cp_cmd |= PCIDAC; |
3055 | dev->features |= NETIF_F_HIGHDMA; | 3044 | dev->features |= NETIF_F_HIGHDMA; |
3056 | } else { | 3045 | } else { |
@@ -3069,6 +3058,10 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
3069 | goto err_out_free_res_4; | 3058 | goto err_out_free_res_4; |
3070 | } | 3059 | } |
3071 | 3060 | ||
3061 | tp->pcie_cap = pci_find_capability(pdev, PCI_CAP_ID_EXP); | ||
3062 | if (!tp->pcie_cap) | ||
3063 | netif_info(tp, probe, dev, "no PCI Express capability\n"); | ||
3064 | |||
3072 | RTL_W16(IntrMask, 0x0000); | 3065 | RTL_W16(IntrMask, 0x0000); |
3073 | 3066 | ||
3074 | /* Soft reset the chip. */ | 3067 | /* Soft reset the chip. */ |