All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
       [not found] <63f141b2.170a0220.57e67.6c7c@mx.google.com>
@ 2023-02-20 18:10   ` Mark Brown
  0 siblings, 0 replies; 26+ messages in thread
From: Mark Brown @ 2023-02-20 18:10 UTC (permalink / raw)
  To: Richard Zhu, Lorenzo Pieralisi, Michael Walle, Krzysztof Wilczyński
  Cc: kernelci-results, bot, linux-pci, linux-arm-kernel,
	Manivannan Sadhasivam, Kishon Vijay Abraham I

[-- Attachment #1: Type: text/plain, Size: 13710 bytes --]

On Sat, Feb 18, 2023 at 01:22:58PM -0800, KernelCI bot wrote:

The KernelCI bisection bot identified a failure to probe the Intel GBE
driver on kontron-pitx-imx8m as coming from commit 75c2f26da03f ("PCI:
imx6: Add i.MX PCIe EP mode support").  Looking at the commit it's
changed PCI_IMX6 to be selected by two new options PCI_IMX6_HOST and
PCI_IMX6_EP but there's been no corresponding update to defconfig so 
the arm64 defconfig, it just has CONFIG_PCI_IMX6=y which gets deselected
automatically.  This is going to affect all PCI on i.MX platforms.  I'll
send a patch.

The issue can be seen on today's -next with a plain defconfig:

   https://linux.kernelci.org/test/plan/id/63f32296682b9971318c8653/

The defconfig we generate is at:

   https://storage.kernelci.org/next/master/next-20230220/arm64/defconfig/clang-17/config/kernel.config

Full details from the bot, including a tag for it and bisection log
below:

> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> * This automated bisection report was sent to you on the basis  *
> * that you may be involved with the breaking commit it has      *
> * found.  No manual investigation has been done to verify it,   *
> * and the root cause of the problem may be somewhere else.      *
> *                                                               *
> * If you do send a fix, please include this trailer:            *
> *   Reported-by: "kernelci.org bot" <bot@kernelci.org>          *
> *                                                               *
> * Hope this helps!                                              *
> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> 
> next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
> 
> Summary:
>   Start:      9d9019bcea1a Add linux-next specific files for 20230215
>   Plain log:  https://storage.kernelci.org/next/master/next-20230215/arm64/defconfig+videodec/gcc-10/lab-kontron/baseline-kontron-pitx-imx8m.txt
>   HTML log:   https://storage.kernelci.org/next/master/next-20230215/arm64/defconfig+videodec/gcc-10/lab-kontron/baseline-kontron-pitx-imx8m.html
>   Result:     75c2f26da03f PCI: imx6: Add i.MX PCIe EP mode support
> 
> Checks:
>   revert:     PASS
>   verify:     PASS
> 
> Parameters:
>   Tree:       next
>   URL:        https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>   Branch:     master
>   Target:     kontron-pitx-imx8m
>   CPU arch:   arm64
>   Lab:        lab-kontron
>   Compiler:   gcc-10
>   Config:     defconfig+videodec
>   Test case:  baseline.bootrr.intel-igb-probed
> 
> Breaking commit found:
> 
> -------------------------------------------------------------------------------
> commit 75c2f26da03f93e988cd7678722ea893a8c63796
> Author: Richard Zhu <hongxing.zhu@nxp.com>
> Date:   Mon Jan 16 13:41:21 2023 +0800
> 
>     PCI: imx6: Add i.MX PCIe EP mode support
>     
>     i.MX PCIe is one dual mode PCIe controller.
>     
>     Add i.MX PCIe EP mode support here, and split the PCIe modes to the Root
>     Complex mode and Endpoint mode.
>     
>     Link: https://lore.kernel.org/r/1673847684-31893-12-git-send-email-hongxing.zhu@nxp.com
>     Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
>     Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
> 
> diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig
> index a0d2713f0e88..dffd7fbdfb98 100644
> --- a/drivers/pci/controller/dwc/Kconfig
> +++ b/drivers/pci/controller/dwc/Kconfig
> @@ -92,10 +92,31 @@ config PCI_EXYNOS
>  	  functions to implement the driver.
>  
>  config PCI_IMX6
> -	bool "Freescale i.MX6/7/8 PCIe controller"
> +	bool
> +
> +config PCI_IMX6_HOST
> +	bool "Freescale i.MX6/7/8 PCIe controller host mode"
>  	depends on ARCH_MXC || COMPILE_TEST
>  	depends on PCI_MSI
>  	select PCIE_DW_HOST
> +	select PCI_IMX6
> +	help
> +	  Enables support for the PCIe controller in the i.MX SoCs to
> +	  work in Root Complex mode. The PCI controller on i.MX is based
> +	  on DesignWare hardware and therefore the driver re-uses the
> +	  DesignWare core functions to implement the driver.
> +
> +config PCI_IMX6_EP
> +	bool "Freescale i.MX6/7/8 PCIe controller endpoint mode"
> +	depends on ARCH_MXC || COMPILE_TEST
> +	depends on PCI_ENDPOINT
> +	select PCIE_DW_EP
> +	select PCI_IMX6
> +	help
> +	  Enables support for the PCIe controller in the i.MX SoCs to
> +	  work in endpoint mode. The PCI controller on i.MX is based
> +	  on DesignWare hardware and therefore the driver re-uses the
> +	  DesignWare core functions to implement the driver.
>  
>  config PCIE_SPEAR13XX
>  	bool "STMicroelectronics SPEAr PCIe controller"
> diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
> index 1dde5c579edc..572faa91eea7 100644
> --- a/drivers/pci/controller/dwc/pci-imx6.c
> +++ b/drivers/pci/controller/dwc/pci-imx6.c
> @@ -60,6 +60,7 @@ enum imx6_pcie_variants {
>  
>  struct imx6_pcie_drvdata {
>  	enum imx6_pcie_variants variant;
> +	enum dw_pcie_device_mode mode;
>  	u32 flags;
>  	int dbi_length;
>  	const char *gpr;
> @@ -159,17 +160,20 @@ static unsigned int imx6_pcie_grp_offset(const struct imx6_pcie *imx6_pcie)
>  
>  static void imx6_pcie_configure_type(struct imx6_pcie *imx6_pcie)
>  {
> -	unsigned int mask, val;
> +	unsigned int mask, val, mode;
> +
> +	if (imx6_pcie->drvdata->mode == DW_PCIE_EP_TYPE)
> +		mode = PCI_EXP_TYPE_ENDPOINT;
> +	else
> +		mode = PCI_EXP_TYPE_ROOT_PORT;
>  
>  	if (imx6_pcie->drvdata->variant == IMX8MQ &&
>  	    imx6_pcie->controller_id == 1) {
>  		mask = IMX8MQ_GPR12_PCIE2_CTRL_DEVICE_TYPE;
> -		val  = FIELD_PREP(IMX8MQ_GPR12_PCIE2_CTRL_DEVICE_TYPE,
> -				  PCI_EXP_TYPE_ROOT_PORT);
> +		val  = FIELD_PREP(IMX8MQ_GPR12_PCIE2_CTRL_DEVICE_TYPE, mode);
>  	} else {
>  		mask = IMX6Q_GPR12_DEVICE_TYPE;
> -		val  = FIELD_PREP(IMX6Q_GPR12_DEVICE_TYPE,
> -				  PCI_EXP_TYPE_ROOT_PORT);
> +		val  = FIELD_PREP(IMX6Q_GPR12_DEVICE_TYPE, mode);
>  	}
>  
>  	regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12, mask, val);
> @@ -1003,8 +1007,99 @@ static const struct dw_pcie_host_ops imx6_pcie_host_ops = {
>  
>  static const struct dw_pcie_ops dw_pcie_ops = {
>  	.start_link = imx6_pcie_start_link,
> +	.stop_link = imx6_pcie_stop_link,
> +};
> +
> +static void imx6_pcie_ep_init(struct dw_pcie_ep *ep)
> +{
> +	enum pci_barno bar;
> +	struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
> +
> +	for (bar = BAR_0; bar <= BAR_5; bar++)
> +		dw_pcie_ep_reset_bar(pci, bar);
> +}
> +
> +static int imx6_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
> +				  enum pci_epc_irq_type type,
> +				  u16 interrupt_num)
> +{
> +	struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
> +
> +	switch (type) {
> +	case PCI_EPC_IRQ_LEGACY:
> +		return dw_pcie_ep_raise_legacy_irq(ep, func_no);
> +	case PCI_EPC_IRQ_MSI:
> +		return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
> +	case PCI_EPC_IRQ_MSIX:
> +		return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
> +	default:
> +		dev_err(pci->dev, "UNKNOWN IRQ type\n");
> +		return -EINVAL;
> +	}
> +
> +	return 0;
> +}
> +
> +static const struct pci_epc_features imx8m_pcie_epc_features = {
> +	.linkup_notifier = false,
> +	.msi_capable = true,
> +	.msix_capable = false,
> +	.reserved_bar = 1 << BAR_1 | 1 << BAR_3,
> +	.align = SZ_64K,
> +};
> +
> +static const struct pci_epc_features*
> +imx6_pcie_ep_get_features(struct dw_pcie_ep *ep)
> +{
> +	return &imx8m_pcie_epc_features;
> +}
> +
> +static const struct dw_pcie_ep_ops pcie_ep_ops = {
> +	.ep_init = imx6_pcie_ep_init,
> +	.raise_irq = imx6_pcie_ep_raise_irq,
> +	.get_features = imx6_pcie_ep_get_features,
>  };
>  
> +static int imx6_add_pcie_ep(struct imx6_pcie *imx6_pcie,
> +			   struct platform_device *pdev)
> +{
> +	int ret;
> +	unsigned int pcie_dbi2_offset;
> +	struct dw_pcie_ep *ep;
> +	struct resource *res;
> +	struct dw_pcie *pci = imx6_pcie->pci;
> +	struct dw_pcie_rp *pp = &pci->pp;
> +	struct device *dev = pci->dev;
> +
> +	imx6_pcie_host_init(pp);
> +	ep = &pci->ep;
> +	ep->ops = &pcie_ep_ops;
> +
> +	switch (imx6_pcie->drvdata->variant) {
> +	default:
> +		pcie_dbi2_offset = SZ_4K;
> +		break;
> +	}
> +	pci->dbi_base2 = pci->dbi_base + pcie_dbi2_offset;
> +	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "addr_space");
> +	if (!res)
> +		return -EINVAL;
> +
> +	ep->phys_base = res->start;
> +	ep->addr_size = resource_size(res);
> +	ep->page_size = SZ_64K;
> +
> +	ret = dw_pcie_ep_init(ep);
> +	if (ret) {
> +		dev_err(dev, "failed to initialize endpoint\n");
> +		return ret;
> +	}
> +	/* Start LTSSM. */
> +	imx6_pcie_ltssm_enable(dev);
> +
> +	return 0;
> +}
> +
>  static void imx6_pcie_pm_turnoff(struct imx6_pcie *imx6_pcie)
>  {
>  	struct device *dev = imx6_pcie->pci->dev;
> @@ -1279,15 +1374,22 @@ static int imx6_pcie_probe(struct platform_device *pdev)
>  	if (ret)
>  		return ret;
>  
> -	ret = dw_pcie_host_init(&pci->pp);
> -	if (ret < 0)
> -		return ret;
> +	if (imx6_pcie->drvdata->mode == DW_PCIE_EP_TYPE) {
> +		ret = imx6_add_pcie_ep(imx6_pcie, pdev);
> +		if (ret < 0)
> +			return ret;
> +	} else {
> +		ret = dw_pcie_host_init(&pci->pp);
> +		if (ret < 0)
> +			return ret;
> +
> +		if (pci_msi_enabled()) {
> +			u8 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_MSI);
>  
> -	if (pci_msi_enabled()) {
> -		u8 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_MSI);
> -		val = dw_pcie_readw_dbi(pci, offset + PCI_MSI_FLAGS);
> -		val |= PCI_MSI_FLAGS_ENABLE;
> -		dw_pcie_writew_dbi(pci, offset + PCI_MSI_FLAGS, val);
> +			val = dw_pcie_readw_dbi(pci, offset + PCI_MSI_FLAGS);
> +			val |= PCI_MSI_FLAGS_ENABLE;
> +			dw_pcie_writew_dbi(pci, offset + PCI_MSI_FLAGS, val);
> +		}
>  	}
>  
>  	return 0;
> -------------------------------------------------------------------------------
> 
> 
> Git bisection log:
> 
> -------------------------------------------------------------------------------
> git bisect start
> # good: [d5a1224aa68c8b124a4c5c390186e571815ed390] drm/i915/gen11: Wa_1408615072/Wa_1407596294 should be on GT list
> git bisect good d5a1224aa68c8b124a4c5c390186e571815ed390
> # bad: [9d9019bcea1aac7eed64a1a4966282b6b7b141c8] Add linux-next specific files for 20230215
> git bisect bad 9d9019bcea1aac7eed64a1a4966282b6b7b141c8
> # bad: [e8b85852ecfd21f4aca6456423c7e7eebd4de095] Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
> git bisect bad e8b85852ecfd21f4aca6456423c7e7eebd4de095
> # good: [230c2111794b1c5547149a9378fede8407a5f585] Merge branch 'nfsd-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
> git bisect good 230c2111794b1c5547149a9378fede8407a5f585
> # good: [7cd8200555d4f01183f0b9071e0760c389a51816] wifi: rtw89: coex: Refine coexistence log
> git bisect good 7cd8200555d4f01183f0b9071e0760c389a51816
> # bad: [321bd02ae8d76684597db34f3a43bb39988f4e3e] Merge branch 'master' of git://linuxtv.org/mchehab/media-next.git
> git bisect bad 321bd02ae8d76684597db34f3a43bb39988f4e3e
> # bad: [80c52d59cb5d51a2a1e10b2c4f4ef6adb92049cd] Merge branch 'i3c/next' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux.git
> git bisect bad 80c52d59cb5d51a2a1e10b2c4f4ef6adb92049cd
> # good: [32feb85935981e8cd3b44efa5d0e636f6000c29c] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git
> git bisect good 32feb85935981e8cd3b44efa5d0e636f6000c29c
> # good: [760f504ec490c502a27b477089baecc5f3dab4db] Merge branch 'for-6.3/logitech' into for-next
> git bisect good 760f504ec490c502a27b477089baecc5f3dab4db
> # bad: [c51b1767b4df2c81270ab6942ab84675341c21ed] Merge branch 'pci/controller/mvebu'
> git bisect bad c51b1767b4df2c81270ab6942ab84675341c21ed
> # good: [0e159888fa3b75c8d9bddb1186552c5bd1496816] Merge branch 'pci/endpoint'
> git bisect good 0e159888fa3b75c8d9bddb1186552c5bd1496816
> # good: [7119685cf49033b777c559ae4da093be2a9b225c] dmaengine: dw-edma: Drop DT-region allocation
> git bisect good 7119685cf49033b777c559ae4da093be2a9b225c
> # good: [87616c47e354eec4e64baffa1779ba2b30e51120] Merge branch 'pci/controller/dwc'
> git bisect good 87616c47e354eec4e64baffa1779ba2b30e51120
> # bad: [530ba41250b69db4b5beb9fc03bd7183881c5e7f] PCI: imx6: Add i.MX8MQ PCIe EP support
> git bisect bad 530ba41250b69db4b5beb9fc03bd7183881c5e7f
> # good: [2dd6dc57d2da459983ded133767d0389194f15b8] dt-bindings: imx6q-pcie: Add i.MX8MP PCIe EP mode compatible string
> git bisect good 2dd6dc57d2da459983ded133767d0389194f15b8
> # bad: [75c2f26da03f93e988cd7678722ea893a8c63796] PCI: imx6: Add i.MX PCIe EP mode support
> git bisect bad 75c2f26da03f93e988cd7678722ea893a8c63796
> # good: [01ea5ede419733fdc39e75875f0861d16a829fe6] misc: pci_endpoint_test: Add i.MX8 PCIe EP device support
> git bisect good 01ea5ede419733fdc39e75875f0861d16a829fe6
> # first bad commit: [75c2f26da03f93e988cd7678722ea893a8c63796] PCI: imx6: Add i.MX PCIe EP mode support
> -------------------------------------------------------------------------------
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#38383): https://groups.io/g/kernelci-results/message/38383
> Mute This Topic: https://groups.io/mt/97056400/1131744
> Group Owner: kernelci-results+owner@groups.io
> Unsubscribe: https://groups.io/g/kernelci-results/unsub [broonie@kernel.org]
> -=-=-=-=-=-=-=-=-=-=-=-
> 
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
@ 2023-02-20 18:10   ` Mark Brown
  0 siblings, 0 replies; 26+ messages in thread
From: Mark Brown @ 2023-02-20 18:10 UTC (permalink / raw)
  To: Richard Zhu, Lorenzo Pieralisi, Michael Walle, Krzysztof Wilczyński
  Cc: kernelci-results, bot, linux-pci, linux-arm-kernel,
	Manivannan Sadhasivam, Kishon Vijay Abraham I


