From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4890CC433EF for ; Tue, 22 Mar 2022 15:34:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238574AbiCVPfx (ORCPT ); Tue, 22 Mar 2022 11:35:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52382 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230480AbiCVPfv (ORCPT ); Tue, 22 Mar 2022 11:35:51 -0400 Received: from mx0b-001ae601.pphosted.com (mx0b-001ae601.pphosted.com [67.231.152.168]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4067A7657; Tue, 22 Mar 2022 08:34:24 -0700 (PDT) Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 22M6Uded028345; Tue, 22 Mar 2022 10:34:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=message-id : date : mime-version : from : to : subject : references : in-reply-to : content-type : content-transfer-encoding; s=PODMain02222019; bh=upK7DUmmkbilSM17+qCH8ByFFRfmgzAlmJJPbV6wPcQ=; b=IwNYwKZrUJRoGOVnY9x7XRMb68QQaLxXSY4f+GCZ+ZVaenrIfbDCqJ8EMXou3QXCbNws wtkM9rK/QmGFxYPuMTwRV54GSV9L94yh54TH39qkSuXcU9Zs3W7zKPmovRgSbd4gtbzd SHNKTyPPvXCZZzijq+TPQ6CS45E0J3OLuDN0VDY77YVFmGWIJTUu1skImlcFz5+i5lQm QjgXdY+LJeMwLa08TqqGEMDzOE2Lw5kwl7kUX5UsP/y5NwgL2QjwQUetxt42NjjOkkwo WRr5h2JuKKbFFp/Ah77jBpesuSnSTNaKd7oCxLvZeoB3eb/RBZmh1VcVG7e818vEaLSH aw== Received: from ediex01.ad.cirrus.com ([84.19.233.68]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 3ewbknc1cw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Tue, 22 Mar 2022 10:34:16 -0500 Received: from EDIEX01.ad.cirrus.com (198.61.84.80) by EDIEX01.ad.cirrus.com (198.61.84.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.18; Tue, 22 Mar 2022 15:34:14 +0000 Received: from ediswmail.ad.cirrus.com (198.61.86.93) by EDIEX01.ad.cirrus.com (198.61.84.80) with Microsoft SMTP Server id 15.1.2375.18 via Frontend Transport; Tue, 22 Mar 2022 15:34:14 +0000 Received: from [198.61.65.125] (unknown [198.61.65.125]) by ediswmail.ad.cirrus.com (Postfix) with ESMTP id ACD04459; Tue, 22 Mar 2022 15:34:14 +0000 (UTC) Message-ID: <4af9c968-b837-e984-1051-2dcd240f2c08@opensource.cirrus.com> Date: Tue, 22 Mar 2022 15:34:14 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 From: To: Michal Simek , Michal Simek , Shubhrajyoti Datta , , , , Subject: Re: [PATCH] i2c: cadence: Increase timeout per message if necessary References: <20220309093147.102385-1-tanureal@opensource.cirrus.com> In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Proofpoint-ORIG-GUID: yqLQYoH5P1JHIOAXFMFqgTan2b_5Wf5L X-Proofpoint-GUID: yqLQYoH5P1JHIOAXFMFqgTan2b_5Wf5L X-Proofpoint-Spam-Reason: safe Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 3/21/22 3:57 PM, Michal Simek wrote: > +Shubhrajyoti > > On 3/9/22 10:31, Lucas Tanure wrote: > > Timeout as 1 second sets a upper limit on the length of > > the transfer executed, but there is no maximum length of > > a write or read message set in i2c_adapter_quirks for this > > controller. > > nit: I would expect that you have run any test and you reached an issue. > Would be good to describe what exactly you have tried on which > configuration to make it super clear. > > > > > To remove that limitation calculate the minimal time > > necessary, plus some wiggle room, for every message > > and use it instead of the default one second, if > > more than one second. > > > > Signed-off-by: Lucas Tanure > > --- > >   drivers/i2c/busses/i2c-cadence.c | 12 ++++++++++-- > >   1 file changed, 10 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/i2c/busses/i2c-cadence.c > > b/drivers/i2c/busses/i2c-cadence.c > > index 805c77143a0f..b4c1ad19cdae 100644 > > --- a/drivers/i2c/busses/i2c-cadence.c > > +++ b/drivers/i2c/busses/i2c-cadence.c > > @@ -760,7 +760,7 @@ static void cdns_i2c_master_reset(struct > > i2c_adapter *adap) > >   static int cdns_i2c_process_msg(struct cdns_i2c *id, struct i2c_msg > > *msg, > >           struct i2c_adapter *adap) > >   { > > -    unsigned long time_left; > > +    unsigned long time_left, msg_timeout; > >       u32 reg; > >       id->p_msg = msg; > > @@ -785,8 +785,16 @@ static int cdns_i2c_process_msg(struct cdns_i2c > > *id, struct i2c_msg *msg, > >       else > >           cdns_i2c_msend(id); > > +    /* Minimal time to execute this message */ > > +    msg_timeout = msecs_to_jiffies((1000 * msg->len * BITS_PER_BYTE) > > / id->i2c_clk); > > +    /* Plus some wiggle room */ > > +    msg_timeout += msecs_to_jiffies(500); > > + > > +    if (msg_timeout < adap->timeout) > > +        msg_timeout = adap->timeout; > > + > >       /* Wait for the signal of completion */ > > -    time_left = wait_for_completion_timeout(&id->xfer_done, > > adap->timeout); > > +    time_left = wait_for_completion_timeout(&id->xfer_done, > > msg_timeout); > >       if (time_left == 0) { > >           cdns_i2c_master_reset(adap); > >           dev_err(id->adap.dev.parent, > > > If my assumption is right and there is any actual issue you had please > send v2 and feel free to add there my: > Acked-by: Michal Simek > > Thanks, > Michal > > > The issue happens for I2C devices that have firmware, which will send a big I2C message, but the I2C controller will timeout on it. That happened for CS35L41 DSP firmware tests, so no particular configuration, just a driver sending firmware blob over I2C. Thanks, Lucas From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AFA64C433F5 for ; Tue, 22 Mar 2022 15:35:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:References:Subject:To:From:MIME-Version: Date:Message-ID:Reply-To:Cc:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=h5o/eM6xveOUOoSew/ddK3k3ppHE/hx/hlgEgWBLgZQ=; b=uDHvBZlf4dWcWoHYSqWafCsjX6 vce9U5Rp4YGNHvrLyU2X/TkN4EhloTYEkmIXMxbXrmTpSomys2ELeeuC26NQkFujBKP1JnyHeLiUm 7o83vNmVOkCdcV9klDeL5enXXQPUPFZRmNFjUxqoghQJL81vn2gFdMGXBIWOh4KDE+LTFVdxVbcPd nNmcGTcnu8NTVjCJm+Y2d9F9NydwHp643xx2wGmCfgQs9gogZlWC8XKRMPRx9kCnH2KnqUgJKcAnB /rp6GdsbjoDrDxNLFd6M0Q7nMZ/LJOJp3RfKn3iZ+oc7JHjoV6Z7aCwaH1cDie+bPp/vWepdzu45Y BuqF90Xg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nWgWf-00BXrO-5o; Tue, 22 Mar 2022 15:34:25 +0000 Received: from mx0b-001ae601.pphosted.com ([67.231.152.168]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nWgWb-00BXqv-Ui for linux-arm-kernel@lists.infradead.org; Tue, 22 Mar 2022 15:34:23 +0000 Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 22M6Uded028345; Tue, 22 Mar 2022 10:34:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=message-id : date : mime-version : from : to : subject : references : in-reply-to : content-type : content-transfer-encoding; s=PODMain02222019; bh=upK7DUmmkbilSM17+qCH8ByFFRfmgzAlmJJPbV6wPcQ=; b=IwNYwKZrUJRoGOVnY9x7XRMb68QQaLxXSY4f+GCZ+ZVaenrIfbDCqJ8EMXou3QXCbNws wtkM9rK/QmGFxYPuMTwRV54GSV9L94yh54TH39qkSuXcU9Zs3W7zKPmovRgSbd4gtbzd SHNKTyPPvXCZZzijq+TPQ6CS45E0J3OLuDN0VDY77YVFmGWIJTUu1skImlcFz5+i5lQm QjgXdY+LJeMwLa08TqqGEMDzOE2Lw5kwl7kUX5UsP/y5NwgL2QjwQUetxt42NjjOkkwo WRr5h2JuKKbFFp/Ah77jBpesuSnSTNaKd7oCxLvZeoB3eb/RBZmh1VcVG7e818vEaLSH aw== Received: from ediex01.ad.cirrus.com ([84.19.233.68]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 3ewbknc1cw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Tue, 22 Mar 2022 10:34:16 -0500 Received: from EDIEX01.ad.cirrus.com (198.61.84.80) by EDIEX01.ad.cirrus.com (198.61.84.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.18; Tue, 22 Mar 2022 15:34:14 +0000 Received: from ediswmail.ad.cirrus.com (198.61.86.93) by EDIEX01.ad.cirrus.com (198.61.84.80) with Microsoft SMTP Server id 15.1.2375.18 via Frontend Transport; Tue, 22 Mar 2022 15:34:14 +0000 Received: from [198.61.65.125] (unknown [198.61.65.125]) by ediswmail.ad.cirrus.com (Postfix) with ESMTP id ACD04459; Tue, 22 Mar 2022 15:34:14 +0000 (UTC) Message-ID: <4af9c968-b837-e984-1051-2dcd240f2c08@opensource.cirrus.com> Date: Tue, 22 Mar 2022 15:34:14 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 From: To: Michal Simek , Michal Simek , Shubhrajyoti Datta , , , , Subject: Re: [PATCH] i2c: cadence: Increase timeout per message if necessary References: <20220309093147.102385-1-tanureal@opensource.cirrus.com> In-Reply-To: X-Proofpoint-ORIG-GUID: yqLQYoH5P1JHIOAXFMFqgTan2b_5Wf5L X-Proofpoint-GUID: yqLQYoH5P1JHIOAXFMFqgTan2b_5Wf5L X-Proofpoint-Spam-Reason: safe X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220322_083422_173469_4E32F03A X-CRM114-Status: GOOD ( 30.78 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMy8yMS8yMiAzOjU3IFBNLCBNaWNoYWwgU2ltZWsgPG1pY2hhbC5zaW1la0B4aWxpbnguY29t PiB3cm90ZToKPiArU2h1YmhyYWp5b3RpCj4gCj4gT24gMy85LzIyIDEwOjMxLCBMdWNhcyBUYW51 cmUgd3JvdGU6Cj4gPiBUaW1lb3V0IGFzIDEgc2Vjb25kIHNldHMgYSB1cHBlciBsaW1pdCBvbiB0 aGUgbGVuZ3RoIG9mCj4gPiB0aGUgdHJhbnNmZXIgZXhlY3V0ZWQsIGJ1dCB0aGVyZSBpcyBubyBt YXhpbXVtIGxlbmd0aCBvZgo+ID4gYSB3cml0ZSBvciByZWFkIG1lc3NhZ2Ugc2V0IGluIGkyY19h ZGFwdGVyX3F1aXJrcyBmb3IgdGhpcwo+ID4gY29udHJvbGxlci4KPiAKPiBuaXQ6IEkgd291bGQg ZXhwZWN0IHRoYXQgeW91IGhhdmUgcnVuIGFueSB0ZXN0IGFuZCB5b3UgcmVhY2hlZCBhbiBpc3N1 ZS4KPiBXb3VsZCBiZSBnb29kIHRvIGRlc2NyaWJlIHdoYXQgZXhhY3RseSB5b3UgaGF2ZSB0cmll ZCBvbiB3aGljaCAKPiBjb25maWd1cmF0aW9uIHRvIG1ha2UgaXQgc3VwZXIgY2xlYXIuCj4gCj4g Pgo+ID4gVG8gcmVtb3ZlIHRoYXQgbGltaXRhdGlvbiBjYWxjdWxhdGUgdGhlIG1pbmltYWwgdGlt ZQo+ID4gbmVjZXNzYXJ5LCBwbHVzIHNvbWUgd2lnZ2xlIHJvb20sIGZvciBldmVyeSBtZXNzYWdl Cj4gPiBhbmQgdXNlIGl0IGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgb25lIHNlY29uZCwgaWYKPiA+ IG1vcmUgdGhhbiBvbmUgc2Vjb25kLgo+ID4KPiA+IFNpZ25lZC1vZmYtYnk6IEx1Y2FzIFRhbnVy ZSA8dGFudXJlYWxAb3BlbnNvdXJjZS5jaXJydXMuY29tPgo+ID4gLS0tCj4gPiDCoCBkcml2ZXJz L2kyYy9idXNzZXMvaTJjLWNhZGVuY2UuYyB8IDEyICsrKysrKysrKystLQo+ID4gwqAgMSBmaWxl IGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4gPgo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtY2FkZW5jZS5jIAo+ID4gYi9kcml2ZXJzL2ky Yy9idXNzZXMvaTJjLWNhZGVuY2UuYwo+ID4gaW5kZXggODA1Yzc3MTQzYTBmLi5iNGMxYWQxOWNk YWUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWNhZGVuY2UuYwo+ID4g KysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1jYWRlbmNlLmMKPiA+IEBAIC03NjAsNyArNzYw LDcgQEAgc3RhdGljIHZvaWQgY2Ruc19pMmNfbWFzdGVyX3Jlc2V0KHN0cnVjdCAKPiA+IGkyY19h ZGFwdGVyICphZGFwKQo+ID4gwqAgc3RhdGljIGludCBjZG5zX2kyY19wcm9jZXNzX21zZyhzdHJ1 Y3QgY2Ruc19pMmMgKmlkLCBzdHJ1Y3QgaTJjX21zZyAKPiA+ICptc2csCj4gPiDCoMKgwqDCoMKg wqDCoMKgwqAgc3RydWN0IGkyY19hZGFwdGVyICphZGFwKQo+ID4gwqAgewo+ID4gLcKgwqDCoCB1 bnNpZ25lZCBsb25nIHRpbWVfbGVmdDsKPiA+ICvCoMKgwqAgdW5zaWduZWQgbG9uZyB0aW1lX2xl ZnQsIG1zZ190aW1lb3V0Owo+ID4gwqDCoMKgwqDCoCB1MzIgcmVnOwo+ID4gwqDCoMKgwqDCoCBp ZC0+cF9tc2cgPSBtc2c7Cj4gPiBAQCAtNzg1LDggKzc4NSwxNiBAQCBzdGF0aWMgaW50IGNkbnNf aTJjX3Byb2Nlc3NfbXNnKHN0cnVjdCBjZG5zX2kyYyAKPiA+ICppZCwgc3RydWN0IGkyY19tc2cg Km1zZywKPiA+IMKgwqDCoMKgwqAgZWxzZQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgIGNkbnNfaTJj X21zZW5kKGlkKTsKPiA+ICvCoMKgwqAgLyogTWluaW1hbCB0aW1lIHRvIGV4ZWN1dGUgdGhpcyBt ZXNzYWdlICovCj4gPiArwqDCoMKgIG1zZ190aW1lb3V0ID0gbXNlY3NfdG9famlmZmllcygoMTAw MCAqIG1zZy0+bGVuICogQklUU19QRVJfQllURSkgCj4gPiAvIGlkLT5pMmNfY2xrKTsKPiA+ICvC oMKgwqAgLyogUGx1cyBzb21lIHdpZ2dsZSByb29tICovCj4gPiArwqDCoMKgIG1zZ190aW1lb3V0 ICs9IG1zZWNzX3RvX2ppZmZpZXMoNTAwKTsKPiA+ICsKPiA+ICvCoMKgwqAgaWYgKG1zZ190aW1l b3V0IDwgYWRhcC0+dGltZW91dCkKPiA+ICvCoMKgwqDCoMKgwqDCoCBtc2dfdGltZW91dCA9IGFk YXAtPnRpbWVvdXQ7Cj4gPiArCj4gPiDCoMKgwqDCoMKgIC8qIFdhaXQgZm9yIHRoZSBzaWduYWwg b2YgY29tcGxldGlvbiAqLwo+ID4gLcKgwqDCoCB0aW1lX2xlZnQgPSB3YWl0X2Zvcl9jb21wbGV0 aW9uX3RpbWVvdXQoJmlkLT54ZmVyX2RvbmUsIAo+ID4gYWRhcC0+dGltZW91dCk7Cj4gPiArwqDC oMKgIHRpbWVfbGVmdCA9IHdhaXRfZm9yX2NvbXBsZXRpb25fdGltZW91dCgmaWQtPnhmZXJfZG9u ZSwgCj4gPiBtc2dfdGltZW91dCk7Cj4gPiDCoMKgwqDCoMKgIGlmICh0aW1lX2xlZnQgPT0gMCkg ewo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgIGNkbnNfaTJjX21hc3Rlcl9yZXNldChhZGFwKTsKPiA+ IMKgwqDCoMKgwqDCoMKgwqDCoCBkZXZfZXJyKGlkLT5hZGFwLmRldi5wYXJlbnQsCj4gCj4gCj4g SWYgbXkgYXNzdW1wdGlvbiBpcyByaWdodCBhbmQgdGhlcmUgaXMgYW55IGFjdHVhbCBpc3N1ZSB5 b3UgaGFkIHBsZWFzZSAKPiBzZW5kIHYyIGFuZCBmZWVsIGZyZWUgdG8gYWRkIHRoZXJlIG15Ogo+ IEFja2VkLWJ5OiBNaWNoYWwgU2ltZWsgPG1pY2hhbC5zaW1la0B4aWxpbnguY29tPgo+IAo+IFRo YW5rcywKPiBNaWNoYWwKPiAKPiAKPiAKVGhlIGlzc3VlIGhhcHBlbnMgZm9yIEkyQyBkZXZpY2Vz IHRoYXQgaGF2ZSBmaXJtd2FyZSwgd2hpY2ggd2lsbCBzZW5kIGEgYmlnIEkyQyBtZXNzYWdlLCBi dXQgdGhlIEkyQyBjb250cm9sbGVyIHdpbGwgdGltZW91dCBvbiBpdC4KVGhhdCBoYXBwZW5lZCBm b3IgQ1MzNUw0MSBEU1AgZmlybXdhcmUgdGVzdHMsIHNvIG5vIHBhcnRpY3VsYXIgY29uZmlndXJh dGlvbiwganVzdCBhIGRyaXZlciBzZW5kaW5nIGZpcm13YXJlIGJsb2Igb3ZlciBJMkMuCgpUaGFu a3MsCkx1Y2FzCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmlu ZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s aW51eC1hcm0ta2VybmVsCg==