Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp527377imm; Wed, 6 Jun 2018 01:33:08 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLI2Igwu6ZyP64GS459eD1UmK8WhQceHt+S/Xi0rg8YmUR7D1hY1gl7FcWd1BaXhkARGB/V X-Received: by 2002:a17:902:6f0f:: with SMTP id w15-v6mr1825651plk.216.1528273988914; Wed, 06 Jun 2018 01:33:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528273988; cv=none; d=google.com; s=arc-20160816; b=I87jgYMky1nVtfoxeAvXh7fYMtVPead6v3fxbMBt6sDAQZELtBPldJbH7WYHcZmynH Zn2HRe8zsIind6UJdJFZ/3foOl2d2rf7N0KakVrWmld2Q3mldJ0zbpaHAdi2rDgyY+oM 7IiOrO8RSu8fnU2ro4+cY+rylN+Zn1XBq54KUM7/W48n0lLtU2SBbdBBwtm4WbDTJga/ lrAy5+GIiTkPXDhWRoW0pcfUWlikd2X3Mcc2YM9mfVEvZlPAlJZYPjOW7pl8IagqSXOs brNSKt43CMTZN9KHHOIbwJzxGiGeIjqE69k/5pbDJnQLAKoZCkRg528e6SDDSO5H3Ztd WYWQ== 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:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature:arc-authentication-results; bh=X3D9drMYAAK57CALv9QdB/RRK8r0O0GnaSztZOebd4c=; b=XNhiqkoud6ZEpWw6z3FX1TjxeC7w2PFr0/fVYDb4kpBJpL9YwiuqnGO4sUFeXN1he+ KIr/jIFvOrWjmfIRljIyeGKXfIJq6+BjB9gpjxRMAneBfPOhm/iwd3123KUlMmRj9ws3 3s8FLzqI5OF+4GqJkW5CZU/tZRwKUYrMPmNuel8n6SViZe++mFfpRseTrFfLWphRlO23 oPB7sGHb0BxUD0Pu0bYuQx2l93TgxMu6CW3ZWD8Ps87YOcHcAYyqyjgu3wulfDA34oOX mrXVPNVJIGYrCXnS2L3/rnDTb6W/DGXtrRjXVR+ykfgJtkKrLHzglNyiTWVKPLG0+kpS RA7Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=IPpBhinz; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w21-v6si49605894plp.199.2018.06.06.01.32.54; Wed, 06 Jun 2018 01:33:08 -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=@gmail.com header.s=20161025 header.b=IPpBhinz; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932423AbeFFIca (ORCPT + 99 others); Wed, 6 Jun 2018 04:32:30 -0400 Received: from mail-yw0-f195.google.com ([209.85.161.195]:43079 "EHLO mail-yw0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932364AbeFFIc3 (ORCPT ); Wed, 6 Jun 2018 04:32:29 -0400 Received: by mail-yw0-f195.google.com with SMTP id r19-v6so1615358ywc.10; Wed, 06 Jun 2018 01:32:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=X3D9drMYAAK57CALv9QdB/RRK8r0O0GnaSztZOebd4c=; b=IPpBhinz0pWYc3q8V8d5pGJ+zyO8lJk03B/fXCrvTTasah3j9ebvT5xJcjDtqptI0K 22rCm6HbwOFhf869AD29XtFb6a+IDw0kzUq8UCZSVfrF3oTrkzGuK7pGIG8NnPR6VvK+ wzCqWfLolrbmyFzmIUh8ILUcp9o9IC8ujSibBHZjwelG3B23eTHx33X1X/0hQAAf+ybm kmy+XEUAciUygUI1haRuvJjLVKm8y9182YFGT9Ivqi6s8GxZdWkIFM2ZQFjV0HFd5uLE Rg0TWZ4s+maQ2sAZC6WnRNw3XswAiBPoU1Ol6SmNlUlXSDSaqCG8FyRs/ZbcD7PRoPeZ X2ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=X3D9drMYAAK57CALv9QdB/RRK8r0O0GnaSztZOebd4c=; b=azqX4jChEH7pxeLJVAoReSpSZXhAaMnh3caPcDPKDVtcq7XVtesvJJirFqCOCBTFoK XzjU5Z+3cWyGMTZdYoULWBTMy4UYCpBp3qMyPR1+mxy03SJV1mNnwBHIxN/L88EEbopk fVJ3DbPCvcXQzWpEaak0www44aM2szeRPDJN9W3+uTk2FfOBYg3JMIYwpEwj1HNTC59z bdDuDD+nD8SuubRlaK2wyjfw4LDZlWLPeZoAl0eM5cancKsykMz+NNSeJs6P75Pw0Nkp W9BLHs3gfBR26cTL0sbYyiVYGe6lnomXwF3fPo6nAFVRDSRErKWuPEK/Q1XaZSi7IPCY Ih1w== X-Gm-Message-State: APt69E3FrejzoBOTwEbIiGTPPDzCS1HFPVU4aZR2vNeYjCvwVtuTDMuv 4jQs31WN3YoVsCekE6VQXQjOzDP8hjLKaSDPWzE= X-Received: by 2002:a81:ae47:: with SMTP id g7-v6mr896765ywk.349.1528273948227; Wed, 06 Jun 2018 01:32:28 -0700 (PDT) MIME-Version: 1.0 References: <1528231092-31472-1-git-send-email-arun.parameswaran@broadcom.com> <8bb9ab39-a38b-9492-975e-d76c864ff8ff@broadcom.com> In-Reply-To: <8bb9ab39-a38b-9492-975e-d76c864ff8ff@broadcom.com> From: =?UTF-8?B?Q2zDqW1lbnQgUMOpcm9u?= Date: Wed, 6 Jun 2018 10:32:16 +0200 Message-ID: Subject: Re: [PATCH 1/1] net: dsa: b53: Fix for brcm tag issue in Cygnus SoC To: scott.branden@broadcom.com Cc: arun.parameswaran@broadcom.com, Florian Fainelli , vivien.didelot@savoirfairelinux.com, andrew@lunn.ch, davem@davemloft.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, BCM Kernel Feedback Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Scott, On Tue, 5 Jun 2018 at 22:55, Scott Branden wro= te: > > Clement, > > Please test this works for your issue. Tested on top of 4.17.0 with a BCM58305 Tested-by: Cl=C3=A9ment P=C3=A9ron > > > On 18-06-05 01:38 PM, Arun Parameswaran wrote: > > In the Broadcom Cygnus SoC, the brcm tag needs to be inserted > > in between the mac address and the ether type (should use > > 'DSA_PROTO_TAG_BRCM') for the packets sent to the internal > > b53 switch. > > > > Since the Cygnus was added with the BCM58XX device id and the > > BCM58XX uses 'DSA_PROTO_TAG_BRCM_PREPEND', the data path is > > broken, due to the incorrect brcm tag location. > > > > Add a new b53 device id (BCM583XX) for Cygnus family to fix the > > issue. Add the new device id to the BCM58XX family as Cygnus > > is similar to the BCM58XX in most other functionalities. > > > > Fixes: 11606039604c ("net: dsa: b53: Support prepended Broadcom tags") > > > > Signed-off-by: Arun Parameswaran > Acked-by: Scott Branden > > --- > > drivers/net/dsa/b53/b53_common.c | 15 ++++++++++++++- > > drivers/net/dsa/b53/b53_priv.h | 2 ++ > > drivers/net/dsa/b53/b53_srab.c | 4 ++-- > > 3 files changed, 18 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53= _common.c > > index 3da5fca..bbc6cc6 100644 > > --- a/drivers/net/dsa/b53/b53_common.c > > +++ b/drivers/net/dsa/b53/b53_common.c > > @@ -684,7 +684,8 @@ static int b53_switch_reset(struct b53_device *dev) > > * still use this driver as a library and need to perform the res= et > > * earlier. > > */ > > - if (dev->chip_id =3D=3D BCM58XX_DEVICE_ID) { > > + if (dev->chip_id =3D=3D BCM58XX_DEVICE_ID || > > + dev->chip_id =3D=3D BCM583XX_DEVICE_ID) { > > b53_read8(dev, B53_CTRL_PAGE, B53_SOFTRESET, ®); > > reg |=3D SW_RST | EN_SW_RST | EN_CH_RST; > > b53_write8(dev, B53_CTRL_PAGE, B53_SOFTRESET, reg); > > @@ -1880,6 +1881,18 @@ struct b53_chip_data { > > .jumbo_size_reg =3D B53_JUMBO_MAX_SIZE, > > }, > > { > > + .chip_id =3D BCM583XX_DEVICE_ID, > > + .dev_name =3D "BCM583xx/11360", > > + .vlans =3D 4096, > > + .enabled_ports =3D 0x103, > > + .arl_entries =3D 4, > > + .cpu_port =3D B53_CPU_PORT, > > + .vta_regs =3D B53_VTA_REGS, > > + .duplex_reg =3D B53_DUPLEX_STAT_GE, > > + .jumbo_pm_reg =3D B53_JUMBO_PORT_MASK, > > + .jumbo_size_reg =3D B53_JUMBO_MAX_SIZE, > > + }, > > + { > > .chip_id =3D BCM7445_DEVICE_ID, > > .dev_name =3D "BCM7445", > > .vlans =3D 4096, > > diff --git a/drivers/net/dsa/b53/b53_priv.h b/drivers/net/dsa/b53/b53_p= riv.h > > index 3b57f47..b232aaa 100644 > > --- a/drivers/net/dsa/b53/b53_priv.h > > +++ b/drivers/net/dsa/b53/b53_priv.h > > @@ -62,6 +62,7 @@ enum { > > BCM53018_DEVICE_ID =3D 0x53018, > > BCM53019_DEVICE_ID =3D 0x53019, > > BCM58XX_DEVICE_ID =3D 0x5800, > > + BCM583XX_DEVICE_ID =3D 0x58300, > > BCM7445_DEVICE_ID =3D 0x7445, > > BCM7278_DEVICE_ID =3D 0x7278, > > }; > > @@ -181,6 +182,7 @@ static inline int is5301x(struct b53_device *dev) > > static inline int is58xx(struct b53_device *dev) > > { > > return dev->chip_id =3D=3D BCM58XX_DEVICE_ID || > > + dev->chip_id =3D=3D BCM583XX_DEVICE_ID || > > dev->chip_id =3D=3D BCM7445_DEVICE_ID || > > dev->chip_id =3D=3D BCM7278_DEVICE_ID; > > } > > diff --git a/drivers/net/dsa/b53/b53_srab.c b/drivers/net/dsa/b53/b53_s= rab.c > > index c37ffd1..8247481 100644 > > --- a/drivers/net/dsa/b53/b53_srab.c > > +++ b/drivers/net/dsa/b53/b53_srab.c > > @@ -364,7 +364,7 @@ static int b53_srab_write64(struct b53_device *dev,= u8 page, u8 reg, > > { .compatible =3D "brcm,bcm53018-srab" }, > > { .compatible =3D "brcm,bcm53019-srab" }, > > { .compatible =3D "brcm,bcm5301x-srab" }, > > - { .compatible =3D "brcm,bcm11360-srab", .data =3D (void *)BCM58XX= _DEVICE_ID }, > > + { .compatible =3D "brcm,bcm11360-srab", .data =3D (void *)BCM583X= X_DEVICE_ID }, > > { .compatible =3D "brcm,bcm58522-srab", .data =3D (void *)BCM58XX= _DEVICE_ID }, > > { .compatible =3D "brcm,bcm58525-srab", .data =3D (void *)BCM58XX= _DEVICE_ID }, > > { .compatible =3D "brcm,bcm58535-srab", .data =3D (void *)BCM58XX= _DEVICE_ID }, > > @@ -372,7 +372,7 @@ static int b53_srab_write64(struct b53_device *dev,= u8 page, u8 reg, > > { .compatible =3D "brcm,bcm58623-srab", .data =3D (void *)BCM58XX= _DEVICE_ID }, > > { .compatible =3D "brcm,bcm58625-srab", .data =3D (void *)BCM58XX= _DEVICE_ID }, > > { .compatible =3D "brcm,bcm88312-srab", .data =3D (void *)BCM58XX= _DEVICE_ID }, > > - { .compatible =3D "brcm,cygnus-srab", .data =3D (void *)BCM58XX_D= EVICE_ID }, > > + { .compatible =3D "brcm,cygnus-srab", .data =3D (void *)BCM583XX_= DEVICE_ID }, > > { .compatible =3D "brcm,nsp-srab", .data =3D (void *)BCM58XX_DEVI= CE_ID }, > > { /* sentinel */ }, > > }; >