From nobody Fri Dec 19 10:03:51 2025 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 96110320A33 for ; Tue, 9 Dec 2025 11:25:53 +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=1765279556; cv=none; b=QUfEvpRV8rZY9o13lTa7zZMTSH6cfRjh8aW8E6LfOfXWdFBceKbfDz6zSbFEFw9xiG27RwSS/pncz0+HePEdwcJIbYi8WJrmvWeHC97n5ppyKT6anGZvAlzVaH8UZ1YBRbEcbrN0h3S3VXGeVENQfFG9djPbOCADbJpIyvWQyoc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765279556; c=relaxed/simple; bh=4Xt1IQmjvM1per4xGAI62B4crkvRjHhecHdHzfrfSEs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sVzK2iWKIwqQrOStifTtk+0UhmaPYUHSQUiX/uUnlemmvjyCJJsojyBJ//aHrDqdYj9dOYNKhx3bOxsrDzxb8r/ONPWwNzgjso8zTKQ2etcQj0wZNHDQAAj9lBLXu44WhA5qJObNq1N5CrHYND8CKRKeskNa1ZsrGH/6BPTvhVI= 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=ANwSlMUx; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=MvRy+nLI; 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="ANwSlMUx"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="MvRy+nLI" 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 5B9B4rtQ3325924 for ; Tue, 9 Dec 2025 11:25:52 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= zzvm6kMjAbwAyGaq4GDz/9JFMnRPWETiid+E++VSmOg=; b=ANwSlMUxEAtZ9DIC ydYKJKww+wSw2W7kF2/z/Qq+VjFgZr5KpVNfviD9OCNzMXmqSfe9LHs8ZQUiJ+TJ QxM5cHuW3+WONfyXuB+PwRbQ24Unq5JBxosuIwze6ziXLxHRPAnmbxdpfspg6kVx tlAaIiGTIBWVM4vQJfoPg3GanT5MBbIDA2MPuKQ6hlebDA4SIjtbngOIdfC/9Lsa 39zOyYo/SMSGd3lqxGOwItFXCjCr2/oHA3aRCUCNDgkVUDQ0T+yCnwhYMGSmrxo6 MKNBN5bAxLrap8vVLFrOwcPSBdsbAiR8d68rMonLXdzYe3/2s64rxhOt9TrObI+h k0TRAw== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4axjk50257-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 09 Dec 2025 11:25:51 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-34385d7c4a7so3558313a91.0 for ; Tue, 09 Dec 2025 03:25:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1765279550; x=1765884350; 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=zzvm6kMjAbwAyGaq4GDz/9JFMnRPWETiid+E++VSmOg=; b=MvRy+nLIHQ8jzX7aFtytENPVf6C7oO6030GSaQjZq5amHow+uULBtRgxVQkazlMt7J +b7vklTFw0GH1O0Z3C1JbmLoSSBQqm6fk3EOGXp7mO7xdG4vEomdVPWK+jEJK+xTGFxb stbnqWtd14RRbbY7pQL9+0zPRnXxb9FKQf3UsA2AYT6QYSQkTDniJuGi5/FJsw4NuElI Q4ZlXX4uiV42bR89Olehf9rC6nf+jREih98ppMYxLYTKpkNMqJYIrpmAYVB5K+s+8pY5 m1i6LTq6ZZ2O3/9OlyA8TX8MWIphcJ4SWxonDrYMrBaqGN79QjYYFBJsaFhzmlD0PJBZ Pkyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765279550; x=1765884350; 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=zzvm6kMjAbwAyGaq4GDz/9JFMnRPWETiid+E++VSmOg=; b=Hx5GXO/4MzujSOFokXYvbwLcfCPVvDXpgXb+c0LnGJDxDM9M9r2bikb9bSHF2FXdwR 27dr7zoYmowP2r7oK+2cp/RC17HfL6QGJtoZPaN+Zc+u3Y+i4vqcaIQvQfR2gjk2u8/W CKUNPRdZEAbJNklVNJ4K+gjtz9gn0iARqJAp+0NOxST0bLJOKsLtZ4Tg4XHbo0f1Tfkn 9+Fdtr3zaz0GO8RsrLI5NMJ6HozYcSU+/5njjEbB15NVeZXSjwVAn2fm7MCmEk/SrJS4 MadB9/zPKETcDrsv+KgRS6RVGgH1lSQgkG0LEKnxRwYLQLqrO/ggFiHe+SIxliNv1QFb TtWQ== X-Forwarded-Encrypted: i=1; AJvYcCV8KAuS0oxP6nH1p/+pZXotjlC+wVWZfbqj9bAASLAZ4FCZUiS68AY9gxb5wJXqG4F6Fx8fhwruJTHHELs=@vger.kernel.org X-Gm-Message-State: AOJu0YwYKBX+ER0Od9wj4jdyrnabldTTdde/9OIBLUGxNzXCKxsf+Teg 7aHb24ZbMDhGoIyCQkGIGwQhtQdfOoI14VN7V3vJzyZixVAQf85hsewPt3RPSS2bEM2o5aJDrse Ia26WBTkPwqQUPhhs1buVOEQ13/ZkYnB+pwGK/eRz4++hwXVCXVlDZndxYAvKb/o4Dyc= X-Gm-Gg: AY/fxX4KLzpwQrjaN9WLBTrjH9JfsWvoLMPT5GZMvzTNbBbnd73xcnqY0n0dNXh+yc7 Qqat5r5+sfgYktKrWDeHg1RU7f8ZmJPFM3Rm1CHdKmRXTjnvFARVylk1ucGw74sLgqZiIBH5vuN 10VLB0jYsqBMJeksZE98oYdswgrrTgKrTpE8aW1QMK6qKpNnaDOoqeU2EIgQVNi1giPteaMzdap ZdP42rdGW36ubfHBw+Y04he73PwD+/HkgQEWMHmAM6/fhGZGnDHKmZRQhu3p4chhldxDEb+OOKR ZQUddmaHcsCnUpLevqB9LYVmlF4I81du6knbWbaLu4vsbsRUYy+45yRDEy8m3dg0aJ6/Xgbci8W kAnx1Zobc0DQsN397kfPG4WvYYKx8XQEIQnT2 X-Received: by 2002:a17:90b:3c90:b0:343:7410:5b66 with SMTP id 98e67ed59e1d1-34a4f89b48amr946346a91.11.1765279549713; Tue, 09 Dec 2025 03:25:49 -0800 (PST) X-Google-Smtp-Source: AGHT+IGQEq+dHQp2FQjrMyzqkzhLh2wL7hYVs08v/LzvnKvF1wFx0jv/sRAtqEpEOmVocGpk3Yu3/w== X-Received: by 2002:a17:90b:3c90:b0:343:7410:5b66 with SMTP id 98e67ed59e1d1-34a4f89b48amr946328a91.11.1765279549204; Tue, 09 Dec 2025 03:25:49 -0800 (PST) Received: from hu-vpernami-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-34a49b9178csm2135964a91.12.2025.12.09.03.25.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Dec 2025 03:25:48 -0800 (PST) From: Vivek Pernamitta X-Google-Original-From: Vivek Pernamitta Date: Tue, 09 Dec 2025 16:55:38 +0530 Subject: [PATCH v6 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: <20251209-vdev_next-20251208_eth_v6-v6-1-80898204f5d8@quicinc.com> References: <20251209-vdev_next-20251208_eth_v6-v6-0-80898204f5d8@quicinc.com> In-Reply-To: <20251209-vdev_next-20251208_eth_v6-v6-0-80898204f5d8@quicinc.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 X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1765279540; l=6488; i=; s=20241114; h=from:subject:message-id; bh=PyNLCBsIRJYR2Mdyu60wBNZuDnOIiuK8SbOT40fp5gU=; b=8CVrovBbbQpgioDY7gBpzhp2cNfu9WAMC1hNXZUXbn1V/2fg+z558pJNrEMaCrnzjSUOgwXBJ JSFl/EMI7kZDc1YDj759QCyeoerv1mqmNEJ22e/Tueq2fSNIzJF6In0 X-Developer-Key: i=; a=ed25519; pk=HDwn8xReb8K52LA6/CJc6S9Zik8gDCZ5LO4Cypff71Y= X-Proofpoint-ORIG-GUID: LhDIX001jxLnLxy-yGpUGiZERPj1FAsR X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjA5MDA4MSBTYWx0ZWRfX0iGeTAoa/OyR W8dkQBkuQ92haSjCg5wRbnBfSZ/Otjl/SmJ8EWF4gSBAPXudXxHqbNXYJGUddFV1LoZAYJ0vcWZ UM76HSN3G6IcLqraH92FzxmKc232xLXIY0pYomkDIQtb3eK++f9sSxxbkJzoWW69NfEHZ4ThByw rWkQDliACEXOD9axJZ78GuByo6bFyj+WjV4xjMz7BADrQUCQrwdvB3BHg1tQKqg4wz8X2rtdqnI 0RNty3K9UDjioHuV3RSJeNE8nveAu0euaJYlZAcGGaR5Oajj6fRjqHFE/iStG+P3ckdX50Jtb9t VjCCjWdiavFgI+EujyQZdfScNaTArOM4Coxnemcaq+uy8WSh1xkOPkzbkUen/HeLtgu/zprIDfH D66kUv4S2ep4rLSZmJsVbm/YEH2G5w== X-Proofpoint-GUID: LhDIX001jxLnLxy-yGpUGiZERPj1FAsR X-Authority-Analysis: v=2.4 cv=RqvI7SmK c=1 sm=1 tr=0 ts=69380740 cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=B7OUL4BZy9I5PIjrJhgA:9 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-09_02,2025-12-04_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 suspectscore=0 bulkscore=0 lowpriorityscore=0 phishscore=0 impostorscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2512090081 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..d0713e1eb7b024667f8f3f00ed3= cf38d91a75708 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_PREDICTABLE, 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 Fri Dec 19 10:03:51 2025 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 4EEFB3019C3 for ; Tue, 9 Dec 2025 11:25:54 +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=1765279557; cv=none; b=d/9/GA0oYHv8RIyy+z5/5+t8diSOZxeRHMXl+ZYJxW0Vvz6i7Oy6VgGovcpzfGQyMYtbVfiG3d8MhiSk7I7ShF/m2bq3CylCG2pIZx2hd/JwXLodkBMAX8qh3UNsf3mQkmju7zqm4erGVn5mn0yl692KpktiSK25sZRkXfVPbRM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765279557; c=relaxed/simple; bh=2FGJCYKsjYntIjZN8gihGQCd+HkaPjPNeoGWcukaLFQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=o78X4T79RI1V51bWUU0R4YBkpA21P+2dP7Kg9AQkWplWY/HL6VNHnzPuNo7+8MTvOrD75+R6uHc4lZEHHxBX62L0qzL/WcAuVGMIeVnaHv3qFLWQzsflbJVJsZyTY3ecLQ7ZUmPeKr6oyNUp8XhW8DAIQVunIwoCbyR6AUS2rHA= 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=mvt1EQaQ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=j11YLNMK; 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="mvt1EQaQ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="j11YLNMK" 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 5B99N0JQ2755207 for ; Tue, 9 Dec 2025 11:25:54 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= EvDD45RhBoypTIEIU6+VZMz01WBs5CFpnRzADYt4gVU=; b=mvt1EQaQB8iSlCuK Vgxf5dXS9KtZ8/cyTZvKM6Bajm1ejXNc6QrYpzSSNuyLke3cM/xCsEXkmKIqcny3 tqafJK7xXWPn0cEDrU5WrIA3eWvTSpreGjwrRnODpILxnumxeXrH1nG2yzUiVc4x bdvnc3M4A/dswrnL+HgpoRyXy9kLAQikUo9xsn/jUo9A8KFDE6+vrHEikxVgOzu+ Z1fqRFZajkARg34PR3GDAvaiA2/6086mUiCcXpCxxblVUzBvSbRIpHb1nloDM1yi OdCXRspfg1/kuS1MPEMDc+h8r3QDAw2IykWpJaNqTbkIUuyR6CRbSr+QTURhMDS5 wdJBRg== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ax57racu8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 09 Dec 2025 11:25:54 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-343bf6ded5cso10168126a91.0 for ; Tue, 09 Dec 2025 03:25:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1765279553; x=1765884353; 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=EvDD45RhBoypTIEIU6+VZMz01WBs5CFpnRzADYt4gVU=; b=j11YLNMKZWqUs9ASQjRIE8akFJvgjGur+EEtB9RERb3hFpVQDO972+QBElTmaqtTML OfHN6cwoQak/I0VA5eCeC+uwrHR6x3vRUw3V6BCZFlGBU9L5GZ0PNslYDbFCO4/gpwU/ qcktLCqdTpNIeq4ifb7kwEzz3POyVv8tS5MKltymYNgK5PKESQlp7Hz6ebGqESrMTLvY V+pCrbGW+KodePz3eoUowy03pRWpyDz8yya68V0KRkuAg8FjbZfRAVwYngLZ04XtgCMI ZAGIDW9Mh0hBlVROpUmlTkZxl7tJ/ub1yGkRTRmalQxOXeu88tDQDkairSwE500gt5A3 qBWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765279553; x=1765884353; 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=EvDD45RhBoypTIEIU6+VZMz01WBs5CFpnRzADYt4gVU=; b=KYM1tU0CDTwWYxPbmneCcTayKnymjRu8AbgFCJcsAO0A2onyQOA/ShHT03x7JILVGp 3tp4kIKa7LX0NIj1I63sOTFHRbFa+MZ/bTAh2vSoVPCNVOYtonLSaCfdhyQ1o/MtvD27 c8tgxAcqoMzu1EmlvgA7sJF50Idr1jMwlRXDEovYpwVuQLMwzmb53SScEJyjR2PsaZjr XnR5GuOtiqUTdRyslvLT0feyxH5hlOcdUOJuOf4bnXivNinmBz1yXw14a4WramZZ5Tst x2iR5FJoo0zvhcVbgwGSUijhYCv0RfPkq4U5t6S3So2poLSE23ti7m+wZRy5CI5I4GGE qnwA== X-Forwarded-Encrypted: i=1; AJvYcCUN1wD8VYbl1kqW+woI68+a/1CFrgc5NzPQkpT+qNRGTGmO+Onv3fYdYMn+ZgPEfru+kJ3BlRI3HFnO220=@vger.kernel.org X-Gm-Message-State: AOJu0YzIoZ6QNa3KbaKxOc6rDkpB7VBJUsEk93Nb030FL6Moy3rlgn6t FSb1ZKWNOnflW1q58XUcCdjK1ddi6UetbZCLOzHPtJqe0G5GJQbTCs5Mj/kEi7f+U+eV++K3NOI e6xFhHEKUskxT/osD0ri5EipgmnHJDpb2oiUguwCj9x9iYdw8oGjVSJELIxy4ncD/ngnPijVCf+ k= X-Gm-Gg: ASbGncsSY3ZrWcNEQDjU06AxzF3RVfTwD4sF2gr4QJ8nzqFl+Zpdz545W+mgySHdIPS qUECqdhvwQJyTgla+gWkpCQz5usql/p/d5jI9DvRYdm18AWIZVJil3V2oxwZdl3LACcjgGQ1ItW AkpIrHfCeBg8nBLCGH/KYdGNffP+Cd/Aqk5TsCBdUlI/JI3KYUj/h8LEVcHTGqOieEXLFW5KOiR zhSNhmXB/2aNl3YgvSJvotisXWhTeT0kwSU0fiZS3MthLC5zf/ENoeBBlircbtj/2y8D9pEVf/+ 8WP9ciFCeDkeJpMXMRh3O5aLA6I0siepxAQ9JpK5vW0qnX212rdYjOsE59AhvfSF8vk5bfXuQMP UvVPTxjftGDZ1ll6ZuRJgnyLd0yEZdbW59tEt X-Received: by 2002:a17:90b:3fc4:b0:32e:7270:9499 with SMTP id 98e67ed59e1d1-349a2383216mr9377644a91.0.1765279553418; Tue, 09 Dec 2025 03:25:53 -0800 (PST) X-Google-Smtp-Source: AGHT+IFEhiKhxzloVAVDD7SMTU5H/0EbNUFXFZXddfP0ByD6tJ/lpwKv95r6+zJSHLiOW0qNdHwcLw== X-Received: by 2002:a17:90b:3fc4:b0:32e:7270:9499 with SMTP id 98e67ed59e1d1-349a2383216mr9377631a91.0.1765279552988; Tue, 09 Dec 2025 03:25:52 -0800 (PST) Received: from hu-vpernami-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-34a49b9178csm2135964a91.12.2025.12.09.03.25.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Dec 2025 03:25:52 -0800 (PST) From: Vivek Pernamitta X-Google-Original-From: Vivek Pernamitta Date: Tue, 09 Dec 2025 16:55:39 +0530 Subject: [PATCH v6 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: <20251209-vdev_next-20251208_eth_v6-v6-2-80898204f5d8@quicinc.com> References: <20251209-vdev_next-20251208_eth_v6-v6-0-80898204f5d8@quicinc.com> In-Reply-To: <20251209-vdev_next-20251208_eth_v6-v6-0-80898204f5d8@quicinc.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 X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1765279540; l=1454; i=; s=20241114; h=from:subject:message-id; bh=+nRfEhok8twa4Xlo7PhnBTCR9iY5h7FrwyNjZGBqxEI=; b=9KkJ5O9oszdtZjNvDYyCiuz05nlJzO0EMIuX4M6xl275ahq89w8yfAYigRkU5bFVFPGxb2Jb/ pIPqy2H5WRZATy+BzLnzy1JBysCimexGF5sm1iX4OXiPsqODXejsoz0 X-Developer-Key: i=; a=ed25519; pk=HDwn8xReb8K52LA6/CJc6S9Zik8gDCZ5LO4Cypff71Y= X-Authority-Analysis: v=2.4 cv=OPQqHCaB c=1 sm=1 tr=0 ts=69380742 cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=Vo5YzJSDI_NEo2NC7oIA:9 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjA5MDA4MSBTYWx0ZWRfXwMU76ZlRyy0r Nxq4RCt+pEXG3vilsBZ9jor51x0h5unfCYE3Dsc8lmF7hqaJij0Ckx8ZFKIIQZ3212N3eQhn4o/ W5l8WYcHVLxhMtf2NQ+4KPHKE4tBSOtQL626YrhN/xUsZveMd6ZvJjUaRl9ra/qE33GlUeh+nJq MH7XJch5wWJOFOK0Fm3OKkDm5nnxDub73QTxQfcEgacpaTziqf37qv5iUei/vBC5I42b1oIq1DQ YMnb66GL7ggQtr+kRkIKm1QS3DHift7lqcZaJ5njb4YdZHb5+wJI8hrfeWTwHXJiSHqwvUGpZKM o5W4WZYtUGauxcsYSttZHk56Sf4VhAr3y0Q2mUoBsqJ8AtTE9b8aeeEyYIddvpV0li71SjHL1VS i9mZhyRsU7x8/cUt7r72Fapa1rBaUA== X-Proofpoint-ORIG-GUID: 6dZd8KTQrAP0relo13kCsOzr4wzDEOwM X-Proofpoint-GUID: 6dZd8KTQrAP0relo13kCsOzr4wzDEOwM X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-09_02,2025-12-04_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 clxscore=1015 priorityscore=1501 adultscore=0 bulkscore=0 lowpriorityscore=0 spamscore=0 malwarescore=0 impostorscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2512090081 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 e3bc737313a2f0658bc9b9c4f7d85258aec2474c..b64b155e4bd70326fed0aa86f32= d8502da2f49d0 100644 --- a/drivers/bus/mhi/host/pci_generic.c +++ b/drivers/bus/mhi/host/pci_generic.c @@ -269,6 +269,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 { @@ -284,6 +291,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