From nobody Mon Apr 13 07:13:56 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 E8077199FAC for ; Thu, 9 Apr 2026 06:08:44 +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=1775714926; cv=none; b=t64nEIvXH03W2TIgkpY2RpRlR1u6nEIJ6yOsiTaeDYdL1wsQp6PG68DJZ+vIAVXAE0eO5RWFRDlusOm59gmXdKdmT6B35t/iOVc2+xWCVnJt96B7nbaLL1aBejXMGO9QUFaXr/Oa2g1RlzJm1VApfPLR27R9Srbe/KLVEeuMJkk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775714926; c=relaxed/simple; bh=YkhHcdogrZdFjMj+g7oz7ToP7DMRH+REAibTe9XshMM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=vFQ6bzfzWU3xvThqfQ3m2EJvv/Sr4AdZ1fL08eqU0zca2IUK9ke+L8xRStXu/gQzcj5JhPe8PzoCtwfPNMDS5yN3AdePndL0WXN10AQeTDB+/d+FF4fb2E9vuJ+9mKhgkI7EwD5pZ3YZPdVdVfI+c8ReymEU4C03Nw2UZAjxyzw= 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=c9SMqxY6; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UkqR2JI0; 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="c9SMqxY6"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UkqR2JI0" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6395NRRS3712770 for ; Thu, 9 Apr 2026 06:08:44 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= g7WckDi4dIlJlXlZI+N7vNzXcJtArdXcfVJMIgu82lM=; b=c9SMqxY67po1tcbY SjvNBdbY+x2k8HNjr/Ky1m1/fOB2Us8JT30MFTpPudbqRc9RB0B3SYbbbwkxf7uU RH8ocmFlhsXsFXZdkDMBJP8ZvOjtbpJjRpWARanbJJacPAMVBJc1ZORUY437lUSU rpbUp6VBTvZ6nCrP4J4KbKyD9hb/0qXvyGcvi6pwpwEGZVS4HeDIZOJOXkIxKsk5 0QCfPucEy6kuVfctRGWFKySe3iV+WUaynqQCetuTM3CrTvAKSfU3QDza3fZXmgpl reKhnkvBBMNzqaCtuzN0vozSwJWjXyUvmqhLxYNtmCWuqqNo3azkxhVs3PO/aFz6 +bF7gw== Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ddt74akec-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 09 Apr 2026 06:08:43 +0000 (GMT) Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-82ce34a78edso793683b3a.1 for ; Wed, 08 Apr 2026 23:08:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775714923; x=1776319723; 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=g7WckDi4dIlJlXlZI+N7vNzXcJtArdXcfVJMIgu82lM=; b=UkqR2JI0Agws7yaTtOywwN7Cd4uP7vDcN/X8iBdu21w1/X+nthusKZwctzb6exZDSY A36cCrHZNUKa/CqmfQzL2+uaI1Ae/H0PU7JZ9nDWRKBIjq2fhpRopX1cdiVQZe2+AepW YvzTqEPUfQsshza0vcbYxSohHy3sdm+D9UPGYByJAbn3BSh6jfCG+sQAF0SwRjsy8dSr IoGBAsuOKfFBBZ2Sz0VpdImfY6dEueHLzG9NHymViZJ/eOuPjykj5nv81S8T/pT4ydP0 YfvyAcLrC1llWKnZCFXf6+9RvVw5JwQNk2j08045n23pNB4D9haMzOXHFFgXL2HG2oBT Tb+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775714923; x=1776319723; 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=g7WckDi4dIlJlXlZI+N7vNzXcJtArdXcfVJMIgu82lM=; b=oKSdylafIc8w+3W7BgheJHhWgxEp3pU7QbGo9MMVDAkxARtFB5jXn7CzHt/GuePQgD KaQ5on7AORp79gjAE/57Q4Xb5d9idg8rAAZY443Xgs2KJIhJ1XH8S2fFcHcFv6XMIhFZ 6ky6qXExt2m6XHwSC+9F4p90pruN/TpodwRmuqhV+ExAklIZ3gYDnYASNQfkNvbHKAXs FPzWc2ZUgWZ/VAkbT2gjbHf/z0NsAbf3UVoHr0B5f50N8r2/Jv/0JyXrRJHUmApUEGoS 8RgUpU14KH9/UdUZ80u3fax7fzhYwejsVp05sKZntaqwsQ9rRLBU5KR0no0kwM0Zo5E9 3gsA== X-Forwarded-Encrypted: i=1; AJvYcCWPXiPp6ZCtGekRDYhVo0lb/mxonBF9tW7CK7kYvD486uRLpk/FlLfP8SbpEgt5Qly8fAs8kjQoihnh6mU=@vger.kernel.org X-Gm-Message-State: AOJu0Ywi4olxjgLLCcPdbyWX5ZRU/6fEgrlTBRUWY9+gCZCJwUFuL2Gi ucOMy5gU4v4aF9UzLWjjcabnPhkEWZS+y3f20OEioEE5Dr/hGPRfzX/y3D/uqJtojvgwdMSJ1Sz ljz7C5QJs7ry/ef5wn7ZsSEoHLNRmVSkuh8t2rKieDpDHaIem2OAz6FyVuwbJw5iQ1s8= X-Gm-Gg: AeBDievWgCg303QLxVaWfSnVl+xilwuqlCZlVmFrGPeDZlhHCBMuzGbeJtnFJFB1UWK ysz66zJYrQa8abBBbV0XbY/oicVgo0Srd0i0+MuUnJ7tVGDw1QX/5sPaI9b+m+drF8kFkMOfzG3 aLH4L5lZf5YRPZW0tp2hH7tN6CS4p6zltIXj9YexXKL1T8z+gKb6w63qBdhDR8spMbOrlyqs1RM +XAaDHE9wilsqQgViQB6mzVDLSW550E2EcfCJ7aQBp58xkueFx+9tkOlrDYCbKS/HeLEqA4tUGJ Nd9doBX1UmgbvpuUJNu8wIeCzu9ZCwKiqrdQ5kqF10zkc8xDRkSmyMOHuz4eOaGfvXa2mwJ7J5f hJT9k5XmX1csBtOY3bd01QVjKm3JADOeQ+wNsCfaTge0dQshMlf3aSZmTDE8= X-Received: by 2002:a05:6a00:3bdb:b0:82d:1faf:773a with SMTP id d2e1a72fcca58-82d1faf7f27mr14931974b3a.3.1775714923197; Wed, 08 Apr 2026 23:08:43 -0700 (PDT) X-Received: by 2002:a05:6a00:3bdb:b0:82d:1faf:773a with SMTP id d2e1a72fcca58-82d1faf7f27mr14931953b3a.3.1775714922721; Wed, 08 Apr 2026 23:08:42 -0700 (PDT) Received: from hu-vpernami-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82cf9b3baffsm23163534b3a.14.2026.04.08.23.08.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Apr 2026 23:08:41 -0700 (PDT) From: Vivek Pernamitta Date: Thu, 09 Apr 2026 11:38:33 +0530 Subject: [PATCH v10 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: <20260409-vdev_b1_eth_b1_next-20260408-v10-1-6d44ca48f189@oss.qualcomm.com> References: <20260409-vdev_b1_eth_b1_next-20260408-v10-0-6d44ca48f189@oss.qualcomm.com> In-Reply-To: <20260409-vdev_b1_eth_b1_next-20260408-v10-0-6d44ca48f189@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=1775714915; l=5511; i=vivek.pernamitta@oss.qualcomm.com; s=20241114; h=from:subject:message-id; bh=YkhHcdogrZdFjMj+g7oz7ToP7DMRH+REAibTe9XshMM=; b=wPPUWWB8Iuxlgai0qqycQg2n1mRVNX450S8NPb6EH6v4HGraTra3TTdJBjoejvBvqW0D+/x91 TcfM0v0EUhoBcfvHAbG5Kh4w9Ppuf98WRMdZ6xWrGN6rV46Mol7SRYN X-Developer-Key: i=vivek.pernamitta@oss.qualcomm.com; a=ed25519; pk=HDwn8xReb8K52LA6/CJc6S9Zik8gDCZ5LO4Cypff71Y= X-Authority-Analysis: v=2.4 cv=TL51jVla c=1 sm=1 tr=0 ts=69d7426c cx=c_pps a=mDZGXZTwRPZaeRUbqKGCBw==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=WxnqTDRJW-rUwrNVdAYA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=zc0IvFSfCIW2DFIPzwfm:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: hwo6EhNHS5rVOX2okamZnDywsBS7jCEw X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDA5MDA1MiBTYWx0ZWRfX26+zIyaYt3j0 vvFozexCgp9x9yHhWRwBhLPc9t6Vdh90rQhOWWkfMCmdkBhb1gccdGBuDa24HcqrusUTa/6lf/T G3CYuLpWNDlX8uC6OWtbeCAtPn3Huno3CsQZbGWttQgKVb+836x/rCyA4l5XfThdPYqlZBTTE8m 6D8ouRXc+sAUCKP8yg7aWpAV6irzUF2y/Z1t3izkHD6YEnbXHYXP8oPBK2tRbSR73b/OxE1/SC8 94s/mjZXL8l+MH5OFQ4LUWNJNx0wPdtiA3O2UTvsc0Yws2V9S8NyCl5Ez9CgqyLoWt9htpKEAo/ ApwcbqxPBoyiKpWr+vczOnuedg63svURBsAc2s01Tf65hDgOrRsRc6WLQFjb4FxrkIjqSBTk06d FlX3s4CMq5PMJPASc35wEPZBHdIQ3aqZsQ2d8sHHb/CZK3E5aDv+hXYhWb7QNeiMdY2lXEyNADY 6L77YW75ca8LqdnSC2w== X-Proofpoint-GUID: hwo6EhNHS5rVOX2okamZnDywsBS7jCEw 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-04-09_01,2026-04-08_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 priorityscore=1501 clxscore=1015 bulkscore=0 adultscore=0 spamscore=0 suspectscore=0 impostorscore=0 malwarescore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604090052 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..47b8617de027980a69c57261a9b= 4bcefc828dc96 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 -EOPNOTSUPP; +} + +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 Mon Apr 13 07:13:56 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 E014530C63B for ; Thu, 9 Apr 2026 06:08:47 +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=1775714929; cv=none; b=T45Tml5y4dy1ta6ag0BhqZnOXW0HmuNKY0F3IXRnuCExooLZOirnx0QnSlFrleVeaLqAz2ggKkrxB0cjHEdH724q5eBzV0UJzLp9nO9jFYeORBPzCF/b+Tdpepm7yIs7c/3/H8lAibJxN8spwLTne2bySFRyRkT1N+4tCvj7YMk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775714929; c=relaxed/simple; bh=TjpR/7t75mVY5PfEW56qfDWOaej9QEis2BpOJlQ6Pvg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mN5AUxWj0Z7f8lwma0mmJ0vO6H2W6hYJm802hor2eesL2iz0uRQiG3Ad8+Q3PQ1FTD4+9GfkD+T8vbBM/F+obcfSLd8BpES8U2OXQnyf0nAnEUi+5qxZRmaRj9tnnJhdL1oEz0w5CiSBAixI8h4cqt6MVFj3mxB5P8cfeCpEpqg= 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=LR0c+rcq; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Ne4g6pcx; 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="LR0c+rcq"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Ne4g6pcx" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6394e2QM2611820 for ; Thu, 9 Apr 2026 06:08:47 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= WU8Q/t2g6mHZzyGBbfJqORAVKmqDregSMry+V6hZzr8=; b=LR0c+rcqNbVy6Sj3 yZJhaT070xQfJruKDtzjWf5GcEkp2qoois53WMImDuo3PG1ngFIzoZolr8EVRCFs L5J8SInOjHpsBCue8F8ayhFfL+Fp7xs+J4BYb+fKJD53JIFHSOK6F/jc+hr0nVex 73B2R/x3pL6eEzqJgux44vmIcrhEkZRbGq4HKvpXj3lNY/W6Jy60oGboeaLPHI7B XUzpJ7Z794hgF1HlV3rwSoZB1c1eSACAMsW+fu+kUXh1pm848J1cSx2wWV8pu+MG EjAAHpzKRFIJgDzID9Ft5GqqMNg3nFM1jdOvQP1JR1ruSdUL6gHzvp8qCtMNALEf onM7tg== Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ddt28tqdf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 09 Apr 2026 06:08:47 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-c7691378914so275739a12.0 for ; Wed, 08 Apr 2026 23:08:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775714926; x=1776319726; 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=WU8Q/t2g6mHZzyGBbfJqORAVKmqDregSMry+V6hZzr8=; b=Ne4g6pcxoinDdVp/DJhKIWOXZmmwUr/DzOLSrJB47rbxtI38dhw2LuJnRJmMWkuE2/ PschlJuhPonHtNeUuyLsctS2knZ9vtyHm337/gJhaDecHBr7i+2mMB+HKKWdAr6hEIDy 178zKJ2eGQmioKbZodT5l9NjcLQqk5JYz0/cVgbcFlvSL9GPzkrOSmnFqgXcySCax7xS e0auiw1cyYdIiEUKY6fqfkZ8sGvSHCJFpVlbiqCiZLAyiFMXstKtFIBJF/TpGAt1fEok mZu4uSnU3hOMY7OnUEzP9sFqRku7ddU8U5y5L/glDduP5hMqF1BQ5UoEaXySQ5T/Mghn l45Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775714926; x=1776319726; 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=WU8Q/t2g6mHZzyGBbfJqORAVKmqDregSMry+V6hZzr8=; b=aSucLbBov0ZvAI7FZOPv+atmibJgw4jbz/140js0SJEtLg5mUyrN0NRVcXhptLLmIt XgQCV/wfRr3vxHXrgfnxYr/aWed+SCk/KQtheV3QaVj4w6xF+usOb6MYOKIGQYfBoEDg TAAl9djpA+drFLfJMpyN4X9q8B9b3NqoP7ireu3ajJ6BZUg8ak6F22X6W77WsdSfoKCz 2EjBVxm/6vQEjrFtDr49r1OMDTa7iNaabgrffBmjpa0Yhb67a5ByZoQUZWdHgQ4CDnmc UdPEYMVgJTbfAtM65zZJoheECCnlH3RyTPCI5zrpfT1bvFlPiSSvF3UeRU3NfKNUSb+0 Jalw== X-Forwarded-Encrypted: i=1; AJvYcCVi90h0wam99z9NuPbMqMhWxQYBY00O7VBKi+LbJHFOQpm1zGtZLFWGjWl/VVXCacH+QpMEA3EFAowxi8w=@vger.kernel.org X-Gm-Message-State: AOJu0YwJ8INzm0DMWu2jHIEQO/wFVbjhZCGwg0WSB6XECnKNWvFJvSPs DMH21zFnn2Xr1ruWZOuy+YWx7bOb48faXkT4bGkhqIBWswpLJV0xGoaUbMqvh2Y3CdDWYCc2c0h wOboftzocpENrEcRmX8jH0UykR0GlZmHSz4mYdF3v6BRz6TG/eZI2YeQq8CYineVJ3zg= X-Gm-Gg: AeBDieuvgNvL174lNIpnd0RaPVEDoXLjH7fKSCRX9CDHgegwulLgACXTLjOi5MPAda7 I0v1J54Iun7a4UAHL+UKWXI9OzCoavA2h1EMp0beoe7xgQXnHbbL/kOAgeA+hE81+4dg/RfVUfG vVm0y4cZCghwZB980KqDOPX+BindudX3iCn7Gev4zyUjhoea5zzf2/6YO6sqKmk2cdJr2xeg+Ml ZnLZ6pyx49yJ6BWSeRj4H3KZzPQbKMJpsmOV53TZRAj+dGqw2e1aGaokxx+1VJi8aMESBzUdFvt PdAhYxLp1AAd+Mnkm5ONl6d31emWsYeceuv3ahtRQsTmmZBtl97mkIp9+JZIjg+jQbBHv3ZAmxE Y8Dg7mwEYuYWCBbkahV3dCXkAv+lVozweLExPfsp21POb5qSd0hvl35IB+Sw= X-Received: by 2002:a05:6a20:7346:b0:39b:b35f:2eb5 with SMTP id adf61e73a8af0-39f2f0b40e9mr25734833637.41.1775714926417; Wed, 08 Apr 2026 23:08:46 -0700 (PDT) X-Received: by 2002:a05:6a20:7346:b0:39b:b35f:2eb5 with SMTP id adf61e73a8af0-39f2f0b40e9mr25734800637.41.1775714925952; Wed, 08 Apr 2026 23:08:45 -0700 (PDT) Received: from hu-vpernami-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82cf9b3baffsm23163534b3a.14.2026.04.08.23.08.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Apr 2026 23:08:45 -0700 (PDT) From: Vivek Pernamitta Date: Thu, 09 Apr 2026 11:38:34 +0530 Subject: [PATCH v10 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: <20260409-vdev_b1_eth_b1_next-20260408-v10-2-6d44ca48f189@oss.qualcomm.com> References: <20260409-vdev_b1_eth_b1_next-20260408-v10-0-6d44ca48f189@oss.qualcomm.com> In-Reply-To: <20260409-vdev_b1_eth_b1_next-20260408-v10-0-6d44ca48f189@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=1775714915; l=1328; i=vivek.pernamitta@oss.qualcomm.com; s=20241114; h=from:subject:message-id; bh=TjpR/7t75mVY5PfEW56qfDWOaej9QEis2BpOJlQ6Pvg=; b=hiD7DThkr0tevzAGvl1emWFwT40BVN2dhtbky9mC72hPXQNiugA3+kL852DPgnGMI0t3jjfGA dKdkFmAh1a7CVGK1ekjFCXegV0gE18aj/HRDkeVDXtJk5Rn+71tHl6U X-Developer-Key: i=vivek.pernamitta@oss.qualcomm.com; a=ed25519; pk=HDwn8xReb8K52LA6/CJc6S9Zik8gDCZ5LO4Cypff71Y= X-Proofpoint-ORIG-GUID: hPVfuFjzDckcsKN3i20ZjKmOYhhPm48k X-Authority-Analysis: v=2.4 cv=fIIJG5ae c=1 sm=1 tr=0 ts=69d7426f cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=OG-9iNp7kfFuVu1VvswA:9 a=QEXdDO2ut3YA:10 a=x9snwWr2DeNwDh03kgHS:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDA5MDA1MiBTYWx0ZWRfXwBZXudRPpHcL 54xmEY5hGLV4DeGtOk8bef7F9d3b0elJsdo6yjJQeymflnYpdKvF12+t7xoIuOqMuoNuJi4jGas DjzgpaiW7BYdNF+0t1QIQ6tVkpiXefR38YdF6BU6/Mg7hSUIHwMGPyShadTfPYg+dLcofofeQHv syjRIIoM6+MkgC0vwUVcbbNGUVRpbTP5PI5A073+Dx5f8I/N5lvdvVaLDvCyObH2gJ1O/E4ULjU JX4vh/Lx2vcYbp3etzKGB52PXImITsf3tSwMOTltRnhCC0CwDxO8ycjOBT5K5AJWsZTRa/hDcA/ 15r1E0CME1I2GMDLe+wkNCsev1z059DkYAPxiZiCzY9xAYCTGD0YwoKlIcrOmyq34qoCmwMZYht 3Ss7ZfCgsBjwa9ayImwIZ+CLl6aFaOtthErtGzFXfcGqWl4elT8RxYQkvfMnM5rr4fapIUy+WKj foOa7LIn0bgHWv85m2Q== X-Proofpoint-GUID: hPVfuFjzDckcsKN3i20ZjKmOYhhPm48k 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-04-09_01,2026-04-08_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 lowpriorityscore=0 impostorscore=0 clxscore=1015 adultscore=0 bulkscore=0 malwarescore=0 phishscore=0 spamscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604090052 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 47b8617de027980a69c57261a9b4bcefc828dc96..e285aa289cb945cd1afd2f3d581= 214f2f2f15145 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