Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1876261pxb; Sat, 23 Jan 2021 08:27:35 -0800 (PST) X-Google-Smtp-Source: ABdhPJzTvWNaLRacRJ9Yz0nAgO1VjpoP5QmIcR0SagI6ymhyvCq68W8ZmW0mqrCJXn5vkR3dU5Xd X-Received: by 2002:a17:906:eb1b:: with SMTP id mb27mr6608675ejb.332.1611419255007; Sat, 23 Jan 2021 08:27:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611419254; cv=none; d=google.com; s=arc-20160816; b=gYuyDPY3wrPXS9YvFXWW2pKeJmRD4N3OCZdtjmAslmMc3JvDBGIHr75H6RTuYJnICR gY3C31TS+WSlLn8mvw0W4JEq5SbnjjAq5ZRYIHKAdNBsHNkAuRTTEkNE85yDHXYA1Kh+ v3Q27mGrEtcQNi23lr9dxxSyuCPmJv9rSGVAILlhAtbO3+eJcg4ibiZ3oFrNb8taXarq xFiVS4tHyI6d8a0STZke2eb0s8HhnnSCn6V1B1KaGXMUCC6cqzodEoL8yPjQhoOKheTB 3z9t+/mBJcSRGVWVlGdusaO+iPDdLaBElKP0hxbSl0NEP77yymINpwu9MNuP0MFSGwye CFGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :ironport-sdr:dkim-signature; bh=UtKO4ChR+2Em7eZZ//8BaQ8pySZEt4rNN+YBOqliYZM=; b=0fDpcBBOKLfwpLws+ptyQCzycCd3b6+rwlIGwqU2p1viMOZSNg6uUSGXDyfB25vX38 e1agWFzT7zNQRH77zDYDn0xT3SvKAP1hcr2aS37Suqb83uOuV8BYuL1/ykyVJ/avVYjT zzfVJdGwm9BMJmCTZOQ31Z3zHxE0IXNVO/sWVGI+jlZgAjvthmAbEQ85iyXYQIdxeAuq 9KmZ/3S9P+Hygsrp12No1PZurcYrClNaMEPz63TXzeApmDsW0XcmCzAm0wFRoR5U7ARc RWHxSwrdtdB8lbcbMsc4ciszPtv2//5jDSds7XLuqb5LNitJ0ZeQFohYSdwiK9tqp4Vy yZSw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@microchip.com header.s=mchp header.b=XCFTVQ4C; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bs15si4320272ejb.717.2021.01.23.08.27.11; Sat, 23 Jan 2021 08:27:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@microchip.com header.s=mchp header.b=XCFTVQ4C; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726251AbhAWQXC (ORCPT + 99 others); Sat, 23 Jan 2021 11:23:02 -0500 Received: from esa.microchip.iphmx.com ([68.232.154.123]:16215 "EHLO esa.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725922AbhAWQVI (ORCPT ); Sat, 23 Jan 2021 11:21:08 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1611418867; x=1642954867; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=JtMgqDe1zRCwojD2fE9vIKSHA/7JaMFfOoLeN1LILIs=; b=XCFTVQ4CLLw2rSQMFi31sorDg6vof4cpCTr3GP9IVaoVodyCyD137KbO 98rfNqRV5oJp2O23G1vxtPC7gEpFGH5GVIZD2Z+dO1G8w4tjKAPhGd+5c k7h3bqzcONUDYISTl3xJKrJsSafXwATCNPC7Gsl/Qz7bvTELKLo7QRaOE 30uFddKOv0saFSDEKM2D7C6bkgW9SwC4O4sHnuDbK9UE4DxzNp/HYAVA6 xa4nBXg4yiEtH6uRFm2KTjdHE/7A+BHtCMU5NiE8dwJp/Y6tx/dYA6IQj P09O+LwqLyLuDQRz1WE4/33Bh51HdoW1u84uvUWHk3i3H621Gp5y3BBoM Q==; IronPort-SDR: LletkaEVGePO8dDcAeN6jDgwdlPomY8sWh0P1bwUOCwQAfEWlSBplcCrk+H6RGKvvBBAtSWhH2 oKeVt0xDY0tKjKQnnSreJk1YlY0Zsdo+Xjo6Lz5L73448JRsYFFsr4fskCHav0iLc/cMobYl8H DeKVDBN9Juq4B+SpeH7L0mTUGCsuiGwewCuFrrXhf/0+imqak3qKlWZnbOUYn8rFGdZVgi2abx dIY0+qGdv88yRtM/qHB543KhXeaOZEFz6f73v86++j5e93JQ5bry7o3VyI0ExvGwcu4pcOBlYu 7hQ= X-IronPort-AV: E=Sophos;i="5.79,369,1602572400"; d="scan'208";a="103958997" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa2.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 23 Jan 2021 09:19:51 -0700 Received: from chn-vm-ex02.mchp-main.com (10.10.85.144) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Sat, 23 Jan 2021 09:19:51 -0700 Received: from soft-dev3.localdomain (10.10.115.15) by chn-vm-ex02.mchp-main.com (10.10.85.144) with Microsoft SMTP Server id 15.1.1979.3 via Frontend Transport; Sat, 23 Jan 2021 09:19:49 -0700 From: Horatiu Vultur To: , , , , , , , , , , CC: Horatiu Vultur Subject: [PATCH net-next 1/4] switchdev: mrp: Extend ring_role_mrp and in_role_mrp Date: Sat, 23 Jan 2021 17:18:09 +0100 Message-ID: <20210123161812.1043345-2-horatiu.vultur@microchip.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210123161812.1043345-1-horatiu.vultur@microchip.com> References: <20210123161812.1043345-1-horatiu.vultur@microchip.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add the member sw_backup to the structures switchdev_obj_ring_role_mrp and switchdev_obj_in_role_mrp. In this way the SW can call the driver in 2 ways, once when sw_backup is set to false, meaning that the driver should implement this completely in HW. And if that is not supported the SW will call again but with sw_backup set to true, meaning that the HW should help or allow the SW to run the protocol. For example when role is MRM, if the HW can't detect when it stops receiving MRP Test frames but it can trap these frames to CPU, then it needs to return -EOPNOTSUPP when sw_backup is false and return 0 when sw_backup is true. Signed-off-by: Horatiu Vultur --- include/net/switchdev.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/net/switchdev.h b/include/net/switchdev.h index 88fcac140966..3f236eaa4f3e 100644 --- a/include/net/switchdev.h +++ b/include/net/switchdev.h @@ -132,6 +132,7 @@ struct switchdev_obj_ring_role_mrp { struct switchdev_obj obj; u8 ring_role; u32 ring_id; + u8 sw_backup; }; #define SWITCHDEV_OBJ_RING_ROLE_MRP(OBJ) \ @@ -166,6 +167,7 @@ struct switchdev_obj_in_role_mrp { u32 ring_id; u16 in_id; u8 in_role; + u8 sw_backup; }; #define SWITCHDEV_OBJ_IN_ROLE_MRP(OBJ) \ -- 2.27.0