From patchwork Sat Dec 3 10:43:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Horatiu Vultur X-Patchwork-Id: 13063514 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 65A0CC352A1 for ; Sat, 3 Dec 2022 10:48:08 +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=RelQJwx4qNbB46EtOcazZe0e+qogVUn7M3D2m6T1HQk=; b=0XvioVQpG71apv qgFsi2/aeSlsM/gWBipsymCKhRK+LoGMdiyQo4qtgp1vcmAOQMv039IQqTHbfk8AZFpGsFVGoBCsy 1S7YInPOozGsUATD2bzudOO1HQkqoNaFNKnO5c8Oy9m1nxI5IsU++DLeTbWZsRQEw99lCTCru7X1Y dt4yJdwGgZfpOddO9oZXRU+5osoDU+JsJDnpEeLtTc4QR1JRhBEiNRApT7N+MM+17TzOT5s4TVQ4s IS6ENlUwRDLDgvkn10LTuzJ/AJcFH5v3StGk3j19aux2JDnOx4AX2XnsJC0b+gSzKsQJGrjiaubyr rfUY/Q7zHlatjxp0ANcg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1p1Q2b-0036Lb-8C; Sat, 03 Dec 2022 10:46:41 +0000 Received: from esa.microchip.iphmx.com ([68.232.154.123]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1p1Q2W-0036KB-QM for linux-arm-kernel@lists.infradead.org; Sat, 03 Dec 2022 10:46:38 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1670064396; x=1701600396; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=QdDUU9XATwS3yoxZ70z6vJGdkf6BMOnmv0FCA68ChZk=; b=ozIdaenS/4bGDrJZGJEN/qHpRoguBh/kOiYvtGsCrrZv2iAmtC1mNqRL jmxib30JNZQ/8NCKRcM0mBk5sI1LSf0Pv6uSC2smKT5gLFyGP3F2Rs/t1 GIjRT6i04uzKOLGx4OH59JKccF9nGs4uMQ2gsKkpQeaHtjYMEg8DtWdKh 7hB1+GK1FtkHWntueRl1pEHT+tCwDKr6dLAsyAt9ISb+bupiHRUeEX2tu J/ZIXAIGkqacDnoIMovkpwjVn3QKX2aZE1hWm3ULU23ggbpHpeniSXQrQ aS5jf13GsFkBXHsfmeIotZm9p1qBchxROxaigfwMBRurzrNcVpXgUtiTb g==; X-IronPort-AV: E=Sophos;i="5.96,214,1665471600"; d="scan'208";a="189861152" Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa2.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 03 Dec 2022 03:46:32 -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; Sat, 3 Dec 2022 03:46:31 -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; Sat, 3 Dec 2022 03:46:29 -0700 From: Horatiu Vultur To: , , CC: , , , , , , , , , , Horatiu Vultur Subject: [PATCH net-next v3 0/4] net: lan966x: Enable PTP on bridge interfaces Date: Sat, 3 Dec 2022 11:43:44 +0100 Message-ID: <20221203104348.1749811-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-20221203_024636_998336_CB9F9ECD X-CRM114-Status: GOOD ( 10.63 ) 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. v2->v3: - rebase on net-next as it didn't apply anymore v1->v2: - use PTP_EV_PORT and PTP_GEN_PORT instead of hardcoding the number - small alignment adjustments 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 | 236 ++++- .../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 | 498 ++--------- .../microchip/vcap/vcap_api_private.h | 14 + 9 files changed, 1171 insertions(+), 461 deletions(-)