RE: linux-next: Tree for Mar 12 (pci/controller/mobiveil/)

From: Z.q. Hou
Date: Wed Mar 18 2020 - 12:46:44 EST


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