All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lorenzo Pieralisi <lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
To: Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Andrew Murray
	<amurray-tUaQ5FxYRYX4aQPF92CzsNBc4/FLrbF6@public.gmane.org>,
	Bjorn Helgaas <bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	Jon Hunter <jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	Vidya Sagar <vidyas-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] PCI: tegra: Print -EPROBE_DEFER error message at debug level
Date: Mon, 23 Mar 2020 17:21:49 +0000	[thread overview]
Message-ID: <20200323172137.GA17018@e121166-lin.cambridge.arm.com> (raw)
In-Reply-To: <20200323133456.GG3883508@ulmo>

On Mon, Mar 23, 2020 at 02:34:56PM +0100, Thierry Reding wrote:
> On Thu, Mar 19, 2020 at 06:05:30PM +0000, Lorenzo Pieralisi wrote:
> > On Thu, Mar 19, 2020 at 02:12:30PM +0100, Thierry Reding wrote:
> > > From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> > > 
> > > Probe deferral is an expected error condition that will usually be
> > > recovered from. Print such error messages at debug level to make them
> > > available for diagnostic purposes when building with debugging enabled
> > > and hide them otherwise to not spam the kernel log with them.
> > > 
> > > Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> > > ---
> > >  drivers/pci/controller/dwc/pcie-tegra194.c | 42 ++++++++++++++++++----
> > >  1 file changed, 35 insertions(+), 7 deletions(-)
> > 
> > Hi Thierry,
> > 
> > what tree/branch is it based on ? I assume it may depend on some
> > patches queued in one of my branches so please let me know and
> > I will apply accordingly.
> 
> Hi Lorenzo,
> 
> This should apply on top of commit 5b645b7fade9 ("PCI: tegra: Add
> support for PCIe endpoint mode in Tegra194") which is currently in
> linux-next.
> 
> Looking at your "pci" tree, that commit seems to be in a branch
> called pci/endpoint, though the equivalent commit there has a slightly
> different SHA:
> 
>     f4746b0ccef9 ("PCI: tegra: Add support for PCIe endpoint mode in Tegra194")
> 
> git range-diff shows that the only difference is that in the patch in
> linux-next there are a couple of additional exported symbols that are
> not in your pci/endpoint branch. That shouldn't be relevant, though,
> since this patch touches another area of the code, so applying this to
> your pci/endpoint branch should work.

Applied to pci/endpoint, thanks !

Lorenzo

> Thierry
> 
> > > diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
> > > index 97d3f3db1020..e4870fa6ce9c 100644
> > > --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> > > +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> > > @@ -1159,17 +1159,31 @@ static int tegra_pcie_dw_parse_dt(struct tegra_pcie_dw *pcie)
> > >  	/* Endpoint mode specific DT entries */
> > >  	pcie->pex_rst_gpiod = devm_gpiod_get(pcie->dev, "reset", GPIOD_IN);
> > >  	if (IS_ERR(pcie->pex_rst_gpiod)) {
> > > -		dev_err(pcie->dev, "Failed to get PERST GPIO: %ld\n",
> > > -			PTR_ERR(pcie->pex_rst_gpiod));
> > > -		return PTR_ERR(pcie->pex_rst_gpiod);
> > > +		int err = PTR_ERR(pcie->pex_rst_gpiod);
> > > +		const char *level = KERN_ERR;
> > > +
> > > +		if (err == -EPROBE_DEFER)
> > > +			level = KERN_DEBUG;
> > > +
> > > +		dev_printk(level, pcie->dev,
> > > +			   dev_fmt("Failed to get PERST GPIO: %d\n"),
> > > +			   err);
> > > +		return err;
> > >  	}
> > >  
> > >  	pcie->pex_refclk_sel_gpiod = devm_gpiod_get(pcie->dev,
> > >  						    "nvidia,refclk-select",
> > >  						    GPIOD_OUT_HIGH);
> > >  	if (IS_ERR(pcie->pex_refclk_sel_gpiod)) {
> > > -		dev_info(pcie->dev, "Failed to get REFCLK select GPIOs: %ld\n",
> > > -			 PTR_ERR(pcie->pex_refclk_sel_gpiod));
> > > +		int err = PTR_ERR(pcie->pex_refclk_sel_gpiod);
> > > +		const char *level = KERN_ERR;
> > > +
> > > +		if (err == -EPROBE_DEFER)
> > > +			level = KERN_DEBUG;
> > > +
> > > +		dev_printk(level, pcie->dev,
> > > +			   dev_fmt("Failed to get REFCLK select GPIOs: %d\n"),
> > > +			   err);
> > >  		pcie->pex_refclk_sel_gpiod = NULL;
> > >  	}
> > >  
> > > @@ -2058,13 +2072,27 @@ static int tegra_pcie_dw_probe(struct platform_device *pdev)
> > >  
> > >  	ret = tegra_pcie_dw_parse_dt(pcie);
> > >  	if (ret < 0) {
> > > -		dev_err(dev, "Failed to parse device tree: %d\n", ret);
> > > +		const char *level = KERN_ERR;
> > > +
> > > +		if (ret == -EPROBE_DEFER)
> > > +			level = KERN_DEBUG;
> > > +
> > > +		dev_printk(level, dev,
> > > +			   dev_fmt("Failed to parse device tree: %d\n"),
> > > +			   ret);
> > >  		return ret;
> > >  	}
> > >  
> > >  	ret = tegra_pcie_get_slot_regulators(pcie);
> > >  	if (ret < 0) {
> > > -		dev_err(dev, "Failed to get slot regulators: %d\n", ret);
> > > +		const char *level = KERN_ERR;
> > > +
> > > +		if (ret == -EPROBE_DEFER)
> > > +			level = KERN_DEBUG;
> > > +
> > > +		dev_printk(level, dev,
> > > +			   dev_fmt("Failed to get slot regulators: %d\n"),
> > > +			   ret);
> > >  		return ret;
> > >  	}
> > >  
> > > -- 
> > > 2.24.1
> > > 

WARNING: multiple messages have this Message-ID (diff)
From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Thierry Reding <thierry.reding@gmail.com>
Cc: Andrew Murray <amurray@thegoodpenguin.co.uk>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Jon Hunter <jonathanh@nvidia.com>,
	Vidya Sagar <vidyas@nvidia.com>,
	linux-pci@vger.kernel.org, linux-tegra@vger.kernel.org
Subject: Re: [PATCH] PCI: tegra: Print -EPROBE_DEFER error message at debug level
Date: Mon, 23 Mar 2020 17:21:49 +0000	[thread overview]
Message-ID: <20200323172137.GA17018@e121166-lin.cambridge.arm.com> (raw)
In-Reply-To: <20200323133456.GG3883508@ulmo>

On Mon, Mar 23, 2020 at 02:34:56PM +0100, Thierry Reding wrote:
> On Thu, Mar 19, 2020 at 06:05:30PM +0000, Lorenzo Pieralisi wrote:
> > On Thu, Mar 19, 2020 at 02:12:30PM +0100, Thierry Reding wrote:
> > > From: Thierry Reding <treding@nvidia.com>
> > > 
> > > Probe deferral is an expected error condition that will usually be
> > > recovered from. Print such error messages at debug level to make them
> > > available for diagnostic purposes when building with debugging enabled
> > > and hide them otherwise to not spam the kernel log with them.
> > > 
> > > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > > ---
> > >  drivers/pci/controller/dwc/pcie-tegra194.c | 42 ++++++++++++++++++----
> > >  1 file changed, 35 insertions(+), 7 deletions(-)
> > 
> > Hi Thierry,
> > 
> > what tree/branch is it based on ? I assume it may depend on some
> > patches queued in one of my branches so please let me know and
> > I will apply accordingly.
> 
> Hi Lorenzo,
> 
> This should apply on top of commit 5b645b7fade9 ("PCI: tegra: Add
> support for PCIe endpoint mode in Tegra194") which is currently in
> linux-next.
> 
> Looking at your "pci" tree, that commit seems to be in a branch
> called pci/endpoint, though the equivalent commit there has a slightly
> different SHA:
> 
>     f4746b0ccef9 ("PCI: tegra: Add support for PCIe endpoint mode in Tegra194")
> 
> git range-diff shows that the only difference is that in the patch in
> linux-next there are a couple of additional exported symbols that are
> not in your pci/endpoint branch. That shouldn't be relevant, though,
> since this patch touches another area of the code, so applying this to
> your pci/endpoint branch should work.

Applied to pci/endpoint, thanks !

Lorenzo

> Thierry
> 
> > > diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
> > > index 97d3f3db1020..e4870fa6ce9c 100644
> > > --- a/drivers/pci/controller/dwc/pcie-tegra194.c
> > > +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
> > > @@ -1159,17 +1159,31 @@ static int tegra_pcie_dw_parse_dt(struct tegra_pcie_dw *pcie)
> > >  	/* Endpoint mode specific DT entries */
> > >  	pcie->pex_rst_gpiod = devm_gpiod_get(pcie->dev, "reset", GPIOD_IN);
> > >  	if (IS_ERR(pcie->pex_rst_gpiod)) {
> > > -		dev_err(pcie->dev, "Failed to get PERST GPIO: %ld\n",
> > > -			PTR_ERR(pcie->pex_rst_gpiod));
> > > -		return PTR_ERR(pcie->pex_rst_gpiod);
> > > +		int err = PTR_ERR(pcie->pex_rst_gpiod);
> > > +		const char *level = KERN_ERR;
> > > +
> > > +		if (err == -EPROBE_DEFER)
> > > +			level = KERN_DEBUG;
> > > +
> > > +		dev_printk(level, pcie->dev,
> > > +			   dev_fmt("Failed to get PERST GPIO: %d\n"),
> > > +			   err);
> > > +		return err;
> > >  	}
> > >  
> > >  	pcie->pex_refclk_sel_gpiod = devm_gpiod_get(pcie->dev,
> > >  						    "nvidia,refclk-select",
> > >  						    GPIOD_OUT_HIGH);
> > >  	if (IS_ERR(pcie->pex_refclk_sel_gpiod)) {
> > > -		dev_info(pcie->dev, "Failed to get REFCLK select GPIOs: %ld\n",
> > > -			 PTR_ERR(pcie->pex_refclk_sel_gpiod));
> > > +		int err = PTR_ERR(pcie->pex_refclk_sel_gpiod);
> > > +		const char *level = KERN_ERR;
> > > +
> > > +		if (err == -EPROBE_DEFER)
> > > +			level = KERN_DEBUG;
> > > +
> > > +		dev_printk(level, pcie->dev,
> > > +			   dev_fmt("Failed to get REFCLK select GPIOs: %d\n"),
> > > +			   err);
> > >  		pcie->pex_refclk_sel_gpiod = NULL;
> > >  	}
> > >  
> > > @@ -2058,13 +2072,27 @@ static int tegra_pcie_dw_probe(struct platform_device *pdev)
> > >  
> > >  	ret = tegra_pcie_dw_parse_dt(pcie);
> > >  	if (ret < 0) {
> > > -		dev_err(dev, "Failed to parse device tree: %d\n", ret);
> > > +		const char *level = KERN_ERR;
> > > +
> > > +		if (ret == -EPROBE_DEFER)
> > > +			level = KERN_DEBUG;
> > > +
> > > +		dev_printk(level, dev,
> > > +			   dev_fmt("Failed to parse device tree: %d\n"),
> > > +			   ret);
> > >  		return ret;
> > >  	}
> > >  
> > >  	ret = tegra_pcie_get_slot_regulators(pcie);
> > >  	if (ret < 0) {
> > > -		dev_err(dev, "Failed to get slot regulators: %d\n", ret);
> > > +		const char *level = KERN_ERR;
> > > +
> > > +		if (ret == -EPROBE_DEFER)
> > > +			level = KERN_DEBUG;
> > > +
> > > +		dev_printk(level, dev,
> > > +			   dev_fmt("Failed to get slot regulators: %d\n"),
> > > +			   ret);
> > >  		return ret;
> > >  	}
> > >  
> > > -- 
> > > 2.24.1
> > > 



  reply	other threads:[~2020-03-23 17:21 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-19 13:12 [PATCH] PCI: tegra: Print -EPROBE_DEFER error message at debug level Thierry Reding
2020-03-19 13:12 ` Thierry Reding
     [not found] ` <20200319131230.3216305-1-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-03-19 17:04   ` Vidya Sagar
2020-03-19 17:04     ` Vidya Sagar
2020-03-19 18:05   ` Lorenzo Pieralisi
2020-03-19 18:05     ` Lorenzo Pieralisi
     [not found]     ` <20200319180529.GB7433-LhTu/34fCX3ZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2020-03-23 13:34       ` Thierry Reding
2020-03-23 13:34         ` Thierry Reding
2020-03-23 17:21         ` Lorenzo Pieralisi [this message]
2020-03-23 17:21           ` Lorenzo Pieralisi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200323172137.GA17018@e121166-lin.cambridge.arm.com \
    --to=lorenzo.pieralisi-5wv7dgnigg8@public.gmane.org \
    --cc=amurray-tUaQ5FxYRYX4aQPF92CzsNBc4/FLrbF6@public.gmane.org \
    --cc=bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
    --cc=jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=vidyas-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.