Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1014108yba; Thu, 4 Apr 2019 02:26:54 -0700 (PDT) X-Google-Smtp-Source: APXvYqysQCFUZGPjx5njXbKjc1uK5la5RiP9ztPro7Q07EA9g+4LO7lJ7B/MEBHOlHGMSqR1JJJJ X-Received: by 2002:a62:204b:: with SMTP id g72mr4648740pfg.51.1554370014723; Thu, 04 Apr 2019 02:26:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554370014; cv=none; d=google.com; s=arc-20160816; b=KniZAG/yeodgOXTail3OkKx89K+vYPPHTsCU558moDq8/D3+QFncstGq6WUDgNC0ly irQGslMJZKpQjGoP5D0fJzOUBQpDqqzMLSWDSpN7hD5RPblpqG5RdR9ek14xGK7M5PnH /d4vu1Qf5CNRbBvJmG7BNHihr6TfZYLsiCn4NLsZnWNxL8NWhCw9Qw3p7Ve+wFtRjSvx 6kl1A9CfOOcNDlmaqHPrTWNO9pDQJf8WT+paw/46DpHJFmXQjE1A+6PxBcJ86dQ39kAm DN9JCd8cCNjKiy/rWlfzzvQbGwNHmWu0lFarmLetY6QHBoc5LtXKoiuoTcOAUZowSX/1 DVIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=ColgOqOHc1dq+KBSQR9dvk5K/0/ejaeTYNLXwRqen9I=; b=lr75y4IfyNAscs/NYvhtbRdhFjLB39CJx+/9ENivCqgJRliQM6+/LP6H2ACXkaohbx pQD2t41H7CRup/seFOQsw2M/+vrR6HlsKz4+qgc3bsNVkKeIGSorfGPFIvZjnmTMkiwA FWrk/ZuYUviGWMbe5gaIO8HqwMtvvYrys1akshtvTUewRytJwRloO5Qvc96xTPcbGa3v LR5P6LY6O1cr2lKlfuyFmJ3ggBLPmXbKIx85V4xbpvzMdAVuEY0KdHmeR10b7pjw+3hV D4eW9NZnXpfrKnUn645oQFfsH4g1Z8ltW7viP72M95hJMNp9Aek5fzkJzjS/CTLQVhBB 1GhQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=YmK3GEou; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l11si16060211plb.159.2019.04.04.02.26.39; Thu, 04 Apr 2019 02:26:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=YmK3GEou; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387990AbfDDJYj (ORCPT + 99 others); Thu, 4 Apr 2019 05:24:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:55072 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387715AbfDDJOZ (ORCPT ); Thu, 4 Apr 2019 05:14:25 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 018CC2147C; Thu, 4 Apr 2019 09:14:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1554369264; bh=qjdjYuC5ZD0JsXhDy0n8xbDTy2T3um1Iau8xbEUzi+c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YmK3GEou44jK5W6rdlt4zWd1tmOIgF8fG6PxBZnH8NdAmrcKM2QqkfRc6ZhKvZTqQ c4bcA3QSJ12Rz1DoO19BNqllKj9T+PFAEbCS8OPXMgxmwLxUvn5lm6QPvPORPV7RWT MavypqROJAHqvXK9ZRZ+JiejLZu5qEdfMDpLChVI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Martin Blumenstingl , Emiliano Ingrassia , =?UTF-8?q?Linus=20L=C3=BCssing?= , Kevin Hilman , Sasha Levin Subject: [PATCH 5.0 145/246] ARM: dts: meson8b: fix the Ethernet data line signals in eth_rgmii_pins Date: Thu, 4 Apr 2019 10:47:25 +0200 Message-Id: <20190404084624.245196057@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190404084619.236418459@linuxfoundation.org> References: <20190404084619.236418459@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 5.0-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit 29f0023d01f063feacfc404f0446905aee4f82ee ] According to the Odroid-C1+ schematics the Ethernet TXD1 signal is routed to GPIOH_5 and the TXD0 signal is routed to GPIOH_6. The public S805 datasheet shows that TXD0 can be routed to DIF_2_P and TXD1 can be routed to DIF_2_N instead. The pin groups eth_txd0_0 (GPIOH_6) and eth_txd0_1 (DIF_2_P) are both configured as Ethernet TXD0 and TXD1 data lines in meson8b.dtsi. At the same time eth_txd1_0 (GPIOH_5) and eth_txd1_1 (DIF_2_N) are configured as TXD0 and TXD1 data lines as well. This results in a bad Ethernet receive performance. Presumably this is due to the eth_txd0 and eth_txd1 signal being routed to the wrong pins. As a result of that data can only be transmitted on eth_txd2 and eth_txd3. However, I have no scope to fully confirm this assumption. The vendor u-boot sources for Odroid-C1 use the following Ethernet pinmux configuration: SET_CBUS_REG_MASK(PERIPHS_PIN_MUX_6, 0x3f4f); SET_CBUS_REG_MASK(PERIPHS_PIN_MUX_7, 0xf00000); This translates to the following pin groups in the mainline kernel: - register 6 bit 0: eth_rxd1 (DIF_0_P) - register 6 bit 1: eth_rxd0 (DIF_0_N) - register 6 bit 2: eth_rx_dv (DIF_1_P) - register 6 bit 3: eth_rx_clk (DIF_1_N) - register 6 bit 6: eth_tx_en (DIF_3_P) - register 6 bit 8: eth_ref_clk (DIF_3_N) - register 6 bit 9: eth_mdc (DIF_4_P) - register 6 bit 10: eth_mdio_en (DIF_4_N) - register 6 bit 11: eth_tx_clk (GPIOH_9) - register 6 bit 12: eth_txd2 (GPIOH_8) - register 6 bit 13: eth_txd3 (GPIOH_7) - register 7 bit 20: eth_txd0_0 (GPIOH_6) - register 7 bit 21: eth_txd1_0 (GPIOH_5) - register 7 bit 22: eth_rxd3 (DIF_2_P) - register 7 bit 23: eth_rxd2 (DIF_2_N) Drop the eth_txd0_1 and eth_txd1_1 groups from eth_rgmii_pins to fix the Ethernet transmit performance on Odroid-C1. Also add the eth_rxd2 and eth_rxd3 groups so we don't rely on the bootloader to set them up. iperf3 statistics before this change: - transmitting from Odroid-C1: 741 Mbits/sec (0 retries) - receiving on Odroid-C1: 199 Mbits/sec (1713 retries) iperf3 statistics after this change: - transmitting from Odroid-C1: 667 Mbits/sec (0 retries) - receiving on Odroid-C1: 750 Mbits/sec (0 retries) Fixes: b96446541d8390 ("ARM: dts: meson8b: extend ethernet controller description") Signed-off-by: Martin Blumenstingl Cc: Emiliano Ingrassia Cc: Linus Lüssing Tested-by: Emiliano Ingrassia Reviewed-by: Emiliano Ingrassia Signed-off-by: Kevin Hilman Signed-off-by: Sasha Levin --- arch/arm/boot/dts/meson8b.dtsi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/arm/boot/dts/meson8b.dtsi b/arch/arm/boot/dts/meson8b.dtsi index 22d775460767..dc125769fe85 100644 --- a/arch/arm/boot/dts/meson8b.dtsi +++ b/arch/arm/boot/dts/meson8b.dtsi @@ -270,9 +270,7 @@ groups = "eth_tx_clk", "eth_tx_en", "eth_txd1_0", - "eth_txd1_1", "eth_txd0_0", - "eth_txd0_1", "eth_rx_clk", "eth_rx_dv", "eth_rxd1", @@ -281,7 +279,9 @@ "eth_mdc", "eth_ref_clk", "eth_txd2", - "eth_txd3"; + "eth_txd3", + "eth_rxd3", + "eth_rxd2"; function = "ethernet"; bias-disable; }; -- 2.19.1