mmaped PCI Base Address Question

Chris Hirsch (chris@symsystems.com)
Thu, 28 Jan 1999 13:23:14 -0700 (MST)


Hey all...I'm having problems with an AMCC PCI card and I want to make
sure that the software is right before I go talk to the HW guys :-)

My big problem is that things used to work before they upgraded the EPROM
and I wanted to verify that I'm doing things correctly. I'm thinking that
since the memory regions are not the same and they seem to be very
different from when it works that is is a BadThing(Tm). Can anybody shed
any light on my problem?

Before the EPROM upgrade on the card I was getting this in my
/proc/pci

Bus 0, device 12, function 0:
Unknown class: AMCC Unknown device (rev 0).
Vendor id=10e8. Device id=4750.
Fast devsel. IRQ 11. Master Capable. Latency=32.
Non-prefetchable 32 bit memory at 0xe0801000.
Non-prefetchable 32 bit memory at 0xe0802000.
Non-prefetchable 32 bit memory at 0xe0803000.

With the new EPROM on the card I now get

Bus 0, device 12, function 0:
Unknown class: AMCC Unknown device (rev 0).
Vendor id=10e8. Device id=4750.
Fast devsel. IRQ 11. Master Capable. Latency=32.
Non-prefetchable 32 bit memory at 0xe0000000.
Non-prefetchable 32 bit memory at 0xdf800000.
Non-prefetchable 32 bit memory at 0xdf000000.

I am doing an ioremap on the memory as follows
#define CFG_REGION_SIZE 64
#define DATA_REGION_SIZE 1024
#define STATUS_REGION_SIZE 32

pcibios_read_config_dword( hic_device[minor].bus,
hic_device[minor].method,
PCI_BASE_ADDRESS_0,
&ptr );
hp->config = ioremap( ptr, CFG_REGION_SIZE);
pcibios_read_config_dword( hic_device[minor].bus,
hic_device[minor].method,
PCI_BASE_ADDRESS_1,
&ptr );
hp->bank = (HicBank*)ioremap( ptr, DATA_REGION_SIZE);
pcibios_read_config_dword( hic_device[minor].bus,
hic_device[minor].method,
PCI_BASE_ADDRESS_2,
&ptr );
hp->status = ioremap( ptr, STATUS_REGION_SIZE);


Anybody see any problems with this?

Thanks,
Chris

-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-
Chris Hirsch chris@SymSystems.com
SymSystems, LLC -- http://www.SymSystems.com (303) 858-0085 x1299
Amateur Radio Callsign: N0ZWI
-------------------------------------------------------------------------
What? Me Worry? Ubi est mea aniticula comminosa?
Linux Inside Where is my rubber ducky?

Consider the daffodil. And while you're doing that, I'll be over here,
looking through your stuff.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/