Received: by 2002:a05:6500:2018:b0:1fb:9675:f89d with SMTP id t24csp258208lqh; Thu, 30 May 2024 23:40:47 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWUxf2RB6aMI2F6q7YMMhkcMAnkD2W12AT7vAVcQS1Idqj4EjmVcol6F/+lPMLeGBy3LLoHq/7ayMRrCy96NtrIYESoMrARDcEULj18HQ== X-Google-Smtp-Source: AGHT+IHYNW8EYGEtw4U9Dt4/n6CVBOyKx8moTKVITV2OM3ssL5y5wj+Qf4xeAnJvjDc7OU1mi50T X-Received: by 2002:a17:907:924f:b0:a59:9f88:f1f1 with SMTP id a640c23a62f3a-a6819335623mr80041866b.19.1717137646917; Thu, 30 May 2024 23:40:46 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1717137646; cv=pass; d=google.com; s=arc-20160816; b=yA0rRy4OgAd8rnFRCcUUhcwHdo1qRay5LYue2RKOm2O0p/U8GBuZaBdiieY8eUd65Q CGi/eBTTa7DaP68DWlwIqN8Pyr+aIIplDxPHN7+qEiNmOSGbVtM7bc3iAo8vO9FIVly/ e5Bjz7bxEt9iOaQt/+KEgtMs5xXJ1avDuZgYRsGfwQWSJYUGadsCV0B2tB+0jckF9mon 1oaMMx0D8xyHgnRbtWDL/eBn3fHm+7KZxBOsHZ6tqNg9zWHwPfWVII0/4NXRCkYVfPMa oZkrOV3wfUznFmk7UmX1XhgT3qE3YNiv9AJFFYXBmQu1x98X71eT4zfOyAnUHKe48ZZM mjDw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=Ni++lcXnjxEEqESx2kuidA8d3WRyg+9fpCXKSkBuHsQ=; fh=2A3eGevkuA3/ni8gv+tZid1+R+erokLLeZvswvkXp8Q=; b=Nrrnd3ZG+0VF8v0sXe1tGGf6ijXJjysq40c4FgWPOcapkF5JPscl+w6UCbrrJWZ45Y seEX0rLLpadd5/ksj604dh0wIw6W/xvr/t2E8AKJXEN8/vplUxH7nq8cXSYcs8MNYkZT XWfeTQqr96s1BorqB27xyUbkyng04iiQzU22XSXpz1bQLCWDhoFm37SEwqVIliihm+y8 m7PZwO4ZJ8C6NUqqQoEhQsJdKMnykIKprbCryeu02yh9Zb5IbVRL3drL7cRwPaOZDk5x 8QD8Qmys8bmkS1cGS0anN7IQ/NmGBh/WZAaib0afKMnMNRK0ph+jb6ym9pbwh2dEKifm anYA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=vIz59t3g; arc=pass (i=1 spf=pass spfdomain=ti.com dkim=pass dkdomain=ti.com dmarc=pass fromdomain=ti.com); spf=pass (google.com: domain of linux-kernel+bounces-196352-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-196352-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id a640c23a62f3a-a67e73f5ba5si57461366b.218.2024.05.30.23.40.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 May 2024 23:40:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-196352-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=vIz59t3g; arc=pass (i=1 spf=pass spfdomain=ti.com dkim=pass dkdomain=ti.com dmarc=pass fromdomain=ti.com); spf=pass (google.com: domain of linux-kernel+bounces-196352-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-196352-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id A192D1F247BC for ; Fri, 31 May 2024 06:40:46 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3B2F88004E; Fri, 31 May 2024 06:40:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="vIz59t3g" Received: from fllv0016.ext.ti.com (fllv0016.ext.ti.com [198.47.19.142]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C707F7FBCE; Fri, 31 May 2024 06:40:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.47.19.142 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717137636; cv=none; b=gHXHmulNNT3xtpcoJqtQtXv7MEOOqWn+QWhDdH5KDQnOKdkcKJPxon1mlSA72POHNjWxT7O4yFukkoLn6m5UAcS9B1dqPlJmr4AGZGbk0KTRDL2nnXDn9CQA1lRwS0eJJTgZBoMHUmXSTQ5gGI2VZfsBomkYpUcQQYzj8w9DQmg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717137636; c=relaxed/simple; bh=QPnk30UOxQpFVKWagGBoGDuovXqy0EZS0AEk1T/lzvI=; h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=C4AAeiuyQW6lH92NUOgVDc+UMwno8CDQk84pKUKl/1soSTZaXmPdBdcCEGbuZ4QM4JwUYgHwFz+A+MR600kGuU5WROoIbE4VdNZS1Pez5i3hu2HiKNNVJODcdbZx1dCD8/zhBuvNskhvQEQovMpITib/I1PCcoYTNIuNFvpl928= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com; spf=pass smtp.mailfrom=ti.com; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b=vIz59t3g; arc=none smtp.client-ip=198.47.19.142 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ti.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ti.com Received: from fllv0035.itg.ti.com ([10.64.41.0]) by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id 44V6e8Yt121186; Fri, 31 May 2024 01:40:08 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1717137608; bh=Ni++lcXnjxEEqESx2kuidA8d3WRyg+9fpCXKSkBuHsQ=; h=From:To:CC:Subject:Date; b=vIz59t3gvcOo1Hx3FzaNpqvUmdDSI2LnpErLgxkMTNLW/aVK1mUM/e+IG2QG+3Pz5 Hx4e72VxbnWQibgdeT3eI77aAfOZFnAYjoNn6oMvqeLsGH+4U6o3ETlw5J988CmBin y6qE/oS8o+Lo+T6lnnPfDqR8kEtKICWpbvHo+Hv8= Received: from DFLE111.ent.ti.com (dfle111.ent.ti.com [10.64.6.32]) by fllv0035.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 44V6e89N007605 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 31 May 2024 01:40:08 -0500 Received: from DFLE112.ent.ti.com (10.64.6.33) by DFLE111.ent.ti.com (10.64.6.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Fri, 31 May 2024 01:40:08 -0500 Received: from lelvsmtp5.itg.ti.com (10.180.75.250) by DFLE112.ent.ti.com (10.64.6.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23 via Frontend Transport; Fri, 31 May 2024 01:40:08 -0500 Received: from fllv0122.itg.ti.com (fllv0122.itg.ti.com [10.247.120.72]) by lelvsmtp5.itg.ti.com (8.15.2/8.15.2) with ESMTP id 44V6e8Mn121301; Fri, 31 May 2024 01:40:08 -0500 Received: from localhost (linux-team-01.dhcp.ti.com [172.24.227.57]) by fllv0122.itg.ti.com (8.14.7/8.14.7) with ESMTP id 44V6e79r010373; Fri, 31 May 2024 01:40:08 -0500 From: Yojana Mallik To: , , , , , , , , , , , , CC: , , , Subject: [PATCH net-next v2 0/3] Introducing Intercore Virtual Ethernet (ICVE) driver Date: Fri, 31 May 2024 12:10:03 +0530 Message-ID: <20240531064006.1223417-1-y-mallik@ti.com> X-Mailer: git-send-email 2.40.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 virtio-net provides a solution for virtual ethernet interface in a virtualized environment. There might be a use-case for traffic tunneling between heterogeneous processors in a non virtualized environment such as TI's AM64x that has Cortex A53 and Cortex R5 where Linux runs on A53 and a flavour of RTOS on R5(FreeRTOS) and the ethernet controller is managed by R5 and needs to pass some low priority data to A53. One solution for such an use case where the ethernet controller does not support DMA for Tx/Rx channel, could be a RPMsg based shared memory ethernet driver. The data plane is over the shared memory while the control plane is over RPMsg end point channel. Two separate regions can be carved out in the shared memory, one for the A53 -> R5 data path, and other for R5 -> A53 data path. The shared memory layout is modelled as circular buffer. ------------------------- | HEAD | ------------------------- | TAIL | ------------------------- | PKT_1_LEN | | PKT_1 | ------------------------- | PKT_2_LEN | | PKT_2 | ------------------------- | . | | . | ------------------------- | PKT_N_LEN | | PKT_N | ------------------------- Polling mechanism can used to check for the offset between head and tail index to process the packets by both the cores. This is the v2 of this series. It addresses comments made on v1. Changes from v1 to v2: *) Addressed open comments on v1. *) Added patch 3/3 to add support for multicast filtering v1: https://lore.kernel.org/all/20240130110944.26771-1-r-gunasekaran@ti.com/ Ravi Gunasekaran (1): net: ethernet: ti: RPMsg based shared memory ethernet driver Yojana Mallik (2): net: ethernet: ti: Register the RPMsg driver as network device net: ethernet: ti: icve: Add support for multicast filtering drivers/net/ethernet/ti/Kconfig | 9 + drivers/net/ethernet/ti/Makefile | 1 + drivers/net/ethernet/ti/icve_rpmsg_common.h | 137 ++++ drivers/net/ethernet/ti/inter_core_virt_eth.c | 591 ++++++++++++++++++ drivers/net/ethernet/ti/inter_core_virt_eth.h | 62 ++ 5 files changed, 800 insertions(+) create mode 100644 drivers/net/ethernet/ti/icve_rpmsg_common.h create mode 100644 drivers/net/ethernet/ti/inter_core_virt_eth.c create mode 100644 drivers/net/ethernet/ti/inter_core_virt_eth.h -- 2.40.1