patch for rtl8139.c, base version is u-boot-1.1.6
PATCH 1/1 patch for rtl8139.c, base version is u-boot-1.1.6
drivers/rtl8139.c renamed from drivers/rtl8139.c.orig +11 -9
@@ -76,6 +76,7 @@#include <net.h> #include <asm/io.h> #include <pci.h> +#include <linux/byteorder/generic.h> #if (CONFIG_COMMANDS &CFG_CMD_NET ) && defined(CONFIG_NET_MULTI ) && \ defined(CONFIG_RTL8139 )
@@ -104,8 +105,8 @@#undef DEBUG_RX#define currticks () get_timer(0) -#define bus_to_phys (a) pci_mem_to_phys((pci_dev_t)dev->priv, a) -#define phys_to_bus (a) pci_phys_to_mem((pci_dev_t)dev->priv, a) +#define bus_to_phys (a) pci_io_to_phys((pci_dev_t)dev->priv, a) +#define phys_to_bus (a) pci_phys_to_io((pci_dev_t)dev->priv, a)/* Symbolic offsets to registers. */ enum RTL8139_registers {
@@ -213,7 +214,7 @@if ((devno =pci_find_devices (supported, idx++)) <0 )break ; -pci_read_config_dword (devno,PCI_BASE_ADDRESS_1 , &iobase); +pci_read_config_dword (devno,PCI_BASE_ADDRESS_0 , &iobase); iobase &= ~0xf ;debug ("rtl8139: REALTEK RTL8139 @0x%x\n" , iobase);
@@ -254,8 +255,9 @@outb (0x00 , ioaddr + Config1); addr_len =read_eeprom (0 ,8 ) ==0x8129 ?8 :6 ; -for (i =0 ; i <3 ; i++) - *ap++ =le16_to_cpu (read_eeprom (i +7 , addr_len)); +//this doesn't work +//for (i = 0; i < 3; i++) +// *ap++ = le16_to_cpu (read_eeprom(i + 7, addr_len)); speed10 =inb (ioaddr + MediaStatus) & MSRSpeed10; fullduplex =inw (ioaddr +MII_BMCR ) & BMCRDuplex;
@@ -338,7 +340,7 @@unsigned int mc_filter[2 ];int rx_mode;/* !IFF_PROMISC */ - rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys; + rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys | AcceptAllPhys; mc_filter[1 ] = mc_filter[0 ] =0xffffffff ;outl (rtl8139_rx_config | rx_mode, ioaddr + RxConfig);
@@ -383,7 +385,7 @@#ifdef DEBUG_RX printf ("rx ring address is %X\n" ,(unsigned long )rx_ring);#endif -outl (phys_to_bus ((int )rx_ring), ioaddr + RxBuf); +outl ((int )rx_ring, ioaddr + RxBuf);/* If we add multicast support, the MAR0 register would have to be * initialized to 0xffffffffffffffff (two 32 bit accesses). Etherboot
@@ -423,7 +425,7 @@ tx_buffer[len++] ='\0' ; } -outl (phys_to_bus ((int )tx_buffer), ioaddr + TxAddr0 + cur_tx*4 ); +outl ((int )tx_buffer, ioaddr + TxAddr0 + cur_tx*4 );outl (((TX_FIFO_THRESH <<11 ) &0x003f0000 ) | len, ioaddr + TxStatus0 + cur_tx*4 );
@@ -480,7 +482,7 @@#endif ring_offs = cur_rx %RX_BUF_LEN ; - rx_status = *(unsigned int *)KSEG1ADDR ((rx_ring + ring_offs)); + rx_status =le32_to_cpu (*(unsigned int *)(rx_ring + ring_offs)); rx_size = rx_status >>16 ; rx_status &=0xffff ;
--------------
Lucas Jin
PATCH 1/1 patch for rtl8139.c, base version is u-boot-1.1.6
Dear Lucas,
drivers/rtl8139.c
Quoted 3 lines · in message <[email protected]> you wrote:
drivers/rtl8139.c renamed from drivers/rtl8139.c.orig +0
-0
I have to reject this patch.
* There is no description at all which problem this patch is supposed to fix or what else it does
* Signed-off-by line is missing
Please see http://www.denx.de/wiki/UBoot/Patches for instructions.
drivers/rtl8139.c line 260
Quoted 9 lines
drivers/rtl8139.c renamed from drivers/rtl8139.c.orig +3
-2@@ -254,8 +255,9 @@outb (0x00 , ioaddr + Config1); addr_len =read_eeprom (0 ,8 ) ==0x8129 ?8 :6 ; -for (i =0 ; i <3 ; i++) - *ap++ =le16_to_cpu (read_eeprom (i +7 , addr_len)); +//this doesn't work +//for (i = 0; i < 3; i++) +// *ap++ = le16_to_cpu (read_eeprom(i + 7, addr_len));
First: C++ comments are not allowed in U-Boot, see
http://www.denx.de/wiki/UBoot/CodingStyle
Second: if it doesn't work, please fix it. Simply removing this is probably a bad idea.
Best regards,
Wolfgang Denk
Signature · 4 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "I haven't lost my mind - it's backed up on tape somewhere."