[{"id":3675831,"web_url":"http://patchwork.ozlabs.org/comment/3675831/","msgid":"<fb37aa8d-bc61-48fe-9c82-828e7fd642f9@quicinc.com>","list_archive_url":null,"date":"2026-04-10T11:22:01","subject":"Re: [PATCH V4] i2c: qcom-geni: Avoid extra TX DMA TRE for single read\n message in GPI mode","submitter":{"id":88101,"url":"http://patchwork.ozlabs.org/api/people/88101/","name":"Mukesh Kumar Savaliya","email":"quic_msavaliy@quicinc.com"},"content":"On 4/10/2026 3:49 PM, Aniket Randive wrote:\n> In GPI mode, the I2C GENI driver programs an extra TX DMA transfer\n> descriptor (TRE) on the TX channel when handling a single read message.\n> This results in an unintended write phase being issued on the I2C bus,\n> even though a read transaction does not require any TX data.\n> \n> For a single-byte read, the correct hardware sequence consists of the\n> CONFIG and GO commands followed by a single RX DMA TRE. Programming an\n> additional TX DMA TRE is redundant, causes unnecessary DMA buffer\n> mapping on the TX channel, and may lead to incorrect bus behavior.\n> \n> Update the transfer logic to avoid programming a TX DMA TRE for single\n> read messages in GPI mode.\n> \n> Co-developed-by: Maramaina Naresh <naresh.maramaina@oss.qualcomm.com>\n> Signed-off-by: Maramaina Naresh <naresh.maramaina@oss.qualcomm.com>\n> Signed-off-by: Aniket Randive <aniket.randive@oss.qualcomm.com>\nReviewed-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>\n> ---\n> \n> Changes in v4:\n>    - Added some more description in comment and changed the label name.\n> Changes in v3:\n>    - Added comment in the driver for better readability and changed the\n>      position of 'skip_dma' label to allow dma engine configuration.\n> Changes in v2:\n>    - Updated the commit message.\n> \n>   drivers/i2c/busses/i2c-qcom-geni.c | 24 +++++++++++++++++++-----\n>   1 file changed, 19 insertions(+), 5 deletions(-)\n> \n> diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c\n> index a4acb78fafb6..a482a4c60744 100644\n> --- a/drivers/i2c/busses/i2c-qcom-geni.c\n> +++ b/drivers/i2c/busses/i2c-qcom-geni.c\n> @@ -625,8 +625,8 @@ static int geni_i2c_gpi(struct geni_i2c_dev *gi2c, struct i2c_msg msgs[],\n\n[...]","headers":{"Return-Path":"\n <linux-i2c+bounces-17027-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-i2c@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=quicinc.com header.i=@quicinc.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=GeBFTT3N;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c15:e001:75::12fc:5321; helo=sin.lore.kernel.org;\n envelope-from=linux-i2c+bounces-17027-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com\n header.b=\"GeBFTT3N\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=205.220.168.131","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=quicinc.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=quicinc.com"],"Received":["from sin.lore.kernel.org (sin.lore.kernel.org\n [IPv6:2600:3c15:e001:75::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fsZCM6kVDz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 21:22:23 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id 1EB65301552B\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 11:22:22 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id EAE0539DBEA;\n\tFri, 10 Apr 2026 11:22:17 +0000 (UTC)","from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com\n [205.220.168.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 529583368AD;\n\tFri, 10 Apr 2026 11:22:16 +0000 (UTC)","from pps.filterd (m0279862.ppops.net [127.0.0.1])\n\tby mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63AADVLm1925453;\n\tFri, 10 Apr 2026 11:22:10 GMT","from nasanppmta05.qualcomm.com (i-global254.qualcomm.com\n [199.106.103.254])\n\tby mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4deudjs5ed-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tFri, 10 Apr 2026 11:22:09 +0000 (GMT)","from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com\n [10.45.79.139])\n\tby NASANPPMTA05.qualcomm.com (8.18.1.7/8.18.1.7) with ESMTPS id\n 63ABM9nl017097\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tFri, 10 Apr 2026 11:22:09 GMT","from [10.216.26.180] (10.80.80.8) by nasanex01c.na.qualcomm.com\n (10.45.79.139) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Fri, 10 Apr\n 2026 04:22:05 -0700"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775820137; cv=none;\n b=tixxzLpNxNsfs/NUT1L1i0Uk01LLzWKNmpJjG30VeKUyMFe38fIFlpXoXN+e4S1k+N0GM6pJJ9I/8DclrLzIIVdzODlvuUt0rhGWz7De4NeNN7H+yOvTsHgH8HXQ6KFQV8hP5naTCIbyWbUNz6d181CuwoDd40ggWY2ZtN3kN5w=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775820137; c=relaxed/simple;\n\tbh=AFizT5GVNVe2FldoQ43+LGGJ4wnlbEN5uTfJ16jDjgA=;\n\th=Message-ID:Date:MIME-Version:Subject:To:CC:References:From:\n\t In-Reply-To:Content-Type;\n b=N/aQLTIepnjxQLMhm+5wlnMS+ad0EG3NpVFJAQtFE6SUwjzWngIxBOU3Kghf0gqnwJMV/cLcwbxR7gZdWXP6aqfp+2bWJtTd7qMwtvGGhe3npkWQozfTKdggjg8ld/hnEPs0fxQ5eB+LhxpH0E6UxBo5QCZzuRmR7vmvmBG1z2s=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=quicinc.com;\n spf=pass smtp.mailfrom=quicinc.com;\n dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com\n header.b=GeBFTT3N; arc=none smtp.client-ip=205.220.168.131","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=\n\tcc:content-transfer-encoding:content-type:date:from:in-reply-to\n\t:message-id:mime-version:references:subject:to; s=qcppdkim1; bh=\n\tOXCDEuWxbaerERvBelLzYgqdWH9OXFRHW+vN3cYatsk=; b=GeBFTT3NU1FSM6Hj\n\t2H/Q7pmlAT4qe7QOhaKVrZ75sFot43vQAH/ZP7Y33Vu+BaMZmQfkzDAawcDzGOeD\n\tKOA8vlG50i+byMO8TqcO0eeTh97OqkzFO4SIhfX4xyBxCkoqXxunKyJRhPFNSgcM\n\tVFXvlJvAtM1Y76kpZ2mGh8ChBdQ5A4KiL/x4mIMmBjVT/P+qvtGIJRuSlxLSObAm\n\tMHmBZvI1qHXlRK6EOYMDiw3Q/4E70nZqOLx3reTJd6hAx3DoHXUkKrq7qakIkCNK\n\tCLiSB5yef4Rch6kFbaLlTn/3YeWAOdDDTAi34BJ0fXSreoIR7Uxa+CJFtaM6pjDg\n\tb11yxg==","Message-ID":"<fb37aa8d-bc61-48fe-9c82-828e7fd642f9@quicinc.com>","Date":"Fri, 10 Apr 2026 16:52:01 +0530","Precedence":"bulk","X-Mailing-List":"linux-i2c@vger.kernel.org","List-Id":"<linux-i2c.vger.kernel.org>","List-Subscribe":"<mailto:linux-i2c+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-i2c+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH V4] i2c: qcom-geni: Avoid extra TX DMA TRE for single read\n message in GPI mode","To":"Aniket Randive <aniket.randive@oss.qualcomm.com>,\n        <mukesh.savaliya@oss.qualcomm.com>,\n <viken.dadhaniya@oss.qualcomm.com>,\n        <andi.shyti@kernel.org>, <sumit.semwal@linaro.org>,\n        <christian.koenig@amd.com>","CC":"<linux-i2c@vger.kernel.org>, <linux-arm-msm@vger.kernel.org>,\n        <linux-kernel@vger.kernel.org>, <linux-media@vger.kernel.org>,\n        <dri-devel@lists.freedesktop.org>, <linaro-mm-sig@lists.linaro.org>,\n        <naresh.maramaina@oss.qualcomm.com>","References":"<20260410101949.2315058-1-aniket.randive@oss.qualcomm.com>","Content-Language":"en-US","From":"Mukesh Kumar Savaliya <quic_msavaliy@quicinc.com>","In-Reply-To":"<20260410101949.2315058-1-aniket.randive@oss.qualcomm.com>","Content-Type":"text/plain; charset=\"UTF-8\"; format=flowed","Content-Transfer-Encoding":"7bit","X-ClientProxiedBy":"nasanex01b.na.qualcomm.com (10.46.141.250) To\n nasanex01c.na.qualcomm.com (10.45.79.139)","X-QCInternal":"smtphost","X-Authority-Analysis":"v=2.4 cv=X+hi7mTe c=1 sm=1 tr=0 ts=69d8dd61 cx=c_pps\n a=JYp8KDb2vCoCEuGobkYCKw==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17\n a=GEpy-HfZoHoA:10 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10\n a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22\n a=EUspDBNiAAAA:8 a=2ZZFV4PajdD4Tf-m3e0A:9 a=QEXdDO2ut3YA:10","X-Proofpoint-GUID":"gRq6W0F6IGuJAnJhHlCPTtFpLZTjLa7V","X-Proofpoint-ORIG-GUID":"gRq6W0F6IGuJAnJhHlCPTtFpLZTjLa7V","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDEwMDEwNiBTYWx0ZWRfXwOqFuikj+wsJ\n Nns3Qy0glre0sxugk1cvT+ttj1yIvRP3n8VhRfH4xTL5Sbk80NaB/UX4AAZbjlantZO+ozfjSB/\n MsfzSZ+sWAaSfJmhgc36qRY7u0V4PJgEjGNTQTaNvJIBXrUED/YvY6THa83wQH+XdFDm5p2IDcb\n hRfTXzv6ePnBnA7KzYQ3xS/baN+CeUjaXJeiwyHXMxXmI7c/gsyF+QTxANvKv3xtkU95qE9pa3Q\n GBh2WNEao+QEhmAS+CPijjNGjTo7L+aTonS2oz1mxUMQl3QYyWfey0SSmBUy6+CJf3FWjs/rXGN\n JLmS9ttJw15Qzd3C0bn+oDOxL/R+6w3L7kdNBPJlBMomd6w5bABAT31XI5bel2waNNtyzSLoil8\n ZouoRu7+3VexVNpIRfYX4axBgB6CJ6i8ipbT74oN5ApCEyLzH0ojaE3fwY7mTf5fyp4szp2lFuk\n rtMM+1Odb6UoEYuo7zA==","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-10_03,2026-04-09_02,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n impostorscore=0 malwarescore=0 clxscore=1015 adultscore=0 priorityscore=1501\n lowpriorityscore=0 suspectscore=0 spamscore=0 bulkscore=0 phishscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604100106"}}]