.. | .. |
---|
5117 | 5117 | |
---|
5118 | 5118 | /* Adjust EEE LED frequency */ |
---|
5119 | 5119 | RTL_W8(tp, EEE_LED, RTL_R8(tp, EEE_LED) & ~0x07); |
---|
| 5120 | + printk("r8169 EEE_LED value init: %x\n",RTL_R16(tp,0x18)); |
---|
| 5121 | + RTL_W16(tp, 0x18, 0x024F); |
---|
| 5122 | + printk("r8169 EEE_LED write: %x\n",RTL_R16(tp,0x18)); |
---|
| 5123 | + |
---|
5120 | 5124 | } |
---|
5121 | 5125 | |
---|
5122 | 5126 | static void rtl_hw_start_8411(struct rtl8169_private *tp) |
---|
.. | .. |
---|
7435 | 7439 | clk_disable_unprepare(data); |
---|
7436 | 7440 | } |
---|
7437 | 7441 | |
---|
| 7442 | +extern ssize_t at24_mac2_read(unsigned char* mac); |
---|
7438 | 7443 | static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) |
---|
7439 | 7444 | { |
---|
7440 | 7445 | const struct rtl_cfg_info *cfg = rtl_cfg_infos + ent->driver_data; |
---|
.. | .. |
---|
7442 | 7447 | struct net_device *dev; |
---|
7443 | 7448 | int chipset, region, i; |
---|
7444 | 7449 | int jumbo_max, rc; |
---|
| 7450 | + unsigned char mac[6]; |
---|
7445 | 7451 | |
---|
7446 | 7452 | dev = devm_alloc_etherdev(&pdev->dev, sizeof (*tp)); |
---|
7447 | 7453 | if (!dev) |
---|
.. | .. |
---|
7593 | 7599 | default: |
---|
7594 | 7600 | break; |
---|
7595 | 7601 | } |
---|
7596 | | - for (i = 0; i < ETH_ALEN; i++) |
---|
7597 | | - dev->dev_addr[i] = RTL_R8(tp, MAC0 + i); |
---|
| 7602 | +// for (i = 0; i < ETH_ALEN; i++) |
---|
| 7603 | +// dev->dev_addr[i] = RTL_R8(tp, MAC0 + i); |
---|
| 7604 | + memset(mac, 0x00, 6); |
---|
| 7605 | + at24_mac2_read(mac); |
---|
| 7606 | + |
---|
| 7607 | + if ((mac[0] == 0x68) && (mac[1] == 0xed)) |
---|
| 7608 | + { |
---|
| 7609 | + printk("rtl811h mac read from eeprom success!! \n"); |
---|
| 7610 | + for (i = 0; i < ETH_ALEN; i++) |
---|
| 7611 | + dev->dev_addr[i] = mac[i]; |
---|
| 7612 | + } |
---|
| 7613 | + else |
---|
| 7614 | + { |
---|
| 7615 | + printk("rtl811h mac read from eeprom error!! \n"); |
---|
| 7616 | + |
---|
| 7617 | + dev->dev_addr[0] = 0x66; |
---|
| 7618 | + dev->dev_addr[1] = 0xED; |
---|
| 7619 | + dev->dev_addr[2] = 0xB5; |
---|
| 7620 | + dev->dev_addr[3] = 0x64; |
---|
| 7621 | + dev->dev_addr[4] = 0x72; |
---|
| 7622 | + dev->dev_addr[5] = 0x2C; |
---|
| 7623 | + } |
---|
| 7624 | + |
---|
| 7625 | + rtl_rar_set(tp, dev->dev_addr); |
---|
7598 | 7626 | |
---|
7599 | 7627 | dev->ethtool_ops = &rtl8169_ethtool_ops; |
---|
7600 | 7628 | dev->watchdog_timeo = RTL8169_TX_TIMEOUT; |
---|
.. | .. |
---|
7696 | 7724 | .driver.pm = RTL8169_PM_OPS, |
---|
7697 | 7725 | }; |
---|
7698 | 7726 | |
---|
7699 | | -module_pci_driver(rtl8169_pci_driver); |
---|
| 7727 | +//module_pci_driver(rtl8169_pci_driver); |
---|
| 7728 | +module_pci_driver2(rtl8169_pci_driver); //late_initcall(); |
---|