[-- Attachment #1.1: Type: text/plain, Size: 13710 bytes --]

On Sat, Feb 18, 2023 at 01:22:58PM -0800, KernelCI bot wrote:

The KernelCI bisection bot identified a failure to probe the Intel GBE
driver on kontron-pitx-imx8m as coming from commit 75c2f26da03f ("PCI:
imx6: Add i.MX PCIe EP mode support").  Looking at the commit it's
changed PCI_IMX6 to be selected by two new options PCI_IMX6_HOST and
PCI_IMX6_EP but there's been no corresponding update to defconfig so 
the arm64 defconfig, it just has CONFIG_PCI_IMX6=y which gets deselected
automatically.  This is going to affect all PCI on i.MX platforms.  I'll
send a patch.

The issue can be seen on today's -next with a plain defconfig:

   https://linux.kernelci.org/test/plan/id/63f32296682b9971318c8653/

The defconfig we generate is at:

   https://storage.kernelci.org/next/master/next-20230220/arm64/defconfig/clang-17/config/kernel.config

Full details from the bot, including a tag for it and bisection log
below:

> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> * This automated bisection report was sent to you on the basis  *
> * that you may be involved with the breaking commit it has      *
> * found.  No manual investigation has been done to verify it,   *
> * and the root cause of the problem may be somewhere else.      *
> *                                                               *
> * If you do send a fix, please include this trailer:            *
> *   Reported-by: "kernelci.org bot" <bot@kernelci.org>          *
> *                                                               *
> * Hope this helps!                                              *
> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> 
> next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
> 
> Summary:
>   Start:      9d9019bcea1a Add linux-next specific files for 20230215
>   Plain log:  https://storage.kernelci.org/next/master/next-20230215/arm64/defconfig+videodec/gcc-10/lab-kontron/baseline-kontron-pitx-imx8m.txt
>   HTML log:   https://storage.kernelci.org/next/master/next-20230215/arm64/defconfig+videodec/gcc-10/lab-kontron/baseline-kontron-pitx-imx8m.html
>   Result:     75c2f26da03f PCI: imx6: Add i.MX PCIe EP mode support
> 
> Checks:
>   revert:     PASS
>   verify:     PASS
> 
> Parameters:
>   Tree:       next
>   URL:        https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>   Branch:     master
>   Target:     kontron-pitx-imx8m
>   CPU arch:   arm64
>   Lab:        lab-kontron
>   Compiler:   gcc-10
>   Config:     defconfig+videodec
>   Test case:  baseline.bootrr.intel-igb-probed
> 
> Breaking commit found:
> 
> -------------------------------------------------------------------------------
> commit 75c2f26da03f93e988cd7678722ea893a8c63796
> Author: Richard Zhu <hongxing.zhu@nxp.com>
> Date:   Mon Jan 16 13:41:21 2023 +0800
> 
>     PCI: imx6: Add i.MX PCIe EP mode support
>     
>     i.MX PCIe is one dual mode PCIe controller.
>     
>     Add i.MX PCIe EP mode support here, and split the PCIe modes to the Root
>     Complex mode and Endpoint mode.
>     
>     Link: https://lore.kernel.org/r/1673847684-31893-12-git-send-email-hongxing.zhu@nxp.com
>     Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
>     Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
> 
> diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig
> index a0d2713f0e88..dffd7fbdfb98 100644
> --- a/drivers/pci/controller/dwc/Kconfig
> +++ b/drivers/pci/controller/dwc/Kconfig
> @@ -92,10 +92,31 @@ config PCI_EXYNOS
>  	  functions to implement the driver.
>  
>  config PCI_IMX6
> -	bool "Freescale i.MX6/7/8 PCIe controller"
> +	bool
> +
> +config PCI_IMX6_HOST
> +	bool "Freescale i.MX6/7/8 PCIe controller host mode"
>  	depends on ARCH_MXC || COMPILE_TEST
>  	depends on PCI_MSI
>  	select PCIE_DW_HOST
> +	select PCI_IMX6
> +	help
> +	  Enables support for the PCIe controller in the i.MX SoCs to
> +	  work in Root Complex mode. The PCI controller on i.MX is based
> +	  on DesignWare hardware and therefore the driver re-uses the
> +	  DesignWare core functions to implement the driver.
> +
> +config PCI_IMX6_EP
> +	bool "Freescale i.MX6/7/8 PCIe controller endpoint mode"
> +	depends on ARCH_MXC || COMPILE_TEST
> +	depends on PCI_ENDPOINT
> +	select PCIE_DW_EP
> +	select PCI_IMX6
> +	help
> +	  Enables support for the PCIe controller in the i.MX SoCs to
> +	  work in endpoint mode. The PCI controller on i.MX is based
> +	  on DesignWare hardware and therefore the driver re-uses the
> +	  DesignWare core functions to implement the driver.
>  
>  config PCIE_SPEAR13XX
>  	bool "STMicroelectronics SPEAr PCIe controller"
> diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
> index 1dde5c579edc..572faa91eea7 100644
> --- a/drivers/pci/controller/dwc/pci-imx6.c
> +++ b/drivers/pci/controller/dwc/pci-imx6.c
> @@ -60,6 +60,7 @@ enum imx6_pcie_variants {
>  
>  struct imx6_pcie_drvdata {
>  	enum imx6_pcie_variants variant;
> +	enum dw_pcie_device_mode mode;
>  	u32 flags;
>  	int dbi_length;
>  	const char *gpr;
> @@ -159,17 +160,20 @@ static unsigned int imx6_pcie_grp_offset(const struct imx6_pcie *imx6_pcie)
>  
>  static void imx6_pcie_configure_type(struct imx6_pcie *imx6_pcie)
>  {
> -	unsigned int mask, val;
> +	unsigned int mask, val, mode;
> +
> +	if (imx6_pcie->drvdata->mode == DW_PCIE_EP_TYPE)
> +		mode = PCI_EXP_TYPE_ENDPOINT;
> +	else
> +		mode = PCI_EXP_TYPE_ROOT_PORT;
>  
>  	if (imx6_pcie->drvdata->variant == IMX8MQ &&
>  	    imx6_pcie->controller_id == 1) {
>  		mask = IMX8MQ_GPR12_PCIE2_CTRL_DEVICE_TYPE;
> -		val  = FIELD_PREP(IMX8MQ_GPR12_PCIE2_CTRL_DEVICE_TYPE,
> -				  PCI_EXP_TYPE_ROOT_PORT);
> +		val  = FIELD_PREP(IMX8MQ_GPR12_PCIE2_CTRL_DEVICE_TYPE, mode);
>  	} else {
>  		mask = IMX6Q_GPR12_DEVICE_TYPE;
> -		val  = FIELD_PREP(IMX6Q_GPR12_DEVICE_TYPE,
> -				  PCI_EXP_TYPE_ROOT_PORT);
> +		val  = FIELD_PREP(IMX6Q_GPR12_DEVICE_TYPE, mode);
>  	}
>  
>  	regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12, mask, val);
> @@ -1003,8 +1007,99 @@ static const struct dw_pcie_host_ops imx6_pcie_host_ops = {
>  
>  static const struct dw_pcie_ops dw_pcie_ops = {
>  	.start_link = imx6_pcie_start_link,
> +	.stop_link = imx6_pcie_stop_link,
> +};
> +
> +static void imx6_pcie_ep_init(struct dw_pcie_ep *ep)
> +{
> +	enum pci_barno bar;
> +	struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
> +
> +	for (bar = BAR_0; bar <= BAR_5; bar++)
> +		dw_pcie_ep_reset_bar(pci, bar);
> +}
> +
> +static int imx6_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
> +				  enum pci_epc_irq_type type,
> +				  u16 interrupt_num)
> +{
> +	struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
> +
> +	switch (type) {
> +	case PCI_EPC_IRQ_LEGACY:
> +		return dw_pcie_ep_raise_legacy_irq(ep, func_no);
> +	case PCI_EPC_IRQ_MSI:
> +		return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
> +	case PCI_EPC_IRQ_MSIX:
> +		return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
> +	default:
> +		dev_err(pci->dev, "UNKNOWN IRQ type\n");
> +		return -EINVAL;
> +	}
> +
> +	return 0;
> +}
> +
> +static const struct pci_epc_features imx8m_pcie_epc_features = {
> +	.linkup_notifier = false,
> +	.msi_capable = true,
> +	.msix_capable = false,
> +	.reserved_bar = 1 << BAR_1 | 1 << BAR_3,
> +	.align = SZ_64K,
> +};
> +
> +static const struct pci_epc_features*
> +imx6_pcie_ep_get_features(struct dw_pcie_ep *ep)
> +{
> +	return &imx8m_pcie_epc_features;
> +}
> +
> +static const struct dw_pcie_ep_ops pcie_ep_ops = {
> +	.ep_init = imx6_pcie_ep_init,
> +	.raise_irq = imx6_pcie_ep_raise_irq,
> +	.get_features = imx6_pcie_ep_get_features,
>  };
>  
> +static int imx6_add_pcie_ep(struct imx6_pcie *imx6_pcie,
> +			   struct platform_device *pdev)
> +{
> +	int ret;
> +	unsigned int pcie_dbi2_offset;
> +	struct dw_pcie_ep *ep;
> +	struct resource *res;
> +	struct dw_pcie *pci = imx6_pcie->pci;
> +	struct dw_pcie_rp *pp = &pci->pp;
> +	struct device *dev = pci->dev;
> +
> +	imx6_pcie_host_init(pp);
> +	ep = &pci->ep;
> +	ep->ops = &pcie_ep_ops;
> +
> +	switch (imx6_pcie->drvdata->variant) {
> +	default:
> +		pcie_dbi2_offset = SZ_4K;
> +		break;
> +	}
> +	pci->dbi_base2 = pci->dbi_base + pcie_dbi2_offset;
> +	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "addr_space");
> +	if (!res)
> +		return -EINVAL;
> +
> +	ep->phys_base = res->start;
> +	ep->addr_size = resource_size(res);
> +	ep->page_size = SZ_64K;
> +
> +	ret = dw_pcie_ep_init(ep);
> +	if (ret) {
> +		dev_err(dev, "failed to initialize endpoint\n");
> +		return ret;
> +	}
> +	/* Start LTSSM. */
> +	imx6_pcie_ltssm_enable(dev);
> +
> +	return 0;
> +}
> +
>  static void imx6_pcie_pm_turnoff(struct imx6_pcie *imx6_pcie)
>  {
>  	struct device *dev = imx6_pcie->pci->dev;
> @@ -1279,15 +1374,22 @@ static int imx6_pcie_probe(struct platform_device *pdev)
>  	if (ret)
>  		return ret;
>  
> -	ret = dw_pcie_host_init(&pci->pp);
> -	if (ret < 0)
> -		return ret;
> +	if (imx6_pcie->drvdata->mode == DW_PCIE_EP_TYPE) {
> +		ret = imx6_add_pcie_ep(imx6_pcie, pdev);
> +		if (ret < 0)
> +			return ret;
> +	} else {
> +		ret = dw_pcie_host_init(&pci->pp);
> +		if (ret < 0)
> +			return ret;
> +
> +		if (pci_msi_enabled()) {
> +			u8 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_MSI);
>  
> -	if (pci_msi_enabled()) {
> -		u8 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_MSI);
> -		val = dw_pcie_readw_dbi(pci, offset + PCI_MSI_FLAGS);
> -		val |= PCI_MSI_FLAGS_ENABLE;
> -		dw_pcie_writew_dbi(pci, offset + PCI_MSI_FLAGS, val);
> +			val = dw_pcie_readw_dbi(pci, offset + PCI_MSI_FLAGS);
> +			val |= PCI_MSI_FLAGS_ENABLE;
> +			dw_pcie_writew_dbi(pci, offset + PCI_MSI_FLAGS, val);
> +		}
>  	}
>  
>  	return 0;
> -------------------------------------------------------------------------------
> 
> 
> Git bisection log:
> 
> -------------------------------------------------------------------------------
> git bisect start
> # good: [d5a1224aa68c8b124a4c5c390186e571815ed390] drm/i915/gen11: Wa_1408615072/Wa_1407596294 should be on GT list
> git bisect good d5a1224aa68c8b124a4c5c390186e571815ed390
> # bad: [9d9019bcea1aac7eed64a1a4966282b6b7b141c8] Add linux-next specific files for 20230215
> git bisect bad 9d9019bcea1aac7eed64a1a4966282b6b7b141c8
> # bad: [e8b85852ecfd21f4aca6456423c7e7eebd4de095] Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
> git bisect bad e8b85852ecfd21f4aca6456423c7e7eebd4de095
> # good: [230c2111794b1c5547149a9378fede8407a5f585] Merge branch 'nfsd-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
> git bisect good 230c2111794b1c5547149a9378fede8407a5f585
> # good: [7cd8200555d4f01183f0b9071e0760c389a51816] wifi: rtw89: coex: Refine coexistence log
> git bisect good 7cd8200555d4f01183f0b9071e0760c389a51816
> # bad: [321bd02ae8d76684597db34f3a43bb39988f4e3e] Merge branch 'master' of git://linuxtv.org/mchehab/media-next.git
> git bisect bad 321bd02ae8d76684597db34f3a43bb39988f4e3e
> # bad: [80c52d59cb5d51a2a1e10b2c4f4ef6adb92049cd] Merge branch 'i3c/next' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux.git
> git bisect bad 80c52d59cb5d51a2a1e10b2c4f4ef6adb92049cd
> # good: [32feb85935981e8cd3b44efa5d0e636f6000c29c] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git
> git bisect good 32feb85935981e8cd3b44efa5d0e636f6000c29c
> # good: [760f504ec490c502a27b477089baecc5f3dab4db] Merge branch 'for-6.3/logitech' into for-next
> git bisect good 760f504ec490c502a27b477089baecc5f3dab4db
> # bad: [c51b1767b4df2c81270ab6942ab84675341c21ed] Merge branch 'pci/controller/mvebu'
> git bisect bad c51b1767b4df2c81270ab6942ab84675341c21ed
> # good: [0e159888fa3b75c8d9bddb1186552c5bd1496816] Merge branch 'pci/endpoint'
> git bisect good 0e159888fa3b75c8d9bddb1186552c5bd1496816
> # good: [7119685cf49033b777c559ae4da093be2a9b225c] dmaengine: dw-edma: Drop DT-region allocation
> git bisect good 7119685cf49033b777c559ae4da093be2a9b225c
> # good: [87616c47e354eec4e64baffa1779ba2b30e51120] Merge branch 'pci/controller/dwc'
> git bisect good 87616c47e354eec4e64baffa1779ba2b30e51120
> # bad: [530ba41250b69db4b5beb9fc03bd7183881c5e7f] PCI: imx6: Add i.MX8MQ PCIe EP support
> git bisect bad 530ba41250b69db4b5beb9fc03bd7183881c5e7f
> # good: [2dd6dc57d2da459983ded133767d0389194f15b8] dt-bindings: imx6q-pcie: Add i.MX8MP PCIe EP mode compatible string
> git bisect good 2dd6dc57d2da459983ded133767d0389194f15b8
> # bad: [75c2f26da03f93e988cd7678722ea893a8c63796] PCI: imx6: Add i.MX PCIe EP mode support
> git bisect bad 75c2f26da03f93e988cd7678722ea893a8c63796
> # good: [01ea5ede419733fdc39e75875f0861d16a829fe6] misc: pci_endpoint_test: Add i.MX8 PCIe EP device support
> git bisect good 01ea5ede419733fdc39e75875f0861d16a829fe6
> # first bad commit: [75c2f26da03f93e988cd7678722ea893a8c63796] PCI: imx6: Add i.MX PCIe EP mode support
> -------------------------------------------------------------------------------
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#38383): https://groups.io/g/kernelci-results/message/38383
> Mute This Topic: https://groups.io/mt/97056400/1131744
> Group Owner: kernelci-results+owner@groups.io
> Unsubscribe: https://groups.io/g/kernelci-results/unsub [broonie@kernel.org]
> -=-=-=-=-=-=-=-=-=-=-=-
> 
> 

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
  2023-02-20 18:10   ` Mark Brown
@ 2023-02-20 18:38     ` Michael Walle
  -1 siblings, 0 replies; 26+ messages in thread
From: Michael Walle @ 2023-02-20 18:38 UTC (permalink / raw)
  To: Mark Brown, Heiko Thiery
  Cc: Richard Zhu, Lorenzo Pieralisi, Krzysztof Wilczyński,
	kernelci-results, bot, linux-pci, linux-arm-kernel,
	Manivannan Sadhasivam, Kishon Vijay Abraham I

[+Heiko as the owner of this board]

> On Sat, Feb 18, 2023 at 01:22:58PM -0800, KernelCI bot wrote:
> 
> The KernelCI bisection bot identified a failure to probe the Intel GBE
> driver on kontron-pitx-imx8m as coming from commit 75c2f26da03f ("PCI:
> imx6: Add i.MX PCIe EP mode support").  Looking at the commit it's
> changed PCI_IMX6 to be selected by two new options PCI_IMX6_HOST and
> PCI_IMX6_EP but there's been no corresponding update to defconfig so
> the arm64 defconfig, it just has CONFIG_PCI_IMX6=y which gets 
> deselected
> automatically.  This is going to affect all PCI on i.MX platforms.  
> I'll
> send a patch.
> 
> The issue can be seen on today's -next with a plain defconfig:
> 
>    https://linux.kernelci.org/test/plan/id/63f32296682b9971318c8653/
> 
> The defconfig we generate is at:
> 
> 
> https://storage.kernelci.org/next/master/next-20230220/arm64/defconfig/clang-17/config/kernel.config
> 
> Full details from the bot, including a tag for it and bisection log
> below:
> 
>> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>> * This automated bisection report was sent to you on the basis  *
>> * that you may be involved with the breaking commit it has      *
>> * found.  No manual investigation has been done to verify it,   *
>> * and the root cause of the problem may be somewhere else.      *
>> *                                                               *
>> * If you do send a fix, please include this trailer:            *
>> *   Reported-by: "kernelci.org bot" <bot@kernelci.org>          *
>> *                                                               *
>> * Hope this helps!                                              *
>> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>> 
>> next/master bisection: baseline.bootrr.intel-igb-probed on 
>> kontron-pitx-imx8m
>> 
>> Summary:
>>   Start:      9d9019bcea1a Add linux-next specific files for 20230215
>>   Plain log:  
>> https://storage.kernelci.org/next/master/next-20230215/arm64/defconfig+videodec/gcc-10/lab-kontron/baseline-kontron-pitx-imx8m.txt
>>   HTML log:   
>> https://storage.kernelci.org/next/master/next-20230215/arm64/defconfig+videodec/gcc-10/lab-kontron/baseline-kontron-pitx-imx8m.html
>>   Result:     75c2f26da03f PCI: imx6: Add i.MX PCIe EP mode support
>> 
>> Checks:
>>   revert:     PASS
>>   verify:     PASS
>> 
>> Parameters:
>>   Tree:       next
>>   URL:        
>> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>>   Branch:     master
>>   Target:     kontron-pitx-imx8m
>>   CPU arch:   arm64
>>   Lab:        lab-kontron
>>   Compiler:   gcc-10
>>   Config:     defconfig+videodec
>>   Test case:  baseline.bootrr.intel-igb-probed
>> 
>> Breaking commit found:
>> 
>> -------------------------------------------------------------------------------
>> commit 75c2f26da03f93e988cd7678722ea893a8c63796
>> Author: Richard Zhu <hongxing.zhu@nxp.com>
>> Date:   Mon Jan 16 13:41:21 2023 +0800
>> 
>>     PCI: imx6: Add i.MX PCIe EP mode support
>> 
>>     i.MX PCIe is one dual mode PCIe controller.
>> 
>>     Add i.MX PCIe EP mode support here, and split the PCIe modes to 
>> the Root
>>     Complex mode and Endpoint mode.
>> 
>>     Link: 
>> https://lore.kernel.org/r/1673847684-31893-12-git-send-email-hongxing.zhu@nxp.com
>>     Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
>>     Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
>> 
>> diff --git a/drivers/pci/controller/dwc/Kconfig 
>> b/drivers/pci/controller/dwc/Kconfig
>> index a0d2713f0e88..dffd7fbdfb98 100644
>> --- a/drivers/pci/controller/dwc/Kconfig
>> +++ b/drivers/pci/controller/dwc/Kconfig
>> @@ -92,10 +92,31 @@ config PCI_EXYNOS
>>  	  functions to implement the driver.
>> 
>>  config PCI_IMX6
>> -	bool "Freescale i.MX6/7/8 PCIe controller"
>> +	bool
>> +
>> +config PCI_IMX6_HOST
>> +	bool "Freescale i.MX6/7/8 PCIe controller host mode"
>>  	depends on ARCH_MXC || COMPILE_TEST
>>  	depends on PCI_MSI
>>  	select PCIE_DW_HOST
>> +	select PCI_IMX6
>> +	help
>> +	  Enables support for the PCIe controller in the i.MX SoCs to
>> +	  work in Root Complex mode. The PCI controller on i.MX is based
>> +	  on DesignWare hardware and therefore the driver re-uses the
>> +	  DesignWare core functions to implement the driver.
>> +
>> +config PCI_IMX6_EP
>> +	bool "Freescale i.MX6/7/8 PCIe controller endpoint mode"
>> +	depends on ARCH_MXC || COMPILE_TEST
>> +	depends on PCI_ENDPOINT
>> +	select PCIE_DW_EP
>> +	select PCI_IMX6
>> +	help
>> +	  Enables support for the PCIe controller in the i.MX SoCs to
>> +	  work in endpoint mode. The PCI controller on i.MX is based
>> +	  on DesignWare hardware and therefore the driver re-uses the
>> +	  DesignWare core functions to implement the driver.
>> 
>>  config PCIE_SPEAR13XX
>>  	bool "STMicroelectronics SPEAr PCIe controller"
>> diff --git a/drivers/pci/controller/dwc/pci-imx6.c 
>> b/drivers/pci/controller/dwc/pci-imx6.c
>> index 1dde5c579edc..572faa91eea7 100644
>> --- a/drivers/pci/controller/dwc/pci-imx6.c
>> +++ b/drivers/pci/controller/dwc/pci-imx6.c
>> @@ -60,6 +60,7 @@ enum imx6_pcie_variants {
>> 
>>  struct imx6_pcie_drvdata {
>>  	enum imx6_pcie_variants variant;
>> +	enum dw_pcie_device_mode mode;
>>  	u32 flags;
>>  	int dbi_length;
>>  	const char *gpr;
>> @@ -159,17 +160,20 @@ static unsigned int imx6_pcie_grp_offset(const 
>> struct imx6_pcie *imx6_pcie)
>> 
>>  static void imx6_pcie_configure_type(struct imx6_pcie *imx6_pcie)
>>  {
>> -	unsigned int mask, val;
>> +	unsigned int mask, val, mode;
>> +
>> +	if (imx6_pcie->drvdata->mode == DW_PCIE_EP_TYPE)
>> +		mode = PCI_EXP_TYPE_ENDPOINT;
>> +	else
>> +		mode = PCI_EXP_TYPE_ROOT_PORT;
>> 
>>  	if (imx6_pcie->drvdata->variant == IMX8MQ &&
>>  	    imx6_pcie->controller_id == 1) {
>>  		mask = IMX8MQ_GPR12_PCIE2_CTRL_DEVICE_TYPE;
>> -		val  = FIELD_PREP(IMX8MQ_GPR12_PCIE2_CTRL_DEVICE_TYPE,
>> -				  PCI_EXP_TYPE_ROOT_PORT);
>> +		val  = FIELD_PREP(IMX8MQ_GPR12_PCIE2_CTRL_DEVICE_TYPE, mode);
>>  	} else {
>>  		mask = IMX6Q_GPR12_DEVICE_TYPE;
>> -		val  = FIELD_PREP(IMX6Q_GPR12_DEVICE_TYPE,
>> -				  PCI_EXP_TYPE_ROOT_PORT);
>> +		val  = FIELD_PREP(IMX6Q_GPR12_DEVICE_TYPE, mode);
>>  	}
>> 
>>  	regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12, mask, val);
>> @@ -1003,8 +1007,99 @@ static const struct dw_pcie_host_ops 
>> imx6_pcie_host_ops = {
>> 
>>  static const struct dw_pcie_ops dw_pcie_ops = {
>>  	.start_link = imx6_pcie_start_link,
>> +	.stop_link = imx6_pcie_stop_link,
>> +};
>> +
>> +static void imx6_pcie_ep_init(struct dw_pcie_ep *ep)
>> +{
>> +	enum pci_barno bar;
>> +	struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
>> +
>> +	for (bar = BAR_0; bar <= BAR_5; bar++)
>> +		dw_pcie_ep_reset_bar(pci, bar);
>> +}
>> +
>> +static int imx6_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
>> +				  enum pci_epc_irq_type type,
>> +				  u16 interrupt_num)
>> +{
>> +	struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
>> +
>> +	switch (type) {
>> +	case PCI_EPC_IRQ_LEGACY:
>> +		return dw_pcie_ep_raise_legacy_irq(ep, func_no);
>> +	case PCI_EPC_IRQ_MSI:
>> +		return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
>> +	case PCI_EPC_IRQ_MSIX:
>> +		return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
>> +	default:
>> +		dev_err(pci->dev, "UNKNOWN IRQ type\n");
>> +		return -EINVAL;
>> +	}
>> +
>> +	return 0;
>> +}
>> +
>> +static const struct pci_epc_features imx8m_pcie_epc_features = {
>> +	.linkup_notifier = false,
>> +	.msi_capable = true,
>> +	.msix_capable = false,
>> +	.reserved_bar = 1 << BAR_1 | 1 << BAR_3,
>> +	.align = SZ_64K,
>> +};
>> +
>> +static const struct pci_epc_features*
>> +imx6_pcie_ep_get_features(struct dw_pcie_ep *ep)
>> +{
>> +	return &imx8m_pcie_epc_features;
>> +}
>> +
>> +static const struct dw_pcie_ep_ops pcie_ep_ops = {
>> +	.ep_init = imx6_pcie_ep_init,
>> +	.raise_irq = imx6_pcie_ep_raise_irq,
>> +	.get_features = imx6_pcie_ep_get_features,
>>  };
>> 
>> +static int imx6_add_pcie_ep(struct imx6_pcie *imx6_pcie,
>> +			   struct platform_device *pdev)
>> +{
>> +	int ret;
>> +	unsigned int pcie_dbi2_offset;
>> +	struct dw_pcie_ep *ep;
>> +	struct resource *res;
>> +	struct dw_pcie *pci = imx6_pcie->pci;
>> +	struct dw_pcie_rp *pp = &pci->pp;
>> +	struct device *dev = pci->dev;
>> +
>> +	imx6_pcie_host_init(pp);
>> +	ep = &pci->ep;
>> +	ep->ops = &pcie_ep_ops;
>> +
>> +	switch (imx6_pcie->drvdata->variant) {
>> +	default:
>> +		pcie_dbi2_offset = SZ_4K;
>> +		break;
>> +	}
>> +	pci->dbi_base2 = pci->dbi_base + pcie_dbi2_offset;
>> +	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, 
>> "addr_space");
>> +	if (!res)
>> +		return -EINVAL;
>> +
>> +	ep->phys_base = res->start;
>> +	ep->addr_size = resource_size(res);
>> +	ep->page_size = SZ_64K;
>> +
>> +	ret = dw_pcie_ep_init(ep);
>> +	if (ret) {
>> +		dev_err(dev, "failed to initialize endpoint\n");
>> +		return ret;
>> +	}
>> +	/* Start LTSSM. */
>> +	imx6_pcie_ltssm_enable(dev);
>> +
>> +	return 0;
>> +}
>> +
>>  static void imx6_pcie_pm_turnoff(struct imx6_pcie *imx6_pcie)
>>  {
>>  	struct device *dev = imx6_pcie->pci->dev;
>> @@ -1279,15 +1374,22 @@ static int imx6_pcie_probe(struct 
>> platform_device *pdev)
>>  	if (ret)
>>  		return ret;
>> 
>> -	ret = dw_pcie_host_init(&pci->pp);
>> -	if (ret < 0)
>> -		return ret;
>> +	if (imx6_pcie->drvdata->mode == DW_PCIE_EP_TYPE) {
>> +		ret = imx6_add_pcie_ep(imx6_pcie, pdev);
>> +		if (ret < 0)
>> +			return ret;
>> +	} else {
>> +		ret = dw_pcie_host_init(&pci->pp);
>> +		if (ret < 0)
>> +			return ret;
>> +
>> +		if (pci_msi_enabled()) {
>> +			u8 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_MSI);
>> 
>> -	if (pci_msi_enabled()) {
>> -		u8 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_MSI);
>> -		val = dw_pcie_readw_dbi(pci, offset + PCI_MSI_FLAGS);
>> -		val |= PCI_MSI_FLAGS_ENABLE;
>> -		dw_pcie_writew_dbi(pci, offset + PCI_MSI_FLAGS, val);
>> +			val = dw_pcie_readw_dbi(pci, offset + PCI_MSI_FLAGS);
>> +			val |= PCI_MSI_FLAGS_ENABLE;
>> +			dw_pcie_writew_dbi(pci, offset + PCI_MSI_FLAGS, val);
>> +		}
>>  	}
>> 
>>  	return 0;
>> -------------------------------------------------------------------------------
>> 
>> 
>> Git bisection log:
>> 
>> -------------------------------------------------------------------------------
>> git bisect start
>> # good: [d5a1224aa68c8b124a4c5c390186e571815ed390] drm/i915/gen11: 
>> Wa_1408615072/Wa_1407596294 should be on GT list
>> git bisect good d5a1224aa68c8b124a4c5c390186e571815ed390
>> # bad: [9d9019bcea1aac7eed64a1a4966282b6b7b141c8] Add linux-next 
>> specific files for 20230215
>> git bisect bad 9d9019bcea1aac7eed64a1a4966282b6b7b141c8
>> # bad: [e8b85852ecfd21f4aca6456423c7e7eebd4de095] Merge branch 
>> 'master' of 
>> git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
>> git bisect bad e8b85852ecfd21f4aca6456423c7e7eebd4de095
>> # good: [230c2111794b1c5547149a9378fede8407a5f585] Merge branch 
>> 'nfsd-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
>> git bisect good 230c2111794b1c5547149a9378fede8407a5f585
>> # good: [7cd8200555d4f01183f0b9071e0760c389a51816] wifi: rtw89: coex: 
>> Refine coexistence log
>> git bisect good 7cd8200555d4f01183f0b9071e0760c389a51816
>> # bad: [321bd02ae8d76684597db34f3a43bb39988f4e3e] Merge branch 
>> 'master' of git://linuxtv.org/mchehab/media-next.git
>> git bisect bad 321bd02ae8d76684597db34f3a43bb39988f4e3e
>> # bad: [80c52d59cb5d51a2a1e10b2c4f4ef6adb92049cd] Merge branch 
>> 'i3c/next' of 
>> git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux.git
>> git bisect bad 80c52d59cb5d51a2a1e10b2c4f4ef6adb92049cd
>> # good: [32feb85935981e8cd3b44efa5d0e636f6000c29c] Merge branch 
>> 'for-next' of 
>> git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git
>> git bisect good 32feb85935981e8cd3b44efa5d0e636f6000c29c
>> # good: [760f504ec490c502a27b477089baecc5f3dab4db] Merge branch 
>> 'for-6.3/logitech' into for-next
>> git bisect good 760f504ec490c502a27b477089baecc5f3dab4db
>> # bad: [c51b1767b4df2c81270ab6942ab84675341c21ed] Merge branch 
>> 'pci/controller/mvebu'
>> git bisect bad c51b1767b4df2c81270ab6942ab84675341c21ed
>> # good: [0e159888fa3b75c8d9bddb1186552c5bd1496816] Merge branch 
>> 'pci/endpoint'
>> git bisect good 0e159888fa3b75c8d9bddb1186552c5bd1496816
>> # good: [7119685cf49033b777c559ae4da093be2a9b225c] dmaengine: dw-edma: 
>> Drop DT-region allocation
>> git bisect good 7119685cf49033b777c559ae4da093be2a9b225c
>> # good: [87616c47e354eec4e64baffa1779ba2b30e51120] Merge branch 
>> 'pci/controller/dwc'
>> git bisect good 87616c47e354eec4e64baffa1779ba2b30e51120
>> # bad: [530ba41250b69db4b5beb9fc03bd7183881c5e7f] PCI: imx6: Add 
>> i.MX8MQ PCIe EP support
>> git bisect bad 530ba41250b69db4b5beb9fc03bd7183881c5e7f
>> # good: [2dd6dc57d2da459983ded133767d0389194f15b8] dt-bindings: 
>> imx6q-pcie: Add i.MX8MP PCIe EP mode compatible string
>> git bisect good 2dd6dc57d2da459983ded133767d0389194f15b8
>> # bad: [75c2f26da03f93e988cd7678722ea893a8c63796] PCI: imx6: Add i.MX 
>> PCIe EP mode support
>> git bisect bad 75c2f26da03f93e988cd7678722ea893a8c63796
>> # good: [01ea5ede419733fdc39e75875f0861d16a829fe6] misc: 
>> pci_endpoint_test: Add i.MX8 PCIe EP device support
>> git bisect good 01ea5ede419733fdc39e75875f0861d16a829fe6
>> # first bad commit: [75c2f26da03f93e988cd7678722ea893a8c63796] PCI: 
>> imx6: Add i.MX PCIe EP mode support
>> -------------------------------------------------------------------------------
>> 
>> 
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Groups.io Links: You receive all messages sent to this group.
>> View/Reply Online (#38383): 
>> https://groups.io/g/kernelci-results/message/38383
>> Mute This Topic: https://groups.io/mt/97056400/1131744
>> Group Owner: kernelci-results+owner@groups.io
>> Unsubscribe: https://groups.io/g/kernelci-results/unsub 
>> [broonie@kernel.org]
>> -=-=-=-=-=-=-=-=-=-=-=-
>> 
>> 

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
@ 2023-02-20 18:38     ` Michael Walle
  0 siblings, 0 replies; 26+ messages in thread
From: Michael Walle @ 2023-02-20 18:38 UTC (permalink / raw)
  To: Mark Brown, Heiko Thiery
  Cc: Richard Zhu, Lorenzo Pieralisi, Krzysztof Wilczyński,
	kernelci-results, bot, linux-pci, linux-arm-kernel,
	Manivannan Sadhasivam, Kishon Vijay Abraham I

[+Heiko as the owner of this board]

> On Sat, Feb 18, 2023 at 01:22:58PM -0800, KernelCI bot wrote:
> 
> The KernelCI bisection bot identified a failure to probe the Intel GBE
> driver on kontron-pitx-imx8m as coming from commit 75c2f26da03f ("PCI:
> imx6: Add i.MX PCIe EP mode support").  Looking at the commit it's
> changed PCI_IMX6 to be selected by two new options PCI_IMX6_HOST and
> PCI_IMX6_EP but there's been no corresponding update to defconfig so
> the arm64 defconfig, it just has CONFIG_PCI_IMX6=y which gets 
> deselected
> automatically.  This is going to affect all PCI on i.MX platforms.  
> I'll
> send a patch.
> 
> The issue can be seen on today's -next with a plain defconfig:
> 
>    https://linux.kernelci.org/test/plan/id/63f32296682b9971318c8653/
> 
> The defconfig we generate is at:
> 
> 
> https://storage.kernelci.org/next/master/next-20230220/arm64/defconfig/clang-17/config/kernel.config
> 
> Full details from the bot, including a tag for it and bisection log
> below:
> 
>> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>> * This automated bisection report was sent to you on the basis  *
>> * that you may be involved with the breaking commit it has      *
>> * found.  No manual investigation has been done to verify it,   *
>> * and the root cause of the problem may be somewhere else.      *
>> *                                                               *
>> * If you do send a fix, please include this trailer:            *
>> *   Reported-by: "kernelci.org bot" <bot@kernelci.org>          *
>> *                                                               *
>> * Hope this helps!                                              *
>> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>> 
>> next/master bisection: baseline.bootrr.intel-igb-probed on 
>> kontron-pitx-imx8m
>> 
>> Summary:
>>   Start:      9d9019bcea1a Add linux-next specific files for 20230215
>>   Plain log:  
>> https://storage.kernelci.org/next/master/next-20230215/arm64/defconfig+videodec/gcc-10/lab-kontron/baseline-kontron-pitx-imx8m.txt
>>   HTML log:   
>> https://storage.kernelci.org/next/master/next-20230215/arm64/defconfig+videodec/gcc-10/lab-kontron/baseline-kontron-pitx-imx8m.html
>>   Result:     75c2f26da03f PCI: imx6: Add i.MX PCIe EP mode support
>> 
>> Checks:
>>   revert:     PASS
>>   verify:     PASS
>> 
>> Parameters:
>>   Tree:       next
>>   URL:        
>> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>>   Branch:     master
>>   Target:     kontron-pitx-imx8m
>>   CPU arch:   arm64
>>   Lab:        lab-kontron
>>   Compiler:   gcc-10
>>   Config:     defconfig+videodec
>>   Test case:  baseline.bootrr.intel-igb-probed
>> 
>> Breaking commit found:
>> 
>> -------------------------------------------------------------------------------
>> commit 75c2f26da03f93e988cd7678722ea893a8c63796
>> Author: Richard Zhu <hongxing.zhu@nxp.com>
>> Date:   Mon Jan 16 13:41:21 2023 +0800
>> 
>>     PCI: imx6: Add i.MX PCIe EP mode support
>> 
>>     i.MX PCIe is one dual mode PCIe controller.
>> 
>>     Add i.MX PCIe EP mode support here, and split the PCIe modes to 
>> the Root
>>     Complex mode and Endpoint mode.
>> 
>>     Link: 
>> https://lore.kernel.org/r/1673847684-31893-12-git-send-email-hongxing.zhu@nxp.com
>>     Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
>>     Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
>> 
>> diff --git a/drivers/pci/controller/dwc/Kconfig 
>> b/drivers/pci/controller/dwc/Kconfig
>> index a0d2713f0e88..dffd7fbdfb98 100644
>> --- a/drivers/pci/controller/dwc/Kconfig
>> +++ b/drivers/pci/controller/dwc/Kconfig
>> @@ -92,10 +92,31 @@ config PCI_EXYNOS
>>  	  functions to implement the driver.
>> 
>>  config PCI_IMX6
>> -	bool "Freescale i.MX6/7/8 PCIe controller"
>> +	bool
>> +
>> +config PCI_IMX6_HOST
>> +	bool "Freescale i.MX6/7/8 PCIe controller host mode"
>>  	depends on ARCH_MXC || COMPILE_TEST
>>  	depends on PCI_MSI
>>  	select PCIE_DW_HOST
>> +	select PCI_IMX6
>> +	help
>> +	  Enables support for the PCIe controller in the i.MX SoCs to
>> +	  work in Root Complex mode. The PCI controller on i.MX is based
>> +	  on DesignWare hardware and therefore the driver re-uses the
>> +	  DesignWare core functions to implement the driver.
>> +
>> +config PCI_IMX6_EP
>> +	bool "Freescale i.MX6/7/8 PCIe controller endpoint mode"
>> +	depends on ARCH_MXC || COMPILE_TEST
>> +	depends on PCI_ENDPOINT
>> +	select PCIE_DW_EP
>> +	select PCI_IMX6
>> +	help
>> +	  Enables support for the PCIe controller in the i.MX SoCs to
>> +	  work in endpoint mode. The PCI controller on i.MX is based
>> +	  on DesignWare hardware and therefore the driver re-uses the
>> +	  DesignWare core functions to implement the driver.
>> 
>>  config PCIE_SPEAR13XX
>>  	bool "STMicroelectronics SPEAr PCIe controller"
>> diff --git a/drivers/pci/controller/dwc/pci-imx6.c 
>> b/drivers/pci/controller/dwc/pci-imx6.c
>> index 1dde5c579edc..572faa91eea7 100644
>> --- a/drivers/pci/controller/dwc/pci-imx6.c
>> +++ b/drivers/pci/controller/dwc/pci-imx6.c
>> @@ -60,6 +60,7 @@ enum imx6_pcie_variants {
>> 
>>  struct imx6_pcie_drvdata {
>>  	enum imx6_pcie_variants variant;
>> +	enum dw_pcie_device_mode mode;
>>  	u32 flags;
>>  	int dbi_length;
>>  	const char *gpr;
>> @@ -159,17 +160,20 @@ static unsigned int imx6_pcie_grp_offset(const 
>> struct imx6_pcie *imx6_pcie)
>> 
>>  static void imx6_pcie_configure_type(struct imx6_pcie *imx6_pcie)
>>  {
>> -	unsigned int mask, val;
>> +	unsigned int mask, val, mode;
>> +
>> +	if (imx6_pcie->drvdata->mode == DW_PCIE_EP_TYPE)
>> +		mode = PCI_EXP_TYPE_ENDPOINT;
>> +	else
>> +		mode = PCI_EXP_TYPE_ROOT_PORT;
>> 
>>  	if (imx6_pcie->drvdata->variant == IMX8MQ &&
>>  	    imx6_pcie->controller_id == 1) {
>>  		mask = IMX8MQ_GPR12_PCIE2_CTRL_DEVICE_TYPE;
>> -		val  = FIELD_PREP(IMX8MQ_GPR12_PCIE2_CTRL_DEVICE_TYPE,
>> -				  PCI_EXP_TYPE_ROOT_PORT);
>> +		val  = FIELD_PREP(IMX8MQ_GPR12_PCIE2_CTRL_DEVICE_TYPE, mode);
>>  	} else {
>>  		mask = IMX6Q_GPR12_DEVICE_TYPE;
>> -		val  = FIELD_PREP(IMX6Q_GPR12_DEVICE_TYPE,
>> -				  PCI_EXP_TYPE_ROOT_PORT);
>> +		val  = FIELD_PREP(IMX6Q_GPR12_DEVICE_TYPE, mode);
>>  	}
>> 
>>  	regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12, mask, val);
>> @@ -1003,8 +1007,99 @@ static const struct dw_pcie_host_ops 
>> imx6_pcie_host_ops = {
>> 
>>  static const struct dw_pcie_ops dw_pcie_ops = {
>>  	.start_link = imx6_pcie_start_link,
>> +	.stop_link = imx6_pcie_stop_link,
>> +};
>> +
>> +static void imx6_pcie_ep_init(struct dw_pcie_ep *ep)
>> +{
>> +	enum pci_barno bar;
>> +	struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
>> +
>> +	for (bar = BAR_0; bar <= BAR_5; bar++)
>> +		dw_pcie_ep_reset_bar(pci, bar);
>> +}
>> +
>> +static int imx6_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
>> +				  enum pci_epc_irq_type type,
>> +				  u16 interrupt_num)
>> +{
>> +	struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
>> +
>> +	switch (type) {
>> +	case PCI_EPC_IRQ_LEGACY:
>> +		return dw_pcie_ep_raise_legacy_irq(ep, func_no);
>> +	case PCI_EPC_IRQ_MSI:
>> +		return dw_pcie_ep_raise_msi_irq(ep, func_no, interrupt_num);
>> +	case PCI_EPC_IRQ_MSIX:
>> +		return dw_pcie_ep_raise_msix_irq(ep, func_no, interrupt_num);
>> +	default:
>> +		dev_err(pci->dev, "UNKNOWN IRQ type\n");
>> +		return -EINVAL;
>> +	}
>> +
>> +	return 0;
>> +}
>> +
>> +static const struct pci_epc_features imx8m_pcie_epc_features = {
>> +	.linkup_notifier = false,
>> +	.msi_capable = true,
>> +	.msix_capable = false,
>> +	.reserved_bar = 1 << BAR_1 | 1 << BAR_3,
>> +	.align = SZ_64K,
>> +};
>> +
>> +static const struct pci_epc_features*
>> +imx6_pcie_ep_get_features(struct dw_pcie_ep *ep)
>> +{
>> +	return &imx8m_pcie_epc_features;
>> +}
>> +
>> +static const struct dw_pcie_ep_ops pcie_ep_ops = {
>> +	.ep_init = imx6_pcie_ep_init,
>> +	.raise_irq = imx6_pcie_ep_raise_irq,
>> +	.get_features = imx6_pcie_ep_get_features,
>>  };
>> 
>> +static int imx6_add_pcie_ep(struct imx6_pcie *imx6_pcie,
>> +			   struct platform_device *pdev)
>> +{
>> +	int ret;
>> +	unsigned int pcie_dbi2_offset;
>> +	struct dw_pcie_ep *ep;
>> +	struct resource *res;
>> +	struct dw_pcie *pci = imx6_pcie->pci;
>> +	struct dw_pcie_rp *pp = &pci->pp;
>> +	struct device *dev = pci->dev;
>> +
>> +	imx6_pcie_host_init(pp);
>> +	ep = &pci->ep;
>> +	ep->ops = &pcie_ep_ops;
>> +
>> +	switch (imx6_pcie->drvdata->variant) {
>> +	default:
>> +		pcie_dbi2_offset = SZ_4K;
>> +		break;
>> +	}
>> +	pci->dbi_base2 = pci->dbi_base + pcie_dbi2_offset;
>> +	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, 
>> "addr_space");
>> +	if (!res)
>> +		return -EINVAL;
>> +
>> +	ep->phys_base = res->start;
>> +	ep->addr_size = resource_size(res);
>> +	ep->page_size = SZ_64K;
>> +
>> +	ret = dw_pcie_ep_init(ep);
>> +	if (ret) {
>> +		dev_err(dev, "failed to initialize endpoint\n");
>> +		return ret;
>> +	}
>> +	/* Start LTSSM. */
>> +	imx6_pcie_ltssm_enable(dev);
>> +
>> +	return 0;
>> +}
>> +
>>  static void imx6_pcie_pm_turnoff(struct imx6_pcie *imx6_pcie)
>>  {
>>  	struct device *dev = imx6_pcie->pci->dev;
>> @@ -1279,15 +1374,22 @@ static int imx6_pcie_probe(struct 
>> platform_device *pdev)
>>  	if (ret)
>>  		return ret;
>> 
>> -	ret = dw_pcie_host_init(&pci->pp);
>> -	if (ret < 0)
>> -		return ret;
>> +	if (imx6_pcie->drvdata->mode == DW_PCIE_EP_TYPE) {
>> +		ret = imx6_add_pcie_ep(imx6_pcie, pdev);
>> +		if (ret < 0)
>> +			return ret;
>> +	} else {
>> +		ret = dw_pcie_host_init(&pci->pp);
>> +		if (ret < 0)
>> +			return ret;
>> +
>> +		if (pci_msi_enabled()) {
>> +			u8 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_MSI);
>> 
>> -	if (pci_msi_enabled()) {
>> -		u8 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_MSI);
>> -		val = dw_pcie_readw_dbi(pci, offset + PCI_MSI_FLAGS);
>> -		val |= PCI_MSI_FLAGS_ENABLE;
>> -		dw_pcie_writew_dbi(pci, offset + PCI_MSI_FLAGS, val);
>> +			val = dw_pcie_readw_dbi(pci, offset + PCI_MSI_FLAGS);
>> +			val |= PCI_MSI_FLAGS_ENABLE;
>> +			dw_pcie_writew_dbi(pci, offset + PCI_MSI_FLAGS, val);
>> +		}
>>  	}
>> 
>>  	return 0;
>> -------------------------------------------------------------------------------
>> 
>> 
>> Git bisection log:
>> 
>> -------------------------------------------------------------------------------
>> git bisect start
>> # good: [d5a1224aa68c8b124a4c5c390186e571815ed390] drm/i915/gen11: 
>> Wa_1408615072/Wa_1407596294 should be on GT list
>> git bisect good d5a1224aa68c8b124a4c5c390186e571815ed390
>> # bad: [9d9019bcea1aac7eed64a1a4966282b6b7b141c8] Add linux-next 
>> specific files for 20230215
>> git bisect bad 9d9019bcea1aac7eed64a1a4966282b6b7b141c8
>> # bad: [e8b85852ecfd21f4aca6456423c7e7eebd4de095] Merge branch 
>> 'master' of 
>> git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
>> git bisect bad e8b85852ecfd21f4aca6456423c7e7eebd4de095
>> # good: [230c2111794b1c5547149a9378fede8407a5f585] Merge branch 
>> 'nfsd-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
>> git bisect good 230c2111794b1c5547149a9378fede8407a5f585
>> # good: [7cd8200555d4f01183f0b9071e0760c389a51816] wifi: rtw89: coex: 
>> Refine coexistence log
>> git bisect good 7cd8200555d4f01183f0b9071e0760c389a51816
>> # bad: [321bd02ae8d76684597db34f3a43bb39988f4e3e] Merge branch 
>> 'master' of git://linuxtv.org/mchehab/media-next.git
>> git bisect bad 321bd02ae8d76684597db34f3a43bb39988f4e3e
>> # bad: [80c52d59cb5d51a2a1e10b2c4f4ef6adb92049cd] Merge branch 
>> 'i3c/next' of 
>> git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux.git
>> git bisect bad 80c52d59cb5d51a2a1e10b2c4f4ef6adb92049cd
>> # good: [32feb85935981e8cd3b44efa5d0e636f6000c29c] Merge branch 
>> 'for-next' of 
>> git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git
>> git bisect good 32feb85935981e8cd3b44efa5d0e636f6000c29c
>> # good: [760f504ec490c502a27b477089baecc5f3dab4db] Merge branch 
>> 'for-6.3/logitech' into for-next
>> git bisect good 760f504ec490c502a27b477089baecc5f3dab4db
>> # bad: [c51b1767b4df2c81270ab6942ab84675341c21ed] Merge branch 
>> 'pci/controller/mvebu'
>> git bisect bad c51b1767b4df2c81270ab6942ab84675341c21ed
>> # good: [0e159888fa3b75c8d9bddb1186552c5bd1496816] Merge branch 
>> 'pci/endpoint'
>> git bisect good 0e159888fa3b75c8d9bddb1186552c5bd1496816
>> # good: [7119685cf49033b777c559ae4da093be2a9b225c] dmaengine: dw-edma: 
>> Drop DT-region allocation
>> git bisect good 7119685cf49033b777c559ae4da093be2a9b225c
>> # good: [87616c47e354eec4e64baffa1779ba2b30e51120] Merge branch 
>> 'pci/controller/dwc'
>> git bisect good 87616c47e354eec4e64baffa1779ba2b30e51120
>> # bad: [530ba41250b69db4b5beb9fc03bd7183881c5e7f] PCI: imx6: Add 
>> i.MX8MQ PCIe EP support
>> git bisect bad 530ba41250b69db4b5beb9fc03bd7183881c5e7f
>> # good: [2dd6dc57d2da459983ded133767d0389194f15b8] dt-bindings: 
>> imx6q-pcie: Add i.MX8MP PCIe EP mode compatible string
>> git bisect good 2dd6dc57d2da459983ded133767d0389194f15b8
>> # bad: [75c2f26da03f93e988cd7678722ea893a8c63796] PCI: imx6: Add i.MX 
>> PCIe EP mode support
>> git bisect bad 75c2f26da03f93e988cd7678722ea893a8c63796
>> # good: [01ea5ede419733fdc39e75875f0861d16a829fe6] misc: 
>> pci_endpoint_test: Add i.MX8 PCIe EP device support
>> git bisect good 01ea5ede419733fdc39e75875f0861d16a829fe6
>> # first bad commit: [75c2f26da03f93e988cd7678722ea893a8c63796] PCI: 
>> imx6: Add i.MX PCIe EP mode support
>> -------------------------------------------------------------------------------
>> 
>> 
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Groups.io Links: You receive all messages sent to this group.
>> View/Reply Online (#38383): 
>> https://groups.io/g/kernelci-results/message/38383
>> Mute This Topic: https://groups.io/mt/97056400/1131744
>> Group Owner: kernelci-results+owner@groups.io
>> Unsubscribe: https://groups.io/g/kernelci-results/unsub 
>> [broonie@kernel.org]
>> -=-=-=-=-=-=-=-=-=-=-=-
>> 
>> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
  2022-08-17  6:44               ` Greg Kroah-Hartman
@ 2022-08-17 12:58                 ` Mark Brown
  -1 siblings, 0 replies; 26+ messages in thread
From: Mark Brown @ 2022-08-17 12:58 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Saravana Kannan, Michael Walle, Geert Uytterhoeven, Ulf Hansson,
	kernelci-results, bot, gtucker, linux-arm-kernel, linux-pci

[-- Attachment #1: Type: text/plain, Size: 1695 bytes --]

On Wed, Aug 17, 2022 at 08:44:09AM +0200, Greg Kroah-Hartman wrote:
> On Tue, Aug 16, 2022 at 10:48:04AM -0700, Saravana Kannan wrote:

> > Ah, this is news to me. I'll poke around to see if the path can be
> > maintained even after converting a class to a bus.

> Which specific path are you worried about?

The various files in /sys/class/regulator.

> > (though
> > > TBH given how entirely virtual this stuff us it seems odd that we'd be
> > > going for a bus).

> > I'm going for a bus because class doesn't have a distinction between
> > "device has been added" and "device is ready if these things happen".
> > There's nothing to say that a "bus" has to be a real hardware bus.

> busses are not always real hardware busses, look at the virtual bus code
> for examples of that.

Sure, but the less things correspond to the concrete concept of a thing
the more chance there is that things will be redefined later, and in
this case I'm struggling to see this matching even the abstract idea of
a bus.

> Classes are "representations of a type of device that userspace
> interacts with" like input, sound, tty, and so on, that are independant
> of the type of hardware bus or device it is.  Do all regulators need to
> interact with userspace in a common way?  If so, it's a class, if not,
> maybe a bus would work, but that takes more code than a class so it
> should only be done if you really need it for some odd reason.

My understanding is that people are using the current class interface
for monitoring of what the framework is doing, there's regular attempts
to add a write interface too though that isn't happening.  It kind of
corresponds to the write side of hwmon in some ways.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
@ 2022-08-17 12:58                 ` Mark Brown
  0 siblings, 0 replies; 26+ messages in thread
From: Mark Brown @ 2022-08-17 12:58 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Saravana Kannan, Michael Walle, Geert Uytterhoeven, Ulf Hansson,
	kernelci-results, bot, gtucker, linux-arm-kernel, linux-pci


[-- Attachment #1.1: Type: text/plain, Size: 1695 bytes --]

On Wed, Aug 17, 2022 at 08:44:09AM +0200, Greg Kroah-Hartman wrote:
> On Tue, Aug 16, 2022 at 10:48:04AM -0700, Saravana Kannan wrote:

> > Ah, this is news to me. I'll poke around to see if the path can be
> > maintained even after converting a class to a bus.

> Which specific path are you worried about?

The various files in /sys/class/regulator.

> > (though
> > > TBH given how entirely virtual this stuff us it seems odd that we'd be
> > > going for a bus).

> > I'm going for a bus because class doesn't have a distinction between
> > "device has been added" and "device is ready if these things happen".
> > There's nothing to say that a "bus" has to be a real hardware bus.

> busses are not always real hardware busses, look at the virtual bus code
> for examples of that.

Sure, but the less things correspond to the concrete concept of a thing
the more chance there is that things will be redefined later, and in
this case I'm struggling to see this matching even the abstract idea of
a bus.

> Classes are "representations of a type of device that userspace
> interacts with" like input, sound, tty, and so on, that are independant
> of the type of hardware bus or device it is.  Do all regulators need to
> interact with userspace in a common way?  If so, it's a class, if not,
> maybe a bus would work, but that takes more code than a class so it
> should only be done if you really need it for some odd reason.

My understanding is that people are using the current class interface
for monitoring of what the framework is doing, there's regular attempts
to add a write interface too though that isn't happening.  It kind of
corresponds to the write side of hwmon in some ways.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
  2022-08-16 17:48             ` Saravana Kannan
@ 2022-08-17  6:44               ` Greg Kroah-Hartman
  -1 siblings, 0 replies; 26+ messages in thread
From: Greg Kroah-Hartman @ 2022-08-17  6:44 UTC (permalink / raw)
  To: Saravana Kannan
  Cc: Mark Brown, Michael Walle, Geert Uytterhoeven, Ulf Hansson,
	kernelci-results, bot, gtucker, linux-arm-kernel, linux-pci

On Tue, Aug 16, 2022 at 10:48:04AM -0700, Saravana Kannan wrote:
> On Tue, Aug 16, 2022 at 10:26 AM Mark Brown <broonie@kernel.org> wrote:
> >
> > On Fri, Aug 12, 2022 at 04:54:25PM -0700, Saravana Kannan wrote:
> >
> > > While you are here, I'm working towards patches on top of [1] where
> > > fw_devlink will tie the sync_state() callback to each regulator. Also,
> > > i realized that if you can convert the regulator_class to a
> > > regulator_bus, we could remove a lot of the "find the supply for this
> > > regulator when it's registered" code and let device links handle it.
> > > Let me know if that's something you'd be okay with. It would change
> > > the sysfs path for /sys/class/regulator and moves it to
> > > /sys/bus/regulator, but not sure if that's considered an ABI breakage
> > > (sysfs paths change all the time).
> >
> > That *does* sound like it'd be an ABI issue TBH.  I thought there was
> > support for keeping class around even when converting to a bus
> 
> Ah, this is news to me. I'll poke around to see if the path can be
> maintained even after converting a class to a bus.

Which specific path are you worried about?

> (though
> > TBH given how entirely virtual this stuff us it seems odd that we'd be
> > going for a bus).
> 
> I'm going for a bus because class doesn't have a distinction between
> "device has been added" and "device is ready if these things happen".
> There's nothing to say that a "bus" has to be a real hardware bus.

busses are not always real hardware busses, look at the virtual bus code
for examples of that.

Classes are "representations of a type of device that userspace
interacts with" like input, sound, tty, and so on, that are independant
of the type of hardware bus or device it is.  Do all regulators need to
interact with userspace in a common way?  If so, it's a class, if not,
maybe a bus would work, but that takes more code than a class so it
should only be done if you really need it for some odd reason.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
@ 2022-08-17  6:44               ` Greg Kroah-Hartman
  0 siblings, 0 replies; 26+ messages in thread
From: Greg Kroah-Hartman @ 2022-08-17  6:44 UTC (permalink / raw)
  To: Saravana Kannan
  Cc: Mark Brown, Michael Walle, Geert Uytterhoeven, Ulf Hansson,
	kernelci-results, bot, gtucker, linux-arm-kernel, linux-pci

On Tue, Aug 16, 2022 at 10:48:04AM -0700, Saravana Kannan wrote:
> On Tue, Aug 16, 2022 at 10:26 AM Mark Brown <broonie@kernel.org> wrote:
> >
> > On Fri, Aug 12, 2022 at 04:54:25PM -0700, Saravana Kannan wrote:
> >
> > > While you are here, I'm working towards patches on top of [1] where
> > > fw_devlink will tie the sync_state() callback to each regulator. Also,
> > > i realized that if you can convert the regulator_class to a
> > > regulator_bus, we could remove a lot of the "find the supply for this
> > > regulator when it's registered" code and let device links handle it.
> > > Let me know if that's something you'd be okay with. It would change
> > > the sysfs path for /sys/class/regulator and moves it to
> > > /sys/bus/regulator, but not sure if that's considered an ABI breakage
> > > (sysfs paths change all the time).
> >
> > That *does* sound like it'd be an ABI issue TBH.  I thought there was
> > support for keeping class around even when converting to a bus
> 
> Ah, this is news to me. I'll poke around to see if the path can be
> maintained even after converting a class to a bus.

Which specific path are you worried about?

> (though
> > TBH given how entirely virtual this stuff us it seems odd that we'd be
> > going for a bus).
> 
> I'm going for a bus because class doesn't have a distinction between
> "device has been added" and "device is ready if these things happen".
> There's nothing to say that a "bus" has to be a real hardware bus.

busses are not always real hardware busses, look at the virtual bus code
for examples of that.

Classes are "representations of a type of device that userspace
interacts with" like input, sound, tty, and so on, that are independant
of the type of hardware bus or device it is.  Do all regulators need to
interact with userspace in a common way?  If so, it's a class, if not,
maybe a bus would work, but that takes more code than a class so it
should only be done if you really need it for some odd reason.

thanks,

greg k-h

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
  2022-08-16 17:53               ` Mark Brown
@ 2022-08-16 18:04                 ` Saravana Kannan
  -1 siblings, 0 replies; 26+ messages in thread
From: Saravana Kannan @ 2022-08-16 18:04 UTC (permalink / raw)
  To: Mark Brown
  Cc: Michael Walle, Geert Uytterhoeven, Ulf Hansson,
	Greg Kroah-Hartman, kernelci-results, bot, gtucker,
	linux-arm-kernel, linux-pci

On Tue, Aug 16, 2022 at 10:54 AM Mark Brown <broonie@kernel.org> wrote:
>
> On Tue, Aug 16, 2022 at 10:48:04AM -0700, Saravana Kannan wrote:
> > On Tue, Aug 16, 2022 at 10:26 AM Mark Brown <broonie@kernel.org> wrote:
>
> > (though
> > > TBH given how entirely virtual this stuff us it seems odd that we'd be
> > > going for a bus).
>
> > I'm going for a bus because class doesn't have a distinction between
> > "device has been added" and "device is ready if these things happen".
> > There's nothing to say that a "bus" has to be a real hardware bus.
>
> Sure, but then there's the push to stop using platform devices for
> virtual devices - this feels similar.

That's why we wouldn't be using the platform bus :) I was suggesting
changing regulator_class to regulator_bus and being able to delete
some of the regulator core code because device links would take care
of the same functionality. But this is just improving maintenance so
maybe I should focus more on the feature TODOs first :)

-Saravana

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
@ 2022-08-16 18:04                 ` Saravana Kannan
  0 siblings, 0 replies; 26+ messages in thread
From: Saravana Kannan @ 2022-08-16 18:04 UTC (permalink / raw)
  To: Mark Brown
  Cc: Michael Walle, Geert Uytterhoeven, Ulf Hansson,
	Greg Kroah-Hartman, kernelci-results, bot, gtucker,
	linux-arm-kernel, linux-pci

On Tue, Aug 16, 2022 at 10:54 AM Mark Brown <broonie@kernel.org> wrote:
>
> On Tue, Aug 16, 2022 at 10:48:04AM -0700, Saravana Kannan wrote:
> > On Tue, Aug 16, 2022 at 10:26 AM Mark Brown <broonie@kernel.org> wrote:
>
> > (though
> > > TBH given how entirely virtual this stuff us it seems odd that we'd be
> > > going for a bus).
>
> > I'm going for a bus because class doesn't have a distinction between
> > "device has been added" and "device is ready if these things happen".
> > There's nothing to say that a "bus" has to be a real hardware bus.
>
> Sure, but then there's the push to stop using platform devices for
> virtual devices - this feels similar.

That's why we wouldn't be using the platform bus :) I was suggesting
changing regulator_class to regulator_bus and being able to delete
some of the regulator core code because device links would take care
of the same functionality. But this is just improving maintenance so
maybe I should focus more on the feature TODOs first :)

-Saravana

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
  2022-08-16 17:48             ` Saravana Kannan
@ 2022-08-16 17:53               ` Mark Brown
  -1 siblings, 0 replies; 26+ messages in thread
From: Mark Brown @ 2022-08-16 17:53 UTC (permalink / raw)
  To: Saravana Kannan
  Cc: Michael Walle, Geert Uytterhoeven, Ulf Hansson,
	Greg Kroah-Hartman, kernelci-results, bot, gtucker,
	linux-arm-kernel, linux-pci

[-- Attachment #1: Type: text/plain, Size: 566 bytes --]

On Tue, Aug 16, 2022 at 10:48:04AM -0700, Saravana Kannan wrote:
> On Tue, Aug 16, 2022 at 10:26 AM Mark Brown <broonie@kernel.org> wrote:

> (though
> > TBH given how entirely virtual this stuff us it seems odd that we'd be
> > going for a bus).

> I'm going for a bus because class doesn't have a distinction between
> "device has been added" and "device is ready if these things happen".
> There's nothing to say that a "bus" has to be a real hardware bus.

Sure, but then there's the push to stop using platform devices for
virtual devices - this feels similar.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
@ 2022-08-16 17:53               ` Mark Brown
  0 siblings, 0 replies; 26+ messages in thread
From: Mark Brown @ 2022-08-16 17:53 UTC (permalink / raw)
  To: Saravana Kannan
  Cc: Michael Walle, Geert Uytterhoeven, Ulf Hansson,
	Greg Kroah-Hartman, kernelci-results, bot, gtucker,
	linux-arm-kernel, linux-pci


[-- Attachment #1.1: Type: text/plain, Size: 566 bytes --]

On Tue, Aug 16, 2022 at 10:48:04AM -0700, Saravana Kannan wrote:
> On Tue, Aug 16, 2022 at 10:26 AM Mark Brown <broonie@kernel.org> wrote:

> (though
> > TBH given how entirely virtual this stuff us it seems odd that we'd be
> > going for a bus).

> I'm going for a bus because class doesn't have a distinction between
> "device has been added" and "device is ready if these things happen".
> There's nothing to say that a "bus" has to be a real hardware bus.

Sure, but then there's the push to stop using platform devices for
virtual devices - this feels similar.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
  2022-08-16 17:26           ` Mark Brown
@ 2022-08-16 17:48             ` Saravana Kannan
  -1 siblings, 0 replies; 26+ messages in thread
From: Saravana Kannan @ 2022-08-16 17:48 UTC (permalink / raw)
  To: Mark Brown
  Cc: Michael Walle, Geert Uytterhoeven, Ulf Hansson,
	Greg Kroah-Hartman, kernelci-results, bot, gtucker,
	linux-arm-kernel, linux-pci

On Tue, Aug 16, 2022 at 10:26 AM Mark Brown <broonie@kernel.org> wrote:
>
> On Fri, Aug 12, 2022 at 04:54:25PM -0700, Saravana Kannan wrote:
>
> > While you are here, I'm working towards patches on top of [1] where
> > fw_devlink will tie the sync_state() callback to each regulator. Also,
> > i realized that if you can convert the regulator_class to a
> > regulator_bus, we could remove a lot of the "find the supply for this
> > regulator when it's registered" code and let device links handle it.
> > Let me know if that's something you'd be okay with. It would change
> > the sysfs path for /sys/class/regulator and moves it to
> > /sys/bus/regulator, but not sure if that's considered an ABI breakage
> > (sysfs paths change all the time).
>
> That *does* sound like it'd be an ABI issue TBH.  I thought there was
> support for keeping class around even when converting to a bus

Ah, this is news to me. I'll poke around to see if the path can be
maintained even after converting a class to a bus.

(though
> TBH given how entirely virtual this stuff us it seems odd that we'd be
> going for a bus).

I'm going for a bus because class doesn't have a distinction between
"device has been added" and "device is ready if these things happen".
There's nothing to say that a "bus" has to be a real hardware bus.

-Saravana

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
@ 2022-08-16 17:48             ` Saravana Kannan
  0 siblings, 0 replies; 26+ messages in thread
From: Saravana Kannan @ 2022-08-16 17:48 UTC (permalink / raw)
  To: Mark Brown
  Cc: Michael Walle, Geert Uytterhoeven, Ulf Hansson,
	Greg Kroah-Hartman, kernelci-results, bot, gtucker,
	linux-arm-kernel, linux-pci

On Tue, Aug 16, 2022 at 10:26 AM Mark Brown <broonie@kernel.org> wrote:
>
> On Fri, Aug 12, 2022 at 04:54:25PM -0700, Saravana Kannan wrote:
>
> > While you are here, I'm working towards patches on top of [1] where
> > fw_devlink will tie the sync_state() callback to each regulator. Also,
> > i realized that if you can convert the regulator_class to a
> > regulator_bus, we could remove a lot of the "find the supply for this
> > regulator when it's registered" code and let device links handle it.
> > Let me know if that's something you'd be okay with. It would change
> > the sysfs path for /sys/class/regulator and moves it to
> > /sys/bus/regulator, but not sure if that's considered an ABI breakage
> > (sysfs paths change all the time).
>
> That *does* sound like it'd be an ABI issue TBH.  I thought there was
> support for keeping class around even when converting to a bus

Ah, this is news to me. I'll poke around to see if the path can be
maintained even after converting a class to a bus.

(though
> TBH given how entirely virtual this stuff us it seems odd that we'd be
> going for a bus).

I'm going for a bus because class doesn't have a distinction between
"device has been added" and "device is ready if these things happen".
There's nothing to say that a "bus" has to be a real hardware bus.

-Saravana

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
  2022-08-12 23:54         ` Saravana Kannan
@ 2022-08-16 17:26           ` Mark Brown
  -1 siblings, 0 replies; 26+ messages in thread
From: Mark Brown @ 2022-08-16 17:26 UTC (permalink / raw)
  To: Saravana Kannan
  Cc: Michael Walle, Geert Uytterhoeven, Ulf Hansson,
	Greg Kroah-Hartman, kernelci-results, bot, gtucker,
	linux-arm-kernel, linux-pci

[-- Attachment #1: Type: text/plain, Size: 882 bytes --]

On Fri, Aug 12, 2022 at 04:54:25PM -0700, Saravana Kannan wrote:

> While you are here, I'm working towards patches on top of [1] where
> fw_devlink will tie the sync_state() callback to each regulator. Also,
> i realized that if you can convert the regulator_class to a
> regulator_bus, we could remove a lot of the "find the supply for this
> regulator when it's registered" code and let device links handle it.
> Let me know if that's something you'd be okay with. It would change
> the sysfs path for /sys/class/regulator and moves it to
> /sys/bus/regulator, but not sure if that's considered an ABI breakage
> (sysfs paths change all the time).

That *does* sound like it'd be an ABI issue TBH.  I thought there was
support for keeping class around even when converting to a bus (though
TBH given how entirely virtual this stuff us it seems odd that we'd be
going for a bus).

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
@ 2022-08-16 17:26           ` Mark Brown
  0 siblings, 0 replies; 26+ messages in thread
From: Mark Brown @ 2022-08-16 17:26 UTC (permalink / raw)
  To: Saravana Kannan
  Cc: Michael Walle, Geert Uytterhoeven, Ulf Hansson,
	Greg Kroah-Hartman, kernelci-results, bot, gtucker,
	linux-arm-kernel, linux-pci


[-- Attachment #1.1: Type: text/plain, Size: 882 bytes --]

On Fri, Aug 12, 2022 at 04:54:25PM -0700, Saravana Kannan wrote:

> While you are here, I'm working towards patches on top of [1] where
> fw_devlink will tie the sync_state() callback to each regulator. Also,
> i realized that if you can convert the regulator_class to a
> regulator_bus, we could remove a lot of the "find the supply for this
> regulator when it's registered" code and let device links handle it.
> Let me know if that's something you'd be okay with. It would change
> the sysfs path for /sys/class/regulator and moves it to
> /sys/bus/regulator, but not sure if that's considered an ABI breakage
> (sysfs paths change all the time).

That *does* sound like it'd be an ABI issue TBH.  I thought there was
support for keeping class around even when converting to a bus (though
TBH given how entirely virtual this stuff us it seems odd that we'd be
going for a bus).

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
  2022-08-08 12:41       ` Mark Brown
@ 2022-08-12 23:54         ` Saravana Kannan
  -1 siblings, 0 replies; 26+ messages in thread
From: Saravana Kannan @ 2022-08-12 23:54 UTC (permalink / raw)
  To: Mark Brown
  Cc: Michael Walle, Geert Uytterhoeven, Ulf Hansson,
	Greg Kroah-Hartman, kernelci-results, bot, gtucker,
	linux-arm-kernel, linux-pci

On Mon, Aug 8, 2022 at 5:41 AM Mark Brown <broonie@kernel.org> wrote:
>
> On Mon, Aug 08, 2022 at 02:35:38PM +0200, Michael Walle wrote:
> > Am 2022-08-08 14:22, schrieb Mark Brown:
> > > On Sat, Aug 06, 2022 at 01:48:25PM -0700, KernelCI bot wrote:
>
> > > The KernelCI bisection bot found that 5a46079a96451 "PM: domains: Delete
> > > usage of driver_deferred_probe_check_state()" triggered a failure to
> > > probe the PCI controller or attached ethernet on kontron-pitx-imx8m.
> > > There's no obvious errors in the boot log when things fail, we simply
> > > don't see any of the announcements from the PCI controller probe like we
> > > do on a working boot:
>
> > I guess that is the same as:
> > https://lore.kernel.org/lkml/Yr3vEDDulZj1Dplv@sirena.org.uk/

Yeah, that series caused a bunch of breakages. So I sent a revert
series and then started working on the proper fix. I sent out the
proper fix a few days ago. Can anyone give this a shot?

[1-] https://lore.kernel.org/lkml/20220810060040.321697-1-saravanak@google.com/

Mark,

While you are here, I'm working towards patches on top of [1] where
fw_devlink will tie the sync_state() callback to each regulator. Also,
i realized that if you can convert the regulator_class to a
regulator_bus, we could remove a lot of the "find the supply for this
regulator when it's registered" code and let device links handle it.
Let me know if that's something you'd be okay with. It would change
the sysfs path for /sys/class/regulator and moves it to
/sys/bus/regulator, but not sure if that's considered an ABI breakage
(sysfs paths change all the time).

-Saravana

>
> Looks plausible, yes.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
@ 2022-08-12 23:54         ` Saravana Kannan
  0 siblings, 0 replies; 26+ messages in thread
From: Saravana Kannan @ 2022-08-12 23:54 UTC (permalink / raw)
  To: Mark Brown
  Cc: Michael Walle, Geert Uytterhoeven, Ulf Hansson,
	Greg Kroah-Hartman, kernelci-results, bot, gtucker,
	linux-arm-kernel, linux-pci

On Mon, Aug 8, 2022 at 5:41 AM Mark Brown <broonie@kernel.org> wrote:
>
> On Mon, Aug 08, 2022 at 02:35:38PM +0200, Michael Walle wrote:
> > Am 2022-08-08 14:22, schrieb Mark Brown:
> > > On Sat, Aug 06, 2022 at 01:48:25PM -0700, KernelCI bot wrote:
>
> > > The KernelCI bisection bot found that 5a46079a96451 "PM: domains: Delete
> > > usage of driver_deferred_probe_check_state()" triggered a failure to
> > > probe the PCI controller or attached ethernet on kontron-pitx-imx8m.
> > > There's no obvious errors in the boot log when things fail, we simply
> > > don't see any of the announcements from the PCI controller probe like we
> > > do on a working boot:
>
> > I guess that is the same as:
> > https://lore.kernel.org/lkml/Yr3vEDDulZj1Dplv@sirena.org.uk/

Yeah, that series caused a bunch of breakages. So I sent a revert
series and then started working on the proper fix. I sent out the
proper fix a few days ago. Can anyone give this a shot?

[1-] https://lore.kernel.org/lkml/20220810060040.321697-1-saravanak@google.com/

Mark,

While you are here, I'm working towards patches on top of [1] where
fw_devlink will tie the sync_state() callback to each regulator. Also,
i realized that if you can convert the regulator_class to a
regulator_bus, we could remove a lot of the "find the supply for this
regulator when it's registered" code and let device links handle it.
Let me know if that's something you'd be okay with. It would change
the sysfs path for /sys/class/regulator and moves it to
/sys/bus/regulator, but not sure if that's considered an ABI breakage
(sysfs paths change all the time).

-Saravana

>
> Looks plausible, yes.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
  2022-08-08 12:35     ` Michael Walle
@ 2022-08-08 12:41       ` Mark Brown
  -1 siblings, 0 replies; 26+ messages in thread
From: Mark Brown @ 2022-08-08 12:41 UTC (permalink / raw)
  To: Michael Walle
  Cc: Geert Uytterhoeven, Ulf Hansson, Saravana Kannan,
	Greg Kroah-Hartman, kernelci-results, bot, gtucker,
	linux-arm-kernel, linux-pci

[-- Attachment #1: Type: text/plain, Size: 691 bytes --]

On Mon, Aug 08, 2022 at 02:35:38PM +0200, Michael Walle wrote:
> Am 2022-08-08 14:22, schrieb Mark Brown:
> > On Sat, Aug 06, 2022 at 01:48:25PM -0700, KernelCI bot wrote:

> > The KernelCI bisection bot found that 5a46079a96451 "PM: domains: Delete
> > usage of driver_deferred_probe_check_state()" triggered a failure to
> > probe the PCI controller or attached ethernet on kontron-pitx-imx8m.
> > There's no obvious errors in the boot log when things fail, we simply
> > don't see any of the announcements from the PCI controller probe like we
> > do on a working boot:

> I guess that is the same as:
> https://lore.kernel.org/lkml/Yr3vEDDulZj1Dplv@sirena.org.uk/

Looks plausible, yes.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
@ 2022-08-08 12:41       ` Mark Brown
  0 siblings, 0 replies; 26+ messages in thread
From: Mark Brown @ 2022-08-08 12:41 UTC (permalink / raw)
  To: Michael Walle
  Cc: Geert Uytterhoeven, Ulf Hansson, Saravana Kannan,
	Greg Kroah-Hartman, kernelci-results, bot, gtucker,
	linux-arm-kernel, linux-pci


[-- Attachment #1.1: Type: text/plain, Size: 691 bytes --]

On Mon, Aug 08, 2022 at 02:35:38PM +0200, Michael Walle wrote:
> Am 2022-08-08 14:22, schrieb Mark Brown:
> > On Sat, Aug 06, 2022 at 01:48:25PM -0700, KernelCI bot wrote:

> > The KernelCI bisection bot found that 5a46079a96451 "PM: domains: Delete
> > usage of driver_deferred_probe_check_state()" triggered a failure to
> > probe the PCI controller or attached ethernet on kontron-pitx-imx8m.
> > There's no obvious errors in the boot log when things fail, we simply
> > don't see any of the announcements from the PCI controller probe like we
> > do on a working boot:

> I guess that is the same as:
> https://lore.kernel.org/lkml/Yr3vEDDulZj1Dplv@sirena.org.uk/

Looks plausible, yes.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
  2022-08-08 12:22   ` Mark Brown
@ 2022-08-08 12:35     ` Michael Walle
  -1 siblings, 0 replies; 26+ messages in thread
From: Michael Walle @ 2022-08-08 12:35 UTC (permalink / raw)
  To: Mark Brown
  Cc: Geert Uytterhoeven, Ulf Hansson, Saravana Kannan,
	Greg Kroah-Hartman, kernelci-results, bot, gtucker,
	linux-arm-kernel, linux-pci

[+ Heiko as the owner of that board, resend as I accidentally deleted
most of the text, sorry for the noise]

Am 2022-08-08 14:22, schrieb Mark Brown:
> On Sat, Aug 06, 2022 at 01:48:25PM -0700, KernelCI bot wrote:
> 
> The KernelCI bisection bot found that 5a46079a96451 "PM: domains: 
> Delete
> usage of driver_deferred_probe_check_state()" triggered a failure to
> probe the PCI controller or attached ethernet on kontron-pitx-imx8m.
> There's no obvious errors in the boot log when things fail, we simply
> don't see any of the announcements from the PCI controller probe like 
> we
> do on a working boot:

I guess that is the same as:
https://lore.kernel.org/lkml/Yr3vEDDulZj1Dplv@sirena.org.uk/

-michael

> <6>[    2.434563] imx6q-pcie 33800000.pcie: host bridge
> /soc@0/pcie@33800000 ranges:
> <6>[    2.436149] imx6q-pcie 33c00000.pcie: host bridge
> /soc@0/pcie@33c00000 ranges:
> <6>[    2.436168] imx6q-pcie 33c00000.pcie:   No bus range found for
> /soc@0/pcie@33c00000, using [bus 00-ff]
> <6>[    2.436208] imx6q-pcie 33c00000.pcie:       IO
> 0x0027f80000..0x0027f8ffff -> 0x0000000000
> <6>[    2.436233] imx6q-pcie 33c00000.pcie:      MEM
> 0x0020000000..0x0027efffff -> 0x0020000000
> <6>[    2.436985] imx6q-pcie 33c00000.pcie: iATU unroll: enabled
> <6>[    2.436993] imx6q-pcie 33c00000.pcie: Detected iATU regions: 4
> outbound, 4 inbound
> <6>[    2.439329] sdhci-esdhc-imx 30b50000.mmc: Got WP GPIO
> <6>[    2.447119] imx6q-pcie 33800000.pcie:       IO
> 0x001ff80000..0x001ff8ffff -> 0x0000000000
> <4>[    2.455485] sdhci-esdhc-imx 30b50000.mmc: drop HS400 support
> since no 8-bit bus
> <6>[    2.464884] imx6q-pcie 33800000.pcie:      MEM
> 0x0018000000..0x001fefffff -> 0x0018000000
> <6>[    2.464895] mmc0: SDHCI controller on 30b40000.mmc
> [30b40000.mmc] using ADMA
> <6>[    2.504586] mmc1: SDHCI controller on 30b50000.mmc
> [30b50000.mmc] using ADMA
> <6>[    2.537041] imx6q-pcie 33c00000.pcie: Link up
> <6>[    2.547713] imx6q-pcie 33c00000.pcie: Link: Gen2 disabled
> <6>[    2.553652] imx6q-pcie 33c00000.pcie: Link up, Gen1
> <6>[    2.559036] imx6q-pcie 33c00000.pcie: Link up
> <6>[    2.563987] imx6q-pcie 33c00000.pcie: PCI host bridge to bus 
> 0001:00
> 
> https://storage.kernelci.org/mainline/master/v5.19-7280-gb44f2fd87919b/arm64/defconfig/clang-14/lab-kontron/baseline-kontron-pitx-imx8m.txt
> 
> (interleaved with the SDHCI probe which is in the failing boot) though 
> I
> am wondering if the "no bus range found..." warning above might have
> been escallated into a failure to probe.
> 
> I've included the full bisection report below, including links to more
> information including full boot failing logs plus a reported-by tag for
> the bot.
> 
>> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>> * This automated bisection report was sent to you on the basis  *
>> * that you may be involved with the breaking commit it has      *
>> * found.  No manual investigation has been done to verify it,   *
>> * and the root cause of the problem may be somewhere else.      *
>> *                                                               *
>> * If you do send a fix, please include this trailer:            *
>> *   Reported-by: "kernelci.org bot" <bot@kernelci.org>          *
>> *                                                               *
>> * Hope this helps!                                              *
>> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>> 
>> next/master bisection: baseline.bootrr.intel-igb-probed on 
>> kontron-pitx-imx8m
>> 
>> Summary:
>>   Start:      861397378de91 Add linux-next specific files for 20220803
>>   Plain log:  
>> https://storage.kernelci.org/next/master/next-20220803/arm64/defconfig+crypto/gcc-10/lab-kontron/baseline-kontron-pitx-imx8m.txt
>>   HTML log:   
>> https://storage.kernelci.org/next/master/next-20220803/arm64/defconfig+crypto/gcc-10/lab-kontron/baseline-kontron-pitx-imx8m.html
>>   Result:     5a46079a96451 PM: domains: Delete usage of 
>> driver_deferred_probe_check_state()
>> 
>> Checks:
>>   revert:     PASS
>>   verify:     PASS
>> 
>> Parameters:
>>   Tree:       next
>>   URL:        
>> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>>   Branch:     master
>>   Target:     kontron-pitx-imx8m
>>   CPU arch:   arm64
>>   Lab:        lab-kontron
>>   Compiler:   gcc-10
>>   Config:     defconfig+crypto
>>   Test case:  baseline.bootrr.intel-igb-probed
>> 
>> Breaking commit found:
>> 
>> -------------------------------------------------------------------------------
>> commit 5a46079a96451cfb15e4f5f01f73f7ba24ef851a
>> Author: Saravana Kannan <saravanak@google.com>
>> Date:   Wed Jun 1 00:06:57 2022 -0700
>> 
>>     PM: domains: Delete usage of driver_deferred_probe_check_state()
>> 
>>     Now that fw_devlink=on by default and fw_devlink supports
>>     "power-domains" property, the execution will never get to the 
>> point
>>     where driver_deferred_probe_check_state() is called before the 
>> supplier
>>     has probed successfully or before deferred probe timeout has 
>> expired.
>> 
>>     So, delete the call and replace it with -ENODEV.
>> 
>>     Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
>>     Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
>>     Signed-off-by: Saravana Kannan <saravanak@google.com>
>>     Link: 
>> https://lore.kernel.org/r/20220601070707.3946847-2-saravanak@google.com
>>     Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> 
>> diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
>> index 739e52cd4aba5..3e86772d5fac5 100644
>> --- a/drivers/base/power/domain.c
>> +++ b/drivers/base/power/domain.c
>> @@ -2730,7 +2730,7 @@ static int __genpd_dev_pm_attach(struct device 
>> *dev, struct device *base_dev,
>>  		mutex_unlock(&gpd_list_lock);
>>  		dev_dbg(dev, "%s() failed to find PM domain: %ld\n",
>>  			__func__, PTR_ERR(pd));
>> -		return driver_deferred_probe_check_state(base_dev);
>> +		return -ENODEV;
>>  	}
>> 
>>  	dev_dbg(dev, "adding to PM domain %s\n", pd->name);
>> -------------------------------------------------------------------------------
>> 
>> 
>> Git bisection log:
>> 
>> -------------------------------------------------------------------------------
>> git bisect start
>> # good: [7c6327c77d509e78bff76f2a4551fcfee851682e] Merge 
>> git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
>> git bisect good 7c6327c77d509e78bff76f2a4551fcfee851682e
>> # bad: [861397378de91c64dec69a160595b891f443294f] Add linux-next 
>> specific files for 20220803
>> git bisect bad 861397378de91c64dec69a160595b891f443294f
>> # good: [9caf5c540b57105ac31f351518d83e1884c3d64a] Merge branch 
>> 'master' of git://linuxtv.org/media_tree.git
>> git bisect good 9caf5c540b57105ac31f351518d83e1884c3d64a
>> # good: [5ec97d04fa30ac49b48a141c0ee6bbe3038b0dad] Merge branch 'next' 
>> of git://git.kernel.org/pub/scm/virt/kvm/kvm.git
>> git bisect good 5ec97d04fa30ac49b48a141c0ee6bbe3038b0dad
>> # bad: [f95826f64a15aefb5e82a2a51341afd30cae191a] Merge branch 'next' 
>> of git://github.com/awilliam/linux-vfio.git
>> git bisect bad f95826f64a15aefb5e82a2a51341afd30cae191a
>> # good: [b5276c924497705ca927ad85a763c37f2de98349] drivers: lkdtm: fix 
>> clang -Wformat warning
>> git bisect good b5276c924497705ca927ad85a763c37f2de98349
>> # bad: [8d0a69bdbdaaf73040a80479497f153f43120787] Merge branch 
>> 'driver-core-next' of 
>> git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git
>> git bisect bad 8d0a69bdbdaaf73040a80479497f153f43120787
>> # good: [62776e969e13c7124e614937c0333dc24c0db0db] Merge branch 
>> 'for-next' of 
>> git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git
>> git bisect good 62776e969e13c7124e614937c0333dc24c0db0db
>> # good: [3413a46f9d313b6870e1c2fd5bae2892b725ef2e] Merge branch 
>> 'for-next' of 
>> git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git
>> git bisect good 3413a46f9d313b6870e1c2fd5bae2892b725ef2e
>> # bad: [2fd26970cf66bd52dc42843c46968040caa8c9a1] Revert "kernfs: 
>> Change kernfs_notify_list to llist."
>> git bisect bad 2fd26970cf66bd52dc42843c46968040caa8c9a1
>> # bad: [5f8954e099b8ae96e7de1bb95950e00c85bedd40] Revert "mwifiex: fix 
>> sleep in atomic context bugs caused by dev_coredumpv"
>> git bisect bad 5f8954e099b8ae96e7de1bb95950e00c85bedd40
>> # bad: [71066545b48e4259f89481199a0bbc7c35457738] driver core: Set 
>> fw_devlink.strict=1 by default
>> git bisect bad 71066545b48e4259f89481199a0bbc7c35457738
>> # bad: [f8217275b57aa48d98cc42051c2aac34152718d6] net: mdio: Delete 
>> usage of driver_deferred_probe_check_state()
>> git bisect bad f8217275b57aa48d98cc42051c2aac34152718d6
>> # bad: [24a026f85241a01bbcfe1b263caeeaa9a79bab40] pinctrl: devicetree: 
>> Delete usage of driver_deferred_probe_check_state()
>> git bisect bad 24a026f85241a01bbcfe1b263caeeaa9a79bab40
>> # bad: [5a46079a96451cfb15e4f5f01f73f7ba24ef851a] PM: domains: Delete 
>> usage of driver_deferred_probe_check_state()
>> git bisect bad 5a46079a96451cfb15e4f5f01f73f7ba24ef851a
>> # first bad commit: [5a46079a96451cfb15e4f5f01f73f7ba24ef851a] PM: 
>> domains: Delete usage of driver_deferred_probe_check_state()
>> -------------------------------------------------------------------------------
>> 
>> 
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Groups.io Links: You receive all messages sent to this group.
>> View/Reply Online (#30209): 
>> https://groups.io/g/kernelci-results/message/30209
>> Mute This Topic: https://groups.io/mt/92825373/1131744
>> Group Owner: kernelci-results+owner@groups.io
>> Unsubscribe: https://groups.io/g/kernelci-results/unsub 
>> [broonie@kernel.org]
>> -=-=-=-=-=-=-=-=-=-=-=-
>> 
>> 

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
@ 2022-08-08 12:35     ` Michael Walle
  0 siblings, 0 replies; 26+ messages in thread
From: Michael Walle @ 2022-08-08 12:35 UTC (permalink / raw)
  To: Mark Brown
  Cc: Geert Uytterhoeven, Ulf Hansson, Saravana Kannan,
	Greg Kroah-Hartman, kernelci-results, bot, gtucker,
	linux-arm-kernel, linux-pci

[+ Heiko as the owner of that board, resend as I accidentally deleted
most of the text, sorry for the noise]

Am 2022-08-08 14:22, schrieb Mark Brown:
> On Sat, Aug 06, 2022 at 01:48:25PM -0700, KernelCI bot wrote:
> 
> The KernelCI bisection bot found that 5a46079a96451 "PM: domains: 
> Delete
> usage of driver_deferred_probe_check_state()" triggered a failure to
> probe the PCI controller or attached ethernet on kontron-pitx-imx8m.
> There's no obvious errors in the boot log when things fail, we simply
> don't see any of the announcements from the PCI controller probe like 
> we
> do on a working boot:

I guess that is the same as:
https://lore.kernel.org/lkml/Yr3vEDDulZj1Dplv@sirena.org.uk/

-michael

> <6>[    2.434563] imx6q-pcie 33800000.pcie: host bridge
> /soc@0/pcie@33800000 ranges:
> <6>[    2.436149] imx6q-pcie 33c00000.pcie: host bridge
> /soc@0/pcie@33c00000 ranges:
> <6>[    2.436168] imx6q-pcie 33c00000.pcie:   No bus range found for
> /soc@0/pcie@33c00000, using [bus 00-ff]
> <6>[    2.436208] imx6q-pcie 33c00000.pcie:       IO
> 0x0027f80000..0x0027f8ffff -> 0x0000000000
> <6>[    2.436233] imx6q-pcie 33c00000.pcie:      MEM
> 0x0020000000..0x0027efffff -> 0x0020000000
> <6>[    2.436985] imx6q-pcie 33c00000.pcie: iATU unroll: enabled
> <6>[    2.436993] imx6q-pcie 33c00000.pcie: Detected iATU regions: 4
> outbound, 4 inbound
> <6>[    2.439329] sdhci-esdhc-imx 30b50000.mmc: Got WP GPIO
> <6>[    2.447119] imx6q-pcie 33800000.pcie:       IO
> 0x001ff80000..0x001ff8ffff -> 0x0000000000
> <4>[    2.455485] sdhci-esdhc-imx 30b50000.mmc: drop HS400 support
> since no 8-bit bus
> <6>[    2.464884] imx6q-pcie 33800000.pcie:      MEM
> 0x0018000000..0x001fefffff -> 0x0018000000
> <6>[    2.464895] mmc0: SDHCI controller on 30b40000.mmc
> [30b40000.mmc] using ADMA
> <6>[    2.504586] mmc1: SDHCI controller on 30b50000.mmc
> [30b50000.mmc] using ADMA
> <6>[    2.537041] imx6q-pcie 33c00000.pcie: Link up
> <6>[    2.547713] imx6q-pcie 33c00000.pcie: Link: Gen2 disabled
> <6>[    2.553652] imx6q-pcie 33c00000.pcie: Link up, Gen1
> <6>[    2.559036] imx6q-pcie 33c00000.pcie: Link up
> <6>[    2.563987] imx6q-pcie 33c00000.pcie: PCI host bridge to bus 
> 0001:00
> 
> https://storage.kernelci.org/mainline/master/v5.19-7280-gb44f2fd87919b/arm64/defconfig/clang-14/lab-kontron/baseline-kontron-pitx-imx8m.txt
> 
> (interleaved with the SDHCI probe which is in the failing boot) though 
> I
> am wondering if the "no bus range found..." warning above might have
> been escallated into a failure to probe.
> 
> I've included the full bisection report below, including links to more
> information including full boot failing logs plus a reported-by tag for
> the bot.
> 
>> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>> * This automated bisection report was sent to you on the basis  *
>> * that you may be involved with the breaking commit it has      *
>> * found.  No manual investigation has been done to verify it,   *
>> * and the root cause of the problem may be somewhere else.      *
>> *                                                               *
>> * If you do send a fix, please include this trailer:            *
>> *   Reported-by: "kernelci.org bot" <bot@kernelci.org>          *
>> *                                                               *
>> * Hope this helps!                                              *
>> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>> 
>> next/master bisection: baseline.bootrr.intel-igb-probed on 
>> kontron-pitx-imx8m
>> 
>> Summary:
>>   Start:      861397378de91 Add linux-next specific files for 20220803
>>   Plain log:  
>> https://storage.kernelci.org/next/master/next-20220803/arm64/defconfig+crypto/gcc-10/lab-kontron/baseline-kontron-pitx-imx8m.txt
>>   HTML log:   
>> https://storage.kernelci.org/next/master/next-20220803/arm64/defconfig+crypto/gcc-10/lab-kontron/baseline-kontron-pitx-imx8m.html
>>   Result:     5a46079a96451 PM: domains: Delete usage of 
>> driver_deferred_probe_check_state()
>> 
>> Checks:
>>   revert:     PASS
>>   verify:     PASS
>> 
>> Parameters:
>>   Tree:       next
>>   URL:        
>> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>>   Branch:     master
>>   Target:     kontron-pitx-imx8m
>>   CPU arch:   arm64
>>   Lab:        lab-kontron
>>   Compiler:   gcc-10
>>   Config:     defconfig+crypto
>>   Test case:  baseline.bootrr.intel-igb-probed
>> 
>> Breaking commit found:
>> 
>> -------------------------------------------------------------------------------
>> commit 5a46079a96451cfb15e4f5f01f73f7ba24ef851a
>> Author: Saravana Kannan <saravanak@google.com>
>> Date:   Wed Jun 1 00:06:57 2022 -0700
>> 
>>     PM: domains: Delete usage of driver_deferred_probe_check_state()
>> 
>>     Now that fw_devlink=on by default and fw_devlink supports
>>     "power-domains" property, the execution will never get to the 
>> point
>>     where driver_deferred_probe_check_state() is called before the 
>> supplier
>>     has probed successfully or before deferred probe timeout has 
>> expired.
>> 
>>     So, delete the call and replace it with -ENODEV.
>> 
>>     Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
>>     Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
>>     Signed-off-by: Saravana Kannan <saravanak@google.com>
>>     Link: 
>> https://lore.kernel.org/r/20220601070707.3946847-2-saravanak@google.com
>>     Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> 
>> diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
>> index 739e52cd4aba5..3e86772d5fac5 100644
>> --- a/drivers/base/power/domain.c
>> +++ b/drivers/base/power/domain.c
>> @@ -2730,7 +2730,7 @@ static int __genpd_dev_pm_attach(struct device 
>> *dev, struct device *base_dev,
>>  		mutex_unlock(&gpd_list_lock);
>>  		dev_dbg(dev, "%s() failed to find PM domain: %ld\n",
>>  			__func__, PTR_ERR(pd));
>> -		return driver_deferred_probe_check_state(base_dev);
>> +		return -ENODEV;
>>  	}
>> 
>>  	dev_dbg(dev, "adding to PM domain %s\n", pd->name);
>> -------------------------------------------------------------------------------
>> 
>> 
>> Git bisection log:
>> 
>> -------------------------------------------------------------------------------
>> git bisect start
>> # good: [7c6327c77d509e78bff76f2a4551fcfee851682e] Merge 
>> git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
>> git bisect good 7c6327c77d509e78bff76f2a4551fcfee851682e
>> # bad: [861397378de91c64dec69a160595b891f443294f] Add linux-next 
>> specific files for 20220803
>> git bisect bad 861397378de91c64dec69a160595b891f443294f
>> # good: [9caf5c540b57105ac31f351518d83e1884c3d64a] Merge branch 
>> 'master' of git://linuxtv.org/media_tree.git
>> git bisect good 9caf5c540b57105ac31f351518d83e1884c3d64a
>> # good: [5ec97d04fa30ac49b48a141c0ee6bbe3038b0dad] Merge branch 'next' 
>> of git://git.kernel.org/pub/scm/virt/kvm/kvm.git
>> git bisect good 5ec97d04fa30ac49b48a141c0ee6bbe3038b0dad
>> # bad: [f95826f64a15aefb5e82a2a51341afd30cae191a] Merge branch 'next' 
>> of git://github.com/awilliam/linux-vfio.git
>> git bisect bad f95826f64a15aefb5e82a2a51341afd30cae191a
>> # good: [b5276c924497705ca927ad85a763c37f2de98349] drivers: lkdtm: fix 
>> clang -Wformat warning
>> git bisect good b5276c924497705ca927ad85a763c37f2de98349
>> # bad: [8d0a69bdbdaaf73040a80479497f153f43120787] Merge branch 
>> 'driver-core-next' of 
>> git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git
>> git bisect bad 8d0a69bdbdaaf73040a80479497f153f43120787
>> # good: [62776e969e13c7124e614937c0333dc24c0db0db] Merge branch 
>> 'for-next' of 
>> git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git
>> git bisect good 62776e969e13c7124e614937c0333dc24c0db0db
>> # good: [3413a46f9d313b6870e1c2fd5bae2892b725ef2e] Merge branch 
>> 'for-next' of 
>> git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git
>> git bisect good 3413a46f9d313b6870e1c2fd5bae2892b725ef2e
>> # bad: [2fd26970cf66bd52dc42843c46968040caa8c9a1] Revert "kernfs: 
>> Change kernfs_notify_list to llist."
>> git bisect bad 2fd26970cf66bd52dc42843c46968040caa8c9a1
>> # bad: [5f8954e099b8ae96e7de1bb95950e00c85bedd40] Revert "mwifiex: fix 
>> sleep in atomic context bugs caused by dev_coredumpv"
>> git bisect bad 5f8954e099b8ae96e7de1bb95950e00c85bedd40
>> # bad: [71066545b48e4259f89481199a0bbc7c35457738] driver core: Set 
>> fw_devlink.strict=1 by default
>> git bisect bad 71066545b48e4259f89481199a0bbc7c35457738
>> # bad: [f8217275b57aa48d98cc42051c2aac34152718d6] net: mdio: Delete 
>> usage of driver_deferred_probe_check_state()
>> git bisect bad f8217275b57aa48d98cc42051c2aac34152718d6
>> # bad: [24a026f85241a01bbcfe1b263caeeaa9a79bab40] pinctrl: devicetree: 
>> Delete usage of driver_deferred_probe_check_state()
>> git bisect bad 24a026f85241a01bbcfe1b263caeeaa9a79bab40
>> # bad: [5a46079a96451cfb15e4f5f01f73f7ba24ef851a] PM: domains: Delete 
>> usage of driver_deferred_probe_check_state()
>> git bisect bad 5a46079a96451cfb15e4f5f01f73f7ba24ef851a
>> # first bad commit: [5a46079a96451cfb15e4f5f01f73f7ba24ef851a] PM: 
>> domains: Delete usage of driver_deferred_probe_check_state()
>> -------------------------------------------------------------------------------
>> 
>> 
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Groups.io Links: You receive all messages sent to this group.
>> View/Reply Online (#30209): 
>> https://groups.io/g/kernelci-results/message/30209
>> Mute This Topic: https://groups.io/mt/92825373/1131744
>> Group Owner: kernelci-results+owner@groups.io
>> Unsubscribe: https://groups.io/g/kernelci-results/unsub 
>> [broonie@kernel.org]
>> -=-=-=-=-=-=-=-=-=-=-=-
>> 
>> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
  2022-08-08 12:22   ` Mark Brown
@ 2022-08-08 12:31     ` Michael Walle
  -1 siblings, 0 replies; 26+ messages in thread
From: Michael Walle @ 2022-08-08 12:31 UTC (permalink / raw)
  To: Mark Brown, heiko.thiery
  Cc: Geert Uytterhoeven, Ulf Hansson, Saravana Kannan,
	Greg Kroah-Hartman, kernelci-results, bot, gtucker,
	linux-arm-kernel, linux-pci

[+ Heiko as the owner of that board]

Am 2022-08-08 14:22, schrieb Mark Brown:
> On Sat, Aug 06, 2022 at 01:48:25PM -0700, KernelCI bot wrote:
> 
> The KernelCI bisection bot found that 5a46079a96451 "PM: domains: 
> Delete
> usage of driver_deferred_probe_check_state()" triggered a failure to
> probe the PCI controller or attached ethernet on kontron-pitx-imx8m.
> There's no obvious errors in the boot log when things fail, we simply
> don't see any of the announcements from the PCI controller probe like 
> we
> do on a working boot:

I guess that is the same as:
https://lore.kernel.org/lkml/Yr3vEDDulZj1Dplv@sirena.org.uk/

-michael

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
@ 2022-08-08 12:31     ` Michael Walle
  0 siblings, 0 replies; 26+ messages in thread
From: Michael Walle @ 2022-08-08 12:31 UTC (permalink / raw)
  To: Mark Brown, heiko.thiery
  Cc: Geert Uytterhoeven, Ulf Hansson, Saravana Kannan,
	Greg Kroah-Hartman, kernelci-results, bot, gtucker,
	linux-arm-kernel, linux-pci

[+ Heiko as the owner of that board]

Am 2022-08-08 14:22, schrieb Mark Brown:
> On Sat, Aug 06, 2022 at 01:48:25PM -0700, KernelCI bot wrote:
> 
> The KernelCI bisection bot found that 5a46079a96451 "PM: domains: 
> Delete
> usage of driver_deferred_probe_check_state()" triggered a failure to
> probe the PCI controller or attached ethernet on kontron-pitx-imx8m.
> There's no obvious errors in the boot log when things fail, we simply
> don't see any of the announcements from the PCI controller probe like 
> we
> do on a working boot:

I guess that is the same as:
https://lore.kernel.org/lkml/Yr3vEDDulZj1Dplv@sirena.org.uk/

-michael

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
       [not found] <62eed399.170a0220.2503a.1c64@mx.google.com>
@ 2022-08-08 12:22   ` Mark Brown
  0 siblings, 0 replies; 26+ messages in thread
From: Mark Brown @ 2022-08-08 12:22 UTC (permalink / raw)
  To: Geert Uytterhoeven, Ulf Hansson, Saravana Kannan,
	Greg Kroah-Hartman, Michael Walle
  Cc: kernelci-results, bot, gtucker, linux-arm-kernel, linux-pci

[-- Attachment #1: Type: text/plain, Size: 9286 bytes --]

On Sat, Aug 06, 2022 at 01:48:25PM -0700, KernelCI bot wrote:

The KernelCI bisection bot found that 5a46079a96451 "PM: domains: Delete
usage of driver_deferred_probe_check_state()" triggered a failure to
probe the PCI controller or attached ethernet on kontron-pitx-imx8m.
There's no obvious errors in the boot log when things fail, we simply
don't see any of the announcements from the PCI controller probe like we
do on a working boot:

<6>[    2.434563] imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges:
<6>[    2.436149] imx6q-pcie 33c00000.pcie: host bridge /soc@0/pcie@33c00000 ranges:
<6>[    2.436168] imx6q-pcie 33c00000.pcie:   No bus range found for /soc@0/pcie@33c00000, using [bus 00-ff]
<6>[    2.436208] imx6q-pcie 33c00000.pcie:       IO 0x0027f80000..0x0027f8ffff -> 0x0000000000
<6>[    2.436233] imx6q-pcie 33c00000.pcie:      MEM 0x0020000000..0x0027efffff -> 0x0020000000
<6>[    2.436985] imx6q-pcie 33c00000.pcie: iATU unroll: enabled
<6>[    2.436993] imx6q-pcie 33c00000.pcie: Detected iATU regions: 4 outbound, 4 inbound
<6>[    2.439329] sdhci-esdhc-imx 30b50000.mmc: Got WP GPIO
<6>[    2.447119] imx6q-pcie 33800000.pcie:       IO 0x001ff80000..0x001ff8ffff -> 0x0000000000
<4>[    2.455485] sdhci-esdhc-imx 30b50000.mmc: drop HS400 support since no 8-bit bus
<6>[    2.464884] imx6q-pcie 33800000.pcie:      MEM 0x0018000000..0x001fefffff -> 0x0018000000
<6>[    2.464895] mmc0: SDHCI controller on 30b40000.mmc [30b40000.mmc] using ADMA
<6>[    2.504586] mmc1: SDHCI controller on 30b50000.mmc [30b50000.mmc] using ADMA
<6>[    2.537041] imx6q-pcie 33c00000.pcie: Link up
<6>[    2.547713] imx6q-pcie 33c00000.pcie: Link: Gen2 disabled
<6>[    2.553652] imx6q-pcie 33c00000.pcie: Link up, Gen1
<6>[    2.559036] imx6q-pcie 33c00000.pcie: Link up
<6>[    2.563987] imx6q-pcie 33c00000.pcie: PCI host bridge to bus 0001:00

https://storage.kernelci.org/mainline/master/v5.19-7280-gb44f2fd87919b/arm64/defconfig/clang-14/lab-kontron/baseline-kontron-pitx-imx8m.txt

(interleaved with the SDHCI probe which is in the failing boot) though I
am wondering if the "no bus range found..." warning above might have
been escallated into a failure to probe.

I've included the full bisection report below, including links to more
information including full boot failing logs plus a reported-by tag for
the bot.

> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> * This automated bisection report was sent to you on the basis  *
> * that you may be involved with the breaking commit it has      *
> * found.  No manual investigation has been done to verify it,   *
> * and the root cause of the problem may be somewhere else.      *
> *                                                               *
> * If you do send a fix, please include this trailer:            *
> *   Reported-by: "kernelci.org bot" <bot@kernelci.org>          *
> *                                                               *
> * Hope this helps!                                              *
> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> 
> next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
> 
> Summary:
>   Start:      861397378de91 Add linux-next specific files for 20220803
>   Plain log:  https://storage.kernelci.org/next/master/next-20220803/arm64/defconfig+crypto/gcc-10/lab-kontron/baseline-kontron-pitx-imx8m.txt
>   HTML log:   https://storage.kernelci.org/next/master/next-20220803/arm64/defconfig+crypto/gcc-10/lab-kontron/baseline-kontron-pitx-imx8m.html
>   Result:     5a46079a96451 PM: domains: Delete usage of driver_deferred_probe_check_state()
> 
> Checks:
>   revert:     PASS
>   verify:     PASS
> 
> Parameters:
>   Tree:       next
>   URL:        https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>   Branch:     master
>   Target:     kontron-pitx-imx8m
>   CPU arch:   arm64
>   Lab:        lab-kontron
>   Compiler:   gcc-10
>   Config:     defconfig+crypto
>   Test case:  baseline.bootrr.intel-igb-probed
> 
> Breaking commit found:
> 
> -------------------------------------------------------------------------------
> commit 5a46079a96451cfb15e4f5f01f73f7ba24ef851a
> Author: Saravana Kannan <saravanak@google.com>
> Date:   Wed Jun 1 00:06:57 2022 -0700
> 
>     PM: domains: Delete usage of driver_deferred_probe_check_state()
>     
>     Now that fw_devlink=on by default and fw_devlink supports
>     "power-domains" property, the execution will never get to the point
>     where driver_deferred_probe_check_state() is called before the supplier
>     has probed successfully or before deferred probe timeout has expired.
>     
>     So, delete the call and replace it with -ENODEV.
>     
>     Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
>     Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
>     Signed-off-by: Saravana Kannan <saravanak@google.com>
>     Link: https://lore.kernel.org/r/20220601070707.3946847-2-saravanak@google.com
>     Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> 
> diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
> index 739e52cd4aba5..3e86772d5fac5 100644
> --- a/drivers/base/power/domain.c
> +++ b/drivers/base/power/domain.c
> @@ -2730,7 +2730,7 @@ static int __genpd_dev_pm_attach(struct device *dev, struct device *base_dev,
>  		mutex_unlock(&gpd_list_lock);
>  		dev_dbg(dev, "%s() failed to find PM domain: %ld\n",
>  			__func__, PTR_ERR(pd));
> -		return driver_deferred_probe_check_state(base_dev);
> +		return -ENODEV;
>  	}
>  
>  	dev_dbg(dev, "adding to PM domain %s\n", pd->name);
> -------------------------------------------------------------------------------
> 
> 
> Git bisection log:
> 
> -------------------------------------------------------------------------------
> git bisect start
> # good: [7c6327c77d509e78bff76f2a4551fcfee851682e] Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
> git bisect good 7c6327c77d509e78bff76f2a4551fcfee851682e
> # bad: [861397378de91c64dec69a160595b891f443294f] Add linux-next specific files for 20220803
> git bisect bad 861397378de91c64dec69a160595b891f443294f
> # good: [9caf5c540b57105ac31f351518d83e1884c3d64a] Merge branch 'master' of git://linuxtv.org/media_tree.git
> git bisect good 9caf5c540b57105ac31f351518d83e1884c3d64a
> # good: [5ec97d04fa30ac49b48a141c0ee6bbe3038b0dad] Merge branch 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm.git
> git bisect good 5ec97d04fa30ac49b48a141c0ee6bbe3038b0dad
> # bad: [f95826f64a15aefb5e82a2a51341afd30cae191a] Merge branch 'next' of git://github.com/awilliam/linux-vfio.git
> git bisect bad f95826f64a15aefb5e82a2a51341afd30cae191a
> # good: [b5276c924497705ca927ad85a763c37f2de98349] drivers: lkdtm: fix clang -Wformat warning
> git bisect good b5276c924497705ca927ad85a763c37f2de98349
> # bad: [8d0a69bdbdaaf73040a80479497f153f43120787] Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git
> git bisect bad 8d0a69bdbdaaf73040a80479497f153f43120787
> # good: [62776e969e13c7124e614937c0333dc24c0db0db] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git
> git bisect good 62776e969e13c7124e614937c0333dc24c0db0db
> # good: [3413a46f9d313b6870e1c2fd5bae2892b725ef2e] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git
> git bisect good 3413a46f9d313b6870e1c2fd5bae2892b725ef2e
> # bad: [2fd26970cf66bd52dc42843c46968040caa8c9a1] Revert "kernfs: Change kernfs_notify_list to llist."
> git bisect bad 2fd26970cf66bd52dc42843c46968040caa8c9a1
> # bad: [5f8954e099b8ae96e7de1bb95950e00c85bedd40] Revert "mwifiex: fix sleep in atomic context bugs caused by dev_coredumpv"
> git bisect bad 5f8954e099b8ae96e7de1bb95950e00c85bedd40
> # bad: [71066545b48e4259f89481199a0bbc7c35457738] driver core: Set fw_devlink.strict=1 by default
> git bisect bad 71066545b48e4259f89481199a0bbc7c35457738
> # bad: [f8217275b57aa48d98cc42051c2aac34152718d6] net: mdio: Delete usage of driver_deferred_probe_check_state()
> git bisect bad f8217275b57aa48d98cc42051c2aac34152718d6
> # bad: [24a026f85241a01bbcfe1b263caeeaa9a79bab40] pinctrl: devicetree: Delete usage of driver_deferred_probe_check_state()
> git bisect bad 24a026f85241a01bbcfe1b263caeeaa9a79bab40
> # bad: [5a46079a96451cfb15e4f5f01f73f7ba24ef851a] PM: domains: Delete usage of driver_deferred_probe_check_state()
> git bisect bad 5a46079a96451cfb15e4f5f01f73f7ba24ef851a
> # first bad commit: [5a46079a96451cfb15e4f5f01f73f7ba24ef851a] PM: domains: Delete usage of driver_deferred_probe_check_state()
> -------------------------------------------------------------------------------
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#30209): https://groups.io/g/kernelci-results/message/30209
> Mute This Topic: https://groups.io/mt/92825373/1131744
> Group Owner: kernelci-results+owner@groups.io
> Unsubscribe: https://groups.io/g/kernelci-results/unsub [broonie@kernel.org]
> -=-=-=-=-=-=-=-=-=-=-=-
> 
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
@ 2022-08-08 12:22   ` Mark Brown
  0 siblings, 0 replies; 26+ messages in thread
From: Mark Brown @ 2022-08-08 12:22 UTC (permalink / raw)
  To: Geert Uytterhoeven, Ulf Hansson, Saravana Kannan,
	Greg Kroah-Hartman, Michael Walle
  Cc: kernelci-results, bot, gtucker, linux-arm-kernel, linux-pci


[-- Attachment #1.1: Type: text/plain, Size: 9286 bytes --]

On Sat, Aug 06, 2022 at 01:48:25PM -0700, KernelCI bot wrote:

The KernelCI bisection bot found that 5a46079a96451 "PM: domains: Delete
usage of driver_deferred_probe_check_state()" triggered a failure to
probe the PCI controller or attached ethernet on kontron-pitx-imx8m.
There's no obvious errors in the boot log when things fail, we simply
don't see any of the announcements from the PCI controller probe like we
do on a working boot:

<6>[    2.434563] imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges:
<6>[    2.436149] imx6q-pcie 33c00000.pcie: host bridge /soc@0/pcie@33c00000 ranges:
<6>[    2.436168] imx6q-pcie 33c00000.pcie:   No bus range found for /soc@0/pcie@33c00000, using [bus 00-ff]
<6>[    2.436208] imx6q-pcie 33c00000.pcie:       IO 0x0027f80000..0x0027f8ffff -> 0x0000000000
<6>[    2.436233] imx6q-pcie 33c00000.pcie:      MEM 0x0020000000..0x0027efffff -> 0x0020000000
<6>[    2.436985] imx6q-pcie 33c00000.pcie: iATU unroll: enabled
<6>[    2.436993] imx6q-pcie 33c00000.pcie: Detected iATU regions: 4 outbound, 4 inbound
<6>[    2.439329] sdhci-esdhc-imx 30b50000.mmc: Got WP GPIO
<6>[    2.447119] imx6q-pcie 33800000.pcie:       IO 0x001ff80000..0x001ff8ffff -> 0x0000000000
<4>[    2.455485] sdhci-esdhc-imx 30b50000.mmc: drop HS400 support since no 8-bit bus
<6>[    2.464884] imx6q-pcie 33800000.pcie:      MEM 0x0018000000..0x001fefffff -> 0x0018000000
<6>[    2.464895] mmc0: SDHCI controller on 30b40000.mmc [30b40000.mmc] using ADMA
<6>[    2.504586] mmc1: SDHCI controller on 30b50000.mmc [30b50000.mmc] using ADMA
<6>[    2.537041] imx6q-pcie 33c00000.pcie: Link up
<6>[    2.547713] imx6q-pcie 33c00000.pcie: Link: Gen2 disabled
<6>[    2.553652] imx6q-pcie 33c00000.pcie: Link up, Gen1
<6>[    2.559036] imx6q-pcie 33c00000.pcie: Link up
<6>[    2.563987] imx6q-pcie 33c00000.pcie: PCI host bridge to bus 0001:00

https://storage.kernelci.org/mainline/master/v5.19-7280-gb44f2fd87919b/arm64/defconfig/clang-14/lab-kontron/baseline-kontron-pitx-imx8m.txt

(interleaved with the SDHCI probe which is in the failing boot) though I
am wondering if the "no bus range found..." warning above might have
been escallated into a failure to probe.

I've included the full bisection report below, including links to more
information including full boot failing logs plus a reported-by tag for
the bot.

> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> * This automated bisection report was sent to you on the basis  *
> * that you may be involved with the breaking commit it has      *
> * found.  No manual investigation has been done to verify it,   *
> * and the root cause of the problem may be somewhere else.      *
> *                                                               *
> * If you do send a fix, please include this trailer:            *
> *   Reported-by: "kernelci.org bot" <bot@kernelci.org>          *
> *                                                               *
> * Hope this helps!                                              *
> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> 
> next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m
> 
> Summary:
>   Start:      861397378de91 Add linux-next specific files for 20220803
>   Plain log:  https://storage.kernelci.org/next/master/next-20220803/arm64/defconfig+crypto/gcc-10/lab-kontron/baseline-kontron-pitx-imx8m.txt
>   HTML log:   https://storage.kernelci.org/next/master/next-20220803/arm64/defconfig+crypto/gcc-10/lab-kontron/baseline-kontron-pitx-imx8m.html
>   Result:     5a46079a96451 PM: domains: Delete usage of driver_deferred_probe_check_state()
> 
> Checks:
>   revert:     PASS
>   verify:     PASS
> 
> Parameters:
>   Tree:       next
>   URL:        https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>   Branch:     master
>   Target:     kontron-pitx-imx8m
>   CPU arch:   arm64
>   Lab:        lab-kontron
>   Compiler:   gcc-10
>   Config:     defconfig+crypto
>   Test case:  baseline.bootrr.intel-igb-probed
> 
> Breaking commit found:
> 
> -------------------------------------------------------------------------------
> commit 5a46079a96451cfb15e4f5f01f73f7ba24ef851a
> Author: Saravana Kannan <saravanak@google.com>
> Date:   Wed Jun 1 00:06:57 2022 -0700
> 
>     PM: domains: Delete usage of driver_deferred_probe_check_state()
>     
>     Now that fw_devlink=on by default and fw_devlink supports
>     "power-domains" property, the execution will never get to the point
>     where driver_deferred_probe_check_state() is called before the supplier
>     has probed successfully or before deferred probe timeout has expired.
>     
>     So, delete the call and replace it with -ENODEV.
>     
>     Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
>     Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
>     Signed-off-by: Saravana Kannan <saravanak@google.com>
>     Link: https://lore.kernel.org/r/20220601070707.3946847-2-saravanak@google.com
>     Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> 
> diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
> index 739e52cd4aba5..3e86772d5fac5 100644
> --- a/drivers/base/power/domain.c
> +++ b/drivers/base/power/domain.c
> @@ -2730,7 +2730,7 @@ static int __genpd_dev_pm_attach(struct device *dev, struct device *base_dev,
>  		mutex_unlock(&gpd_list_lock);
>  		dev_dbg(dev, "%s() failed to find PM domain: %ld\n",
>  			__func__, PTR_ERR(pd));
> -		return driver_deferred_probe_check_state(base_dev);
> +		return -ENODEV;
>  	}
>  
>  	dev_dbg(dev, "adding to PM domain %s\n", pd->name);
> -------------------------------------------------------------------------------
> 
> 
> Git bisection log:
> 
> -------------------------------------------------------------------------------
> git bisect start
> # good: [7c6327c77d509e78bff76f2a4551fcfee851682e] Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
> git bisect good 7c6327c77d509e78bff76f2a4551fcfee851682e
> # bad: [861397378de91c64dec69a160595b891f443294f] Add linux-next specific files for 20220803
> git bisect bad 861397378de91c64dec69a160595b891f443294f
> # good: [9caf5c540b57105ac31f351518d83e1884c3d64a] Merge branch 'master' of git://linuxtv.org/media_tree.git
> git bisect good 9caf5c540b57105ac31f351518d83e1884c3d64a
> # good: [5ec97d04fa30ac49b48a141c0ee6bbe3038b0dad] Merge branch 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm.git
> git bisect good 5ec97d04fa30ac49b48a141c0ee6bbe3038b0dad
> # bad: [f95826f64a15aefb5e82a2a51341afd30cae191a] Merge branch 'next' of git://github.com/awilliam/linux-vfio.git
> git bisect bad f95826f64a15aefb5e82a2a51341afd30cae191a
> # good: [b5276c924497705ca927ad85a763c37f2de98349] drivers: lkdtm: fix clang -Wformat warning
> git bisect good b5276c924497705ca927ad85a763c37f2de98349
> # bad: [8d0a69bdbdaaf73040a80479497f153f43120787] Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git
> git bisect bad 8d0a69bdbdaaf73040a80479497f153f43120787
> # good: [62776e969e13c7124e614937c0333dc24c0db0db] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git
> git bisect good 62776e969e13c7124e614937c0333dc24c0db0db
> # good: [3413a46f9d313b6870e1c2fd5bae2892b725ef2e] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git
> git bisect good 3413a46f9d313b6870e1c2fd5bae2892b725ef2e
> # bad: [2fd26970cf66bd52dc42843c46968040caa8c9a1] Revert "kernfs: Change kernfs_notify_list to llist."
> git bisect bad 2fd26970cf66bd52dc42843c46968040caa8c9a1
> # bad: [5f8954e099b8ae96e7de1bb95950e00c85bedd40] Revert "mwifiex: fix sleep in atomic context bugs caused by dev_coredumpv"
> git bisect bad 5f8954e099b8ae96e7de1bb95950e00c85bedd40
> # bad: [71066545b48e4259f89481199a0bbc7c35457738] driver core: Set fw_devlink.strict=1 by default
> git bisect bad 71066545b48e4259f89481199a0bbc7c35457738
> # bad: [f8217275b57aa48d98cc42051c2aac34152718d6] net: mdio: Delete usage of driver_deferred_probe_check_state()
> git bisect bad f8217275b57aa48d98cc42051c2aac34152718d6
> # bad: [24a026f85241a01bbcfe1b263caeeaa9a79bab40] pinctrl: devicetree: Delete usage of driver_deferred_probe_check_state()
> git bisect bad 24a026f85241a01bbcfe1b263caeeaa9a79bab40
> # bad: [5a46079a96451cfb15e4f5f01f73f7ba24ef851a] PM: domains: Delete usage of driver_deferred_probe_check_state()
> git bisect bad 5a46079a96451cfb15e4f5f01f73f7ba24ef851a
> # first bad commit: [5a46079a96451cfb15e4f5f01f73f7ba24ef851a] PM: domains: Delete usage of driver_deferred_probe_check_state()
> -------------------------------------------------------------------------------
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#30209): https://groups.io/g/kernelci-results/message/30209
> Mute This Topic: https://groups.io/mt/92825373/1131744
> Group Owner: kernelci-results+owner@groups.io
> Unsubscribe: https://groups.io/g/kernelci-results/unsub [broonie@kernel.org]
> -=-=-=-=-=-=-=-=-=-=-=-
> 
> 

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2023-02-20 18:40 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <63f141b2.170a0220.57e67.6c7c@mx.google.com>
2023-02-20 18:10 ` next/master bisection: baseline.bootrr.intel-igb-probed on kontron-pitx-imx8m Mark Brown
2023-02-20 18:10   ` Mark Brown
2023-02-20 18:38   ` Michael Walle
2023-02-20 18:38     ` Michael Walle
     [not found] <62eed399.170a0220.2503a.1c64@mx.google.com>
2022-08-08 12:22 ` Mark Brown
2022-08-08 12:22   ` Mark Brown
2022-08-08 12:31   ` Michael Walle
2022-08-08 12:31     ` Michael Walle
2022-08-08 12:35   ` Michael Walle
2022-08-08 12:35     ` Michael Walle
2022-08-08 12:41     ` Mark Brown
2022-08-08 12:41       ` Mark Brown
2022-08-12 23:54       ` Saravana Kannan
2022-08-12 23:54         ` Saravana Kannan
2022-08-16 17:26         ` Mark Brown
2022-08-16 17:26           ` Mark Brown
2022-08-16 17:48           ` Saravana Kannan
2022-08-16 17:48             ` Saravana Kannan
2022-08-16 17:53             ` Mark Brown
2022-08-16 17:53               ` Mark Brown
2022-08-16 18:04               ` Saravana Kannan
2022-08-16 18:04                 ` Saravana Kannan
2022-08-17  6:44             ` Greg Kroah-Hartman
2022-08-17  6:44               ` Greg Kroah-Hartman
2022-08-17 12:58               ` Mark Brown
2022-08-17 12:58                 ` Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.