From nobody Wed Apr 1 22:36:28 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 B480D3D88EA for ; Tue, 24 Mar 2026 08:51:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774342264; cv=none; b=izGF/ZT0U19Bao+4OlKik61s85Tbp25la0ET8OkL4v7AuB2uHX0MdyJpyMq3l7qoihJK6bCf8Loqdln0ZgFtylu2/n6BCvSHG1XKImaGWSRzVgrMCiIgGsj28hhZYWmzIQRTHop5iQvEjKmHqMPJw2X4NszXnK8G8CuVHUigHxg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774342264; c=relaxed/simple; bh=K1aC662L+9k1UBZVFhUowzAz5oxoOxQNzAXHwIk90M4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IY9GQ2gLXclsoc/FCUKR8a6MWqbKXT513uWkoO8gWpKHvKe7B0A87MfKpMwKQAGCyXtTglhyPrq+1kcYoAoadDwfXGWSC+zA5GRc2HEMBVnyEGr1cDpxE/28Kv5Uq9YA/+tGdQgUunAkFZ6MOO6ZWJKIo/LVHjNjCXX3ph8XcgU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=ZGFgS/zD; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=YJ7Zd3Wf; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="ZGFgS/zD"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="YJ7Zd3Wf" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62O3eDxD1761785 for ; Tue, 24 Mar 2026 08:51:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= mRU5A0a5cwKQRPXDBHimTxYKv1NzaEwLlulVirlsnTE=; b=ZGFgS/zDbc/3svNE Clx/XhMnJcgoPHKB3xOHVH95mWagVD6NpWglYBryW04BEp/J8i5ONvfJe94px1pl Yt7idxrn9TvzkJASXDc5HjJpn+hinIWnnJ4snAJ4Fd0EPQ1jk3n16kELywdGMqQc JFsunyDCNG5ctedXf5+u1vy4lW86m8dcD//cF9oFiR7PwxkzHiz6asdW9a6idehc BzEzZP8Rwxr+Nv2Mxxo47+x1Mu3lhz5wLC5ZrCQITomSdZ1yMqpKktvAHWX5rQGT mEyG/YDqh/DAwvkfXjHMkuJmC92xoi3QVBAKhwb20nUF1+eQPEoT0QPtnU+DH5H5 /LhkVQ== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d36f0bnv6-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 24 Mar 2026 08:51:00 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2b06b68783dso24292945ad.3 for ; Tue, 24 Mar 2026 01:51:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774342259; x=1774947059; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=mRU5A0a5cwKQRPXDBHimTxYKv1NzaEwLlulVirlsnTE=; b=YJ7Zd3Wfry9ZIMZwt5U+j5XFC9AuXhyeGbU+06o5+ckN+EeAP3kkJ6t+hzkWIqgm9g APmrVoj1A01uNmq4nBiEFyuqQCZuD+Fodkq718f7BTUK77MmI6lMSaDKkFgLnHjPkz6v 62/iodAbFLqZY9AcnqPJZwXLqK3KfKRCujpZA8N2D/3xKovBYN1qSrmnICxsonUkunw4 Aeulspq/ZY8zGrv3rNJy7sUNN70Sm9i9/Q8Oar2ClWufhaWF85xPU7pyX32PQzs6j+4E RDz8KvuirhZRnplK7ema3WCQye1wKUT+DVD/dyaqsSy1fKTBahqVryCY+kbBBUy8BZBI GSrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774342259; x=1774947059; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=mRU5A0a5cwKQRPXDBHimTxYKv1NzaEwLlulVirlsnTE=; b=nmmtCNN4c0FYkzbGV3d/iu6lwoe/GifSVPFrcqApbCEG3D32fXQIQodZpOE25Avm5R TpaV/BbOzgwee7ToBa1G8NdGizrgR+doUlRGYIQox2C0HfEg4/0tq99s/eVmOJxUMZ24 dgWjmDGL+TkGWAauWm6tsR6HSdSMFFdP2sn1ACfl2IA7CRaDmRidMHAdTsBTJ7UXuVHk kcaO5UoPmy9UWZhVH7l8RQFBg8aQyK1yJ4vcClMapeHrSL2n9KiuE/gGYa3n58ye/SaZ kgB4Rqt+RYD2wrWjVmIGmr32NXTaWMpy8/Sj4dSVTmsmvPqFtjM5u5nGJ78w/N2AFRHs VsSQ== X-Forwarded-Encrypted: i=1; AJvYcCUfrthTQz5s8u/hHUWs3bRV0NhjRxMOocaYWna3GubAT9dU8zMXd+hAre2TNpLGW0osMHMnhFxcfZpkx64=@vger.kernel.org X-Gm-Message-State: AOJu0Yw9ekuK7DQJnKZ62wwib11KobAVje4JR7u2lRyTOrdZK4dtEfL5 jCeAFDa5D03ed4GVm7M5tuLfsw8D94CxvWyRE9bo0snzvziRbkjnmAY/dIs4shHqhDqOgNwZY3u rq/09lmaFC08E0qf/GKCg/l1KQ8H7dEu15m46kUZtLlyjj31zgMQw4IE9H5w06xYD8bA= X-Gm-Gg: ATEYQzyj+FDq0a2u6yuCIe/60gHAQ52O2AT/TRnr/UwO4kcnirHoDrYCunV5Sk/Xo/S XdXOCBZ36FUpvXiA4BXwiZPsJ2SRfMow9BbJ5EHaO+dEXoriFlgp3AVQGMM/bOVfUa2+hkGm7xY N0tQVnU994yvEYvA/gxnDfFY1Rp6Gyv5d4tvU4QANDcPx0iUXMRYGnsf142V7AcW++r5VmYoBOo dXdiDyN+1PdIb7GX44zAyUtDeOVrZFyqceJT4R/C5qY5psZ93GEmtrkXuLO25PiJdW3uMDXM611 OGxDAv5X4t1qJRoJB8NbLlTlIiJ3TvkJ/6qXdm7xqWPud7FgehVAIeA/07kc4TNcZxf+tucomZ5 ah4rYd/goSWvjT23ZZlq4+U46ClXvpat4InRotYLDufACz/Tl8NOKdefKGiE= X-Received: by 2002:a17:902:e811:b0:2ae:6d9e:ed57 with SMTP id d9443c01a7336-2b0827393efmr148796795ad.21.1774342258920; Tue, 24 Mar 2026 01:50:58 -0700 (PDT) X-Received: by 2002:a17:902:e811:b0:2ae:6d9e:ed57 with SMTP id d9443c01a7336-2b0827393efmr148796495ad.21.1774342258405; Tue, 24 Mar 2026 01:50:58 -0700 (PDT) Received: from hu-vpernami-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b08366c4f1sm135752265ad.59.2026.03.24.01.50.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 01:50:57 -0700 (PDT) From: Vivek Pernamitta Date: Tue, 24 Mar 2026 14:20:48 +0530 Subject: [PATCH v9 1/2] net: mhi: Enable Ethernet interface support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260324-vdev_eth_next-20260323-v9-1-da6e4e486437@oss.qualcomm.com> References: <20260324-vdev_eth_next-20260323-v9-0-da6e4e486437@oss.qualcomm.com> In-Reply-To: <20260324-vdev_eth_next-20260323-v9-0-da6e4e486437@oss.qualcomm.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Vivek Pernamitta X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1774342251; l=5503; i=vivek.pernamitta@oss.qualcomm.com; s=20241114; h=from:subject:message-id; bh=K1aC662L+9k1UBZVFhUowzAz5oxoOxQNzAXHwIk90M4=; b=sgOmrsIK8+CE32MgGD03/jPgfErI4vlIL0LvdbZeixVWnvCjHa7Sxq5wyOL8f7vKXqMY47bB7 IlvlYNm2x0zDCvgu8eSOWbS0Z98VYhpKE99vUxbBb3G1knjOYqXS82A X-Developer-Key: i=vivek.pernamitta@oss.qualcomm.com; a=ed25519; pk=HDwn8xReb8K52LA6/CJc6S9Zik8gDCZ5LO4Cypff71Y= X-Authority-Analysis: v=2.4 cv=b+q/I9Gx c=1 sm=1 tr=0 ts=69c25074 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=WxnqTDRJW-rUwrNVdAYA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: kS2WWorCOkdXfKRp0a66YZ3z1u7ZMVmv X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzI0MDA3MCBTYWx0ZWRfX3p69c9FTORYW G3IQXhaFUl0Bb9Yuk/iEPbUpUJ7JvmodO+8BGZrJfchEcc+z0qJNvdHrmDUm7oB2OhIK9X3fz27 jqahxFL6e1xSCrsTdotGzBoJkIdZ+1a8rl/Oqgh2hQ1cZyUkOefaISM4+8BijmNWeV5xhCaIDE2 CNyceA4/f6cUwr3uFlxsAN8i8whmqMF/eNzc+wtvN1u/J0tFtwmU9e4uv6qi1JitJxRQ7B0Bbxq iwFhM3XoVGLnnRVeSxCFk63ApgCdzkHIR8cQWQ+/bRXHZLD6hzaU4txOgoHHL0qYlShr2cOMGbm 0E1z9ndePS3utmFEbTViDVsazJVsEgGFCIpdAXZFWnCIhcSDXLgQDKLCZrgY5FV1wn3hkXAHfxr 157HvuUi0ntrKEaAgjgJkIn+02srCrTuutW1zYxR7wJGF6ZGua/pXWc8wIs06deKGaLomP5qh7X zkJGlUh0jRRlJH4fcgA== X-Proofpoint-GUID: kS2WWorCOkdXfKRp0a66YZ3z1u7ZMVmv X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-24_02,2026-03-23_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0 adultscore=0 malwarescore=0 bulkscore=0 suspectscore=0 phishscore=0 clxscore=1015 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603240070 Add support to configure a new client as Ethernet type over MHI by setting "mhi_device_info.ethernet_if =3D true". Create a new Ethernet interface named eth%d. This complements existing NET driver support. Allocate MHI netdevs using NET_NAME_ENUM to reflect kernel-enumerated naming. This updates the reported name_assign_type for MHI net interfaces created by this driver, aligning naming semantics across existing and new devices. No functional or interface naming changes are introduced Introduce ETH0 and ETH1 network interfaces required for NETCONF and S-plane components. IP_ETH channels represent the Ethernet interface exposed by the MHI device. The driver creates a corresponding netdev instance, allowing the host to access and operate the device=E2=80=99s Ethernet interface. NETCONF: Use NETCONF protocol for configuration operations such as fetching, modifying, and deleting network device configurations. S-plane: Support frequency and time synchronization between O-DUs and O-RUs using Synchronous Ethernet and IEEE 1588. Assume PTP transport over L2 Ethernet (ITU-T G.8275.1) for full timing support; allow PTP over UDP/IP (ITU-T G.8275.2) with reduced reliability. as per ORAN spec O-RAN.WG4.CUS.0-R003-v12.00. Signed-off-by: Vivek Pernamitta --- drivers/net/mhi_net.c | 65 +++++++++++++++++++++++++++++++++++++++++------= ---- 1 file changed, 53 insertions(+), 12 deletions(-) diff --git a/drivers/net/mhi_net.c b/drivers/net/mhi_net.c index ae169929a9d8e449b5a427993abf68e8d032fae2..87d8c61fab983005eaea99603d7= 4a557d1483b6e 100644 --- a/drivers/net/mhi_net.c +++ b/drivers/net/mhi_net.c @@ -4,6 +4,7 @@ * Copyright (C) 2020 Linaro Ltd */ =20 +#include #include #include #include @@ -42,6 +43,7 @@ struct mhi_net_dev { =20 struct mhi_device_info { const char *netname; + bool ethernet_if; }; =20 static int mhi_ndo_open(struct net_device *ndev) @@ -119,11 +121,29 @@ static void mhi_ndo_get_stats64(struct net_device *nd= ev, } while (u64_stats_fetch_retry(&mhi_netdev->stats.tx_syncp, start)); } =20 +static int mhi_mac_address(struct net_device *dev, void *p) +{ + if (dev->type =3D=3D ARPHRD_ETHER) + return eth_mac_addr(dev, p); + + return 0; +} + +static int mhi_validate_address(struct net_device *dev) +{ + if (dev->type =3D=3D ARPHRD_ETHER) + return eth_validate_addr(dev); + + return 0; +} + static const struct net_device_ops mhi_netdev_ops =3D { .ndo_open =3D mhi_ndo_open, .ndo_stop =3D mhi_ndo_stop, .ndo_start_xmit =3D mhi_ndo_xmit, .ndo_get_stats64 =3D mhi_ndo_get_stats64, + .ndo_set_mac_address =3D mhi_mac_address, + .ndo_validate_addr =3D mhi_validate_address, }; =20 static void mhi_net_setup(struct net_device *ndev) @@ -140,6 +160,13 @@ static void mhi_net_setup(struct net_device *ndev) ndev->tx_queue_len =3D 1000; } =20 +static void mhi_ethernet_setup(struct net_device *ndev) +{ + ndev->netdev_ops =3D &mhi_netdev_ops; + ether_setup(ndev); + ndev->max_mtu =3D ETH_MAX_MTU; +} + static struct sk_buff *mhi_net_skb_agg(struct mhi_net_dev *mhi_netdev, struct sk_buff *skb) { @@ -208,17 +235,20 @@ static void mhi_net_dl_callback(struct mhi_device *mh= i_dev, skb =3D mhi_net_skb_agg(mhi_netdev, skb); mhi_netdev->skbagg_head =3D NULL; } - - switch (skb->data[0] & 0xf0) { - case 0x40: - skb->protocol =3D htons(ETH_P_IP); - break; - case 0x60: - skb->protocol =3D htons(ETH_P_IPV6); - break; - default: - skb->protocol =3D htons(ETH_P_MAP); - break; + if (mhi_netdev->ndev->type =3D=3D ARPHRD_ETHER) { + skb->protocol =3D eth_type_trans(skb, mhi_netdev->ndev); + } else { + switch (skb->data[0] & 0xf0) { + case 0x40: + skb->protocol =3D htons(ETH_P_IP); + break; + case 0x60: + skb->protocol =3D htons(ETH_P_IPV6); + break; + default: + skb->protocol =3D htons(ETH_P_MAP); + break; + } } =20 u64_stats_update_begin(&mhi_netdev->stats.rx_syncp); @@ -306,6 +336,9 @@ static int mhi_net_newlink(struct mhi_device *mhi_dev, = struct net_device *ndev) struct mhi_net_dev *mhi_netdev; int err; =20 + if (!!ndev->header_ops) + eth_hw_addr_random(ndev); + mhi_netdev =3D netdev_priv(ndev); =20 dev_set_drvdata(&mhi_dev->dev, mhi_netdev); @@ -356,7 +389,8 @@ static int mhi_net_probe(struct mhi_device *mhi_dev, int err; =20 ndev =3D alloc_netdev(sizeof(struct mhi_net_dev), info->netname, - NET_NAME_PREDICTABLE, mhi_net_setup); + NET_NAME_ENUM, info->ethernet_if ? + mhi_ethernet_setup : mhi_net_setup); if (!ndev) return -ENOMEM; =20 @@ -386,11 +420,18 @@ static const struct mhi_device_info mhi_swip0 =3D { .netname =3D "mhi_swip%d", }; =20 +static const struct mhi_device_info mhi_eth0 =3D { + .netname =3D "eth%d", + .ethernet_if =3D true, +}; + static const struct mhi_device_id mhi_net_id_table[] =3D { /* Hardware accelerated data PATH (to modem IPA), protocol agnostic */ { .chan =3D "IP_HW0", .driver_data =3D (kernel_ulong_t)&mhi_hwip0 }, /* Software data PATH (to modem CPU) */ { .chan =3D "IP_SW0", .driver_data =3D (kernel_ulong_t)&mhi_swip0 }, + { .chan =3D "IP_ETH0", .driver_data =3D (kernel_ulong_t)&mhi_eth0 }, + { .chan =3D "IP_ETH1", .driver_data =3D (kernel_ulong_t)&mhi_eth0 }, {} }; MODULE_DEVICE_TABLE(mhi, mhi_net_id_table); --=20 2.34.1 From nobody Wed Apr 1 22:36:28 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 D515B3D890B for ; Tue, 24 Mar 2026 08:51:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774342266; cv=none; b=loN9IeWqWn7kkz/k7PAPLpuqVTuvIqihN3O3xyDFLgjTU9MYMGUlm3AQLgA7fM9S18Q+MBnHPV3VCatyfRvkJ4Wmvu69eWonlQhFcd4MUmkTxO5HoQjoSMcC7yFjvdCyph183ECWypccfuk05tHF3LasIw9S/HuhHa9c+xXCYcA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774342266; c=relaxed/simple; bh=BP5xFVNnKfX2m9xCmdZElzXaGLxGrOE9UsIMD7cdVa8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pqVW8xkh4EQfNLyikDaX7O+A5bYuJpBCGmIS2cs6trdsxNusg6Pg5fGe6zbM4i4gfheTzGXI0BQU1kFHwMH2Nv0wA5Sp5WFVNmk5d8/YJJwadKXRGPZsY82G43JFl3hH2pyRBgRnIXeMSHp5T8MUCixB6I/Es1PZQuq5C+e+yMw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=pmSoveqK; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BSmvWg+X; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="pmSoveqK"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BSmvWg+X" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62O3WFLk4060299 for ; Tue, 24 Mar 2026 08:51:04 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= YkiOxI+HHv75B1gNQVjhEMF2BsDrdOpMpI/IECrj0mk=; b=pmSoveqK/7gCqVq5 7PyzUZ3lOZPEyCWLcbtOC3CmTPqklWnLNJdPy7cepY9z5pC2atn3YZ+XBkO99i/r TftOI8llRocGqC3t8WnTMp6vBk0fCAGNrvOJR0mnK9kJPcf/DT9Iwa+UN1HRAp8o HYF1RIRpf6uXPa6r113y8CVCcxZS56fGwd5ArtdW6XmvWneQUNI9CMSU96OiY8pF kzoj8U77UuVy/lrsA8kibifksrrJsjFthe17Gx9xQWOFvlg9WjdH4Ym+47ygXhif ppQnt6V4ZIu0bkP3R0MrDDws1ZwREMb8zwhUpI+W3i5NJFslyonFmJM6OuyKs8YB II/zgg== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d3jsks288-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 24 Mar 2026 08:51:04 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2aec07e8aafso15479675ad.1 for ; Tue, 24 Mar 2026 01:51:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774342263; x=1774947063; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=YkiOxI+HHv75B1gNQVjhEMF2BsDrdOpMpI/IECrj0mk=; b=BSmvWg+XY6EpJeGiGJ49My7IFX71KemsLb5zRUVas7YVb1GBlq8A8mGmGhvVF3IU7+ HIFk9SkrEdReQPU8gWBmUyUzj1eVXtkBtFWio1EDN1jxHMSUNt2Wwuhbm1vYShVoKvq8 CwvaqgshSo1SwBPQxTAoxpopsmYiu5g7l9+zecLybHyvoIdBREv3NwDG4KsVwJ5FIYhY qSn44pTB+t0WyIra7YiGBM8V0ebP9qi4scyhRHz24QH4qRyODn4K2GrQC8/wWIok7zNS UrhiRNXnCgmwySPOHoodNVgfYXUZdfXtkONvM7qGp9hSuPPfBECDcpk8jDr7rYEgfxfa SETw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774342263; x=1774947063; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=YkiOxI+HHv75B1gNQVjhEMF2BsDrdOpMpI/IECrj0mk=; b=jgDby30B+ZLX9InPaQwHdfUi5Q6cBUvCOOdSNjOjOZtVG4IBrZAQuz3QuRGNTdy+wy /sjpOK1coDrs1SJIp6Z6MYilgIbT1VjsBiRMBUoezzeUH37dMF7w1RsfDkjfRCBiBben NHxISFGkb4aAdEREshQQzwkxrNVcsnyelf+/GbBS0dWyOQ7fn536MBviKzkijpI/gQ7I I+Qh6WXnOe58gW7R0LcQmFX6VJQMV10/OYI+AXNfGICKkGQXK48IlwxK9yqhLOLVoLJq hj7g6PGh15git+KhwpFto1LsWwlKX902wrZ9uyX4bku7oMo+tLCAYGIsdZTyix5HLYwi R1Dg== X-Forwarded-Encrypted: i=1; AJvYcCWzB7iny90Dckv5NWQIrlgfCUI/En0aSB2qPNwKfnJv9ji4PiKgIAgP1BV5oFA/2T9Im7HEkA/Wu3jt0bo=@vger.kernel.org X-Gm-Message-State: AOJu0YwBdWXACV9u+8mZSNPi3h8zRDAHg8+TQOWh0L8XY0LVmzjJywRM NZamWVHCDxBwn2v0aiWDE+LABWvramEdgZdnGBqsi1XiduITnyKxguuin2EPbrrq3sbJl0tKCIm vKPQSESwtQ3WteWWFjuTLjvKX5RHSJ3PQVNH3M7/bGuK1/MZGFMNFrxJ6Beg/CskMxws= X-Gm-Gg: ATEYQzxSvJnJMmUM92MBqtFfxOZcP7NnWOE0RmI6/Qf2xaJw1EO4/cbY24l6vY6G++Z s280NmTVGPuOT6WCsx3m+URiow9XSU1lEu+gEqxmXpkmP5B/bTPujSGXZwGYgGkUtv6PXKkFAyq +DIxGWhzgdMswhfY4yRufinoyndnDiZy8JXviUF5Ah4Lo3uuO1rLFgk4CuE/genye+f/7C4unrg xIcj/Yzfig+fqmJHq7JHDmnV6UWCW8WyI9WpuBw3TjXB1wQMBMG6u/dk1+Om6heJjyDNwX0h/Ho hXhoQtmWAG71QVmrYIbvUmk3XHyqyjekt8yp/6TEENSxVX+NMVmi3Wm2oM8ukdb/0FfCY3iVMSL 6/OrMWsdXss73pBte+r55a/1URiwN/8rbbnt6MkgsJruXi5/wNw63scBWRqg= X-Received: by 2002:a17:902:ce8b:b0:2ae:5eee:7a5 with SMTP id d9443c01a7336-2b08271a388mr144310915ad.12.1774342263192; Tue, 24 Mar 2026 01:51:03 -0700 (PDT) X-Received: by 2002:a17:902:ce8b:b0:2ae:5eee:7a5 with SMTP id d9443c01a7336-2b08271a388mr144310555ad.12.1774342262653; Tue, 24 Mar 2026 01:51:02 -0700 (PDT) Received: from hu-vpernami-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b08366c4f1sm135752265ad.59.2026.03.24.01.50.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2026 01:51:01 -0700 (PDT) From: Vivek Pernamitta Date: Tue, 24 Mar 2026 14:20:49 +0530 Subject: [PATCH v9 2/2] net: mhi: Add IP_SW1 interface for M-plane support over MHI Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260324-vdev_eth_next-20260323-v9-2-da6e4e486437@oss.qualcomm.com> References: <20260324-vdev_eth_next-20260323-v9-0-da6e4e486437@oss.qualcomm.com> In-Reply-To: <20260324-vdev_eth_next-20260323-v9-0-da6e4e486437@oss.qualcomm.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Vivek Pernamitta X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1774342251; l=1328; i=vivek.pernamitta@oss.qualcomm.com; s=20241114; h=from:subject:message-id; bh=BP5xFVNnKfX2m9xCmdZElzXaGLxGrOE9UsIMD7cdVa8=; b=AOeaB1qZgeKf9F+laUUWfz+G0SYZ6U0kryISrayJS7D00Y7rgICwY36KKQ1oUdxrg/+oC80nS Hxwf7lZhr+TBnTNj5rZLQV6D/1If6Z2jMQfAa0yKrvM1VG0lTPGWWVs X-Developer-Key: i=vivek.pernamitta@oss.qualcomm.com; a=ed25519; pk=HDwn8xReb8K52LA6/CJc6S9Zik8gDCZ5LO4Cypff71Y= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzI0MDA3MCBTYWx0ZWRfX6XKvoyY7ixa7 vvAdirqy+Eb1jWDtQxZdoWK7mW0vKrIO3SkRPpPO0uUKGPVE7J6svsYkoXZ5oAbXveXvDGAGvfe ngrt9nFClx4kUkZ/DW4dEzQxuKXwWIL0epKgLn7KkDgVKWWkXglfzryrSzRUVLLdDrAMqZW2JdG i0FaZsrP5QaTUMgvCtEbTZ+NzzkKjJYG7mnk+NRpqYQ+vS8I67yVNFfm3mbAGrZ48RvpKeMozG9 1DI84FZooU7puOXV1y/EwL8xH+mqjB1iUQ3Zmryz5K8alLzo37+CarqsJuI8HZil+TEiJetxk4Q CGGS4D7O5OrJTkeYIdGiHZ2ZIbVF9b0mv+OlVzXlMChvPwB+aFJjcAPN31p+fKR9wj+x3DMzrxN nS9Dg81tHwWbdF9jJV+rvmqqDv5rR6d0/pbkbcKVfKDp2IAmLK0V+yVI4pUFUrTVKrTJbT7EUTU stK9Mnev1fHTPw2p9ig== X-Proofpoint-GUID: mMHmtVRdK_PjryaYTpdwQzCcl5QQwUfA X-Proofpoint-ORIG-GUID: mMHmtVRdK_PjryaYTpdwQzCcl5QQwUfA X-Authority-Analysis: v=2.4 cv=I+pohdgg c=1 sm=1 tr=0 ts=69c25078 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=HGtN7mBKGNpjqoInwjYA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-24_02,2026-03-23_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 suspectscore=0 lowpriorityscore=0 bulkscore=0 phishscore=0 spamscore=0 priorityscore=1501 malwarescore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603240070 Introduce the IP_SW1 channel to represent the network interface exposed by the MHI device for M-plane communication. The driver creates a corresponding netdev, allowing the host to access the device network interface over MHI. This interface enables support for O-RAN M-plane management between O-DU and O-RU, including capability exchange, configuration management, performance monitoring, and fault management using NETCONF/YANG, as defined by O-RAN WG4 M-plane specifications. Signed-off-by: Vivek Pernamitta --- drivers/net/mhi_net.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/mhi_net.c b/drivers/net/mhi_net.c index 87d8c61fab983005eaea99603d74a557d1483b6e..b53ad126ee1f048748971abc4eb= 19e2636ae7cc8 100644 --- a/drivers/net/mhi_net.c +++ b/drivers/net/mhi_net.c @@ -430,6 +430,7 @@ static const struct mhi_device_id mhi_net_id_table[] = =3D { { .chan =3D "IP_HW0", .driver_data =3D (kernel_ulong_t)&mhi_hwip0 }, /* Software data PATH (to modem CPU) */ { .chan =3D "IP_SW0", .driver_data =3D (kernel_ulong_t)&mhi_swip0 }, + { .chan =3D "IP_SW1", .driver_data =3D (kernel_ulong_t)&mhi_swip0 }, { .chan =3D "IP_ETH0", .driver_data =3D (kernel_ulong_t)&mhi_eth0 }, { .chan =3D "IP_ETH1", .driver_data =3D (kernel_ulong_t)&mhi_eth0 }, {} --=20 2.34.1