pci_device.resource[] and PCI 9030 device and BAR0, BAR1, etc.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello

I'm new to PCI programming, so I may not be asking this question in the
most appropriate terms.

I have a system where I can do a lspci -vb and get the following result for
a 9030 pci bridge device:

01:10.0 Bridge: PLX Technology, Inc.: Unknown device 9030 (rev 0a)
        Flags: medium devsel, IRQ 11
        I/O ports at 0100
        Memory at 5fff0000 (32-bit, non-prefetchable)
        Memory at fffe0000 (32-bit, non-prefetchable)
        Memory at 80000000 (32-bit, non-prefetchable)
        Memory at 000c0000 (32-bit, non-prefetchable)
        Capabilities: [40] Power Management version 1
        Capabilities: [48] #06 [0080]
        Capabilities: [4c] Vital Product Data


So in my driver (not the 9030 driver) I have a struct pci_dev pointer which
corresponds to the above
device and I did a printk of the second (resource[1].start) start address.
I was surprised when it did not
print 0x5FFF0000.  What's the deal?  If the printout from lspci lists the
resources in that order why doesn't the
pci device struct put them in that order?  It would seem to me that BAR0
would correspond to both the first
region printed out by lspci and the data structure resouce 0.  For example:

Register:   lspci output      pci_dev.resource[i]
-------------------------------------------------------------------
BAR0        first region            i=0
BAR1        second region           i=1
BAR2        third region            i=2
BAR3        fourth region           i=3
BAR4        fifth region            i=4
BAR5        sixth region            i=5

However this doesn't seem to be the case.  Please explain.

JD


--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux