Hi Randy, > -----Original Message----- > From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> > Sent: 2020年3月18日 23:38 > 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/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. Got it, thanks a lot Randy! Regards, Zhiqiang > > -- > ~Randy