Re: PCI hotplug problems: how to debug?

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

 



On Mon, Nov 16, 2009 at 02:52:11PM -0600, Bjorn Helgaas wrote:
> On Monday 16 November 2009 12:54:17 pm Ira W. Snyder wrote:
>
> > +	pci_read_config_word(dev, 0xc0, &word1);
> > +	pci_read_config_word(dev, 0xc2, &word2);
> > +	dev_dbg(&dev->dev, "CNB20LE: noPF 0x%.4x 0x%.4x\n", word1, word2);
> > +	if (word1 != word2) {
> > +		start = word1;
> > +		end   = word2;
>
> This looks much closer to something that might work, but I think
> you forgot the "(word1 << 16) | 0x0000" stuff here.  And it got
> added to the IO aperture, where it shouldn't be.
>

You're exactly right. I must have left my brain turned off when I wrote
that. :)

Adding the shifts for the memory regions, and removing them for the IO
regions, the machine boots! There is still some problem left: the system
prints some messages about not being able to reserve IO ranges. Ideas?

I get the following relevant output:
[    0.304015] pci 0000:00:00.0: calling cnb20le_res+0x0/0x1ff
[    0.308014] pci 0000:00:00.0: CNB20LE: busses: 0 to 0
[    0.312014] pci 0000:00:00.0: CNB20LE: noPF 0xfc20 0xfeaf
[    0.316015] pci 0000:00:00.0: CNB20LE: PF 0xfc00 0xfc0f
[    0.320014] pci 0000:00:00.0: CNB20LE: IO 0xd000 0xdffc
[    0.324075] pci 0000:00:00.0: calling quirk_resource_alignment+0x0/0x164
[    0.328090] pci 0000:00:00.1: found [1166:0009] class 000600 header type 00
[    0.332014] pci 0000:00:00.1: calling quirk_no_ata_d3+0x0/0x24
[    0.336013] pci 0000:00:00.1: calling acpi_pm_check_graylist+0x0/0x2d
[    0.340009] * The chipset may have PM-Timer Bug. Due to workarounds for a bug,
[    0.340014] * this clock source is slow. If you are sure your timer does not have
[    0.340018] * this bug, please use "acpi_pm_good" to disable the workaround
[    0.344013] pci 0000:00:00.1: calling cnb20le_res+0x0/0x1ff
[    0.348014] pci 0000:00:00.1: CNB20LE: busses: 1 to 1
[    0.352014] pci 0000:00:00.1: CNB20LE: noPF 0xfeb0 0xfebf
[    0.356014] pci 0000:00:00.1: CNB20LE: PF 0xfc10 0xfc1f
[    0.360014] pci 0000:00:00.1: CNB20LE: IO 0xe000 0xeffc

[ snip useless output ]

