From nobody Wed Dec 17 00:42:16 2025 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 8F77A2D94A8 for ; Thu, 11 Dec 2025 08:09:11 +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=1765440553; cv=none; b=Iig7lG3aQTfgTRQGOcGQwiCd2sWy2bz/V5SUuuTv/zvUZhvyrZE5W5f0dhJsY/nKx3mrKuZhnNd9ooPI07NAloh6WstJpDpo/IoxHBAkYQXnJO2Gxzs0f5hfkBS2EvZ3vKbVwfC+2+/AhdsRbs/SaxZU3FZE/ZeOCB1Z49BTJgc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765440553; c=relaxed/simple; bh=r1dgzFXv0adBb2kXX4eYZgSjO4M/Wakct1U6I89VE+s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ENBWGCmtHyhyEPUfSCkJ1oIhJETo3dO/mrJg3VLMCDoNYEmxl4RlAnGrR8TSZDalzyFCBQDI9Ak5iyfc8R15EYwGWLoPTpL8W5uRA0G7QEbwsblfW5HUSrbwBIkl+I4M7y7R9tgQPTDl26+CUZacMNKlmI9U3eb3D+J8DhfMVBk= 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=Z6qSWSVV; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FBzgtkiM; 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="Z6qSWSVV"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FBzgtkiM" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BALPRQH4126900 for ; Thu, 11 Dec 2025 08:09:10 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= sLC9AKIzTPo5A0hcA9nTuNNa40XqXMlTf9DM5xLPSZU=; b=Z6qSWSVViE1Oic6q s4vfwMBd4+x/U/K9o1UDjSQHV4VbH7LygP1abfPxp4pvN1d+3hQ0MOgex6fXF461 tw0PDllpYLXsbKIkE3YyCPopYnXiMib3sY28yFKLNfT+aHJqpdGD+hynr21lBgD5 F+O7u+vfgTy2WC5+5B/J+dJ7QAjQ8+1HTslaYBbu8GC/+N9L9G0Mh7cwpCD5kdNt Zxxt5Jzwf1qX6AdUnkIwk1QzzNWT0kZnuHWXRdflisJAib+eqmj07THVNydZeroS vWzXFpaw59+DNnsoTonjRAxb9K8M6JUYPl32N+rg45fVPgq5DHLKmmeyFinBt6YW xnToqQ== Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4aybhparhf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 11 Dec 2025 08:09:10 +0000 (GMT) Received: by mail-pf1-f197.google.com with SMTP id d2e1a72fcca58-7b80de683efso1222937b3a.3 for ; Thu, 11 Dec 2025 00:09:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1765440488; x=1766045288; 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=sLC9AKIzTPo5A0hcA9nTuNNa40XqXMlTf9DM5xLPSZU=; b=FBzgtkiMkaa7JSwZzMAdLRIDgPbukT5/lL/DmgXjk+iA66esJCVYuqKnD8gnD4lcwX lFGB6VwtLP95hjZ7mqtHc2GOgMeiAZZZtREHzInvNsfh3ywEEaIeD1hE7Q4KQ+kf81Ue z69rhXQ6cF/0GgqYl0EEzqCA1dAp4rsBzk40nSbJxx1ev/g7lXNB/d8vRNfnDjpSZpGZ akhouFXJoVRTksEMrS/FM6ltr/2EFUxFniFg/CzM/+0cm767HVWjWYhUa3/oJbFRn92F zBw9+q0pN4N+vuHZME3nOL1Q9u7LoEm+UYXw5WwmeBMWQniUqVMuLM+RPHG0lPsjCPnt edlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765440488; x=1766045288; 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=sLC9AKIzTPo5A0hcA9nTuNNa40XqXMlTf9DM5xLPSZU=; b=DCb2X/EdGJWbHN2lkeTd2L7JPkeiwdo5E3ZWVBSq32odCF6keAzzpElIduyqVzQ3hH YXRFH4VdIOgSu4Ha4ing11pi7Jex8A8iGzg4/lb+jHsw3eHYr/wX3azcB10t+YC+q+Ut mzfMFPOkLGx31Ej88p1gFwt/kDJteUNeNHKuXWN2QpXqsU6lA74rbx0I+sPlJct8dvek LwD8eUWO1JOygdhtQPchfRgRDY/ECqmYjd3aLM7U86gBbIVjGlwY29jIf6Hc6zyaQK6j lIrFYwjELlvupYChulvp8YmjlUIqOdIFNptv7S8grhQofQIGjkPhO/OB3XfrQbudvaph q+vQ== X-Forwarded-Encrypted: i=1; AJvYcCV7VnszKg4dCNA3eoQTdsBwDC7zRRV9lg1WNQLOlQZNU98SouFji38th8zlTPXmMATOliKpLHtebWiJsM8=@vger.kernel.org X-Gm-Message-State: AOJu0YyLS0P17e+ONybyrDqoE3qT/zhPOgrbNOkasVacKcDAHXYV9yOB VxQr/3OlzYZYD/T54N8N1CUiHHv41P60BVfZkvJxruUZootIpHfAiIMRMUqFXZ9kieCpGUysVEc 8v8WfoqBrhA4/D9e1cWz8UxzVUa+/Lnfa5iu/3VlqVxD8Wl7kx+lkITtTT2uC54Qs+DTsk0sIJG 0= X-Gm-Gg: AY/fxX6oTz2mLAsoBU58TVyTMMFTYefVNU7GEkJU40kylbkHhNNw49wcal12KX/IOBg BhkVqnpwKPOdDbKVq6eXuTEMqye1UzHUuZucodK6qMtEQ6MHabCfYq373lBgYCaTkHKgNcHDE4B SkzLG8sGD6OMzzJVKzQMB4yjvhirRY1eNSuEkyMiOTQ7jA5pR2tfrfKTtGT9JNLv47uPblyz/G3 xki5qqJIulkO/GJ83RJa4WwsUXtxQfo5MNkZXJlOGHet/wYycMGb+Ha/++cgOn4guEfpjMkHLrR cQxR2COiebbypPSOPzmU/uPwVrIKPMu2gGLbNZR8gX1Xg4k24lSdnPv4gsJ8WvjmWQiDMcJOWAJ u5ikUDxLclwODy3AL9H7ee9yk3TOFwkh53w== X-Received: by 2002:a05:6a00:1814:b0:7e8:450c:61b8 with SMTP id d2e1a72fcca58-7f22f907705mr5238402b3a.40.1765440487576; Thu, 11 Dec 2025 00:08:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IFingzOIjru3J81q2erQBMyS2PWI3+c1Y5IB5yB+eIOJ0eOlN1+F/PswuqWRrS3BjNZ5xkmYQ== X-Received: by 2002:a05:6a00:1814:b0:7e8:450c:61b8 with SMTP id d2e1a72fcca58-7f22f907705mr5238370b3a.40.1765440487075; Thu, 11 Dec 2025 00:08:07 -0800 (PST) Received: from [10.213.102.126] ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7f4c22848a7sm1706651b3a.3.2025.12.11.00.08.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Dec 2025 00:08:06 -0800 (PST) From: Sivareddy Surasani Date: Thu, 11 Dec 2025 13:37:39 +0530 Subject: [PATCH 07/11] bus: mhi: host: core: Add overflow disable flag 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: <20251211-siva_mhi_dp2-v1-7-d2895c4ec73a@oss.qualcomm.com> References: <20251211-siva_mhi_dp2-v1-0-d2895c4ec73a@oss.qualcomm.com> In-Reply-To: <20251211-siva_mhi_dp2-v1-0-d2895c4ec73a@oss.qualcomm.com> To: Manivannan Sadhasivam , Jonathan Corbet , Arnd Bergmann , Greg Kroah-Hartman Cc: mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, Upal Kumar Saha , Himanshu Shukla , Sivareddy Surasani , Vivek Pernamitta X-Mailer: b4 0.15-dev-47773 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjExMDA1OSBTYWx0ZWRfX2HLBlg0xyt6s K6GWK43BDi51+QV0OBfUWfXyiIROjQEw6x7C1hL6adjO/xtkmDprGl3mCOeb6AVl0jHzsh2x66W HaPy3olm4hga15+i3qhnPmhUsSdRciU60xPo+0Vj0MjQPsi75gaDYVsANcajCyb8/lbsrCPDE+Q 3hU5ZPyCTTU0S0MF9FPZNr9vK+jEuWZ4jP9rpLp3qvfArooN+Xq2RSu58tMADve4leaQP/IyETS yc4BwI61vQHXJLlev2yNeaON8NEKFLayCxo4KxKe0cvm8E31HROAhVNHHq1io5CEdmGt+1L8wwN kRngSivPoSNY04ONPJqv3/nZ4/2fRL+QuMgxZKnjs4TD7PDxvdZWYeJz0efMjTYDmAmbtrI+aCA ob04tgYnULD6WLa5oktOrfffkHy01A== X-Proofpoint-ORIG-GUID: 19fLNx0meY-DoxO-7xQHdPCXCR5Xv5-z X-Proofpoint-GUID: 19fLNx0meY-DoxO-7xQHdPCXCR5Xv5-z X-Authority-Analysis: v=2.4 cv=LJ9rgZW9 c=1 sm=1 tr=0 ts=693a7c26 cx=c_pps a=rEQLjTOiSrHUhVqRoksmgQ==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=CZodSWM9tNyhDDhyKpoA:9 a=QEXdDO2ut3YA:10 a=2VI0MkxyNR6bbpdq8BZq: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-10_03,2025-12-09_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 spamscore=0 clxscore=1011 priorityscore=1501 suspectscore=0 lowpriorityscore=0 bulkscore=0 malwarescore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2512110059 From: Vivek Pernamitta When the client transfers a large packet, the host may set overflow events if the packet size exceeds the transfer ring element size. Add a flag to disable overflow events. Scenario: A device sends a packet of 5000 bytes. The host has buffers of 2048 bytes, so the packet is split across three buffers. The host expects one event for the entire packet, but three events are generated: two marked as overflow and the third as end of packet. The client driver wants only one callback for the EOT event, not for overflow events. This change prevents host channels from generating overflow events. Signed-off-by: Vivek Pernamitta Signed-off-by: Sivareddy Surasani --- drivers/bus/mhi/common.h | 3 ++- drivers/bus/mhi/host/init.c | 3 +++ drivers/bus/mhi/host/internal.h | 1 + include/linux/mhi.h | 2 ++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/bus/mhi/common.h b/drivers/bus/mhi/common.h index 58f27c6ba63e..31ff4d2e6eba 100644 --- a/drivers/bus/mhi/common.h +++ b/drivers/bus/mhi/common.h @@ -282,7 +282,8 @@ struct mhi_event_ctxt { #define CHAN_CTX_CHSTATE_MASK GENMASK(7, 0) #define CHAN_CTX_BRSTMODE_MASK GENMASK(9, 8) #define CHAN_CTX_POLLCFG_MASK GENMASK(15, 10) -#define CHAN_CTX_RESERVED_MASK GENMASK(31, 16) +#define CHAN_CTX_OVF_DISABLE_MASK GENMASK(17, 16) +#define CHAN_CTX_RESERVED_MASK GENMASK(31, 18) struct mhi_chan_ctxt { __le32 chcfg; __le32 chtype; diff --git a/drivers/bus/mhi/host/init.c b/drivers/bus/mhi/host/init.c index 4c092490c9fd..50f96f2c823f 100644 --- a/drivers/bus/mhi/host/init.c +++ b/drivers/bus/mhi/host/init.c @@ -340,6 +340,8 @@ static int mhi_init_dev_ctxt(struct mhi_controller *mhi= _cntrl) tmp |=3D FIELD_PREP(CHAN_CTX_BRSTMODE_MASK, mhi_chan->db_cfg.brstmode); tmp &=3D ~CHAN_CTX_POLLCFG_MASK; tmp |=3D FIELD_PREP(CHAN_CTX_POLLCFG_MASK, mhi_chan->db_cfg.pollcfg); + tmp &=3D ~CHAN_CTX_OVF_DISABLE_MASK; + tmp |=3D FIELD_PREP(CHAN_CTX_OVF_DISABLE_MASK, mhi_chan->db_cfg.ovf_dis); chan_ctxt->chcfg =3D cpu_to_le32(tmp); =20 chan_ctxt->chtype =3D cpu_to_le32(mhi_chan->type); @@ -870,6 +872,7 @@ static int parse_ch_cfg(struct mhi_controller *mhi_cntr= l, =20 mhi_chan->ee_mask =3D ch_cfg->ee_mask; mhi_chan->db_cfg.pollcfg =3D ch_cfg->pollcfg; + mhi_chan->db_cfg.ovf_dis =3D ch_cfg->ovf_disable; mhi_chan->lpm_notify =3D ch_cfg->lpm_notify; mhi_chan->offload_ch =3D ch_cfg->offload_channel; mhi_chan->db_cfg.reset_req =3D ch_cfg->doorbell_mode_switch; diff --git a/drivers/bus/mhi/host/internal.h b/drivers/bus/mhi/host/interna= l.h index 97bf6a70b9fa..db00ede0aa48 100644 --- a/drivers/bus/mhi/host/internal.h +++ b/drivers/bus/mhi/host/internal.h @@ -189,6 +189,7 @@ struct db_cfg { bool reset_req; bool db_mode; u32 pollcfg; + bool ovf_dis; enum mhi_db_brst_mode brstmode; dma_addr_t db_val; void (*process_db)(struct mhi_controller *mhi_cntrl, diff --git a/include/linux/mhi.h b/include/linux/mhi.h index 299216b5e4de..926a20835467 100644 --- a/include/linux/mhi.h +++ b/include/linux/mhi.h @@ -215,6 +215,7 @@ enum mhi_db_brst_mode { * @ee_mask: Execution Environment mask for this channel * @pollcfg: Polling configuration for burst mode. 0 is default. millise= conds for UL channels, multiple of 8 ring elements for DL channels + * @ovf_disbale: Overflow disable flag * @doorbell: Doorbell mode * @lpm_notify: The channel master requires low power mode notifications * @offload_channel: The client manages the channel completely @@ -232,6 +233,7 @@ struct mhi_channel_config { enum mhi_ch_type type; u32 ee_mask; u32 pollcfg; + bool ovf_disable; enum mhi_db_brst_mode doorbell; bool lpm_notify; bool offload_channel; --=20 2.34.1