From nobody Mon Feb 9 15:39:01 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 BD4833A7F6C for ; Thu, 5 Feb 2026 10:34:53 +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=1770287694; cv=none; b=iLavFCdNbJ9pX6UlOrGuoiz7RUGKO0AFj63Vd7Cm8+pOqzuSIMbafhM91tk9V9LWWQO6W99VOMoEWw5iVP70buLsr6it8jxycW7zhXpycMmAaju1bsZf9o8H9kP7piNIqz+ca98cn/P+fS9j3y2oVD+tOZ5hSWpbNDEn4qA5oZs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770287694; c=relaxed/simple; bh=qBqz8faLTWrE32tUdZf+l1s0IQ1VOsm7fqfEK4Q27JM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JXhC0CF5+Lrfn3bR7SoAbFF8gBXVIVVylAWcegAbwyrksa2rIEPUkZpK43DH8VskUIJkwf2LzftGPIP9Vqe8AFP5KreKyyiBh9EAu+CKKxuflFUCeKVHK0xeksZJUouR3aKYYNgcryEmhmfyJO6sQjevid3uhyt5o8xGdMvTQ0U= 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=RGbcD103; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=cf5MP+Z6; 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="RGbcD103"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="cf5MP+Z6" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6153eJm32104445 for ; Thu, 5 Feb 2026 10:34:53 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= R61l3+NRUIc60ASTGW87WaoALJCQRtQL8z4dgSxsiY4=; b=RGbcD103ay5awpCm DHg9h6yZnfN+pZ5hTkbfzFD6ehyTfQxsUko8OyAfSt3WN3NGPBu2J5I4Pim7/uon CsTl5MjeDsVmRDslYvhg5d4l98vbyODiNK2onK9YLc8mSrbSYrVT50XvdBYkHjm9 xjKHKOvKy/13uAZGqgQVLB71CFmC+LaaM7ZBuqzZqpfJhOwrHKWqFJZx62bql8si /dL8Q2IrxSFizSRASdvdDnHeQ750o0KGI9K/BuDqO8+AoH13bUdQet3HwAC5ui5g 6Q8F65LTVm0hu3xhBRJ9EoAuFxt49EdeCNbsBkd44VTeu/qr94uAXw9LVLA8spvO rqq4Qg== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c44xjky97-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 05 Feb 2026 10:34:52 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-b630b4d8d52so505172a12.3 for ; Thu, 05 Feb 2026 02:34:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770287690; x=1770892490; 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=R61l3+NRUIc60ASTGW87WaoALJCQRtQL8z4dgSxsiY4=; b=cf5MP+Z6CKjboaCm1Xqr9Hj6ihdBGh0dHgsjZW/sYS2VxGZOsJo0Lju1qowLJdaA8z ziJJ/dOEWJdP0sofb4xbMqdYyPC5A3+NXVgo2W7IuNRoG16G/yjRTA194Z/7izPB2gS4 Beh9tXvrqPe4o14p7Kc7joZNDUV9Rircyg9TmkXhYVyPUnsI+Dxx4iOvbnLgHhviQoSe IXvJdJ48ib0/swMCMYqtMvF9o6wz1MeGjoiMZ1bewEkxUybuGmYysytJsaN9hGmXnQ3H LKoA5s12XFJrIGX7+y+R0TRWYkrnTWNpDmSLCXtEaNbjOLKIi1jiXaLjQi898i6VgYHM scmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770287690; x=1770892490; 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=R61l3+NRUIc60ASTGW87WaoALJCQRtQL8z4dgSxsiY4=; b=qNTog1bsfkEPR9v+JZ9OmqetXwhcOia4Oqh+S5rDH5jyEgvBD0kYw49wrglprARiFT 253h/0O08kVdV/zF6r/5palade3B2aEo0DzRTYIDC8TbvN/O2pdILpNILGnRFgYCbhI1 WsexSAJ1iqPTOxLO/12gZClTqV4k9z8s3h9uwDsQL1VXRhY8uYg9MPw9fw/zbp+sER5p qfY0EBJaW4TBp28XGpdGR9Bxsr+88SV2uXt/UGbPJSzWnvrA/sIoTI1UN7/LqrEXG8UC eFULB6X6QytRKcpDad7C8Qwf5CeYYTvdWjPChLfK3Kr3FX89IcOp6jlF8dO0jPJ3Tj6V F2Ng== X-Forwarded-Encrypted: i=1; AJvYcCXgQftaySjIg9oIFanMgplliiEjT1kvMnZGLPBQ8ZOEqJA98yDPI9OzS+p59k1MVy/9Ltd76LHD5DFOg90=@vger.kernel.org X-Gm-Message-State: AOJu0YzbN5C8+/Abak/GcrIChb3hGDgE2Ila6r1V6BsrOtDfOTdfqtkm iGZejuHDI8gYMo57as0Mnux6Im+RMraPIhpbt/nM1OwIMcwsKsP0HxPJVr58hy5SOLw5+T5Kwmd UyvqV0jcEJqEeBVZvO1r/6UZmSICDBtTOtxmx9pmR1b4JiBJOEhBxgAlNhi/e0NQ0OhU= X-Gm-Gg: AZuq6aL3m/JyPirEIvvjgO8qA2nbMFBykb9tnaLlYfHVxGSTR1p+aVHULTv7LxHAAbb g3xeZkCfXUZLrNPoO1Q0TcBI8YU9rok7IWvfRNq46vpahXpEtCrZ95mvCFez2mpmKBCtVjWQjZI UmTRoXVqG72tShOoBgd/wI4QYvjEDDz0TmNLbxnqcMdUdgtJdAEOMFzDxcoBdH1SvGhf59gxacw 24afDZt8M+4uwFXyNolnyUv8hEqJ1pBRwL28PQElXoCh9yuDnY+MNblEl39OxSvzAmGcSJ4ixqr WPNsh3bccDvibGuvfZiEEUUj1hoWC8tgcdpMzkUrNZCWa42/y3kAtZY7X9GMr3sDd0HNZE3I46/ PjriPZ3N8W1q773KvQcixa4bLCGSxSO+iQ7Mb X-Received: by 2002:a05:6a21:114f:b0:38d:fa67:e87f with SMTP id adf61e73a8af0-39372090292mr6418786637.12.1770287690185; Thu, 05 Feb 2026 02:34:50 -0800 (PST) X-Received: by 2002:a05:6a21:114f:b0:38d:fa67:e87f with SMTP id adf61e73a8af0-39372090292mr6418759637.12.1770287689690; Thu, 05 Feb 2026 02:34:49 -0800 (PST) Received: from hu-vpernami-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a933851341sm50539255ad.4.2026.02.05.02.34.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Feb 2026 02:34:49 -0800 (PST) From: Vivek Pernamitta X-Google-Original-From: Vivek Pernamitta Date: Thu, 05 Feb 2026 16:04:40 +0530 Subject: [PATCH v7 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: <20260205-eth_vdev_next-20260204_eth-v7-1-f85645210f81@qti.qualcomm.com> References: <20260205-eth_vdev_next-20260204_eth-v7-0-f85645210f81@qti.qualcomm.com> In-Reply-To: <20260205-eth_vdev_next-20260204_eth-v7-0-f85645210f81@qti.qualcomm.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Manivannan Sadhasivam Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, Vivek Pernamitta , Vivek Pernamitta X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1770287681; l=6481; i=vpernami@qti.qualcomm.com; s=20241114; h=from:subject:message-id; bh=jJ3Ma0JOctfqeV8afrgwBPV1pduNsnIzOzWiV6l1+TY=; b=v2iiBWTPqyiSoqgCMQTg5fyYG8iwOftKhVaA8Nz07D/tg/KV4lfUqc27gN/LwI7f+niEDEsdl 88FrbnPSVF3D6s0s6c13TxrxF1M2lo72D8C6y8rXzZkj3LfAtrARVOR X-Developer-Key: i=vpernami@qti.qualcomm.com; a=ed25519; pk=HDwn8xReb8K52LA6/CJc6S9Zik8gDCZ5LO4Cypff71Y= X-Authority-Analysis: v=2.4 cv=DtpbOW/+ c=1 sm=1 tr=0 ts=6984724c cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=B7OUL4BZy9I5PIjrJhgA:9 a=QEXdDO2ut3YA:10 a=bFCP_H2QrGi7Okbo017w:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: xo8PLmfT1hgWe5QelEsJdqHqMIFiOigw X-Proofpoint-ORIG-GUID: xo8PLmfT1hgWe5QelEsJdqHqMIFiOigw X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA1MDA3NyBTYWx0ZWRfX80lC567n+oyH JzqbWYhmCjiPSvt5uG2D+XUZL+WYYYSrB0oYRCOqTA4QX3mRDkNF8hAybnzIyw0zfWFZAUecl5O dAI0j3o1Mhv0vsCHpo8sauZIlDsp1FXl7WcOHvaAUwDlYxOU5TBImMr527DpViOeCOJSc0yNx6R 6zQK/hUN/l5BQbbuAQwTUgsrzIfJCiBVHcdQxDiVtbcjIaUuynDZKBwlfwaV/hBNeqxsfM2jpjM AEY7tSc06RqvOxNFveNNYkLEfS83FPiGEjfEb7FQJ7IAJs3tGAuUHLWLwfXTk2NMRaHepJ485Qs EY5rhoaleLpytot6I5iOaBl7QAyCiKKZgYSDUJEuZWRZ9n6hS8DZMLkikJrSViucBJIOD603Ack TTjGnJhejvadQGweJWJVHu8QGNVALGTKPdYVw1ZMHp7vZXLGcBYWerc8iTJThi7XWBj87PmJFOr u3Y+0ZL2pvUlIFuEuCw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-05_02,2026-02-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 lowpriorityscore=0 malwarescore=0 clxscore=1015 bulkscore=0 phishscore=0 suspectscore=0 impostorscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602050077 From: Vivek Pernamitta 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. Introduce IP_SW1, ETH0, and ETH1 network interfaces required for M-plane, NETCONF, and S-plane components. M-plane: Implement DU M-Plane software for non-real-time O-RAN management between O-DU and O-RU using NETCONF/YANG and O-RAN WG4 M-Plane YANG models. Provide capability exchange, configuration management, performance monitoring, and fault management per O-RAN.WG4.TS.MP.0- R004-v18.00. 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 | 75 ++++++++++++++++++++++++++++++++++++++++++-----= ---- 1 file changed, 62 insertions(+), 13 deletions(-) diff --git a/drivers/net/mhi_net.c b/drivers/net/mhi_net.c index ae169929a9d8e449b5a427993abf68e8d032fae2..fbec10c1ba9faf1ccf049b808e9= d391800320989 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 @@ -38,10 +39,12 @@ struct mhi_net_dev { u32 rx_queue_sz; int msg_enable; unsigned int mru; + bool ethernet_if; }; =20 struct mhi_device_info { const char *netname; + bool ethernet_if; }; =20 static int mhi_ndo_open(struct net_device *ndev) @@ -119,11 +122,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 +161,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) { @@ -209,16 +237,22 @@ static void mhi_net_dl_callback(struct mhi_device *mh= i_dev, mhi_netdev->skbagg_head =3D NULL; } =20 - 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->ethernet_if) { + skb_copy_to_linear_data(skb, skb->data, + mhi_res->bytes_xferd); + 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); @@ -301,11 +335,14 @@ static void mhi_net_rx_refill_work(struct work_struct= *work) schedule_delayed_work(&mhi_netdev->rx_refill, HZ / 2); } =20 -static int mhi_net_newlink(struct mhi_device *mhi_dev, struct net_device *= ndev) +static int mhi_net_newlink(struct mhi_device *mhi_dev, struct net_device *= ndev, bool eth_dev) { struct mhi_net_dev *mhi_netdev; int err; =20 + if (eth_dev) + eth_hw_addr_random(ndev); + mhi_netdev =3D netdev_priv(ndev); =20 dev_set_drvdata(&mhi_dev->dev, mhi_netdev); @@ -313,6 +350,7 @@ static int mhi_net_newlink(struct mhi_device *mhi_dev, = struct net_device *ndev) mhi_netdev->mdev =3D mhi_dev; mhi_netdev->skbagg_head =3D NULL; mhi_netdev->mru =3D mhi_dev->mhi_cntrl->mru; + mhi_netdev->ethernet_if =3D eth_dev; =20 INIT_DELAYED_WORK(&mhi_netdev->rx_refill, mhi_net_rx_refill_work); u64_stats_init(&mhi_netdev->stats.rx_syncp); @@ -356,13 +394,14 @@ 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 SET_NETDEV_DEV(ndev, &mhi_dev->dev); =20 - err =3D mhi_net_newlink(mhi_dev, ndev); + err =3D mhi_net_newlink(mhi_dev, ndev, info->ethernet_if); if (err) { free_netdev(ndev); return err; @@ -380,10 +419,17 @@ static void mhi_net_remove(struct mhi_device *mhi_dev) =20 static const struct mhi_device_info mhi_hwip0 =3D { .netname =3D "mhi_hwip%d", + .ethernet_if =3D false, }; =20 static const struct mhi_device_info mhi_swip0 =3D { .netname =3D "mhi_swip%d", + .ethernet_if =3D false, +}; + +static const struct mhi_device_info mhi_eth0 =3D { + .netname =3D "eth%d", + .ethernet_if =3D true, }; =20 static const struct mhi_device_id mhi_net_id_table[] =3D { @@ -391,6 +437,9 @@ 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 }, {} }; MODULE_DEVICE_TABLE(mhi, mhi_net_id_table); --=20 2.34.1 From nobody Mon Feb 9 15:39:01 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 DFECB3A8FE1 for ; Thu, 5 Feb 2026 10:34:55 +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=1770287696; cv=none; b=PmzZW9BrJ1O4VGBw+U9MaoLF+erWDMdyUE8PMCRkohlujFusMDongIONjDmx6A1DjXswbol1Px/t5MN+qzTvnmREG/fYm9X1CmUY20Q1HcVdH+3bHh/HCOXptUE5OeVtbAwOjVCxBs7pn80Nt7e/Bun6oCQ6ZZPpuFjfwNyqZis= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770287696; c=relaxed/simple; bh=Pp2grdy0HGvxTDX/hIeiquPXDauTvrRjkXfG0y5tgGM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PklbaHn9iCI7rV9D+j+/la25EAFxlo68hSa5xpGCxpD2yvwN597RtBOsikiMIAdvxSsdiJwE9VZwNEqktk8i7T21QWUvWPVltJcTAsxgYsbgfcyxj79OjIbiowzbUumawEBsa2AA8umN/tssekShlPay1q9PZApnSCHwbyK/TSY= 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=GCOgMNh7; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=JtTEqW0u; 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="GCOgMNh7"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="JtTEqW0u" 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 6153dktW2639661 for ; Thu, 5 Feb 2026 10:34:55 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= 0pDwIFMOmIHXKjSM/iN19GndmiqDGOze1XVUOoV9B2w=; b=GCOgMNh7efuVs+98 9moa17eJiYyL83XDjUq4BOAOWrwj5RtstAHVeo1sX4gvODJczrWzafi/TeP3fMMA hTCKtajZRr/cN7RPT6Q0aNI7GYE6w4ID1SCHnY9/1HLwoWoDSZl3mEi+e3qadoZg wsYv+8Z7YcrsZqr+XK5IPZwvX6I+IlnFZexCc1ukK7QgApqylxo4PfFcthI95N7F 8gfTEgt/Xwt51+iYqvisEWzDcKy/v9eFQ8u+9loz9Qf+h3Sdh+UrcVaGTuVViOmu alhXWIKnIt1LrqdGSRg/IAqrUcgws0AfLqE952YDwJv9REmh+rslVPazsMLWpnxD hBuHBA== 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 4c47qvbecm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 05 Feb 2026 10:34:55 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2a943529ff5so8393805ad.1 for ; Thu, 05 Feb 2026 02:34:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770287694; x=1770892494; 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=0pDwIFMOmIHXKjSM/iN19GndmiqDGOze1XVUOoV9B2w=; b=JtTEqW0uLTY8Ywu5Sv+4h4Cun81xfmIESBt70Dt1cQOvBye6xXbxKj94N/2wKfd7ZR wAZbvjMuShDOEApguc7l1GpGPlOw0zGXrkhHaBbKrjQLlzAaHW/Le2TZ0LvpP3b2TOGC Bjtr7Y7FhjyvZgHTlwayR12rvLDXDXZ6M/907L4YphZPDpOoyg8RElsVXYqCXsTPdxi/ gyMBE9iiWdotqetkVTeGmNwTuv/pKypZrhFj02F+xmeFyZI+Guiw7msf8dugjd6vvcPM AN/pEyJzPUi++LzwbkBTvN1C9gzGVIzESZaT8uF38M75QLr9lcLgbvKnlBhHVlPXdQm/ mZWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770287694; x=1770892494; 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=0pDwIFMOmIHXKjSM/iN19GndmiqDGOze1XVUOoV9B2w=; b=i26xcmVLRZ1zg7T8VAZZY2B7bQhsoNg4pWHOTYisdCEM+jpletAhz17NlMw0q9EyY3 8rbTcPoQPwvqtNdzqPWTCJ6xWn5LCV/JwCBAlcMRL+O2UcWsrbVWeJTx41t+eZIkprKh R1e+SSnt8pRTk4B0LZ4xVyDueY+l2aMIfhBfZU5uPAVX3OhMlrutTwnyHzhyZrepzj38 URZRrAvUiAziPDUdbwYThdbFttC8bgURK8ok625WT8MJ6cLPyh6+pm4IiPlvaIqRD4cS Pn4w64IBr8APDWZtyGwYHniXKSLAW6vGPuOPAgJcuQI+pv4o8RKfdsVeIlDHJEz+EvKl 0u5Q== X-Forwarded-Encrypted: i=1; AJvYcCXJi642No7OqjkSogxZemcIdhB4Rm4Xx6/dwEixQiIJY2at/sCK+wTf5Af5oL0QLiwhh0WyYynDZRmsXBg=@vger.kernel.org X-Gm-Message-State: AOJu0Yw16PaU/+j/BLbIx4Op5kZKS22xZtl3YbqpgLEeoFl+1DTYU3pD BYjsIkDQLh98IFx51FHYlOjRfeen9IvsvvxGtgj8y8V3WYkRNpWCs6cElP/7du/z1K/SbTUfr0D 6cvMlpvq5tZvwgvbhVV4q5UlUIjKQs0D0icMFBsvF0uA9SRKZWGSwdFPPxXzwh0sUJtU= X-Gm-Gg: AZuq6aKBPGkrfHvuxzuja7PVYBkiMX1Nou+pd2/W0JXFEp8D4ltkrjFxI29q7uxdA/W xM+n41ALwZohA2UGGZ8J7fPo1L4Dpjba1BN6mWd5YpW5IG4vtCfk2BkKcaGd1f3Wve/vwNcSsVF SbNkYvY8MX+2TmqBrKNgEp+NAXtMUGaK9snx07blZJqzc1Ci2KPSMPDfC0AuOLlmWlIGMyQZWfW CinB6HCfSuxrR1moYzP2LErombSNvZQKESvtytxmH2m2K6ivrqkccZ+eBYToM7rUJOMy4TYvy0r Hp/mmwaEHPhg5UYqAmXkqLNxMGPwx/zAK9FPayP8XCMnFNxvED597Yymp/z5FTY6BFnLoVvZZxQ 4WMUQitT+YN7N9j0F7Y8gzoNJnVm6+MGKQG2B X-Received: by 2002:a17:902:e742:b0:2a9:33ab:e46a with SMTP id d9443c01a7336-2a933fbac63mr72094425ad.36.1770287694357; Thu, 05 Feb 2026 02:34:54 -0800 (PST) X-Received: by 2002:a17:902:e742:b0:2a9:33ab:e46a with SMTP id d9443c01a7336-2a933fbac63mr72094125ad.36.1770287693886; Thu, 05 Feb 2026 02:34:53 -0800 (PST) Received: from hu-vpernami-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a933851341sm50539255ad.4.2026.02.05.02.34.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Feb 2026 02:34:53 -0800 (PST) From: Vivek Pernamitta X-Google-Original-From: Vivek Pernamitta Date: Thu, 05 Feb 2026 16:04:41 +0530 Subject: [PATCH v7 2/2] bus: mhi: host: pci: Enable IP_SW1, IP_ETH0 and IP_ETH1 channels for QDU100 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: <20260205-eth_vdev_next-20260204_eth-v7-2-f85645210f81@qti.qualcomm.com> References: <20260205-eth_vdev_next-20260204_eth-v7-0-f85645210f81@qti.qualcomm.com> In-Reply-To: <20260205-eth_vdev_next-20260204_eth-v7-0-f85645210f81@qti.qualcomm.com> To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Manivannan Sadhasivam Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, Vivek Pernamitta , Vivek Pernamitta X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1770287681; l=1454; i=vpernami@qti.qualcomm.com; s=20241114; h=from:subject:message-id; bh=fXCaUq7DjiO3Pq6d/1jvpSm3bp5ZFTxYXJXZa9U8DDM=; b=1xn9CEuu91jQ6i4jgrM4k/C0PILnlK7O23NbhkkI5mW0xlMRgcokLmovr3vM/HZ80L2D+EFF5 5uVz4XjYlYeAAg59ASEGAIKpRXTXKLROzoKsj84yUIYlBLgTJYMwe3j X-Developer-Key: i=vpernami@qti.qualcomm.com; a=ed25519; pk=HDwn8xReb8K52LA6/CJc6S9Zik8gDCZ5LO4Cypff71Y= X-Authority-Analysis: v=2.4 cv=GaEaXAXL c=1 sm=1 tr=0 ts=6984724f cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=Vo5YzJSDI_NEo2NC7oIA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-GUID: E5k4aiIO1tc403QOT72dSZqmUhiI93ev X-Proofpoint-ORIG-GUID: E5k4aiIO1tc403QOT72dSZqmUhiI93ev X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA1MDA3NyBTYWx0ZWRfX8BxK/fCJ4hOk DRwf4LPcjvnpIm7pVFe20V2Feasl6qRRzyKlwS+FkylCPmhUpBz7RNZmHgDYuVBP9rGgJIN2u+G Xje3Pcm5h/X2QcRExeT2lwFix8zi6U0/gDfKcquRNjD1jpnzj7+jjnJC+uj0nNLgfSQY87Vdaa+ aOeUu3r9wp3ZY3Ni4E+KB3poOSjXsiZ1Kq+8JBePfsl9QJ5hj8TZaKH8jNcbqw8+LUdnUduTQ6w oSDBa4cil0FEV2m9Cp9P9sdzg21HRqPTvF4UoEmRv/wdzwFQ4FjeIvfPfFZXmfDsTEOrBt9XTkY WY1AjDdW6EWiuSNt3Re4g7ZingybMct9sd/Sk6msxwddb0i24ZcrYfJ/tUh9ff299oojJtupvjk Gs45L+7vKJg8SfprZAR9JSuc2Y+HHyu+2tD6fXhwjOf0omgYMZVNlZ3+U/WOidg5v4Rd9ezVgXV YK+Xob+PtnnEOuWhrLw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-05_02,2026-02-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 impostorscore=0 malwarescore=0 spamscore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602050077 From: Vivek Pernamitta Enable IP_SW1, IP_ETH0 and IP_ETH1 channels for M-plane, NETCONF and S-plane interface for QDU100. Signed-off-by: Vivek Pernamitta --- drivers/bus/mhi/host/pci_generic.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_= generic.c index 0884a384b77fc3f56fa62a12351933132ffc9293..6affef34ffc449eb48cd254bf3d= 8d69a49aeafdb 100644 --- a/drivers/bus/mhi/host/pci_generic.c +++ b/drivers/bus/mhi/host/pci_generic.c @@ -253,6 +253,13 @@ static const struct mhi_channel_config mhi_qcom_qdu100= _channels[] =3D { MHI_CHANNEL_CONFIG_DL(41, "MHI_PHC", 32, 4), MHI_CHANNEL_CONFIG_UL(46, "IP_SW0", 256, 5), MHI_CHANNEL_CONFIG_DL(47, "IP_SW0", 256, 5), + MHI_CHANNEL_CONFIG_UL(48, "IP_SW1", 256, 6), + MHI_CHANNEL_CONFIG_DL(49, "IP_SW1", 256, 6), + MHI_CHANNEL_CONFIG_UL(50, "IP_ETH0", 256, 7), + MHI_CHANNEL_CONFIG_DL(51, "IP_ETH0", 256, 7), + MHI_CHANNEL_CONFIG_UL(52, "IP_ETH1", 256, 8), + MHI_CHANNEL_CONFIG_DL(53, "IP_ETH1", 256, 8), + }; =20 static struct mhi_event_config mhi_qcom_qdu100_events[] =3D { @@ -268,6 +275,7 @@ static struct mhi_event_config mhi_qcom_qdu100_events[]= =3D { MHI_EVENT_CONFIG_SW_DATA(5, 512), MHI_EVENT_CONFIG_SW_DATA(6, 512), MHI_EVENT_CONFIG_SW_DATA(7, 512), + MHI_EVENT_CONFIG_SW_DATA(8, 512), }; =20 static const struct mhi_controller_config mhi_qcom_qdu100_config =3D { --=20 2.34.1