public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Jerome Brunet <jbrunet-rdvid1DuHRBWk0Htik3J/w@public•gmane.org>
To: Martin Blumenstingl
	<martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public•gmane.org>,
	f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public•gmane.org
Cc: linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public•gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public•gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public•gmane.org,
	davem-fT/PcQaiUtIeIZ0/mPfg9Q@public•gmane.org,
	khilman-rdvid1DuHRBWk0Htik3J/w@public•gmane.org,
	mark.rutland-5wv7dgnIgG8@public•gmane.org,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public•gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public•gmane.org,
	alexandre.torgue-qxv4g6HH51o@public•gmane.org,
	peppe.cavallaro-qxv4g6HH51o@public•gmane.org,
	carlo-KA+7E9HrN00dnm+yROfE0A@public•gmane.org
Subject: Re: [net-next PATCH v1 0/2] stmmac: dwmac-meson8b: configurable RGMII TX delay
Date: Fri, 25 Nov 2016 10:53:49 +0100	[thread overview]
Message-ID: <1480067629.17538.151.camel@baylibre.com> (raw)
In-Reply-To: <CAFBinCB7sXjXor++W+PW0-j_VxATRzhexjqHgXj2jD10tBpZFg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Thu, 2016-11-24 at 18:05 +0100, Martin Blumenstingl wrote:
> On Thu, Nov 24, 2016 at 4:56 PM, Jerome Brunet <jbrunet-rdvid1DuHRBWk0Htik3J/w@public•gmane.org>
> wrote:
> > 
> > On Thu, 2016-11-24 at 15:34 +0100, Martin Blumenstingl wrote:
> > > 
> > > Currently the dwmac-meson8b stmmac glue driver uses a hardcoded
> > > 1/4
> > > cycle TX clock delay. This seems to work fine for many boards
> > > (for
> > > example Odroid-C2 or Amlogic's reference boards) but there are
> > > some
> > > others where TX traffic is simply broken.
> > > There are probably multiple reasons why it's working on some
> > > boards
> > > while it's broken on others:
> > > - some of Amlogic's reference boards are using a Micrel PHY
> > > - hardware circuit design
> > > - maybe more...
> > > 
> > > This raises a question though:
> > > Which device is supposed to enable the TX delay when both MAC and
> > > PHY
> > > support it? And should we implement it for each PHY / MAC
> > > separately
> > > or should we think about a more generic solution (currently it's
> > > not
> > > possible to disable the TX delay generated by the RTL8211F PHY
> > > via
> > > devicetree when using phy-mode "rgmii")?
> > 
> > Actually you can skip the part which activate the Tx-delay on the
> > phy
> > by setting "phy-mode = "rgmii-id" instead of "rgmii"
> > 
> > phy->interface will no longer be PHY_INTERFACE_MODE_RGMII
> > but PHY_INTERFACE_MODE_RGMII_ID.
> unfortunately this is not true for RTL8211F (I did my previous tests
> with the same expectation in mind)!
> the code seems to suggest that TX-delay is disabled whenever mode !=
> PHY_INTERFACE_MODE_RGMII.
> BUT: on my device RTL8211F_TX_DELAY is set even before
> "phy_write(phydev, 0x11, reg);"!

Thx a lot for pointing this out. I wrongly assumed that is was off by
default. It turns out it is ON on the OdroidC2 as well.

So I re-did all my test:
On the OdroidC2, as long as eee is not disabled (using ethtool or
through my patch) I can't get iperf to work properly. Disabling EEE,
the link works for the following configurations:

PHY TX Delay bit set : MAC delay 0ns, 2ns.
PHY TX Delay bit cleared : MAC delay 2ns, 4ns.

This seems to confirm that the PHY adds a 2ns delay when the bit is
set.

I could not test on my MXQPRO2.1 ... the PHY is no longer found during
the boot. Something died overnight :( 

> 
> Based on what I found it seems that rgmii-id, rgmii-txid and
> rgmii-rxid are supposed to be handled by the PHY.
> That would mean that we have two problems here:
> 1) drivers/net/phy/realtek.c:rtl8211f_config_init should check for
> PHY_INTERFACE_MODE_RGMII_ID or PHY_INTERFACE_MODE_RGMII_TXID and
> enable the TX-delay in that case - otherwise explicitly disable it
> 2) dwmac-meson8b.c should only use the configured TX-delay for
> PHY_INTERFACE_MODE_RGMII
> @Florian: could you please share your thoughts on this (who handles
> the TX delay in which case)?
> 
> 
> Regards,
> Martin
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public•gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2016-11-25  9:53 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-24 14:34 [net-next PATCH v1 0/2] stmmac: dwmac-meson8b: configurable RGMII TX delay Martin Blumenstingl
     [not found] ` <20161124143417.10178-1-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-11-24 14:34   ` [net-next PATCH v1 1/2] net: dt-bindings: add RGMII TX delay configuration to meson8b-dwmac Martin Blumenstingl
2016-11-24 15:48     ` Andrew Lunn
     [not found]       ` <20161124154858.GB20455-g2DYL2Zd6BY@public.gmane.org>
2016-11-24 16:52         ` Martin Blumenstingl
2016-11-24 14:34 ` [net-next PATCH v1 2/2] net: stmmac: dwmac-meson8b: make the RGMII TX delay configurable Martin Blumenstingl
2016-11-24 15:56 ` [net-next PATCH v1 0/2] stmmac: dwmac-meson8b: configurable RGMII TX delay Jerome Brunet
     [not found]   ` <1480002964.17538.131.camel-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
