Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp3671362ybv; Tue, 25 Feb 2020 05:23:07 -0800 (PST) X-Google-Smtp-Source: APXvYqyrnN5Yz4ruBlpG3GYtw8a1xlL94OgFH7aAZ1NkH4ar8Qq3c1rhDU6r7vc7+UUAB/p02uIK X-Received: by 2002:aca:120e:: with SMTP id 14mr3264446ois.135.1582636987430; Tue, 25 Feb 2020 05:23:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582636987; cv=none; d=google.com; s=arc-20160816; b=kAb3b3aKAQkjpJkUa8wiFVMKmZ3QE/I4CcuGwzufIhIJqnRJOUzHxExPno/QoUmt01 daw99K0vVn/bPNrlA9ONconqjAtOGO/51llufEkBH7be+GqNtQr3TyVQaeGaQtpYo9Iw CB9YDRc39JKL2W5l0RGbn8sT79UGfvXYew1METGU+ImQtVJVmrThUn+yBAp+w+r/bygn xbYujsn99dg37PetNqfzQugI730oX7s1FKpHFGbgRflW5jkPYmWdLsuOvx8yWvBtBEIr iq5Pyhef/4F0+Qr6fO1Cbd51tZmQOxLEFwabz3fPFwGWZd5m2bBf0Y+U5Tpvog5OLM4C rz6Q== 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 :message-id:date:subject:cc:to:from; bh=PLtrlX8V1qjI1ZYExTddgVF50IZyF7EGOyPCTevax00=; b=tzchb44vyFMlhtvr/FWLfKB6nhRuIb2eoC/bn9ve5pAPJtujOELQd4DbBRDPMUlk/G uWqbMXY+jvGqjNK7XGXh9Uy5MSn8iWL93YGzFw8haG5ylpQCmyXZn4ofUXHeACB51QpM MQZiAVi2gXWBu01cU59PsvoQy5JYKqvqNi/yrZshLMaus7xwbkEks6WtmiKEyo0VVIFk Bh9rNSsDV2THCIUipE83KVdhLQqsrdX/asKMEBTWkWkadblmHQSNTwr2DkM1tmAzPNIb VwKnPMnTqAOfUpRwr6U87vmoKiKYplMmeXMmybZ8TEKHZqS0knkaM5CtCjR+s50uahEy ztSA== ARC-Authentication-Results: i=1; mx.google.com; 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 d8si7906245oti.306.2020.02.25.05.22.54; Tue, 25 Feb 2020 05:23:07 -0800 (PST) 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; 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 S1730283AbgBYNNW (ORCPT + 99 others); Tue, 25 Feb 2020 08:13:22 -0500 Received: from mx2.suse.de ([195.135.220.15]:54214 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725788AbgBYNNW (ORCPT ); Tue, 25 Feb 2020 08:13:22 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 3F859B162; Tue, 25 Feb 2020 13:13:20 +0000 (UTC) From: Nicolas Saenz Julienne To: Doug Berger , Florian Fainelli , "David S. Miller" , Stefan Wahren Cc: Nicolas Saenz Julienne , bcm-kernel-feedback-list@broadcom.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net v2] net: bcmgenet: Clear ID_MODE_DIS in EXT_RGMII_OOB_CTRL when not needed Date: Tue, 25 Feb 2020 14:11:59 +0100 Message-Id: <20200225131159.26602-1-nsaenzjulienne@suse.de> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Outdated Raspberry Pi 4 firmware might configure the external PHY as rgmii although the kernel currently sets it as rgmii-rxid. This makes connections unreliable as ID_MODE_DIS is left enabled. To avoid this, explicitly clear that bit whenever we don't need it. Fixes: da38802211cc ("net: bcmgenet: Add RGMII_RXID support") Signed-off-by: Nicolas Saenz Julienne --- Changes since v1: - Fix tags ordering - Add targeted tree drivers/net/ethernet/broadcom/genet/bcmmii.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/bcmmii.c index 6392a2530183..10244941a7a6 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmmii.c +++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c @@ -294,6 +294,7 @@ int bcmgenet_mii_config(struct net_device *dev, bool init) */ if (priv->ext_phy) { reg = bcmgenet_ext_readl(priv, EXT_RGMII_OOB_CTRL); + reg &= ~ID_MODE_DIS; reg |= id_mode_dis; if (GENET_IS_V1(priv) || GENET_IS_V2(priv) || GENET_IS_V3(priv)) reg |= RGMII_MODE_EN_V123; -- 2.25.1