Re: PCIe bus (re-)numbering

From: Yinghai Lu
Date: Mon Sep 21 2015 - 17:22:53 EST


On Mon, Sep 21, 2015 at 7:06 AM, Ruud <netwerkforens@xxxxxxxxx> wrote:
> 2015-09-21 9:49 GMT+02:00 Ruud <netwerkforens@xxxxxxxxx>:

> Test result based upon
>
> http://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git
> 7e3fad2 (for-pci-v4.3-rc1)
>
> Unfortunately your script hangs the system, I modified it for my
> situation (only one root complex, 1 PCI switch will be affected).
> It seems to aggressive on the BAR's..tried to troubleshoot but don't
> understand the details on
>
> /sbin/setpci -s $NAME 0x20.l=0
> /sbin/setpci -s $NAME 0x24.l=0
> /sbin/setpci -s $NAME 0x28.l=0
> /sbin/setpci -s $NAME 0x2c.l=0
>
> why you zero these (besides the bus numbers).

so the realloc will start from clean.

>
> I got the full system working by just zeroing the busnumbers on the
> switch at root complex level, remove the switch and rescan it.

Good.

> In this
> procedure I need to take care of the some physical aspects: I can not
> turn on the chassis when the PCIe switch is removed, some interrupt
> comes through and will result in a kernel panic.

?

>
> Thus the procedure that works is:
> 1) Chassis off
> 2) Boot linux
> 3) Chassis on
> 4) setpci busnrs to 0
> 5) remove switch
> 6) rescan

4, 5 is reversed?

>
> Cards recognised and functional, memory regions look ok, running out
> of iospace but not much can be done about that.
>
> Same procedure on 3.2.0 kernel (debian stock) results in all cards
> being recognized (enum ok) but fails to assign BAR's (tries to fit
> them below 4G)

Could be resource allocation problem.

Thanks

Yinghai
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/