mirror of https://lore.kernel.org/linux-amlogic/
 help / color / mirror / Atom feed
From: jbrunet@baylibre.com (Jerome Brunet)
To: linus-amlogic@lists.infradead.org
Subject: [net-next PATCH v1 0/2] stmmac: dwmac-meson8b: configurable RGMII TX delay
Date: Thu, 24 Nov 2016 16:56:04 +0100	[thread overview]
Message-ID: <1480002964.17538.131.camel@baylibre.com> (raw)
In-Reply-To: <20161124143417.10178-1-martin.blumenstingl@googlemail.com>

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.

> 
> iperf3 results on my Mecool BB2 board (Meson GXM, RTL8211F PHY) with
> TX clock delay disabled on the MAC (as it's enabled in the PHY
> driver).
> TX throughput was virtually zero before:
> $ iperf3 -c 192.168.1.100 -R??????????
> Connecting to host 192.168.1.100, port 5201
> Reverse mode, remote host 192.168.1.100 is sending
> [??4] local 192.168.1.206 port 52828 connected to 192.168.1.100 port
> 5201
> [ ID] Interval???????????Transfer?????Bandwidth
> [??4]???0.00-1.00???sec???108 MBytes???901
> Mbits/sec??????????????????
> [??4]???1.00-2.00???sec??94.2 MBytes???791
> Mbits/sec??????????????????
> [??4]???2.00-3.00???sec??96.5 MBytes???810
> Mbits/sec??????????????????
> [??4]???3.00-4.00???sec??96.2 MBytes???808
> Mbits/sec??????????????????
> [??4]???4.00-5.00???sec??96.6 MBytes???810
> Mbits/sec??????????????????
> [??4]???5.00-6.00???sec??96.5 MBytes???810
> Mbits/sec??????????????????
> [??4]???6.00-7.00???sec??96.6 MBytes???810
> Mbits/sec??????????????????
> [??4]???7.00-8.00???sec??96.5 MBytes???809
> Mbits/sec??????????????????
> [??4]???8.00-9.00???sec???105 MBytes???884
> Mbits/sec??????????????????
> [??4]???9.00-10.00??sec???111 MBytes???934
> Mbits/sec??????????????????
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval???????????Transfer?????Bandwidth???????Retr
> [??4]???0.00-10.00??sec??1000 MBytes???839
> Mbits/sec????0?????????????sender
> [??4]???0.00-10.00??sec???998 MBytes???837
> Mbits/sec??????????????????receiver
> 
> iperf Done.
> $ iperf3 -c 192.168.1.100???
> Connecting to host 192.168.1.100, port 5201
> [??4] local 192.168.1.206 port 52832 connected to 192.168.1.100 port
> 5201
> [ ID] Interval???????????Transfer?????Bandwidth???????Retr??Cwnd
> [??4]???0.00-1.01???sec??99.5 MBytes???829 Mbits/sec??117????139
> KBytes???????
> [??4]???1.01-2.00???sec???105 MBytes???884 Mbits/sec??129???70.7
> KBytes???????
> [??4]???2.00-3.01???sec???107 MBytes???889 Mbits/sec??106????187
> KBytes???????
> [??4]???3.01-4.01???sec???105 MBytes???878 Mbits/sec???92????143
> KBytes???????
> [??4]???4.01-5.00???sec???105 MBytes???882 Mbits/sec??140????129
> KBytes???????
> [??4]???5.00-6.01???sec???106 MBytes???883 Mbits/sec??115????195
> KBytes???????
> [??4]???6.01-7.00???sec???102 MBytes???863 Mbits/sec??133???70.7
> KBytes???????
> [??4]???7.00-8.01???sec???106 MBytes???884 Mbits/sec??143???97.6
> KBytes???????
> [??4]???8.01-9.01???sec???104 MBytes???875 Mbits/sec??124????107
> KBytes???????
> [??4]???9.01-10.01??sec???105 MBytes???876 Mbits/sec???90????139
> KBytes???????
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval???????????Transfer?????Bandwidth???????Retr
> [??4]???0.00-10.01??sec??1.02 GBytes???874
> Mbits/sec??1189?????????????sender
> [??4]???0.00-10.01??sec??1.02 GBytes???873
> Mbits/sec??????????????????receiver
> 
> iperf Done.

> 
> 
> Martin Blumenstingl (2):
> ? net: dt-bindings: add RGMII TX delay configuration to meson8b-dwmac
> ? net: stmmac: dwmac-meson8b: make the RGMII TX delay configurable
> 
> ?Documentation/devicetree/bindings/net/meson-dwmac.txt | 11
> +++++++++++
> ?drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c???| 16
> +++++++++++-----
> ?include/dt-bindings/net/dwmac-meson8b.h???????????????| 18
> ++++++++++++++++++
> ?3 files changed, 40 insertions(+), 5 deletions(-)
> ?create mode 100644 include/dt-bindings/net/dwmac-meson8b.h
> 

  parent reply	other threads:[~2016-11-24 15:56 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-24 14:34 Martin Blumenstingl
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
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 ` Jerome Brunet [this message]
2016-11-24 17:05   ` [net-next PATCH v1 0/2] stmmac: dwmac-meson8b: configurable RGMII TX delay Martin Blumenstingl
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
2016-11-25 17:44         ` Florian Fainelli
2016-11-28 10:34           ` Sebastian Frias
2016-11-25  9:53     ` Jerome Brunet
2016-11-24 16:08 ` Jerome Brunet
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
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
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-25 13:41   ` [PATCH v2 0/7] stmmac: dwmac-meson8b: configurable RGMII TX delay David Laight
2016-11-28  1:33   ` David Miller
2016-12-02 23:52     ` Martin Blumenstingl
2016-11-28 13:25   ` Neil Armstrong
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
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
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
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-22 22:02         ` [PATCH net-next v5 2/2] net: stmmac: dwmac-meson8b: make the RGMII TX delay configurable Martin Blumenstingl
2017-01-24 18:36         ` [PATCH net-next v5 0/2] stmmac: dwmac-meson8b: configurable RGMII TX delay David Miller

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=1480002964.17538.131.camel@baylibre.com \
    --to=jbrunet@baylibre.com \
    --cc=linus-amlogic@lists.infradead.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

all inboxes | Powered by JetHome®