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

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

 



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




[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