From patchwork Mon Nov 11 19:49:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 1193101 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.net Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="A/KBgjd1"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47BhN711Yxz9sPK for ; Tue, 12 Nov 2019 06:51:51 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727644AbfKKTvt (ORCPT ); Mon, 11 Nov 2019 14:51:49 -0500 Received: from mout.gmx.net ([212.227.15.18]:55455 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727108AbfKKTvf (ORCPT ); Mon, 11 Nov 2019 14:51:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1573501790; bh=taWXA58DvTrq62BOOg57Z2EuKGOOTGhqKhyK1g3A/ds=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=A/KBgjd1cp+GvJFSlgecj+stsDiZqZb0fqtukpXswiuTZyjGziEGdvACPHvUrkJoz NgzQnfxBmq5XUIk+E4K8HlbPyH2Jgv7vqwD7IldAzeDDyEEze8w0Wnv1OrH4tQxs1v qsOX3XBOHXTSa+H3hmVW9Vwc4SSlYqt/t35+DQSs= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.112]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MzyuS-1hjQCG32zW-00x0eO; Mon, 11 Nov 2019 20:49:50 +0100 From: Stefan Wahren To: Matthias Brugger , Matthias Brugger , "David S . Miller" , Rob Herring , Florian Fainelli Cc: Eric Anholt , Nicolas Saenz Julienne , Doug Berger , netdev@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V5 net-next 1/7] net: bcmgenet: Avoid touching non-existent interrupt Date: Mon, 11 Nov 2019 20:49:20 +0100 Message-Id: <1573501766-21154-2-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1573501766-21154-1-git-send-email-wahrenst@gmx.net> References: <1573501766-21154-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:Vn23tgDCDcdTg1xYnHdkw2UX8yHSxhCJJqMtechmWWjMUjg8tzL 3k8eiqfqsYa5eQWFLLN+tG95x64undUG+VcacSddSHVC3s3CzzS6zDGsiGo0X5ES+4RbCrR eA6/vgROl4A1iv6FA2i+19mzwq6jDYzuKFarmMLE+66SFW8rUw8vZYOhxf0Jewphbi3auVw eIngeFYtyoi61dFpWrfAw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1; V03:K0:ko8Y9vRapm4=:P7iuRZplRHa5+9NnbcC6V1 YCWl7UfqaEjTqF3M5JbtOQXI0i09hwW0hvv+qurfCyWCnEgRjs2NXM/INqLLpnwFXRceY9kIx Yk8y9FDwP+JMu0thxOgw/3XD5fDBaEAnMx4oWhXapAuGCAn1IsoXSCCNqgQWxMMVW0IHebN10 JMwKCOKuDI1TL+jwGrUcftw32hKLGSUxmY4PKb19H1Mm9MAmARKLdqNIbBkfJgJS1xsSyvmsO 5xh36By4G5uaZJXaKYQCe6N1nr07UDlelIR++/hjg+/aloHNzzRtvx8gwC/7gQuBEL6l9l3pg 5ZEod4QYvsr2ps29/JkClzCHPe1Mp70lqKNBOxCPyhmtPBXv/IXstvAC2pbaLlXLajHVzsYpP S81TPOrKnSleosii2nPYJ3+YaLcscDUgPogZS/1zZom8nzd1n3GwFQ/cMwhaCqHvO81il63E2 KZaEEXjuNmE45QLWLTLCMc7WGsGjU0mHdQASc8EH14/KI29ogOacVXeNhSPeEYAfDJKiYwn55 /YtnHstMoyG9uDRU8D1fa0nsHVAWDYJtpLTOhiB4/43PVyhS6ieO2LVGy2yUXi41AZtz/J+pc qEqYbTCZ1Vg3p3IuOa7on6cYMA3YedinV3wBNGF2pLJ2Ni267K1jDTkJP9LB+J7imgypl/u9w 9AlCFAjZ+jpUBVEsCMGYYNy8Au7GMRqtKMDrR09WgonrpJMOQ+AlYiSGgHoRFN3bmo77A65SI jpl8y3h19tphwzU7Nh4l+vAVaBdaChUIp8YIZbemzmPFo5cFBrStOhAyAFnXn22kbOKyML/oj AoBprc7NdD56xQ5nW5/46xMEXHicVhl4ONtPVqNRXnRzxbEiNH4Y4W275jTBk5Bwba2kadKyg tan0zmPi9FR0F0bLZ/I8az5xSR715DAq0Q4SPuCo3esxolaXq063uIRiTNqhRnVebMYzL2zCg TYXPqs7dSOcFri8Of6OCjov6Mb7+MaoOvDDBwEaW7mTlfF3gjmxtCBmIgAqRuTNuAWOj48ByV k9xWct2Nm1vXTIGDYtFRgZRwKV8eRAfFSmbGb2/CooKnbDkBkodSL9rJuJyVCuCReGe7ysNU/ GKfqstmzyD6Z1StZs7CCa/wlljw/Z7roneIkh6nxr6hNqhfUpGkyCNe0ljUuB3i2NGLtgj+Dm rVZFbVJHcXDvrKFWhd6LFAb2wtZS4xrQhFy52skfokmnXIQjfqKi+i4TA2vVgXYQ+7cw0SbUl 2Q4nDCSXo5zy6aZVVKtWk5uUM7qTnMvQcsJCuww== Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org As platform_get_irq() now prints an error when the interrupt does not exist, we are getting a confusing error message in case the optional WOL IRQ is not defined: bcmgenet fd58000.ethernet: IRQ index 2 not found Fix this by using the platform_get_irq_optional(). Signed-off-by: Stefan Wahren Acked-by: Florian Fainelli --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.7.4 diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index 3504f77..575f162 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -3459,7 +3459,7 @@ static int bcmgenet_probe(struct platform_device *pdev) priv = netdev_priv(dev); priv->irq0 = platform_get_irq(pdev, 0); priv->irq1 = platform_get_irq(pdev, 1); - priv->wol_irq = platform_get_irq(pdev, 2); + priv->wol_irq = platform_get_irq_optional(pdev, 2); if (!priv->irq0 || !priv->irq1) { dev_err(&pdev->dev, "can't find IRQs\n"); err = -EINVAL; From patchwork Mon Nov 11 19:49:21 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 1193099 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.net Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="e6VDnkqN"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47BhN35m8Yz9sNH for ; Tue, 12 Nov 2019 06:51:47 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727614AbfKKTvk (ORCPT ); Mon, 11 Nov 2019 14:51:40 -0500 Received: from mout.gmx.net ([212.227.15.15]:58943 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727458AbfKKTvh (ORCPT ); Mon, 11 Nov 2019 14:51:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1573501791; bh=PDcMlsTNCVoRx2qfDTLufTFxlXCLrYMeLsjNAqTRG/Q=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=e6VDnkqN/GjWfXRN+3RPAetHrQKaByV8xvtUpUs6fCMz+5mi1DrODshBgX9aJnI7F DLG2l5bEcSgrxrsNOUDVYYbMuZiEhPBndkjZ746PFt9O61k5THZXuLh1Z5BbzZtR1G N70bfmX//GMAWCGHNkhcAoX72wFBkq+6zYAo8iYM= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.112]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mk0JW-1i1TSZ0meu-00kRZO; Mon, 11 Nov 2019 20:49:51 +0100 From: Stefan Wahren To: Matthias Brugger , Matthias Brugger , "David S . Miller" , Rob Herring , Florian Fainelli Cc: Eric Anholt , Nicolas Saenz Julienne , Doug Berger , netdev@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V5 net-next 2/7] net: bcmgenet: Fix error handling on IRQ retrieval Date: Mon, 11 Nov 2019 20:49:21 +0100 Message-Id: <1573501766-21154-3-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1573501766-21154-1-git-send-email-wahrenst@gmx.net> References: <1573501766-21154-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:dM7skxclhbRUMKWP3MbL6zRTCYfjFKuM73YgvozwoH1DWTlJBlu illYPB9DIL8Lla6T4g/TzHImP8HKEcJXDniUnPbeDmg8C/0PZgi+UmNAsLYdGFkYhr1Tm43 EWgG4ZVTea1IWnJbo6nLBNNk/O72Cn+KG23UAocPBabWpSdv7BmOUlWzCV0LgWHHZQHZ591 sl8TxybCfnR5+RgkRqYQg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1; V03:K0:ao/Namynt30=:74ucEwRxe5+EmU0eXIzQjF DjWYmZZ7+x2ExYuwzQEBUad6d/p00KSqazR0d2H8yLy/0/z7mWgN6bgJ3Jv7aK0grD+gL2wfM ynYFNK1361/q4t3S2s7sYopp5/GJ4ob8LlO6lnn5wIIjJTt1MqMnwbo7RRlIpGYy2ydLBEH5G CQ6G5btVXh1rRBSgOnQDElFR1OEUmzNfYMQxYFHAjSQysbQGExWQspWCNrk6cErV1kQUNsZl0 WA1Dr2E2xXccYgQKRgJxIffhTj8AWIBkh9s52ddLPhfo29Z+67ih1PtYp0+LLKjRWN+dfAy9Y eTPSeIaQWLbX3BeC79lH7VhWL58l+2VP9dJlgXT7TbxTKXxyRkH8PUkSPoDBhqcS9abAgXmM6 1JcLysRtNbYmkF2hKS2a2ThpKIiD26JBKaIS2MJgHhTIYXRkamVxmDNpVCLVmGn4wFpkco+Kn p1AbiiiEHCHYdeMkD/R1RE0cIos6N4MnNQty9WkOct3K7arhiLqCfHufDnXvgEXhvHkig4Vr4 Ntpg+iy3OCDFng1TdyVuuGDnUxieW6y6bHMeZSI+yEp798wfFfDZUIJyHkx4W9rGuil+sHX7w Ldn0Ly7HJdyTRiEa2flgNZKkbfO0lJNUMfcpGGKQCrIkMU9WyFp1NJIFDid6fhEIL8/L6OGgp sQhJPTQTfnC2hnu1hxUSX1JONdyciCvTXCb3BS75L0pFwk2TwK18pAvvJEwjkuHBm7W0rQ8RZ 6KKxxP3+Cfv0JDt2lZLuwKE3lOnSIRRK+qtrxiZBulmfORp29SShtiLweyoP2W5FbhLBT/e9K iBehdjYKTkq3JF04ebQZvGByLPldQ4hPCf9CM3i8kNfs9fpbDYz5IhCEytsMCsFJTHcGVEysE wFb7ct2PIgsYBmfOeUhfoYZRu1detYW2HHaivR2ZEP1RIQd9Fj8ra4B4j4zvIFQGW1RhkWXXT jhmNVWG/epi7ueQ4SU40sL1l3wcf9xZE8/hapUuaIOrzGdWvIjJ6dwLEqfroFnuK1xtO5XLZL 8B8GOYteByW7ZoqXWkUSSJc7v+qTYLQwyxFHL5DvDaCn0yjPs06MBcz9fG7fbIri6yqgDL/5j MtL9t3A4c5NaXGJBEcKtRB2oszjPGr2sUoAohpGe4/5qKsjCsHD3g0y9cE2HN8i/43bq0FHW8 IfB45zNxhcBKGovHRYoYaL3c/Qg4Y4c5FyuJ1I+cEVmC7y+27F9Dh5NgRpGvdu4XybzLcPPwZ cbcDh9bTp8/QbdWVPOdWYzT3UyniAqsofJgkrQA== Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This fixes the error handling for the mandatory IRQs. There is no need for the error message anymore, this is now handled by platform_get_irq. Signed-off-by: Stefan Wahren Acked-by: Florian Fainelli --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) -- 2.7.4 diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index 575f162..ee4d8ef 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -3458,13 +3458,16 @@ static int bcmgenet_probe(struct platform_device *pdev) priv = netdev_priv(dev); priv->irq0 = platform_get_irq(pdev, 0); + if (priv->irq0 < 0) { + err = priv->irq0; + goto err; + } priv->irq1 = platform_get_irq(pdev, 1); - priv->wol_irq = platform_get_irq_optional(pdev, 2); - if (!priv->irq0 || !priv->irq1) { - dev_err(&pdev->dev, "can't find IRQs\n"); - err = -EINVAL; + if (priv->irq1 < 0) { + err = priv->irq1; goto err; } + priv->wol_irq = platform_get_irq_optional(pdev, 2); if (dn) macaddr = of_get_mac_address(dn); From patchwork Mon Nov 11 19:49:22 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 1193097 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.net Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="i/dlo/DU"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47BhMy66G8z9sNH for ; Tue, 12 Nov 2019 06:51:42 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727534AbfKKTvi (ORCPT ); Mon, 11 Nov 2019 14:51:38 -0500 Received: from mout.gmx.net ([212.227.15.18]:48039 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727279AbfKKTvf (ORCPT ); Mon, 11 Nov 2019 14:51:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1573501791; bh=jyAikbVVRrPYgn/XSwbrVXcnTYEvKUjvXNC1/tigGeU=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=i/dlo/DUcvwxzGVktgQW99DJ2Vq+tJF6Cd2QGH1Ud0ws5cwuYr67vyCqFtqYfqVxt G7v/oy115FdmaJLyecIxDw/4nJYObyvHjJIHf/pcIIeVoAssAvTs+FoiWGecOkeF7x aAPAjHGANJEie+Zp2bt9+i077vRr/Yg+mIMHu0R4= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.112]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MzhnH-1hhUek2jXl-00vdsF; Mon, 11 Nov 2019 20:49:51 +0100 From: Stefan Wahren To: Matthias Brugger , Matthias Brugger , "David S . Miller" , Rob Herring , Florian Fainelli Cc: Eric Anholt , Nicolas Saenz Julienne , Doug Berger , netdev@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V5 net-next 3/7] dt-bindings: net: bcmgenet: Add BCM2711 support Date: Mon, 11 Nov 2019 20:49:22 +0100 Message-Id: <1573501766-21154-4-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1573501766-21154-1-git-send-email-wahrenst@gmx.net> References: <1573501766-21154-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:xBehJ0MPIR6kysFz74j6TneXJCtJsc8Ik14GvPjliUkZNbYE5eu se1t/umwYp46w7t9aSD9NTCBzsAd+4QG+tnUKdP/UpGT2RlHrzfj/Qrw8n5oxS7+gnscMdD UaWtdt7hCIvHSx0kxpSfA4vbH4trDFbPW5UkYhgL4C+y+CCboLoRLOiTS738Ct+MVogLK1A +EqmHZOIHj02BhcZn7IbQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1; V03:K0:aHNgqRhvbKQ=:1eqhjT4X88JxB5c8xm91rE txFPAcx26aPKZK74X8qLWqydluXMDviQ3StJ8WTgy5My/CKLihzvLfqrXbv0r2r8nJlGiWjkW 5FCu5zSO3U9ebdi2KVwKr2OqvOYYm/u6rGrdgLXZXTRsQrDfKFN69El5r3veHh9xC5j2AqeGA tcqMzeiyXJ3UcZbJX4Er8tL27pg0LnaGAShqw7pjlw4XB5Yl5oK3hHUMdgPfhTpSPt6hNoBsD Jn1LmfbvgU+zNt2E2NQ3YJCXo57Oqaj+AnTw3aNiYxP+jiOI/JbsnZoDKvPfZzWQC+3cEavlB mNZ/hPFOF4CiSiD8B/YBZ09ND6TR6KinPVdCBD+KhYf5TaP8Ax3Le6CHHeLZUA1vgkHeQKZCm /VG9N226znsUQvyhpapIbp1vm5jG0u/Kytb58P/r32O493PG1du2XLGwiDfB1fsAG/CtTScN5 cNjlIPzxHhspJXcu3IKLIB3cKDCaBegkqd5v+FAYL277Lb3UDdoGxdNNGbuMUQ121jW7NAP3x cHDsjOPNoMsgzlLKT9+S42goB0+qdZE1QZYlH+DL4M0HNypq5AaJ5Tw/Tl9CAh89lsl3YHXUH 77bglIDa2QILjK4ep8iFeMRdGXa7C33KHNW5okQwKjx7pmngq8HeRloqT1V3Vo98QbDfDSi+O F3hM6/tw/AWlCVQpIpWczpaDeX2yGfiqCZUSzXfM9GrHyWH9Yz4PnfyukM3WUH3oQw8MwSt5Z 4y2uLh+kH5laXhIScerz5eFJ8xK3jwb/JmAcw0hOlTQhkWFRnL9va3xF5LA1xRncatWzhtP5L GJZC/qAl/DsUsjkrXczdxIZmSPLj5qMSe5KPxEiO1G92bgSK5h9kzxQJAp7BYSRctAqieQdoI QQf8ltYr1Jt6wy0E79ZWP5m6VHBdKjO+siK5JSYipra1qv8RfOiqTIwUjXTm7gHnfQ0ETllPx PiOyO1DUT2zuWqwb6/D+pX5S1yL1FZHlERbUWouXsVpfJHXW+CS600AQ6MG9WiitIceCgi8Pl 3WSe+IHTM2T9wULMTlLx2Y4uinmFoRIwqOuv8FIZ+YmNJK8hJcT39d4BfZa8Ad+TrO4eYG8H+ pDzL19DHyT+eVQ9+dF6bMbLHyuWFp9GjX8J+yNa6OkAGNS8Vv/NPE8jDkTk+rLIFskgtKdzQW LyxAOZnuncaEDN4IZ4AHE9sFoB9Byzfq4TE6Shp7Xf5J/GGBcrYF2LKyvAnyE9Ll++Lm9Gfnq EJB1YuRp6X6H8ZKW36yDN0PL2BqM+5/uTii9UuA== Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The BCM2711 has some modifications to the GENET v5. So add this SoC specific compatible. Suggested-by: Florian Fainelli Signed-off-by: Stefan Wahren Reviewed-by: Florian Fainelli Acked-by: Rob Herring --- Documentation/devicetree/bindings/net/brcm,bcmgenet.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.7.4 diff --git a/Documentation/devicetree/bindings/net/brcm,bcmgenet.txt b/Documentation/devicetree/bindings/net/brcm,bcmgenet.txt index 3956af1..33a0d67 100644 --- a/Documentation/devicetree/bindings/net/brcm,bcmgenet.txt +++ b/Documentation/devicetree/bindings/net/brcm,bcmgenet.txt @@ -2,7 +2,7 @@ Required properties: - compatible: should contain one of "brcm,genet-v1", "brcm,genet-v2", - "brcm,genet-v3", "brcm,genet-v4", "brcm,genet-v5". + "brcm,genet-v3", "brcm,genet-v4", "brcm,genet-v5", "brcm,bcm2711-genet-v5". - reg: address and length of the register set for the device - interrupts and/or interrupts-extended: must be two cells, the first cell is the general purpose interrupt line, while the second cell is the From patchwork Mon Nov 11 19:49:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 1193094 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.net Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="IxdvP7z8"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47BhMr60KNz9sPF for ; Tue, 12 Nov 2019 06:51:36 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727339AbfKKTvf (ORCPT ); Mon, 11 Nov 2019 14:51:35 -0500 Received: from mout.gmx.net ([212.227.15.19]:50495 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726912AbfKKTve (ORCPT ); Mon, 11 Nov 2019 14:51:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1573501792; bh=YkAVCsJym+AYytMKLyvpOFynFysMj/mqsnSce6arYPw=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=IxdvP7z8uO6jLxvVmFHKmO4/4gdU1tJ6UnMDlji7vCRDkKtkyoXgbYYZcmBENIy9V UGLlTBNy6eYrUoBKn9+8dnse4D6ojxsSIAabbOlDC1x/9+jHE0FLS8pHlYmjyMenau VRm6qPaKyAUsKaZmvcLkx4MSx9dI9ixy8Pm5QTu8= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.112]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MOiHl-1iGGvH0ZzD-00Q8oD; Mon, 11 Nov 2019 20:49:52 +0100 From: Stefan Wahren To: Matthias Brugger , Matthias Brugger , "David S . Miller" , Rob Herring , Florian Fainelli Cc: Eric Anholt , Nicolas Saenz Julienne , Doug Berger , netdev@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V5 net-next 4/7] net: bcmgenet: Add BCM2711 support Date: Mon, 11 Nov 2019 20:49:23 +0100 Message-Id: <1573501766-21154-5-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1573501766-21154-1-git-send-email-wahrenst@gmx.net> References: <1573501766-21154-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:/0eJG8jHGbLvFZ50W01axrjmSeg0Zy0GbS/+/utYnSs2uAGw3Fc YrJCkLBDKa1nLxeOXskKItd7x0sZWrzKOSbWTT5BfK85tGqFK3sa2iWbUzGVMmX3nxZ3Cwa VtvR5KNsBMh/50yXR6ttiYSL3IBzeHvw4Q/DXCrWvQ3OTh5jdluDlcX022tltqSKT0Q53/W mW/qBNPgvtI1PdwN9qWIg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1; V03:K0:hTMeSMXs+RQ=:mRG/AEgArGsRrAJXfk0mwy cXxNqQWdqhoDKLNPii9BOxZgHiKJyBUwfZFz2lSFfvQyW0EvC1FrRfTyzskzK94plcLeBAKNb nwRHBxmd2aBuHD5AFjlHm/4PNDuBHqDbS+35ScRV0Kk0KYhMGmF+rn803C6ZfQuf3kIc4tHgA IPGKJlmrDQFesH5dSmtXdDa3jTYjdVSrNGwI5XRhUV3wi1rJYJib6xawacbYQ8Hw5RTXWd18a YprwVIAj2mJYE1zEq0ID4ckjP4RhQjjTOnETKGWVjFR5tz5RdpH6M1d5t+RyObUP5eE2ifDlh AHD7Zrh75On6WKHqXGLHVJ2iP0YfGp9DW4DDiLqFTfOuOFxeu5jMCCx4i9xESPGOu9vOGLall UPiZ+T1W3/aAeqy5PQlaF8etaw3D0XXPEg+nFoprCYJ3VXFniyFDebiyGe05Z8YuwZNI+HnZN sNrTqilh6xO+HEWYcMPfU1ODHKdE6EIAt9IZYMU7LN15A+kpC+LsZSCVl0cZP1PFzZeOSizYe ljVjj4y9A+Poi2kH4TAS9d7IIExoFFpr1kiFlfApdUFA21T9hhuN0kmZQboHm4F/mg3n6rA34 iMhms4byLLt2CC9lZPWw43hyiX2V1WZbWVZYZNQBWH4TifbEN0OUwD1k3PSHKJezqLp6aPK28 2h8sGfcxYzd9yb5gVdUU6IE8Bu44dkK2CxsCKIVBxCoo9CQu2yPGltDXIceMutU25wIEh95+1 X5Vde07ZHmnMOq++DY8+afELzKHItwn35yyvLYFJ6VKy/xO1LN+X4p6RiGc9dpLv/koW9z8YQ zUDHmfr6TkWLAgJoqT4sEiztYEbqeG80gJiIOLusrm++v/srw2pCuBZ5w8UENO7c0+fP6c9IQ VjNw08DhH1KmCjsfJvNVk/kw+EANGiH7bIpFs2KmAh6ikIeF/gQd3pym1ElxWWm5oS5FBp/kV WQopc7OWIlEsEDUza7+yV2uTixENwbNYggB04GicCNQ8rjZkkP3nWJ6G4U+NpS3JiyE8PjWpr ZuE5d4qs2APOGvhFXsdkxpsy1LPB+FhWeo1uq8oZZ3xvCcT1L8FnGGDRa7ZaIKER92MuRubkk NCMf9ZPYohT2hxfrey47O5BVLNhl/co02h4t7gY1bFOM7GBVYtIvXSyCiVsqiiXp+/ygXLTfY bhhNOFc1V0p7A0MDR8PhAxHhGXyZftxZooJY6LPwosGYLVcZYcyx/X7sUZlD7B6RGc03tXZRa Cs8pFn7p8WKbrc7IMKufcnnICRhKDTBWRoh79Hw== Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The BCM2711 needs a different maximum DMA burst length. If not set accordingly a timeout in the transmit queue happens and no package can be sent. So use the new compatible to derive this value. Until now the GENET HW version was used as the platform identifier. This doesn't work with SoC-specific modifications, so introduce a proper platform data structure. Signed-off-by: Stefan Wahren Acked-by: Florian Fainelli Reviewed-by: Matthias Brugger --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 63 ++++++++++++++++++++++---- drivers/net/ethernet/broadcom/genet/bcmgenet.h | 1 + 2 files changed, 54 insertions(+), 10 deletions(-) -- 2.7.4 diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index ee4d8ef..120fa05 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -2576,7 +2576,8 @@ static int bcmgenet_init_dma(struct bcmgenet_priv *priv) } /* Init rDma */ - bcmgenet_rdma_writel(priv, DMA_MAX_BURST_LENGTH, DMA_SCB_BURST_SIZE); + bcmgenet_rdma_writel(priv, priv->dma_max_burst_length, + DMA_SCB_BURST_SIZE); /* Initialize Rx queues */ ret = bcmgenet_init_rx_queues(priv->dev); @@ -2589,7 +2590,8 @@ static int bcmgenet_init_dma(struct bcmgenet_priv *priv) } /* Init tDma */ - bcmgenet_tdma_writel(priv, DMA_MAX_BURST_LENGTH, DMA_SCB_BURST_SIZE); + bcmgenet_tdma_writel(priv, priv->dma_max_burst_length, + DMA_SCB_BURST_SIZE); /* Initialize Tx queues */ bcmgenet_init_tx_queues(priv->dev); @@ -3420,12 +3422,48 @@ static void bcmgenet_set_hw_params(struct bcmgenet_priv *priv) params->words_per_bd); } +struct bcmgenet_plat_data { + enum bcmgenet_version version; + u32 dma_max_burst_length; +}; + +static const struct bcmgenet_plat_data v1_plat_data = { + .version = GENET_V1, + .dma_max_burst_length = DMA_MAX_BURST_LENGTH, +}; + +static const struct bcmgenet_plat_data v2_plat_data = { + .version = GENET_V2, + .dma_max_burst_length = DMA_MAX_BURST_LENGTH, +}; + +static const struct bcmgenet_plat_data v3_plat_data = { + .version = GENET_V3, + .dma_max_burst_length = DMA_MAX_BURST_LENGTH, +}; + +static const struct bcmgenet_plat_data v4_plat_data = { + .version = GENET_V4, + .dma_max_burst_length = DMA_MAX_BURST_LENGTH, +}; + +static const struct bcmgenet_plat_data v5_plat_data = { + .version = GENET_V5, + .dma_max_burst_length = DMA_MAX_BURST_LENGTH, +}; + +static const struct bcmgenet_plat_data bcm2711_plat_data = { + .version = GENET_V5, + .dma_max_burst_length = 0x08, +}; + static const struct of_device_id bcmgenet_match[] = { - { .compatible = "brcm,genet-v1", .data = (void *)GENET_V1 }, - { .compatible = "brcm,genet-v2", .data = (void *)GENET_V2 }, - { .compatible = "brcm,genet-v3", .data = (void *)GENET_V3 }, - { .compatible = "brcm,genet-v4", .data = (void *)GENET_V4 }, - { .compatible = "brcm,genet-v5", .data = (void *)GENET_V5 }, + { .compatible = "brcm,genet-v1", .data = &v1_plat_data }, + { .compatible = "brcm,genet-v2", .data = &v2_plat_data }, + { .compatible = "brcm,genet-v3", .data = &v3_plat_data }, + { .compatible = "brcm,genet-v4", .data = &v4_plat_data }, + { .compatible = "brcm,genet-v5", .data = &v5_plat_data }, + { .compatible = "brcm,bcm2711-genet-v5", .data = &bcm2711_plat_data }, { }, }; MODULE_DEVICE_TABLE(of, bcmgenet_match); @@ -3435,6 +3473,7 @@ static int bcmgenet_probe(struct platform_device *pdev) struct bcmgenet_platform_data *pd = pdev->dev.platform_data; struct device_node *dn = pdev->dev.of_node; const struct of_device_id *of_id = NULL; + const struct bcmgenet_plat_data *pdata; struct bcmgenet_priv *priv; struct net_device *dev; const void *macaddr; @@ -3516,10 +3555,14 @@ static int bcmgenet_probe(struct platform_device *pdev) priv->dev = dev; priv->pdev = pdev; - if (of_id) - priv->version = (enum bcmgenet_version)of_id->data; - else + if (of_id) { + pdata = of_id->data; + priv->version = pdata->version; + priv->dma_max_burst_length = pdata->dma_max_burst_length; + } else { priv->version = pd->genet_version; + priv->dma_max_burst_length = DMA_MAX_BURST_LENGTH; + } priv->clk = devm_clk_get(&priv->pdev->dev, "enet"); if (IS_ERR(priv->clk)) { diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.h b/drivers/net/ethernet/broadcom/genet/bcmgenet.h index dbc69d8..a565919 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.h +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.h @@ -664,6 +664,7 @@ struct bcmgenet_priv { bool crc_fwd_en; unsigned int dma_rx_chk_bit; + u32 dma_max_burst_length; u32 msg_enable; From patchwork Mon Nov 11 19:49:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 1193095 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.net Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="UO4QAIV8"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47BhMv3HTKz9sPK for ; Tue, 12 Nov 2019 06:51:39 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727453AbfKKTvf (ORCPT ); Mon, 11 Nov 2019 14:51:35 -0500 Received: from mout.gmx.net ([212.227.15.19]:57699 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727089AbfKKTvf (ORCPT ); Mon, 11 Nov 2019 14:51:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1573501792; bh=bICAAjpNAEuBSsYFkawJc3wNJyV0/DEeTRhpBN4urFs=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=UO4QAIV8lH819LcEEu58MxoPYk87X82RVJjLK6NhxkolwitqQRbTzGlXVKQoDSx4A p+kgdMDS0zY91xMOioSRYyXLOKtjVv9au/wab0OHP2xudnoUUDPB2VVtcprFFUacc7 96QxGGqFCCudzSHxSERqJ+e7Fd5V5P4OvrA0Znak= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.112]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MOzOw-1iG04a2dS8-00PJjG; Mon, 11 Nov 2019 20:49:52 +0100 From: Stefan Wahren To: Matthias Brugger , Matthias Brugger , "David S . Miller" , Rob Herring , Florian Fainelli Cc: Eric Anholt , Nicolas Saenz Julienne , Doug Berger , netdev@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V5 net-next 5/7] net: bcmgenet: Refactor register access in bcmgenet_mii_config Date: Mon, 11 Nov 2019 20:49:24 +0100 Message-Id: <1573501766-21154-6-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1573501766-21154-1-git-send-email-wahrenst@gmx.net> References: <1573501766-21154-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:67YahmV2UkJIhpHobumqC9+/MmwXxDEYxBSTwbAoxBBAioCr3qM x8P7GK2b0x11RhkhkXnUCTYXYQgqYSCL0ZTxyIsKplgJgvJydv6Sdk7dLd0vS8YOgUZApHB kx8TxDsq9eQdNCrDjQ9N0zquYurAi8kxkxRzsvmDgKcH2/XFLc/ZA5B9mirNh1G0pRYUhl3 ydAHEBhDR4HMC6kkGgyJg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1; V03:K0:W7YAxsxgv4Y=:3Op2RchXtPvRo9E/XH58Cu L5jrJwgCEOXkNHOkQ2oPGcnNMCuaof/dLnnVvwo5u38KFDPyjb5rum2ofGp+pf98zzQINv1e/ 0bdZHifTM1pwMZu0v5nkZs+aOgdOkcrIZ0Ova/AG8A54LceioWC7y+xs5n+irXZJVrATkdi4w 85TElykn7yUlX8gPYYPwtj6cutfD+wXAObSK53XjHc6Y6GlvZMWwWFWqtozzuqojDQUFnQqhG q5FI4rvfeAmeDeXgVaOQllhS6RvFLMv1M55VvlUKBEieOqx9sh8v3iZdmz40kM5hC+80Ongca /7zyyHrXnGRS6ym5faTXSckifoubxMM3yTOm6eK/4x/CNHLqVJnhgJaoCJofPeBSMgjH9+hpb Rk/k2mp0BXiRSwabn88AczMLWLkQca3Gmgq9kEwiEJ65vZwAOUzAw0nDqTzqtxwvn4Z+HH2Bk nQnttcRVnwHTLbISdTn5XZgiEglii4RWGWxLMwGNjf3N7WNvqGsJ7qAUpjpovKm7J8Ek8Mi6/ NCUCem+7cni7MrhPq60hvdnUstlINdl9n+RhATeCAt304imSdzd4WxiaV7+YudsaeWSJ6P3G3 niGXsIpjsEdiQAdf72LV5uGxlv74Vawgz9hC6dQBgB8NtNUKCKKk3z3IMeEKBEZ6dHXciDjgJ Ofvu2I4B4Iz2W8DdfsN18cCSA3pZShP1hNZzWDz7Vt43RCbeeTlatVLuuPU6CkN/EcsElhueg DU8mfSxmf5gTM5xzu2TRA0RaScO1bcoLP2qJytgEj96OQ3rz0R4S7cJx8vzx74qMJEGm5OuIJ rourPKi8zMqEnYQcQUB1uOvmLAlUymTWvlQ1001y1eaEjT3t7NVLLmYq/DkXjvEsGrNNoBuF4 TQEueCesSjJm8Mh2zcGB0JfawtgmpdT+kE9zx3+sWAf10kDQdg9MaASrOTzmhNd7/OLOZ8PsE XX5KS9UnUkjCfFCf7ihIldPRHuBA0y1PtXe4P1+HAqTqkuFvXzbIglJiYVaxoLXpGjSACEe93 JXGBwXELqXz0lxMxr9LAbcV1V4z0hfHdTPasGT77ebrPm4pEqysCYzn6L+yVy+83bQx0I/Kef GEY/phLJEKaleERFeg56JVVFTFfDg83AyS+M/z4ZZP+xD/kICJJw8+qhQvGh35E5Ltz8qtOT0 AhC9UhV3LMFyQa1ETWPiY/X576nG/HK81/9pYI1AXeYetYyvlW/8CUpiD5MI1vUWLzZmzB8it V7UtmSyCtr00cQTLrdkATzvdZw+x0AL+6YVaEgg== Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The register access in bcmgenet_mii_config() is a little bit opaque and not easy to extend. In preparation for the missing RGMII PHY modes move all the phy name assignments into the switch statement and the register access to the end of the function. This make the code easier to read and extend. Signed-off-by: Stefan Wahren --- drivers/net/ethernet/broadcom/genet/bcmmii.c | 42 +++++++++++++--------------- 1 file changed, 20 insertions(+), 22 deletions(-) -- 2.7.4 diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/bcmmii.c index 6f291ee..021ce9e 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmmii.c +++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c @@ -213,11 +213,10 @@ int bcmgenet_mii_config(struct net_device *dev, bool init) udelay(2); } - priv->ext_phy = !priv->internal_phy && - (priv->phy_interface != PHY_INTERFACE_MODE_MOCA); - switch (priv->phy_interface) { case PHY_INTERFACE_MODE_INTERNAL: + phy_name = "internal PHY"; + /* fall through */ case PHY_INTERFACE_MODE_MOCA: /* Irrespective of the actually configured PHY speed (100 or * 1000) GENETv4 only has an internal GPHY so we will just end @@ -229,11 +228,7 @@ int bcmgenet_mii_config(struct net_device *dev, bool init) else port_ctrl = PORT_MODE_INT_EPHY; - bcmgenet_sys_writel(priv, port_ctrl, SYS_PORT_CTRL); - - if (priv->internal_phy) { - phy_name = "internal PHY"; - } else if (priv->phy_interface == PHY_INTERFACE_MODE_MOCA) { + if (!phy_name) { phy_name = "MoCA"; bcmgenet_moca_phy_setup(priv); } @@ -242,11 +237,7 @@ int bcmgenet_mii_config(struct net_device *dev, bool init) case PHY_INTERFACE_MODE_MII: phy_name = "external MII"; phy_set_max_speed(phydev, SPEED_100); - bcmgenet_sys_writel(priv, - PORT_MODE_EXT_EPHY, SYS_PORT_CTRL); - /* Restore the MII PHY after isolation */ - if (bmcr >= 0) - phy_write(phydev, MII_BMCR, bmcr); + port_ctrl = PORT_MODE_EXT_EPHY; break; case PHY_INTERFACE_MODE_REVMII: @@ -261,31 +252,38 @@ int bcmgenet_mii_config(struct net_device *dev, bool init) port_ctrl = PORT_MODE_EXT_RVMII_50; else port_ctrl = PORT_MODE_EXT_RVMII_25; - bcmgenet_sys_writel(priv, port_ctrl, SYS_PORT_CTRL); break; case PHY_INTERFACE_MODE_RGMII: /* RGMII_NO_ID: TXC transitions at the same time as TXD * (requires PCB or receiver-side delay) - * RGMII: Add 2ns delay on TXC (90 degree shift) * * ID is implicitly disabled for 100Mbps (RG)MII operation. */ + phy_name = "external RGMII (no delay)"; id_mode_dis = BIT(16); - /* fall through */ + port_ctrl = PORT_MODE_EXT_GPHY; + break; + case PHY_INTERFACE_MODE_RGMII_TXID: - if (id_mode_dis) - phy_name = "external RGMII (no delay)"; - else - phy_name = "external RGMII (TX delay)"; - bcmgenet_sys_writel(priv, - PORT_MODE_EXT_GPHY, SYS_PORT_CTRL); + /* RGMII_TXID: Add 2ns delay on TXC (90 degree shift) */ + phy_name = "external RGMII (TX delay)"; + port_ctrl = PORT_MODE_EXT_GPHY; break; default: dev_err(kdev, "unknown phy mode: %d\n", priv->phy_interface); return -EINVAL; } + bcmgenet_sys_writel(priv, port_ctrl, SYS_PORT_CTRL); + + /* Restore the MII PHY after isolation */ + if (bmcr >= 0) + phy_write(phydev, MII_BMCR, bmcr); + + priv->ext_phy = !priv->internal_phy && + (priv->phy_interface != PHY_INTERFACE_MODE_MOCA); + /* This is an external PHY (xMII), so we need to enable the RGMII * block for the interface to work */ From patchwork Mon Nov 11 19:49:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 1193096 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.net Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="AVblzHIf"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47BhMx0Cp8z9sP4 for ; Tue, 12 Nov 2019 06:51:41 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727500AbfKKTvh (ORCPT ); Mon, 11 Nov 2019 14:51:37 -0500 Received: from mout.gmx.net ([212.227.15.15]:48697 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727348AbfKKTvf (ORCPT ); Mon, 11 Nov 2019 14:51:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1573501793; bh=2nqc6rODnsja5qmJqja77SOFP0+FHJgseIDW5uO6jdg=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=AVblzHIfGzgF26rvCYE17NbdW2olTXt01mTERyPtXCpSF2tZMVEQd9cfb6Wvvy63n m3TZIJUyTupfc2obcP37bCm8WHxeu83DnLX3/Us/ryR6C1xGek1iqabJAXhn8/B05Z pB1CLff+Phf7vBpYOkmnfoipqm7F8DXE+AtWrQps= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.112]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MsYv3-1hbRzG0TUJ-00txqX; Mon, 11 Nov 2019 20:49:53 +0100 From: Stefan Wahren To: Matthias Brugger , Matthias Brugger , "David S . Miller" , Rob Herring , Florian Fainelli Cc: Eric Anholt , Nicolas Saenz Julienne , Doug Berger , netdev@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V5 net-next 6/7] net: bcmgenet: Add RGMII_RXID support Date: Mon, 11 Nov 2019 20:49:25 +0100 Message-Id: <1573501766-21154-7-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1573501766-21154-1-git-send-email-wahrenst@gmx.net> References: <1573501766-21154-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:ZOJfpg6u3NfseTrJXBluY7EW2RZP4PqNGXGc9v9JvJyVbCBP+yg 8nsEbKeJB74U3TnkStTI4ItXCmosERWXr39/a/Nezuq1bmiTiRX2pLO6S+DjC3+iWaeNRTn wYw5E40IG3FBwEqwpaTyWI1MXXzVY0BpaPPFz6bdWj70n/ecR/4LluJ/1FkzlWF4ycxH/T5 WZAsbauvHgTfi78LiyrGw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1; V03:K0:Z2sjTrTeI0U=:OUB7VCuUxbWWJwulchHDg0 XoqjilVPHJfyZ6PgueQaQ4q3H1peQgot7oXyN9Rxt0Z2Z/jiMcL8+68DLG5rDvBT7NbpP3eqH XDFXC75Ugs2YzaeFN3FowmBGuRLk+aqbAZM9jD2G/WezQPO4e7aIbZn2wjm2MM7rC16hHT6VA 7/fyQTFd/b+9t49qcPCQoE9XPoggcdX6JmQ0QSzRPXm5fmzz2ymc/6t/8oqd7l3T9yDvC8ui6 ya67seQTkZZMv3fiu5m1Lf71p/ZZc6pROPBYypzjGQLj/UaqOaftMk7YgyZN6vLkWeRrDnDIW reDBfbpVhW7LLjdTV+Qw3U3Cn+xOJeEOR4D0ZRIXuZSbh8LRLs9keXP5R1msVByo1mvNU7GMn tXH/Kzebc+fDpWDC124+/yCx7MvGRqbvdtUTyNCr+kZ+5uhfecMhN8z2NPFQuhFnYvzLtUHgZ ntUsE3ZZuIdfLgQyRsrLF1pOOwQ2qffJ/zLdCImgFGybpofZ4oBhEFpZB+QXMcoOGdmOTTS2W lCzqfVnTdwZLr6zEm646UfULczKmZ0SKvYxvy/51UN52KIsasn8KIuDZ+Gm4N5KCH9chzEF90 xOTkR5OEI9SfudDTEGQO+O84ns7OsAVf2QynejE0kCoRwdEBAjCVcd703WK7dFyb6HijeaH5y 8U2jy4rRYgV0k6Rp2qjgefQcxGxyanUjl0i2KM6iCkto+KvS6lNTXjghdNDxlpzQKDs+AOUSw bOZjG2oXnwpWpWAjQptwdR8DQbuzVj+6vxI0necVd2Wqf9SDxkkG57iLBEnp2cx7o4ZfLPwsA M1ov64mA+UgjXG8kQXS7V0ioX2/HMR96cbAWdnU3/5EvbGxs+fWvX55IoQzH1+QcRDBNdN4wM /+h8ysR0fbmqTZYLC0cJCM6d9zZYMZhA6uMrhT+Tlal45xCm5O+OBLYHV/uYGBWhSlTVZXVDW +nPxoK0VkEfjQJUPJJgP0gK82vkCQyQQfqaH9Ui3nn5bUG+Mf/MFERIhQ/44rz7Me7pw7h1eX 3WkI/IGzPmmr182kyPJ0yiDehlsIGz3fzTB3SNE/9Gdy0VK7izFIQggGEVKRClHGex+1Zlekz 1Kzh/DVHb0yZlNyDgRXEFpyY3SYznsmQhzZ6tMY/eWdOeOgNiDAcFBt+tbzrY22xTR3uYekHv W1wNLtEYn9C1c+Wz2zBGdCAVw0q12GekHRHUIay9IoqbqnUg4nohQznXm5cgro6kmgc0eQEFl 4sPVhdqxNcqGjj4+p8j/H+tYgGZel/k4uEl0Etw== Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This adds the missing support for the PHY mode RGMII_RXID. It's necessary for the Raspberry Pi 4. Signed-off-by: Stefan Wahren Acked-by: Florian Fainelli --- drivers/net/ethernet/broadcom/genet/bcmmii.c | 5 +++++ 1 file changed, 5 insertions(+) -- 2.7.4 diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/bcmmii.c index 021ce9e..6392a25 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmmii.c +++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c @@ -270,6 +270,11 @@ int bcmgenet_mii_config(struct net_device *dev, bool init) phy_name = "external RGMII (TX delay)"; port_ctrl = PORT_MODE_EXT_GPHY; break; + + case PHY_INTERFACE_MODE_RGMII_RXID: + phy_name = "external RGMII (RX delay)"; + port_ctrl = PORT_MODE_EXT_GPHY; + break; default: dev_err(kdev, "unknown phy mode: %d\n", priv->phy_interface); return -EINVAL; From patchwork Mon Nov 11 19:49:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 1193098 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=gmx.net Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="ZWLhzips"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 47BhN13ZVpz9sP3 for ; Tue, 12 Nov 2019 06:51:45 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727568AbfKKTvj (ORCPT ); Mon, 11 Nov 2019 14:51:39 -0500 Received: from mout.gmx.net ([212.227.15.15]:41555 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727345AbfKKTvg (ORCPT ); Mon, 11 Nov 2019 14:51:36 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1573501793; bh=am5k+ShH8U/QfQdyBRZNILtXr6ux5dgQyoLfNDeiNlM=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=ZWLhzips9JEVDIrybY6YZcYBeIVNzxFEKx90FCwd2Yiba8sDGCabOeWQ347jmVkr7 ogVIhSnMlCy45GR5EjCClDrm3fXviNF7L7mKdH6W5/MiD3CMKn7EB3KMm/4a06aBHU uZqFYg9N9RGBN5PsEVU3JvL8fdUFDi8zGLmo67wg= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([37.4.249.112]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MGz1V-1ihfgw2UBX-00E9p7; Mon, 11 Nov 2019 20:49:53 +0100 From: Stefan Wahren To: Matthias Brugger , Matthias Brugger , "David S . Miller" , Rob Herring , Florian Fainelli Cc: Eric Anholt , Nicolas Saenz Julienne , Doug Berger , netdev@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, Stefan Wahren Subject: [PATCH V5 net-next 7/7] ARM: dts: bcm2711-rpi-4: Enable GENET support Date: Mon, 11 Nov 2019 20:49:26 +0100 Message-Id: <1573501766-21154-8-git-send-email-wahrenst@gmx.net> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1573501766-21154-1-git-send-email-wahrenst@gmx.net> References: <1573501766-21154-1-git-send-email-wahrenst@gmx.net> X-Provags-ID: V03:K1:UbrYrgHW74lfPA+tgJPjDhRQ6IU7i7clWdYMrwjznjqM4z8OCOv 9soJZvWh6RiQjlx86Z4/ybxzlbBbCNoWCxQlfbKHxsUtUJapUW6VkMLllv8A6l7+DKr0up1 ttn3VEs/6ZR1/JwC/HOvqKkvM3mCvjip6er3QlQeVsN+hQZE2GCRPObWy2qgkIvbZqajF/3 ROvXvD0XmLIqc4aQSP1rQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1; V03:K0:grgUlR0qMM0=:g+87Wk7DpT63/3SlHoio/H QTUC9LkZyBoxnpDHuuTBxZ/sMXjNFqsmoWwwM2K+4MblutuXqlS4LSx6XAto5aNy5VDpvDVr3 TeukniDGy+yKwRev2xXONw9DYmMCGX/CPQfzx1/ZBuh9Zu9t+KoTBx/rUlFdGgXO4hyEGdKHJ UOOA+tbd95sjl/72JNSNcophpZkRTX4n5LB53ye3OnxxBUKDe0NMhs5cmgn4z2wmb0OzQTPeK v/+4gOLM7ebmIqchn6JVJx4UgaMMLmryU9TDCn3Y0/R6MK+R8nl5DzK9nPFfYPMhcpys0gJoz DzYwn1bzopphNrPyKVz4dQVQ8KnEurKaMeJA791iWl3dSdaJgdx9Y5EfM3vzOGRlwSgQIFAy2 n1uBj3fkakArQ1PWdY4Pwj8GrjZL2RaOF/NCJSfDkBfVpwGrYi2Wv4QaUsPBi+/N0bYxnuns3 64zBjryA+Wc7EDF3CGRs//6C2F9Nxi8WT9sUjSz1+zfGv1a2J34qvKj5N6KlrW97i9jytGp++ qmds288WQfB1aOAUVS9+OIDzlogo0HgFpmc8jWNXvOnfpmsPpfD97Gqb9iOGchjgLDPNzTshl RLjKvGqQ7NBwStZkAMW+aXZG4kWRIa8PoQNSudd7qaXFsvcxf4FQl0C6XwyBn1bGXsM3x5zKn v4vtMQARqStBLrQpwBfzUogAFjX8eV8wh6/ynFcugCQNzlyPAGtVIMI7weinOJbIWcSd97FxD 44mlK961rBcPBKnKssezG3ujTgMzaYS3GoWVUndhTmHMK0EqB1JR2uk/7fYFCwJrnMAdrP1Re v/QaGTh6TxXjhCUs5DMV/z/VQzNTpcOIWKvxi2hJLCp5oGCR5Qpbn6tG3rVEhO9G4bapQoNBz NnbuortocfuBz5itzKt3kbP3DhNB/bSFqko8fMcqAOht1OCcl734k2NWv5pemPxIcJLN3CxfX Dk0i2s+aCoKNKyj4Jy/TQ3ZUmDhcvQDQxP+uOLK8/FXXHOKUBvvTEq/nUCRi4q2Xy/DguPc/e Dfl026/Hx2EmacHN7BvXV2fow57s1hn6E9ThXG9Jg/dZsNsniuOu0NBojv61W+CfyvqlUehYt 2zUo3kipSI/irjy5lJ1gl9G+Z87s6h5gMRsIX4aw0eQNoZZWghmawg8POkiAU0geDOkkgJV0s rIRz2cXTRziCZrLf0AY8i/LEuLsMH3CGTbyLtTxtwcak9P7RhUd/+2oGP02Lt3MaE6kScdQiN VyE18gITYg62+tlQUO54NRoHQ2JhoNBOHHsJSCw== Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This enables the Gigabit Ethernet support on the Raspberry Pi 4. The defined PHY mode is equivalent to the default register settings in the downstream tree. Signed-off-by: Matthias Brugger Signed-off-by: Stefan Wahren Reviewed-by: Florian Fainelli --- arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 17 +++++++++++++++++ arch/arm/boot/dts/bcm2711.dtsi | 26 ++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) -- 2.7.4 diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts index cccc1cc..1b5a835 100644 --- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts +++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts @@ -19,6 +19,10 @@ reg = <0 0 0>; }; + aliases { + ethernet0 = &genet; + }; + leds { act { gpios = <&gpio 42 GPIO_ACTIVE_HIGH>; @@ -97,6 +101,19 @@ status = "okay"; }; +&genet { + phy-handle = <&phy1>; + phy-mode = "rgmii-rxid"; + status = "okay"; +}; + +&genet_mdio { + phy1: ethernet-phy@1 { + /* No PHY interrupt */ + reg = <0x1>; + }; +}; + /* uart0 communicates with the BT module */ &uart0 { pinctrl-names = "default"; diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi index ac83dac..a571223 100644 --- a/arch/arm/boot/dts/bcm2711.dtsi +++ b/arch/arm/boot/dts/bcm2711.dtsi @@ -305,6 +305,32 @@ cpu-release-addr = <0x0 0x000000f0>; }; }; + + scb { + compatible = "simple-bus"; + #address-cells = <2>; + #size-cells = <1>; + + ranges = <0x0 0x7c000000 0x0 0xfc000000 0x03800000>; + + genet: ethernet@7d580000 { + compatible = "brcm,bcm2711-genet-v5"; + reg = <0x0 0x7d580000 0x10000>; + #address-cells = <0x1>; + #size-cells = <0x1>; + interrupts = , + ; + status = "disabled"; + + genet_mdio: mdio@e14 { + compatible = "brcm,genet-mdio-v5"; + reg = <0xe14 0x8>; + reg-names = "mdio"; + #address-cells = <0x0>; + #size-cells = <0x1>; + }; + }; + }; }; &clk_osc {