[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1197557806.3370.7.camel@microwave.infinitevideocorporation.com>
Date: Thu, 13 Dec 2007 09:56:46 -0500
From: Jon Dufresne <jon.dufresne@...initevideocorporation.com>
To: linux-kernel@...r.kernel.org
Subject: PCI resource unavailable on mips
Hi,
I've done a bit of linux driver development on x86 in the past.
Currently I am working on my first ever linux driver for a mips box. I
started by testing the device in an x86 box and got it reasonable stable
and am now testing it in the mips box. There appears to be a major
problem, one unlike I have ever seen before.
My PCI device has three BARS. This can be confirmed by the Technical
documentation and the x86 code. When the pci device is first probed, I
run a loop to printk out the bar information, this is just as a sanity
check. Here is the output on the x86:
Bar0:PHYS=e0000000 LEN=04000000
Bar1:PHYS=efa00000 LEN=00200000
Bar2:PHYS=e8000000 LEN=04000000
but here is the output on the mips:
Bar0:PHYS=20000000 LEN=04000000
Bar1:PHYS=24000000 LEN=00200000
Bar2:PHYS=00000000 LEN=00000000
notice, BAR2 has no valid information on the mips. I tried to run
"pci_enable_device" before printing this information, as suggested by
LDD but it did not help.
Has anyone seen a problem like this before and any idea how I can get
BAR2 a proper address?
If I examine the config space directly there is an address in BAR2's
register, however it isn't in the 0x20000000 range like the other two,
instead it is 0x1c000000. Also if I do a ``cat /proc/iomem'' I correctly
see BAR0 and BAR1 in the output, but not BAR2.
Thanks for any help,
Jon
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists