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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Thanks,
Zhiqiang

> 
> 
> --
> ~Randy





[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux