Thread (12 messages) 12 messages, 3 authors, 2003-10-16

Re: Walnut PCI bridge can't be detected

From: Eugene Surovegin <hidden>
Date: 2003-10-14 05:41:20

At 09:27 PM 10/13/2003, Xiaoshan Zuo wrote:
I was puzzled by this for a while. Then I saw this code while debugging
PCI on my custom board:
In ppc405_pci.c, there is ppc4xx_exclude_device function:

static int
ppc4xx_exclude_device(unsigned char bus, unsigned char devfn)
{
/* We prevent us from seeing ourselves to avoid having
* the kernel try to remap our BAR #1 and fuck up bus
* master from external PCI devices
*/
return (bus == 0 && devfn == 0);
}
I think comment is quite clear, don't you think ?
With this function there, there is no way you are going to see the
bridge, even your driver does the scan itself. I had to write my own
pci_read_config_<size> function to just to be able to read the bridge
configration.
Well, all you had to do was to clear ppc_md.pci_exclude_device.

Frankly, I don't understand why do you want to mess with the bridge setup
from _device driver_ ?

The right place for bridge specific setup is bios_fixup. walnut.c has a
good example.

Eugene


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help