2016-11-24 17:05     ` Martin Blumenstingl
     [not found]       ` <CAFBinCB7sXjXor++W+PW0-j_VxATRzhexjqHgXj2jD10tBpZFg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-11-24 18:55         ` Florian Fainelli
2016-11-25  0:41           ` Martin Blumenstingl
2016-11-25 11:13           ` Sebastian Frias
2016-11-25 12:01             ` Måns Rullgård
     [not found]             ` <6a6af561-4e83-ca6e-d989-f421e18bce1e-QFKgK+z4sOrR7s880joybQ@public.gmane.org>
2016-11-25 17:44               ` Florian Fainelli
     [not found]                 ` <1b7f113e-34f9-69f4-a45f-9fd687d87990-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-11-28 10:34                   ` Sebastian Frias
2016-11-25  9:53         ` Jerome Brunet [this message]
2016-11-24 16:08 ` Jerome Brunet
     [not found]   ` <1480003681.17538.142.camel-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
2016-11-25  8:59     ` Giuseppe CAVALLARO
2016-11-25 13:01 ` [PATCH v2 0/7] " Martin Blumenstingl
2016-11-25 13:01   ` [PATCH v2 1/7] net: dt-bindings: add RGMII TX delay configuration to meson8b-dwmac Martin Blumenstingl
     [not found]     ` <20161125130156.17879-2-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-11-30 21:44       ` Rob Herring
2016-11-30 22:33         ` Martin Blumenstingl
2016-11-25 13:01   ` [PATCH v2 2/7] net: stmmac: dwmac-meson8b: make the RGMII TX delay configurable Martin Blumenstingl
2016-11-25 13:01   ` [PATCH v2 3/7] ARM64: dts: meson-gx: move the MDIO node to meson-gx Martin Blumenstingl
     [not found]   ` <20161125130156.17879-1-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-11-25 13:01     ` [PATCH v2 4/7] ARM64: dts: meson-gxbb-odroidc2: add reset for the ethernet PHY Martin Blumenstingl
2016-11-25 13:01     ` [PATCH v2 5/7] ARM64: dts: meson-gxbb-p20x: " Martin Blumenstingl
2016-11-25 13:01     ` [PATCH v2 6/7] ARM64: dts: meson-gxbb-vega-s95: " Martin Blumenstingl
2016-11-25 13:01     ` [PATCH v2 7/7] ARM64: dts: amlogic: add the ethernet TX delay configuration Martin Blumenstingl
2016-11-28  1:33     ` [PATCH v2 0/7] stmmac: dwmac-meson8b: configurable RGMII TX delay David Miller
     [not found]       ` <20161127.203324.1634866862730391239.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2016-12-02 23:52         ` Martin Blumenstingl
2016-12-02 23:32     ` [PATCH net-next v3 0/2] " Martin Blumenstingl
2016-12-02 23:32       ` [PATCH net-next v3 1/2] net: dt-bindings: add RGMII TX delay configuration to meson8b-dwmac Martin Blumenstingl
     [not found]         ` <20161202233238.17561-2-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-12-09 21:31           ` Rob Herring
2016-12-02 23:32       ` [PATCH net-next v3 2/2] net: stmmac: dwmac-meson8b: make the RGMII TX delay configurable Martin Blumenstingl
     [not found]       ` <20161202233238.17561-1-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2016-12-17 18:21         ` [PATCH net-next v4 0/2] stmmac: dwmac-meson8b: configurable RGMII TX delay Martin Blumenstingl
2016-12-17 18:21           ` [PATCH net-next v4 1/2] net: dt-bindings: add RGMII TX delay configuration to meson8b-dwmac Martin Blumenstingl
2016-12-17 18:21           ` [PATCH net-next v4 2/2] net: stmmac: dwmac-meson8b: make the RGMII TX delay configurable Martin Blumenstingl
2016-12-18 15:49             ` David Miller
2016-12-18 16:13               ` Martin Blumenstingl
2017-01-09 17:37                 ` Martin Blumenstingl
2017-01-20 13:47                 ` Martin Blumenstingl
2017-01-22 22:02           ` [PATCH net-next v5 0/2] stmmac: dwmac-meson8b: configurable RGMII TX delay Martin Blumenstingl
     [not found]             ` <20170122220246.13602-1-martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>
2017-01-22 22:02               ` [PATCH net-next v5 1/2] net: dt-bindings: add RGMII TX delay configuration to meson8b-dwmac Martin Blumenstingl
2017-01-24 18:36               ` [PATCH net-next v5 0/2] stmmac: dwmac-meson8b: configurable RGMII TX delay David Miller
2017-01-22 22:02             ` [PATCH net-next v5 2/2] net: stmmac: dwmac-meson8b: make the RGMII TX delay configurable Martin Blumenstingl
2016-11-25 13:41   ` [PATCH v2 0/7] stmmac: dwmac-meson8b: configurable RGMII TX delay David Laight

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=1480067629.17538.151.camel@baylibre.com \
    --to=jbrunet-rdvid1duhrbwk0htik3j/w@public$(echo .)gmane.org \
    --cc=alexandre.torgue-qxv4g6HH51o@public$(echo .)gmane.org \
    --cc=carlo-KA+7E9HrN00dnm+yROfE0A@public$(echo .)gmane.org \
    --cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public$(echo .)gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public$(echo .)gmane.org \
    --cc=f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public$(echo .)gmane.org \
    --cc=khilman-rdvid1DuHRBWk0Htik3J/w@public$(echo .)gmane.org \
    --cc=linux-amlogic-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public$(echo .)gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public$(echo .)gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public$(echo .)gmane.org \
    --cc=martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public$(echo .)gmane.org \
    --cc=netdev-u79uwXL29TY76Z2rM5mHXA@public$(echo .)gmane.org \
    --cc=peppe.cavallaro-qxv4g6HH51o@public$(echo .)gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public$(echo .)gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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