Skip to contentSkip to conversation

Fixed pcnet io_base , added Am79C970A chip id

PATCH New Vlad Lungu 2 participants 2 messages Oct 10, 2007

lore
Share & tools
lore

Vlad Lungu

author
#0 lore raw

PATCH 1/1 Fixed pcnet io_base , added Am79C970A chip id

Bus and phys address are not always the same

---
 drivers/pcnet.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
drivers/pcnet.c +4 -0
index 2af0e8f..3424846 100644
@@ -196,6 +196,7 @@ int pcnet_initialize(bd_t *bis)
         * Setup the PCI device.
         */        pci_read_config_dword(devbusfn, PCI_BASE_ADDRESS_0, (unsigned int *)&dev->iobase);
+       dev->iobase=pci_io_to_phys(devbusfn,dev->iobase);
        dev->iobase &= ~0xf;
 
        PCNET_DEBUG1("%s: devbusfn=0x%x iobase=0x%x: ",
@@ -260,6 +261,9 @@ static int pcnet_probe(struct eth_device* dev, bd_t *bis, int dev_nr)
        return -1;
     chip_version = (chip_version >> 12) & 0xffff;
     switch (chip_version) {
+    case 0x2621:
+       chipname = "PCnet/PCI II 79C970A"; /* PCI */
+       break;
 #ifdef CONFIG_PCNET_79C973
     case 0x2625:
        chipname = "PCnet/FAST III 79C973"; /* PCI */

--
1.5.2.2

#1 lore raw

PATCH 1/1 Fixed pcnet io_base , added Am79C970A chip id

Quoted 1 line · In message <[email protected]> you wrote:

Bus and phys address are not always the same

OK, so this would be a bug fix.

drivers/pcnet.c int pcnet_initialize(bd_t *bis) · line 198

Quoted 6 lines
drivers/pcnet.c +1 -0
@@ -196,6 +196,7 @@ int pcnet_initialize(bd_t *bis)
         * Setup the PCI device.
         */        pci_read_config_dword(devbusfn, PCI_BASE_ADDRESS_0, (unsigned int *)&dev->iobase);
+       dev->iobase=pci_io_to_phys(devbusfn,dev->iobase);

Here it goes.

drivers/pcnet.c static int pcnet_probe(struct eth_device* dev, bd_t *bis, int dev_nr) · line 266

Quoted 7 lines
drivers/pcnet.c +3 -0
@@ -260,6 +261,9 @@ static int pcnet_probe(struct eth_device* dev, bd_t *bis, int dev_nr)
        return -1;
     chip_version = (chip_version >> 12) & 0xffff;
     switch (chip_version) {
+    case 0x2621:
+       chipname = "PCnet/PCI II 79C970A"; /* PCI */
+       break;

But this is new code and completely unrelated to the bug fix.

Please split and submit as two separate patched - the first will go into 1.3.0, the second will have to wait.

Best regards,

Wolfgang Denk

Signature · 6 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
If you want strict real-time behavior, run in the real  time  schedu-
ling class.  But there are no seatbelts or airbags;  main(){for(;;);}
can hard hang your system.                          -- Bart Smaalders