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

From: Randy Dunlap
Date: Tue Mar 17 2020 - 11:15:36 EST


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


--
~Randy