From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5CF3FC433EF for ; Wed, 29 Sep 2021 15:05:38 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A87B5613A6 for ; Wed, 29 Sep 2021 15:05:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org A87B5613A6 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id F3FAE80F12; Wed, 29 Sep 2021 17:05:25 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="C1CUyYkV"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4A289807CD; Wed, 29 Sep 2021 17:05:12 +0200 (CEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on0604.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::604]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id C90CA80691 for ; Wed, 29 Sep 2021 17:05:02 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=vladimir.oltean@nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J65DUsYSujG/dHKpJvq5DFeuWfpNlqczvzuXEjvcuFQy52Or/uzD6JbvtXjR4ewZOy5wne63TRtm/Ci22Z2MGVqGpziw9LUqhrnvLh4TyOap/DojvK6wy1LiDj5m73b4ibPbgY2iEjdjfwSXfSnHtroIHBA6qmFZBkCtsqsvN+90PW9I0SnY613MP43CBgajDs9VwGAMnVC/rQ6mD6uo3Vu/VhzgNaiYhtoMZBW7DdmiLaUCwqaYXgMOf8vMO4rsEadpw9KAHLqwxIfA93ZRShYt7wfb9TAZZ4rb/PB3YcaHWms2VIVizCCbyPxJ4906fwl9+B7srNBAego3TENE8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=CR7CLe0I4hl8V4FvK7eNZAG1vumC9spDiVCa+gfZU7U=; b=evK6SZ6Xw1DczcAp1hs13jxMH3k4oHibFXeGJyDiwZ9tTfKlVI4XUUFSweAC59b8PATtf+f1DrYWgYFnnYU3Jjsd6OQV5k4yTaxiInxS7x/VWUnmyzAqaWTbUTg46Zp7L6AXzScw11F5OxRPApKrNluSBf6q5SZIqb8y3nUBpHVZ+Rp9aBuAFEBOvazEqqbQ/iG+wdIjQGWoxUfCyamxpDTzwzyTnLJJS0LH3TcRuntUl2VT+SlhOM/bPJc5eSCnPsEnJWm8yY2vnMW3tCPjNp0nB2oVXblu8uZtwGFy6WmK7lmB+aVGVp0R9NI7KFB+1vNrwogDXFanf3N0GzvOJw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CR7CLe0I4hl8V4FvK7eNZAG1vumC9spDiVCa+gfZU7U=; b=C1CUyYkVpx5MYCBK130VeLttXZyxKvm5yKaKmZ+KI9zneFvbxAJhYkM7iK7ZbqPK/H4QQqwX8sg9UMb3q8Zh8DOlkDUVczDmKrgD3+jJqTgJDr9qc+jA6hTXIgrei1sgMIbQVYyf1/DF1gqSO7fL1VdQeQoqGYNVasFDEiCexHo= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB5136.eurprd04.prod.outlook.com (2603:10a6:803:55::19) by VI1PR0402MB3550.eurprd04.prod.outlook.com (2603:10a6:803:3::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.20; Wed, 29 Sep 2021 15:05:01 +0000 Received: from VI1PR04MB5136.eurprd04.prod.outlook.com ([fe80::e157:3280:7bc3:18c4]) by VI1PR04MB5136.eurprd04.prod.outlook.com ([fe80::e157:3280:7bc3:18c4%5]) with mapi id 15.20.4544.022; Wed, 29 Sep 2021 15:05:01 +0000 From: Vladimir Oltean To: u-boot@lists.denx.de, Joe Hershberger , Ramon Fried Cc: Priyanka Jain , Bin Meng , Michael Walle Subject: [PATCH v2 01/10] net: tsec: add support for promiscuous mode Date: Wed, 29 Sep 2021 18:04:36 +0300 Message-Id: <20210929150445.1593364-2-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210929150445.1593364-1-vladimir.oltean@nxp.com> References: <20210929150445.1593364-1-vladimir.oltean@nxp.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: AM0PR01CA0171.eurprd01.prod.exchangelabs.com (2603:10a6:208:aa::40) To VI1PR04MB5136.eurprd04.prod.outlook.com (2603:10a6:803:55::19) MIME-Version: 1.0 Received: from localhost.localdomain (188.26.53.217) by AM0PR01CA0171.eurprd01.prod.exchangelabs.com (2603:10a6:208:aa::40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14 via Frontend Transport; Wed, 29 Sep 2021 15:05:00 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 17dd8e2a-4de3-4870-73b2-08d9835a82c3 X-MS-TrafficTypeDiagnostic: VI1PR0402MB3550: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZRhCVrXUgzeCLSBUkwZsWVgZve7l2QeM/DW325ZQi7NWCq5EJekwT1MWJiFFCALXIqceU399iIhohuDL3aL32d7dKrkbvER4IIV+cyR4QAss9gFbwYWBLim4Ai1qf/rI9j6D3/3KROMis9PxECW/lJhzHmah9AICqgOlne9jaG4eSAAPfzi1Betr3H9n3mMYF6W6tXsn/L066UDJkq3RmC4dv4yq9CnsvQM+Gj04X5MyKN+TecMVN/YhvJSq7ov8v8oh5c2W2e2fjawSTUMA/elzds4q+3+GH6JBhjUxk9kltmCJqYVaBUImol/tLVssjZjZN9Rnn/JdlFSN9dXMEw7C/Kl+39+o2c5Zl3mJUAeRPjZZXePdm7awazb0jjfLdJ6bAU5UMzmRrkE3xxD5Fy+LFIYfJZsEIy0VcD7yCQOBBncx1Tku5hRZ75cS5b8SoNi//maqolUe+KRjLceBoE38z91wRacG43T0QVZnwnl4APhY0bf3Gp5Yw6Xtjsl5jNE6cxDMfycRvBlFsRdUBjzsaJM44YEVBkrewyxb0lfyhuMNwQciY+cMmxqQe2rB658yF19iN+62BkH3JrDFq4BsdErAckS4sz/NkclBj/8eJrmooa251tscQ6s4WgqxB+DmeKfCvcAsk2f18DQm/INK03W2ONm6cG1Db9jvj1J1ck+yjksFw4FjsX351MHGXdbx/Wg7/LS7cVqLAW9a8Q== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB5136.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(8936002)(54906003)(83380400001)(66476007)(508600001)(6512007)(2906002)(4326008)(2616005)(44832011)(86362001)(956004)(1076003)(316002)(66946007)(110136005)(36756003)(186003)(6486002)(8676002)(5660300002)(52116002)(38100700002)(6506007)(38350700002)(6666004)(26005)(66556008); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?uEtNLgMOVXglwh8hgLryIyzMjaGIDhJNB4dpN7P+tWJfAaiczHd+AmkRlYfD?= =?us-ascii?Q?VuS/HaE8KXxBRXbBlEhISHBdBsKZ6BbJQ1RzcSd1n340G+Z8adCau30rbiRo?= =?us-ascii?Q?0MUtAgGfpghaS9rzycSo3AEPsBOEnsiFSdbAyrbQBabs99oDfVXrvhjfoPLq?= =?us-ascii?Q?4nj6lJ7/VxIEPQVV5U4mAzdSDdk99LA/9Pn0uqbI6B/AXmmrJwG6YzYtk3lT?= =?us-ascii?Q?Fw83ji34+FKYlHw5G8JhjtFHdFXLNtEYQ0y6Nn7q0j9zEkbkUDc+Sdc9Oskl?= =?us-ascii?Q?qotraLY0XptNmc7ZV6dfL9PifzrlHvrR2RWeLv1j/WPs773cKtUYmVJ7POZB?= =?us-ascii?Q?+4YsQs0WFVod3wNY8nFi4WyeF5eliC+uTYJPq6dJhAv9kraI8qqVct28mGCW?= =?us-ascii?Q?e1czXPazfon0K1mRohyfhV7rRy5dgjwE6jbmx1g38wh68KtDQVYhdHntzevO?= =?us-ascii?Q?ULMIG+WpHvuzqvs7PYAf1uvxYQGoNYLVD2lu8qOPn5l3EisT8sUUTkXjSyV/?= =?us-ascii?Q?0uEdBQHqCyUIYyCXM93GgXdqQ4gyjr+dDLbiWYYCdl5LDcC0lis1LzvPch1c?= =?us-ascii?Q?63rMOQNZ4mvvq0Plxb1CR41JCB5irYOCxKxcmRtIw8ZroH0pl2ZcX6mRyHU+?= =?us-ascii?Q?K+gbZGiTsRM9Kztv5HaUqfnbqsbEiaWPHlLFdxwG2yUFYrgNqMUagmZ76/zo?= =?us-ascii?Q?xJZmMVRio9jUrnzbnqv473wanuK94ovtbBErAAeXoaN2CdoC7GARuKpRFHMS?= =?us-ascii?Q?aduXljL/8TIO/HbG4E/ug8Dh/RxhhiiIAKpxskZwYcxnYRB+8ByqhTILL4Tr?= =?us-ascii?Q?uOiZmHf0IXbekevXq8BU4q5dqj/CpRGV0bqDtIduAQOinRn6LIps5NfuO2g9?= =?us-ascii?Q?501HBMDdtAZFvHhyPJktXmkEB6Bgr4xTmlHgauIouLA7exvycwntSQW25lLL?= =?us-ascii?Q?NFtwMCnvIrZBr85/mibSPvCP/ZAsoGbWt1cswsB7nKbIkq68uGUkQqtJmoxR?= =?us-ascii?Q?4W69ru3YfqTDpHUVKVLdpvatJtSO5IRpZEnf3ssht5ngHqmfvRbciRa8p6Sp?= =?us-ascii?Q?SR0qzeAIp+T14P60+W2njXnAdExEM4h1m/hhKdB5/KNYX5MS0UrtYtoTqTRq?= =?us-ascii?Q?76BYQglbSDxj6PdU3AkXP0WHsuMpc1ZMeSnUAyJtZ9xjJe5xNG1P+qHwfsdE?= =?us-ascii?Q?vWCm7g8CBCO6spmewQjC+a9bIY7TA6d60EnKOOP/YesOfk8CdhKRabTKmJjj?= =?us-ascii?Q?8qUO8mA48txhW0CZ2701L+5DUx3YHBYNcO6akEjdJIpeavtH78pJ7VYGms5H?= =?us-ascii?Q?sovfcFCCNk1UdURbinplpl99?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 17dd8e2a-4de3-4870-73b2-08d9835a82c3 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5136.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Sep 2021 15:05:01.5447 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +OTujCmHgbsWIe94G34s0KpSyOlFzIcUtBjDEa89Mlu+mw1ihLracSm9TFzq3uCLs/c8Yeia32UQ7PWVdYnZFg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3550 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean The Freescale TSEC can be a DSA master, and the ports of the attached DSA switch can have different MAC addresses compared to the TSEC. Nonetheless, the TSEC must receive the packets on behalf of those switch ports. Therefore, implement the promiscuous mode method to allow DSA to set this. Note that the init_registers() function called from eth_ops :: start overwrites this setting. There is no reason why the RCTRL register should be zero-initialized, so just stop clearing it so that the setting we applied in eth_ops :: set_promisc sticks. Signed-off-by: Vladimir Oltean Reviewed-by: Ramon Fried Reviewed-by: Bin Meng --- v1->v2: none drivers/net/tsec.c | 20 ++++++++++++++++---- include/tsec.h | 2 ++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c index 0ce97656715f..4354753cab9c 100644 --- a/drivers/net/tsec.c +++ b/drivers/net/tsec.c @@ -156,6 +156,19 @@ static int tsec_mcast_addr(struct udevice *dev, const u8 *mcast_mac, int join) return 0; } +static int tsec_set_promisc(struct udevice *dev, bool enable) +{ + struct tsec_private *priv = dev_get_priv(dev); + struct tsec __iomem *regs = priv->regs; + + if (enable) + setbits_be32(®s->rctrl, RCTRL_PROM); + else + clrbits_be32(®s->rctrl, RCTRL_PROM); + + return 0; +} + /* * Initialized required registers to appropriate values, zeroing * those we don't care about (unless zero is bad, in which case, @@ -186,8 +199,6 @@ static void init_registers(struct tsec __iomem *regs) out_be32(®s->hash.gaddr6, 0); out_be32(®s->hash.gaddr7, 0); - out_be32(®s->rctrl, 0x00000000); - /* Init RMON mib registers */ memset((void *)®s->rmon, 0, sizeof(regs->rmon)); @@ -454,7 +465,7 @@ void redundant_init(struct tsec_private *priv) 0x71, 0x72}; /* Enable promiscuous mode */ - setbits_be32(®s->rctrl, 0x8); + setbits_be32(®s->rctrl, RCTRL_PROM); /* Enable loopback mode */ setbits_be32(®s->maccfg1, MACCFG1_LOOPBACK); /* Enable transmit and receive */ @@ -506,7 +517,7 @@ void redundant_init(struct tsec_private *priv) if (fail) panic("eTSEC init fail!\n"); /* Disable promiscuous mode */ - clrbits_be32(®s->rctrl, 0x8); + clrbits_be32(®s->rctrl, RCTRL_PROM); /* Disable loopback mode */ clrbits_be32(®s->maccfg1, MACCFG1_LOOPBACK); } @@ -932,6 +943,7 @@ static const struct eth_ops tsec_ops = { .free_pkt = tsec_free_pkt, .stop = tsec_halt, .mcast = tsec_mcast_addr, + .set_promisc = tsec_set_promisc, }; static struct tsec_data etsec2_data = { diff --git a/include/tsec.h b/include/tsec.h index 5433cfd96610..044ee35a91bd 100644 --- a/include/tsec.h +++ b/include/tsec.h @@ -122,6 +122,8 @@ #define ECNTRL_REDUCED_MII_MODE 0x00000004 #define ECNTRL_SGMII_MODE 0x00000002 +#define RCTRL_PROM 0x00000008 + #ifndef CONFIG_SYS_TBIPA_VALUE # define CONFIG_SYS_TBIPA_VALUE 0x1f #endif -- 2.25.1