[    0.508083] pci_bus 0000:00: fixups for bus
[    0.512010] PCI: x86_pci_root_bus_res_quirks called
[    0.516010] PCI: peer root bus 00 res updated from pci conf
[    0.520019] pci_bus 0000:00: bus scan returning with max=00
[    0.525298] vgaarb: device added: PCI:0000:00:07.0,decodes=io+mem,owns=io+mem,locks=none
[    0.533111] pci_bus 0000:01: scanning bus
[    0.536118] pci_bus 0000:01: fixups for bus
[    0.540010] PCI: x86_pci_root_bus_res_quirks called
[    0.544010] PCI: peer root bus 01 res updated from pci conf
[    0.548016] pci_bus 0000:01: bus scan returning with max=01
[    0.552010] PCI: Discovered primary peer bus 01 [IRQ]
[    0.556044] pci 0000:00:0f.0: ServerWorks IRQ router [1166:0200]
[    0.560048] PCI: pci_cache_line_size set to 32 bytes
[    0.564036] pci 0000:00:05.0: BAR 0: reserving [mem 0xfe2bd000-0xfe2bdfff flags 0x20200] (d=0, p=0)
[    0.568015] pci 0000:00:05.0: BAR 1: reserving [io  0xde80-0xdebf flags 0x20101] (d=0, p=0)
[    0.572015] pci 0000:00:05.0: BAR 2: reserving [mem 0xfcf00000-0xfcffffff flags 0x20200] (d=0, p=0)
[    0.576022] pci 0000:00:06.0: BAR 0: reserving [mem 0xfe2be000-0xfe2befff flags 0x20200] (d=0, p=0)
[    0.580015] pci 0000:00:06.0: BAR 1: reserving [io  0xdf00-0xdf3f flags 0x20101] (d=0, p=0)
[    0.584015] pci 0000:00:06.0: BAR 2: reserving [mem 0xfe100000-0xfe1fffff flags 0x20200] (d=0, p=0)
[    0.588022] pci 0000:00:07.0: BAR 0: reserving [mem 0xfd000000-0xfdffffff flags 0x20200] (d=0, p=0)
[    0.592029] pci 0000:00:0f.1: BAR 0: reserving [io  0x01f0-0x01f7 flags 0x110] (d=0, p=0)
[    0.596012] pci 0000:00:0f.1: no compatible bridge window for [io  0x01f0-0x01f7]
[    0.600011] pci 0000:00:0f.1: can't reserve [io  0x01f0-0x01f7]
[    0.604013] pci 0000:00:0f.1: BAR 1: reserving [io  0x03f6 flags 0x110] (d=0, p=0)
[    0.608011] pci 0000:00:0f.1: no compatible bridge window for [io  0x03f6]
[    0.612011] pci 0000:00:0f.1: can't reserve [io  0x03f6]
[    0.616013] pci 0000:00:0f.1: BAR 2: reserving [io  0x0170-0x0177 flags 0x110] (d=0, p=0)
[    0.620012] pci 0000:00:0f.1: no compatible bridge window for [io  0x0170-0x0177]
[    0.624011] pci 0000:00:0f.1: can't reserve [io  0x0170-0x0177]
[    0.628013] pci 0000:00:0f.1: BAR 3: reserving [io  0x0376 flags 0x110] (d=0, p=0)
[    0.632011] pci 0000:00:0f.1: no compatible bridge window for [io  0x0376]
[    0.636011] pci 0000:00:0f.1: can't reserve [io  0x0376]
[    0.640013] pci 0000:00:0f.1: BAR 4: reserving [io  0xffa0-0xffaf flags 0x20101] (d=0, p=0)
[    0.644012] pci 0000:00:0f.1: no compatible bridge window for [io  0xffa0-0xffaf]
[    0.648011] pci 0000:00:0f.1: can't reserve [io  0xffa0-0xffaf]
[    0.652021] pci 0000:00:0f.2: BAR 0: reserving [mem 0xfe2bf000-0xfe2bffff flags 0x20200] (d=0, p=0)
[    0.657413] Switching to clocksource tsc
[    0.660485] pnp: PnP ACPI: disabled
[    0.666080] pci 0000:00:0f.1: BAR 4: assigned [io  0xd000-0xd00f]
[    0.672258] pci 0000:00:0f.1: BAR 4: set to [io  0xd000-0xd00f] (PCI address [0xd000-0xd00f]
[    0.680701] pci_bus 0000:00: resource 0 [mem 0xfc200000-0xfeafffff]
[    0.686974] pci_bus 0000:00: resource 1 [mem 0xfc000000-0xfc0fffff pref]
[    0.693679] pci_bus 0000:00: resource 2 [io  0xd000-0xdffc]
[    0.699257] pci_bus 0000:01: resource 0 [mem 0xfeb00000-0xfebfffff]
[    0.705529] pci_bus 0000:01: resource 1 [mem 0xfc100000-0xfc1fffff pref]
[    0.712233] pci_bus 0000:01: resource 2 [io  0xe000-0xeffc]
[    0.717894] NET: Registered protocol family 2
[    0.722486] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.730432] TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.742488] TCP bind hash table entries: 65536 (order: 9, 2097152 bytes)

Ira
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux