linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lucas Stach <l.stach@pengutronix.de>
To: Andrey Smirnov <andrew.smirnov@gmail.com>, linux-pci@vger.kernel.org
Subject: Re: [PATCH v3 11/11] PCI: imx6: Replace calls to udelay() with usleep_range()
Date: Fri, 12 Apr 2019 18:26:16 +0200	[thread overview]
Message-ID: <1555086376.11529.40.camel@pengutronix.de> (raw)
In-Reply-To: <20190401042547.14067-12-andrew.smirnov@gmail.com>

Am Sonntag, den 31.03.2019, 21:25 -0700 schrieb Andrey Smirnov:
> In both cases udelay() is called in non-atomic context, so there's
> really no need to use it there. Change the code to use usleep_range()
> instead.
> 
> > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> ---
>  drivers/pci/controller/dwc/pci-imx6.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
> index c9431a8a7ca1..3f13022991ec 100644
> --- a/drivers/pci/controller/dwc/pci-imx6.c
> +++ b/drivers/pci/controller/dwc/pci-imx6.c
> @@ -167,7 +167,7 @@ static int pcie_phy_poll_ack(struct imx6_pcie *imx6_pcie, bool exp_val)
>  		if (val == exp_val)
>  			return 0;
>  
> -		udelay(1);
> +		usleep_range(10, 100);

I'm not sure we want to change this. This is dragging out the timeout
considerably while the really short delay, together with the low number
of max loop iterations suggests that the condition is usually met very
quickly.

Maybe this would even want a change in the other direction by replacing
the udelay with a cpu_relax to speed up the condition detection and
stall the CPU in device memory loads, instead of having it spin in a
tight inner loop.

>  	} while (wait_counter < max_iterations);
>  
>  	return -ETIMEDOUT;
> @@ -449,7 +449,7 @@ static int imx6_pcie_enable_ref_clk(struct imx6_pcie *imx6_pcie)
>  		 * reset time is too short, cannot meet the requirement.
>  		 * add one ~10us delay here.
>  		 */
> -		udelay(10);
> +		usleep_range(10, 100);

This one looks good.

Regards,
Lucas

>  		regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
>  				   IMX6Q_GPR1_PCIE_REF_CLK_EN, 1 << 16);
>  		break;

  reply	other threads:[~2019-04-12 16:26 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-01  4:25 [PATCH v3 00/11] i.MX6, DesignWare PCI improvements Andrey Smirnov
2019-04-01  4:25 ` [PATCH v3 01/11] PCI: imx6: Simplify imx7d_pcie_wait_for_phy_pll_lock() Andrey Smirnov
2019-04-12 15:49   ` Lucas Stach
2019-04-01  4:25 ` [PATCH v3 02/11] PCI: imx6: Remove redundant debug tracing Andrey Smirnov
2019-04-12 15:53   ` Lucas Stach
2019-04-14 18:47     ` Andrey Smirnov
2019-04-01  4:25 ` [PATCH v3 03/11] PCI: imx6: Return -ETIMEOUT from imx6_pcie_wait_for_speed_change() Andrey Smirnov
2019-04-12 15:54   ` Lucas Stach
2019-04-01  4:25 ` [PATCH v3 04/11] PCI: imx6: Remove PCIE_PL_PFLR_* constants Andrey Smirnov
2019-04-12 15:54   ` Lucas Stach
2019-04-01  4:25 ` [PATCH v3 05/11] PCI: dwc: imx6: Share PHY debug register definitions Andrey Smirnov
2019-04-12 15:56   ` Lucas Stach
2019-04-01  4:25 ` [PATCH v3 06/11] PCI: imx6: Make use of BIT() in constant definitions Andrey Smirnov
2019-04-12 15:56   ` Lucas Stach
2019-04-01  4:25 ` [PATCH v3 07/11] PCI: imx6: Simplify bit operations in PHY functions Andrey Smirnov
2019-04-12 15:59   ` Lucas Stach
2019-04-01  4:25 ` [PATCH v3 08/11] PCI: imx6: Simplify pcie_phy_poll_ack() Andrey Smirnov
2019-04-12 16:12   ` Lucas Stach
2019-04-14 18:46     ` Andrey Smirnov
2019-04-01  4:25 ` [PATCH v3 09/11] PCI: imx6: Restrict PHY register data to 16-bit Andrey Smirnov
2019-04-12 16:15   ` Lucas Stach
2019-04-01  4:25 ` [PATCH v3 10/11] PCI: imx6: Use flags to indicate support for suspend Andrey Smirnov
2019-04-12 16:17   ` Lucas Stach
2019-04-01  4:25 ` [PATCH v3 11/11] PCI: imx6: Replace calls to udelay() with usleep_range() Andrey Smirnov
2019-04-12 16:26   ` Lucas Stach [this message]
2019-04-14 18:48     ` Andrey Smirnov
2019-04-12  9:32 ` [PATCH v3 00/11] i.MX6, DesignWare PCI improvements 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=1555086376.11529.40.camel@pengutronix.de \
    --to=l.stach@pengutronix.de \
    --cc=andrew.smirnov@gmail.com \
    --cc=linux-pci@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).