On 3/18/20 2:44 AM, Z.q. Hou wrote: > Hi Randy, > >> -----Original Message----- >> From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> >> Sent: 2020年3月17日 23:16 >> To: Z.q. Hou <zhiqiang.hou@xxxxxxx>; Bjorn Helgaas <helgaas@xxxxxxxxxx> >> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>; Linux Next Mailing List >> <linux-next@xxxxxxxxxxxxxxx>; Linux Kernel Mailing List >> <linux-kernel@xxxxxxxxxxxxxxx>; linux-pci <linux-pci@xxxxxxxxxxxxxxx>; >> Karthikeyan Mitran <m.karthikeyan@xxxxxxxxxxxxxx> >> Subject: Re: linux-next: Tree for Mar 12 (pci/controller/mobiveil/) >> >> On 3/17/20 3:05 AM, Z.q. Hou wrote: >>> Hi Randy, >>> >>>> -----Original Message----- >>>> From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> >>>> Sent: 2020年3月17日 12:59 >>>> To: Z.q. Hou <zhiqiang.hou@xxxxxxx>; Bjorn Helgaas >>>> <helgaas@xxxxxxxxxx> >>>> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>; Linux Next Mailing List >>>> <linux-next@xxxxxxxxxxxxxxx>; Linux Kernel Mailing List >>>> <linux-kernel@xxxxxxxxxxxxxxx>; linux-pci >>>> <linux-pci@xxxxxxxxxxxxxxx>; Karthikeyan Mitran >>>> <m.karthikeyan@xxxxxxxxxxxxxx> >>>> Subject: Re: linux-next: Tree for Mar 12 (pci/controller/mobiveil/) >>>> >>>> On 3/16/20 9:31 PM, Z.q. Hou wrote: >>>>> Hi Randy and Bjorn, >>>>> >>>>>> -----Original Message----- >>>>>> From: Bjorn Helgaas <helgaas@xxxxxxxxxx> >>>>>> Sent: 2020年3月13日 3:39 >>>>>> To: Z.q. Hou <zhiqiang.hou@xxxxxxx> >>>>>> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>; Stephen Rothwell >>>>>> <sfr@xxxxxxxxxxxxxxxx>; Linux Next Mailing List >>>>>> <linux-next@xxxxxxxxxxxxxxx>; Linux Kernel Mailing List >>>>>> <linux-kernel@xxxxxxxxxxxxxxx>; linux-pci >>>>>> <linux-pci@xxxxxxxxxxxxxxx>; Karthikeyan Mitran >>>>>> <m.karthikeyan@xxxxxxxxxxxxxx> >>>>>> Subject: Re: linux-next: Tree for Mar 12 (pci/controller/mobiveil/) >>>>>> >>>>>> On Thu, Mar 12, 2020 at 08:13:50AM -0700, Randy Dunlap wrote: >>>>>>> On 3/12/20 3:04 AM, Stephen Rothwell wrote: >>>>>>>> Hi all, >>>>>>>> >>>>>>>> Changes since 20200311: >>>>>>>> >>>>>>> >>>>>>> on i386: >>>>>>> # CONFIG_PCI_MSI is not set >>>>>>> >>>>>>> WARNING: unmet direct dependencies detected for >>>> PCIE_MOBIVEIL_HOST >>>>>>> Depends on [n]: PCI [=y] && PCI_MSI_IRQ_DOMAIN [=n] >>>>>>> Selected by [y]: >>>>>>> - PCIE_MOBIVEIL_PLAT [=y] && PCI [=y] && (ARCH_ZYNQMP || >>>>>> COMPILE_TEST [=y]) && OF [=y] >>>>>> >>>>>> Thanks, Randy. >>>>>> >>>>>> I'm not sure if this is a new problem introduced by something in my >>>>>> "next" branch, or if this is an existing problem we just happened >>>>>> to hit with randconfig. >>>>>> >>>>>> Here are the commits on remotes/lorenzo/pci/mobiveil branch: >>>>>> >>>>>> d29ad70a813b ("PCI: mobiveil: Add PCIe Gen4 RC driver for >>>>>> Layerscape >>>>>> SoCs") >>>>>> 3edeb49525bb ("dt-bindings: PCI: Add NXP Layerscape SoCs PCIe >>>>>> Gen4 >>>>>> controller") >>>>>> 11d22cc395ca ("PCI: mobiveil: Add Header Type field check") >>>>>> 029dea3cdc67 ("PCI: mobiveil: Add 8-bit and 16-bit CSR register >>>>>> accessors") >>>>>> 52cae4c7082f ("PCI: mobiveil: Allow mobiveil_host_init() to be >>>>>> used to re-init host") >>>>>> fc99b3311af7 ("PCI: mobiveil: Add callback function for link up >> check") >>>>>> ed620e96541f ("PCI: mobiveil: Add callback function for interrupt >>>>>> initialization") >>>>>> 03bdc3884019 ("PCI: mobiveil: Modularize the Mobiveil PCIe Host >>>>>> Bridge IP >>>>>> driver") >>>>>> 39e3a03eea5b ("PCI: mobiveil: Collect the interrupt related >>>>>> operations into a function") >>>>>> 2ba24842d6b4 ("PCI: mobiveil: Move the host initialization into a >>>> function") >>>>>> 1f442218d657 ("PCI: mobiveil: Introduce a new structure >>>>>> mobiveil_root_port") >>>>>> >>>>>> I dropped that mobiveil branch for now, so Hou, can you please >>>>>> check this out and resolve it one way or the other? >>>>> >>>>> I don't reproduce this issue with i386_defconfig, can you help me to >>>> reproduce it? >>>> >>>> Sure, see below. >>>> >>>> >>>>> Thanks, >>>>> Zhiqiang >>>>> >>>>>> >>>>>>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:375:15: error: >>>>>> variable ‘mobiveil_msi_domain_info’ has initializer but incomplete >>>>>> type >>>>>>> static struct msi_domain_info mobiveil_msi_domain_info = { >>>>>>> ^~~~~~~~~~~~~~~ >>>>>>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:376:3: >>>>>>> error: ‘struct >>>>>> msi_domain_info’ has no member named ‘flags’ >>>>>>> .flags = (MSI_FLAG_USE_DEF_DOM_OPS | >>>>>> MSI_FLAG_USE_DEF_CHIP_OPS | >>>>>>> ^~~~~ >>>>>>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:376:12: error: >>>>>> ‘MSI_FLAG_USE_DEF_DOM_OPS’ undeclared here (not in a function); >>>> did >>>>>> you mean ‘SIMPLE_DEV_PM_OPS’? >>>>>>> .flags = (MSI_FLAG_USE_DEF_DOM_OPS | >>>>>> MSI_FLAG_USE_DEF_CHIP_OPS | >>>>>>> ^~~~~~~~~~~~~~~~~~~~~~~~ >>>>>>> SIMPLE_DEV_PM_OPS >>>>>>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:376:39: error: >>>>>> ‘MSI_FLAG_USE_DEF_CHIP_OPS’ undeclared here (not in a function); >>>>>> did you mean ‘MSI_FLAG_USE_DEF_DOM_OPS’? >>>>>>> .flags = (MSI_FLAG_USE_DEF_DOM_OPS | >>>>>> MSI_FLAG_USE_DEF_CHIP_OPS | >>>>>>> >>>>>> ^~~~~~~~~~~~~~~~~~~~~~~~~ >>>>>>> >>>>>> MSI_FLAG_USE_DEF_DOM_OPS >>>>>>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:377:6: error: >>>>>> ‘MSI_FLAG_PCI_MSIX’ undeclared here (not in a function); did you >>>>>> mean ‘SS_FLAG_BITS’? >>>>>>> MSI_FLAG_PCI_MSIX), >>>>>>> ^~~~~~~~~~~~~~~~~ >>>>>>> SS_FLAG_BITS >>>>>>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:376:11: >> warning: >>>>>> excess elements in struct initializer >>>>>>> .flags = (MSI_FLAG_USE_DEF_DOM_OPS | >>>>>> MSI_FLAG_USE_DEF_CHIP_OPS | >>>>>>> ^ >>>>>>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:376:11: >>>>>>> note: (near >>>>>> initialization for ‘mobiveil_msi_domain_info’) >>>>>>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:378:3: >>>>>>> error: ‘struct >>>>>> msi_domain_info’ has no member named ‘chip’ >>>>>>> .chip = &mobiveil_msi_irq_chip, >>>>>>> ^~~~ >>>>>>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:378:10: >> warning: >>>>>> excess elements in struct initializer >>>>>>> .chip = &mobiveil_msi_irq_chip, >>>>>>> ^ >>>>>>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:378:10: >>>>>>> note: (near >>>>>> initialization for ‘mobiveil_msi_domain_info’) >>>>>>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c: In >>>>>>> function >>>>>> ‘mobiveil_allocate_msi_domains’: >>>>>>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:469:20: error: >>>>>> implicit declaration of function ‘pci_msi_create_irq_domain’; did >>>>>> you mean ‘pci_msi_get_device_domain’? >>>>>> [-Werror=implicit-function-declaration] >>>>>>> msi->msi_domain = pci_msi_create_irq_domain(fwnode, >>>>>>> ^~~~~~~~~~~~~~~~~~~~~~~~~ >>>>>>> pci_msi_get_device_domain >>>>>>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:469:18: >> warning: >>>>>> assignment makes pointer from integer without a cast >>>>>> [-Wint-conversion] >>>>>>> msi->msi_domain = pci_msi_create_irq_domain(fwnode, >>>>>>> ^ >>>>>>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c: At top level: >>>>>>> ../drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:375:31: error: >>>>>> storage size of ‘mobiveil_msi_domain_info’ isn’t known >>>>>>> static struct msi_domain_info mobiveil_msi_domain_info = { >>>>>>> ^~~~~~~~~~~~~~~~~~~~~~~~ >>>>>>> >>>>>>> >>>>>>> >>>>>>> Full randconfig file is attached. >>>> >>>> Use the .config file that was attached in the report. >>> >>> One query, which default config you used to generate this .config? I >>> cannot select the PCIE_MOBIVEIL_PLAT in 'menuconfig' when use the >> i386_defconfig. >> >> Hi, >> >> I did not use any defconfig. >> Just cp that config file into your build directory (as .config) >> >> and do something like: >> $ make ARCH=i386 oldconfig > > I sent a patch to fix this issue, but I also want to know why did you enable the > PCIE_MOBIVEIL_PLAT in the i386 .config? I mean what is this test for. Hi, Every day that linux-next is released, I run a bunch of randconfigs: $ make ARCH=i386 randconfig $ make ARCH=x86_64 randconfig That's what caused PCIE_MOBIVEIL_PLAT to be set. -- ~Randy