linux-mips
[Top] [All Lists]

Re: PCI resource unavailable on mips

To: Jon Dufresne <jon.dufresne@infinitevideocorporation.com>
Subject: Re: PCI resource unavailable on mips
From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Date: Mon, 17 Dec 2007 18:47:06 +0300
Cc: Ralf Baechle <ralf@linux-mips.org>, linux-kernel@vger.kernel.org, linux-mips@linux-mips.org
In-reply-to: <1197904591.3351.5.camel@microwave.infinitevideocorporation.com>
Organization: MontaVista Software Inc.
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1197557806.3370.7.camel@microwave.infinitevideocorporation.com> <20071214093945.GA25186@linux-mips.org> <1197666735.3800.1.camel@microwave.infinitevideocorporation.com> <20071216224617.GA18613@linux-mips.org> <1197904591.3351.5.camel@microwave.infinitevideocorporation.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (X11; U; Linux i686; rv:1.7.2) Gecko/20040803
Hello.

Jon Dufresne wrote:

I did a bit more work and investigation on this and it turns out I could
not read the mmio in kernel space because I had not done a
pci_enable_device_bars() on the device. I had never done this on x86 so
I didn't realize it was necessary.

The virtual address 0xc0300000 looks sensible and the physical address
0x24000000 is consistent with what you found in the BAR registers.  So that
all looks reasonable but that only means not obviously wrong.  So next I
wonder what the value of PCI_MMIO_BASE is ...

The PCI_MMIO_BASE is a defined as:

#define PCI_MMIO_BASE            (0x00040000)

This is define in the technical documentation as the offset to access
pci config space from the mmio.

From what mmio? If it's for accessing a config. space why then you're using it as an offset from BAR?

I am using this because I know what the
values should be so it provides a nice sanity check.

Any idea what I might be doing wrong? How can I access this from user
space?

   Your example doesn't make sense to me so far.

Thanks,
Jon

WBR, Sergei

<Prev in Thread] Current Thread [Next in Thread>