From patchwork Wed Nov 30 14:35:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Horatiu Vultur X-Patchwork-Id: 13059992 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 45920C4332F for ; Wed, 30 Nov 2022 14:33:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:CC :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=TKaFzOQuOATjtTKWmtuuDMM88e81MJCh8EwoaGkdeho=; b=giYvO8rbBsNl8w ++AOQplvUdr2tcV2RaSVtzzxl4VauuD7Q6RJDFtRpqfjtpr0phVHWZ1ZwoEan7e/Gi//eocfAUWJh ki98KKPmKjyoJBi9ZgZUweqRtHAR1KAMsJdcRzMN7jqlVRGkmfDGH92CZAM4BzRRswkQfd6+c/Tmi tZyzVhRYCFH/bFMjPS3IQp/F+tKP2ViS6P+qBg4upWQm54II2GJbmnt6Dy0QGbd1LVX6XTYwlqKg3 /Jao2Y7IjkGnxHpmrRVcNbeppCi0APmd8bOuOEKxMkJNvYGdrMGuWRJIkPXwX7hjsHnGq+8j24W2M RReD3WQs3vI3zBOUxtYA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1p0O8L-00GuSD-2Y; Wed, 30 Nov 2022 14:32:21 +0000 Received: from esa.microchip.iphmx.com ([68.232.153.233]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1p0O85-00GuIj-66 for linux-arm-kernel@lists.infradead.org; Wed, 30 Nov 2022 14:32:07 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1669818724; x=1701354724; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=xNeeYKcuuL17q/h3xuxpvAFdAFsSZaH6f0KB/erzzB0=; b=oxCRsjXMXpGU2Jb0FDeL7UvACygGvcA7+OrAOyTOweNiGgB+FW1b0gpA j44I7pT92glRUo4/c120QIE4mTmhnycfnsc985YVGcabeso31xLuL/OLL n8CznLJPGkcvNIHR0Kgr+psiikcktz7cIy44DDIiBpwriOMgd8K8Xyg98 WGLm+m9SEdXw01vWGKtQ/H0TptdPQMcYT9xuLV+LeHJ+QMB80o6PlHPhI 4DafXul2h55wJQAl3qBokonaTkrBJn3b4n64vQ1dzuBGqux53rxXnymkb sp8oFbXaluA/YB8PXx2AgEvfyQp3onyuHJ9Rn3YDaVXK8HwikZXDIwP9m A==; X-IronPort-AV: E=Sophos;i="5.96,206,1665471600"; d="scan'208";a="191144748" Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa5.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 30 Nov 2022 07:30:28 -0700 Received: from chn-vm-ex04.mchp-main.com (10.10.85.152) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.12; Wed, 30 Nov 2022 07:30:29 -0700 Received: from soft-dev3-1.microsemi.net (10.10.115.15) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server id 15.1.2507.12 via Frontend Transport; Wed, 30 Nov 2022 07:30:26 -0700 From: Horatiu Vultur To: , , CC: , , , , , , , , , Horatiu Vultur Subject: [PATCH net-next 0/4] net: lan966x: Enable PTP on bridge interfaces Date: Wed, 30 Nov 2022 15:35:21 +0100 Message-ID: <20221130143525.934906-1-horatiu.vultur@microchip.com> X-Mailer: git-send-email 2.38.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221130_063205_471230_C0BDE61C X-CRM114-Status: GOOD ( 11.09 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Before it was not allowed to run ptp on ports that are part of a bridge because in case of transparent clock the HW will still forward the frames so there would be duplicate frames. Now that there is VCAP support, it is possible to add entries in the VCAP to trap frames to the CPU and the CPU will forward these frames. The first part of the patch series, extends the VCAP support to be able to modify and get the rule, while the last patch uses the VCAP to trap the ptp frames. Horatiu Vultur (4): net: microchip: vcap: Add vcap_get_rule net: microchip: vcap: Add vcap_mod_rule net: microchip: vcap: Add vcap_rule_get_key_u32 net: lan966x: Add ptp trap rules .../ethernet/microchip/lan966x/lan966x_main.c | 19 +- .../ethernet/microchip/lan966x/lan966x_main.h | 14 + .../ethernet/microchip/lan966x/lan966x_ptp.c | 237 ++++- .../microchip/lan966x/lan966x_tc_flower.c | 8 - .../microchip/lan966x/lan966x_vcap_impl.c | 11 +- .../net/ethernet/microchip/vcap/vcap_api.c | 824 ++++++++++++++++++ .../ethernet/microchip/vcap/vcap_api_client.h | 8 + .../microchip/vcap/vcap_api_debugfs.c | 492 ++--------- .../microchip/vcap/vcap_api_private.h | 14 + 9 files changed, 1172 insertions(+), 455 deletions(-)