# git rev-parse -q --verify cfe255e01d0d6bf2a23d46613c3d4cfe4505dd02^{commit} # git fetch -q -n -f git://gitlab.ozlabs.ibm.com/linuxppc/linux.git next-test # git rev-parse -q --verify cfe255e01d0d6bf2a23d46613c3d4cfe4505dd02^{commit} cfe255e01d0d6bf2a23d46613c3d4cfe4505dd02 # git checkout -q -f -B kisskb cfe255e01d0d6bf2a23d46613c3d4cfe4505dd02 # git clean -qxdf # < git log -1 # commit cfe255e01d0d6bf2a23d46613c3d4cfe4505dd02 # Author: Oliver O'Halloran # Date: Mon Nov 18 17:55:53 2019 +1100 # # powerpc/powernv: Disable native PCIe port management # # On PowerNV the PCIe topology is (currently) managed by the powernv platform # code in Linux in cooperation with the platform firmware. Linux's native # PCIe port service drivers operate independently of both and this can cause # problems. # # The main issue is that the portbus driver will conflict with the platform # specific hotplug driver (pnv_php) over ownership of the MSI used to notify # the host when a hotplug event occurs. The portbus driver claims this MSI on # behalf of the individual port services because the same interrupt is used # for hotplug events, PMEs (on root ports), and link bandwidth change # notifications. The portbus driver will always claim the interrupt even if # the individual port service drivers, such as pciehp, are compiled out. # # The second, bigger, problem is that the hotplug port service driver # fundamentally does not work on PowerNV. The platform assumes that all # PCI devices have a corresponding arch-specific handle derived from the DT # node for the device (pci_dn) and without one the platform will not allow # a PCI device to be enabled. This problem is largely due to historical # baggage, but it can't be resolved without significant re-factoring of the # platform PCI support. # # We can fix these problems in the interim by setting the # "pcie_ports_disabled" flag during platform initialisation. The flag # indicates the platform owns the PCIe ports which stops the portbus driver # from being registered. # # This does have the side effect of disabling all port services drivers # that is: AER, PME, BW notifications, hotplug, and DPC. However, this is # not a huge disadvantage on PowerNV since these services are either unused # or handled through other means. # # Fixes: 66725152fb9f ("PCI/hotplug: PowerPC PowerNV PCI hotplug driver") # Signed-off-by: Oliver O'Halloran # Signed-off-by: Michael Ellerman # Link: https://lore.kernel.org/r/20191118065553.30362-1-oohall@gmail.com # < /opt/cross/kisskb/gcc-4.6.3-nolibc/sh4-linux/bin/sh4-linux-gcc --version # < /opt/cross/kisskb/gcc-4.6.3-nolibc/sh4-linux/bin/sh4-linux-ld --version # < git log --format=%s --max-count=1 cfe255e01d0d6bf2a23d46613c3d4cfe4505dd02 # < make -s -j 24 ARCH=sh O=/kisskb/build/powerpc-next_sh-defconfig_sh4 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/sh4-linux/bin/sh4-linux- defconfig # make -s -j 24 ARCH=sh O=/kisskb/build/powerpc-next_sh-defconfig_sh4 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/sh4-linux/bin/sh4-linux- Generating include/generated/machtypes.h :1511:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/arch/sh/kernel/cpu/sh4/../sh3/../../entry-common.S: Assembler messages: /kisskb/src/arch/sh/kernel/cpu/sh4/../sh3/../../entry-common.S:385: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence /kisskb/src/arch/sh/kernel/cpu/sh4/../sh3/../../entry-common.S:388: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence /kisskb/src/mm/vmstat.c: In function 'sysctl_vm_numa_stat_handler': /kisskb/src/mm/vmstat.c:90:5: warning: 'oldval' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/base/regmap/regmap.c: In function 'regmap_raw_read': /kisskb/src/drivers/base/regmap/regmap.c:2591:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /kisskb/src/kernel/printk/printk.c:204:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/base/regmap/regmap.c: In function '_regmap_raw_write': /kisskb/src/drivers/base/regmap/regmap.c:1852:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/kernel/rcu/srcutree.c: In function 'init_srcu_struct_fields': /kisskb/src/kernel/rcu/srcutree.c:140:32: warning: 'levelspread[]' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/kernel/rcu/srcutree.c:88:6: note: 'levelspread[]' was declared here /kisskb/src/mm/hugetlb.c: In function 'alloc_pool_huge_page': /kisskb/src/mm/hugetlb.c:1497:5: warning: 'page' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/ext4/readpage.c: In function 'ext4_mpage_readpages': /kisskb/src/fs/ext4/readpage.c:410:1: warning: the frame size of 1180 bytes is larger than 1024 bytes [-Wframe-larger-than=] /kisskb/src/fs/proc/inode.c: In function 'proc_reg_open': /kisskb/src/include/linux/list.h:65:12: warning: 'pdeo' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/proc/inode.c:338:21: note: 'pdeo' was declared here /kisskb/src/fs/mpage.c: In function '__mpage_writepage': /kisskb/src/fs/mpage.c:690:1: warning: the frame size of 1148 bytes is larger than 1024 bytes [-Wframe-larger-than=] /kisskb/src/fs/mpage.c: In function 'do_mpage_readpage': /kisskb/src/fs/mpage.c:338:1: warning: the frame size of 1108 bytes is larger than 1024 bytes [-Wframe-larger-than=] /kisskb/src/drivers/sh/clk/cpg.c: In function 'r8': /kisskb/src/drivers/sh/clk/cpg.c:41:2: warning: passing argument 1 of 'ioread8' discards 'const' qualifier from pointer target type [enabled by default] /kisskb/src/include/asm-generic/iomap.h:29:21: note: expected 'void *' but argument is of type 'const void *' /kisskb/src/drivers/sh/clk/cpg.c: In function 'r16': /kisskb/src/drivers/sh/clk/cpg.c:46:2: warning: passing argument 1 of 'ioread16' discards 'const' qualifier from pointer target type [enabled by default] /kisskb/src/include/asm-generic/iomap.h:30:21: note: expected 'void *' but argument is of type 'const void *' /kisskb/src/drivers/sh/clk/cpg.c: In function 'r32': /kisskb/src/drivers/sh/clk/cpg.c:51:2: warning: passing argument 1 of 'ioread32' discards 'const' qualifier from pointer target type [enabled by default] /kisskb/src/include/asm-generic/iomap.h:32:21: note: expected 'void *' but argument is of type 'const void *' /kisskb/src/drivers/usb/core/devio.c: In function 'async_completed': /kisskb/src/drivers/usb/core/devio.c:625:23: warning: 'errno' may be used uninitialized in this function [-Wuninitialized] Kernel: arch/sh/boot/zImage is ready Completed OK # rm -rf /kisskb/build/powerpc-next_sh-defconfig_sh4 # Build took: 0:04:24.236936