Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1256973
| From | "Skidmore, Donald C" <donald.c.skidmore@intel.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | RE: [PATCH] ixgbe: Wait for 1ms, not 1us, after RST |
| Date | 2015-10-27 18:10 +0100 |
| Message-ID | <qofV1-7TL-47@gated-at.bofh.it> (permalink) |
| References | <qo09A-6zr-7@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
> -----Original Message-----
> From: dan.streetman@canonical.com
> [mailto:dan.streetman@canonical.com]
> Sent: Monday, October 26, 2015 5:16 PM
> To: Kirsher, Jeffrey T
> Cc: Brandeburg, Jesse; Nelson, Shannon; Wyborny, Carolyn; Skidmore,
> Donald C; Vick, Matthew; Ronciak, John; Williams, Mitch A; intel-wired-
> lan@lists.osuosl.org; netdev@vger.kernel.org; linux-kernel@vger.kernel.org;
> Dan Streetman; Dan Streetman
> Subject: [PATCH] ixgbe: Wait for 1ms, not 1us, after RST
>
> From: Dan Streetman <dan.streetman@canonical.com>
>
> The driver currently waits 1us after issuing a RST, but the spec requires it to
> wait 1ms.
>
> Signed-off-by: Dan Streetman <dan.streetman@canonical.com>
> Signed-off-by: Dan Streetman <ddstreet@ieee.org>
> ---
> drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
> b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
> index 4e75843..147bc65 100644
> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
> @@ -113,7 +113,12 @@ mac_reset_top:
>
> /* Poll for reset bit to self-clear indicating reset is complete */
> for (i = 0; i < 10; i++) {
> - udelay(1);
> + /* sec 8.2.4.1.1 :
> + * programmers must wait approximately 1 ms after setting
> before
> + * attempting to check if the bit has cleared or to access
> (read
> + * or write) any other device register.
> + */
> + mdelay(1);
> ctrl = IXGBE_READ_REG(hw, IXGBE_CTRL);
> if (!(ctrl & IXGBE_CTRL_RST_MASK))
> break;
> --
> 2.5.0
While the Data Sheet does mention that this should take ~ 1ms, we are in a busy wait state so it probably isn't that big of a deal to check more frequently for our exit condition. That said there are plenty of other delays later on in the reset path so keeping the udelay really isn't speeding things up much. :)
Also normally it isn't a good idea to reference a section number in the data sheet as they do seem to change with updates. We are most likely a bit more safe here as it is one of the first of a list of register descriptions' and thus less like to move.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] ixgbe: Wait for 1ms, not 1us, after RST dan.streetman@canonical.com - 2015-10-27 01:20 +0100
RE: [PATCH] ixgbe: Wait for 1ms, not 1us, after RST "Skidmore, Donald C" <donald.c.skidmore@intel.com> - 2015-10-27 18:10 +0100
Re: [PATCH] ixgbe: Wait for 1ms, not 1us, after RST Dan Streetman <dan.streetman@canonical.com> - 2015-10-27 19:00 +0100
Re: [PATCH] ixgbe: Wait for 1ms, not 1us, after RST Peter Hurley <peter@hurleysoftware.com> - 2015-10-27 19:00 +0100
[PATCHv2] ixgbe: Wait for 1ms, not 1us, after RST Dan Streetman <dan.streetman@canonical.com> - 2015-10-27 19:30 +0100
csiph-web