From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yakir Yang Subject: Re: [PATCH v11 17/19] drm: bridge: analogix/dp: expand the look time for waiting AUX CH reply Date: Wed, 23 Dec 2015 12:24:12 +0800 Message-ID: <567A21EC.4010003@rock-chips.com> References: <1450236018-1118-1-git-send-email-ykk@rock-chips.com> <1450238257-3274-1-git-send-email-ykk@rock-chips.com> <000a01d13cb4$0f81f510$2e85df30$@com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <000a01d13cb4$0f81f510$2e85df30$@com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jingoo Han , 'Inki Dae' , 'Mark Yao' , 'Heiko Stuebner' Cc: devicetree@vger.kernel.org, 'Krzysztof Kozlowski' , linux-samsung-soc@vger.kernel.org, 'Russell King' , linux-rockchip@lists.infradead.org, emil.l.velikov@gmail.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, 'Kishon Vijay Abraham I' , javier@osg.samsung.com, 'Rob Herring' , 'Andy Yan' , 'Thierry Reding' , 'Gustavo Padovan' , linux-arm-kernel@lists.infradead.org List-Id: linux-rockchip.vger.kernel.org SGkgSmluZ29vLAoKT24gMTIvMjIvMjAxNSAwODoyNiBQTSwgSmluZ29vIEhhbiB3cm90ZToKPiBP biBXZWRuZXNkYXksIERlY2VtYmVyIDE2LCAyMDE1IDEyOjU4IFBNLCBZYWtpciBZYW5nIHdyb3Rl Ogo+PiBBZnRlciB0ZXN0IG9uIHJvY2tjaGlvcCBwbGF0Zm9ybSwgaSBmb3VuZCBzb21ldGltcyBk cml2ZXIgd291bGQgZmFpbGVkCj4+IGF0IHJlYWRpbmcgRURJRCBtZXNzYWdlLiBBZnRlciBkZWJ1 Z2dpbmcgbW9yZSwgaSBmb3VuZCB0aGF0IGl0J3Mgb2theQo+PiB0byByZWFkX2EgYnl0ZSBmcm9t IGkyYywgYnV0IGl0IHdvdWxkIGZhaWxlZCBhdCBBVVggdHJhbnNjYXRpb24gaWYgd2UKPj4gdHJ5 IHRvIHJlYWR5IG11bHRpLWJ5dGVzIGZyb20gaTJjLgo+Pgo+PiBEcml2ZXIganVzdCBjYW4ndCBy ZWNlaXZlZCB0aGUgQVVYIENIIHJlcGx5IGNvbW1hbmQsIGV2ZW4gbm8gQVVYIGVycm9yCj4+IGNv ZGUuIEkgbWF5IGd1ZXNzIHRoYXQgdGhlIEFVWCB3YWl0IHRpbWUgaXMgbm90IGVub3VnaCwgc28g SSB0cnkgdG8KPj4gZXhwYW5kIHRoZSBBVVggd2FpdCB0aW1lLCBhbmQgaSBkbyBzZWUgdGhpcyBj b3VsZCBmaXggdGhlIEVESUQgcmVhZAo+PiBmYWlsZWQgYXQgcm9ja2NoaXAgcGxhdGZvcm0uCj4+ Cj4+IEFuZCBJIHRob3VnaHQgdGhhdCBleHBhbmQgdGhlIHdhaXQgdGltZSB3b24ndCBodXJ0IEV4 eW5vcyBwbGF0Zm9ybSB0b28KPj4gbXVjaCwgY2F1c2UgRXh5bm9zIGRpZG4ndCBoYXZlIHRoaXMg cHJvYmxlbSwgdGhlbiBkcml2ZXIgd291bGQgcmVjZWl2ZWQKPj4gdGhlIHJlcGx5IGNvbW1hbmQg dmVyeSBzb29uLCBzbyBubyBtb3JlIGFkZGl0aW9uYWwgd2FpdCB0aW1lIHdvdWxkIGJyaW5nCj4+ IHRvIEV4eW5vcyBwbGF0Zm9ybS4KPj4KPj4gU2lnbmVkLW9mZi1ieTogWWFraXIgWWFuZyA8eWtr QHJvY2stY2hpcHMuY29tPgo+PiAtLS0KPj4gQ2hhbmdlcyBpbiB2MTE6IE5vbmUKPj4gQ2hhbmdl cyBpbiB2MTA6IE5vbmUKPj4gQ2hhbmdlcyBpbiB2OTogTm9uZQo+PiBDaGFuZ2VzIGluIHY4OiBO b25lCj4+IENoYW5nZXMgaW4gdjc6IE5vbmUKPj4gQ2hhbmdlcyBpbiB2NjogTm9uZQo+PiBDaGFu Z2VzIGluIHY1OiBOb25lCj4+IENoYW5nZXMgaW4gdjQ6IE5vbmUKPj4gQ2hhbmdlcyBpbiB2Mzog Tm9uZQo+PiBDaGFuZ2VzIGluIHYyOiBOb25lCj4+Cj4+ICAgZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9yZWcuYyB8IDIgKy0KPj4gICAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfcmVnLmMKPj4gYi9kcml2ZXJzL2dw dS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2RwX3JlZy5jCj4+IGluZGV4IGM3ZTI5NTku LmRjMzc2YmQgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgv YW5hbG9naXhfZHBfcmVnLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dp eC9hbmFsb2dpeF9kcF9yZWcuYwo+PiBAQCAtNDgyLDcgKzQ4Miw3IEBAIGludCBhbmFsb2dpeF9k cF9zdGFydF9hdXhfdHJhbnNhY3Rpb24oc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHApCj4+ ICAgCXJlZyA9IHJlYWRsKGRwLT5yZWdfYmFzZSArIEFOQUxPR0lYX0RQX0lOVF9TVEEpOwo+PiAg IAl3aGlsZSAoIShyZWcgJiBSUExZX1JFQ0VJVikpIHsKPj4gICAJCXRpbWVvdXRfbG9vcCsrOwo+ PiAtCQlpZiAoRFBfVElNRU9VVF9MT09QX0NPVU5UIDwgdGltZW91dF9sb29wKSB7Cj4+ICsJCWlm IChEUF9USU1FT1VUX0xPT1BfQ09VTlQgKiAxMCA8IHRpbWVvdXRfbG9vcCkgewo+IE5vLCBJIGhh dGUgdGhpcyBjb2RpbmcuCj4gYW5hbG9naXhfZHBfcmVnLmMgaXMgdGhlIGNvbW1vbiBjb2RlIHRo YXQgY2FuIGJlIHNoYXJlZCBieSB2YXJpb3VzIFNvQ3MuCj4gUGxlYXNlLCBmaW5kIGFub3RoZXIg d2F5LgoKT2theSwgSSBoYXZlIGRvdWJsZSBjaGVja2VkIHRoYXQgaSBkbyBoYXZlIHRoaXMgcHJv YmxlbSBpbiBteSBzaWRlLiAKSG1tbS4uLi4uCkkgdGhvdWdodCBpdCdzIG9rYXkgZm9yIHlvdSBp ZiBJIGV4cGFuZCB0aGUgIkRQX1RJTUVPVVRfTE9PUF9DT1VOVCIgCmRpcmVjdGx5LAppdCB3b24n dCBodXJ0IEV4eW5vcyBwbGF0Zm9ybSB0b28gbXVjaCwgY2F1c2UgRXh5bm9zIGRpZG4ndCBoYXZl IHRoaXMgCnByb2JsZW0sCnRoZW4gZHJpdmVyIHdvdWxkIHJlY2VpdmVkLHRoZSByZXBseSBjb21t YW5kIHZlcnkgc29vbiwgc28gbm8gbW9yZSAKYWRkaXRpb25hbAp3YWl0IHRpbWUgd291bGQgYnJp bmcgdG8gRXh5bm9zIHBsYXRmb3JtLgoKQW5kIGFjdHVhbGx5IHRoZSBkYXRhc2hlZXQgaGF2ZW4n dCBkZXNjcmliZWQgdGhlIHNwZWMgb2YgYXV4IHJlcGx5IGRlbGF5IAp0aW1lLgoKVGhhbmtzLAot IFlha2lyCgo+IEJlc3QgcmVnYXJkcywKPiBKaW5nb28gSGFuCj4KPgo+PiAgIAkJCWRldl9lcnIo ZHAtPmRldiwgIkFVWCBDSCBjb21tYW5kIHJlcGx5IGZhaWxlZCFcbiIpOwo+PiAgIAkJCXJldHVy biAtRVRJTUVET1VUOwo+PiAgIAkJfQo+PiAtLQo+PiAxLjkuMQo+Cj4KPgo+CgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: ykk@rock-chips.com (Yakir Yang) Date: Wed, 23 Dec 2015 12:24:12 +0800 Subject: [PATCH v11 17/19] drm: bridge: analogix/dp: expand the look time for waiting AUX CH reply In-Reply-To: <000a01d13cb4$0f81f510$2e85df30$@com> References: <1450236018-1118-1-git-send-email-ykk@rock-chips.com> <1450238257-3274-1-git-send-email-ykk@rock-chips.com> <000a01d13cb4$0f81f510$2e85df30$@com> Message-ID: <567A21EC.4010003@rock-chips.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Jingoo, On 12/22/2015 08:26 PM, Jingoo Han wrote: > On Wednesday, December 16, 2015 12:58 PM, Yakir Yang wrote: >> After test on rockchiop platform, i found sometims driver would failed >> at reading EDID message. After debugging more, i found that it's okay >> to read_a byte from i2c, but it would failed at AUX transcation if we >> try to ready multi-bytes from i2c. >> >> Driver just can't received the AUX CH reply command, even no AUX error >> code. I may guess that the AUX wait time is not enough, so I try to >> expand the AUX wait time, and i do see this could fix the EDID read >> failed at rockchip platform. >> >> And I thought that expand the wait time won't hurt Exynos platform too >> much, cause Exynos didn't have this problem, then driver would received >> the reply command very soon, so no more additional wait time would bring >> to Exynos platform. >> >> Signed-off-by: Yakir Yang >> --- >> Changes in v11: None >> Changes in v10: None >> Changes in v9: None >> Changes in v8: None >> Changes in v7: None >> Changes in v6: None >> Changes in v5: None >> Changes in v4: None >> Changes in v3: None >> Changes in v2: None >> >> drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c >> b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c >> index c7e2959..dc376bd 100644 >> --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c >> +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c >> @@ -482,7 +482,7 @@ int analogix_dp_start_aux_transaction(struct analogix_dp_device *dp) >> reg = readl(dp->reg_base + ANALOGIX_DP_INT_STA); >> while (!(reg & RPLY_RECEIV)) { >> timeout_loop++; >> - if (DP_TIMEOUT_LOOP_COUNT < timeout_loop) { >> + if (DP_TIMEOUT_LOOP_COUNT * 10 < timeout_loop) { > No, I hate this coding. > analogix_dp_reg.c is the common code that can be shared by various SoCs. > Please, find another way. Okay, I have double checked that i do have this problem in my side. Hmmm..... I thought it's okay for you if I expand the "DP_TIMEOUT_LOOP_COUNT" directly, it won't hurt Exynos platform too much, cause Exynos didn't have this problem, then driver would received,the reply command very soon, so no more additional wait time would bring to Exynos platform. And actually the datasheet haven't described the spec of aux reply delay time. Thanks, - Yakir > Best regards, > Jingoo Han > > >> dev_err(dp->dev, "AUX CH command reply failed!\n"); >> return -ETIMEDOUT; >> } >> -- >> 1.9.1 > > > > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932816AbbLWEYh (ORCPT ); Tue, 22 Dec 2015 23:24:37 -0500 Received: from lucky1.263xmail.com ([211.157.147.132]:56574 "EHLO lucky1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932557AbbLWEYf (ORCPT ); Tue, 22 Dec 2015 23:24:35 -0500 X-263anti-spam: KSV:0; X-MAIL-GRAY: 1 X-MAIL-DELIVERY: 0 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-ADDR-CHECKED: 0 X-RL-SENDER: ykk@rock-chips.com X-FST-TO: linux-arm-kernel@lists.infradead.org X-SENDER-IP: 58.22.7.114 X-LOGIN-NAME: ykk@rock-chips.com X-UNIQUE-TAG: <16b373a8ba465d47d751b2297f845121> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [PATCH v11 17/19] drm: bridge: analogix/dp: expand the look time for waiting AUX CH reply To: Jingoo Han , "'Inki Dae'" , "'Mark Yao'" , "'Heiko Stuebner'" References: <1450236018-1118-1-git-send-email-ykk@rock-chips.com> <1450238257-3274-1-git-send-email-ykk@rock-chips.com> <000a01d13cb4$0f81f510$2e85df30$@com> Cc: "'Thierry Reding'" , "'Krzysztof Kozlowski'" , "'Rob Herring'" , "'Russell King'" , emil.l.velikov@gmail.com, "'Gustavo Padovan'" , "'Kishon Vijay Abraham I'" , javier@osg.samsung.com, "'Andy Yan'" , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org From: Yakir Yang Message-ID: <567A21EC.4010003@rock-chips.com> Date: Wed, 23 Dec 2015 12:24:12 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <000a01d13cb4$0f81f510$2e85df30$@com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jingoo, On 12/22/2015 08:26 PM, Jingoo Han wrote: > On Wednesday, December 16, 2015 12:58 PM, Yakir Yang wrote: >> After test on rockchiop platform, i found sometims driver would failed >> at reading EDID message. After debugging more, i found that it's okay >> to read_a byte from i2c, but it would failed at AUX transcation if we >> try to ready multi-bytes from i2c. >> >> Driver just can't received the AUX CH reply command, even no AUX error >> code. I may guess that the AUX wait time is not enough, so I try to >> expand the AUX wait time, and i do see this could fix the EDID read >> failed at rockchip platform. >> >> And I thought that expand the wait time won't hurt Exynos platform too >> much, cause Exynos didn't have this problem, then driver would received >> the reply command very soon, so no more additional wait time would bring >> to Exynos platform. >> >> Signed-off-by: Yakir Yang >> --- >> Changes in v11: None >> Changes in v10: None >> Changes in v9: None >> Changes in v8: None >> Changes in v7: None >> Changes in v6: None >> Changes in v5: None >> Changes in v4: None >> Changes in v3: None >> Changes in v2: None >> >> drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c >> b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c >> index c7e2959..dc376bd 100644 >> --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c >> +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c >> @@ -482,7 +482,7 @@ int analogix_dp_start_aux_transaction(struct analogix_dp_device *dp) >> reg = readl(dp->reg_base + ANALOGIX_DP_INT_STA); >> while (!(reg & RPLY_RECEIV)) { >> timeout_loop++; >> - if (DP_TIMEOUT_LOOP_COUNT < timeout_loop) { >> + if (DP_TIMEOUT_LOOP_COUNT * 10 < timeout_loop) { > No, I hate this coding. > analogix_dp_reg.c is the common code that can be shared by various SoCs. > Please, find another way. Okay, I have double checked that i do have this problem in my side. Hmmm..... I thought it's okay for you if I expand the "DP_TIMEOUT_LOOP_COUNT" directly, it won't hurt Exynos platform too much, cause Exynos didn't have this problem, then driver would received,the reply command very soon, so no more additional wait time would bring to Exynos platform. And actually the datasheet haven't described the spec of aux reply delay time. Thanks, - Yakir > Best regards, > Jingoo Han > > >> dev_err(dp->dev, "AUX CH command reply failed!\n"); >> return -ETIMEDOUT; >> } >> -- >> 1.9.1 > > > >