From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Subject: Re: [PATCH] drm/radeon: Retry DDC probing on DVI on failure if we got an HPD interrupt Date: Sun, 22 Nov 2015 21:44:34 -0500 Message-ID: <1448246674.26668.9.camel@redhat.com> References: <1448034740-30193-1-git-send-email-cpaul@redhat.com> <56507E0F.7030009@amd.com> <56508C34.1030909@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id 67C5C6E403 for ; Sun, 22 Nov 2015 18:44:39 -0800 (PST) In-Reply-To: <56508C34.1030909@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Christian =?ISO-8859-1?Q?K=F6nig?= , Daniel Stone Cc: Linux Kernel Mailing List , dri-devel , Jerome Glisse , Benjamin Tissoires , Alex Deucher List-Id: dri-devel@lists.freedesktop.org T24gU2F0LCAyMDE1LTExLTIxIGF0IDE2OjIyICswMTAwLCBDaHJpc3RpYW4gS8O2bmlnIHdyb3Rl Ogo+IE9uIDIxLjExLjIwMTUgMTU6NDksIERhbmllbCBTdG9uZSB3cm90ZToKPiA+IEhpLAo+ID4g Cj4gPiBPbiAyMSBOb3ZlbWJlciAyMDE1IGF0IDE0OjIyLCBDaHJpc3RpYW4gS8O2bmlnIDxjaHJp c3RpYW4ua29lbmlnQGFtZAo+ID4gLmNvbT4gd3JvdGU6Cj4gPiA+IE9uIDIwLjExLjIwMTUgMTY6 NTIsIGNwYXVsQHJlZGhhdC5jb20gd3JvdGU6Cj4gPiA+ID4gVGhpcyBpcyBzb21ld2hhdCByYXJl IG9uIG1vc3QgY2FyZHMgKGRlcGVuZGluZyBvbiB3aGF0IGFuZ2xlCj4gPiA+ID4geW91IHBsdWcK PiA+ID4gPiB0aGUgRFZJIGNvbm5lY3RvciBpbiksIGJ1dCBvbiBzb21lIGNhcmRzIGl0IGhhcHBl bnMgY29uc3RhbnRseS4KPiA+ID4gPiBUaGUKPiA+ID4gPiBSYWRlb24gUjUgb24gdGhlIG1hY2hp bmUgdXNlZCBmb3IgdGVzdGluZyB0aGlzIHBhdGNoIGZvcgo+ID4gPiA+IGluc3RhbmNlLCBydW5z Cj4gPiA+ID4gaW50byB0aGlzIGlzc3VlIGp1c3QgYWJvdXQgZXZlcnkgdGltZSBJIHRyeSB0byBo b3RwbHVnIGEgRFZJCj4gPiA+ID4gbW9uaXRvciBhbmQKPiA+ID4gPiBhcyBhIHJlc3VsdCBob3Rw bHVnZ2luZyBhbG1vc3QgbmV2ZXIgd29ya3MuCj4gPiA+ID4gCj4gPiA+ID4gUmVzY2hlZHVsaW5n IHRoZSBob3RwbHVnIHdvcmsgZm9yIGEgc2Vjb25kIHdoZW4gd2UgcnVuIGludG8gYW4KPiA+ID4g PiBIUEQKPiA+ID4gPiBzaWduYWwgd2l0aCBhIGZhaWxpbmcgRERDIHByb2JlIHVzdWFsbHkgZ2l2 ZXMgZW5vdWdoIHRpbWUgZm9yCj4gPiA+ID4gdGhlIHJlc3QKPiA+ID4gPiBvZiB0aGUgY29ubmVj dG9yJ3MgcGlucyB0byBtYWtlIGNvbnRhY3QsIGFuZCBmaXhlcyB0aGlzIGlzc3VlLgo+ID4gPiA+ IAo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFN0ZXBoZW4gQ2hhbmRsZXIgUGF1bCA8Y3BhdWxAcmVk aGF0LmNvbT4KPiA+ID4gCj4gPiA+IFllYWgsIHRoYXQncyBzb21ldGhpbmcgSSBhbHdheXMgd29u ZGVyZWQgYSBhYm91dCBiaXQgYXMgd2VsbC4KPiA+ID4gCj4gPiA+IERlYm91bmNpbmcgaXMgc29t ZXRoaW5nIHZlcnkgY29tbW9uIGRvbmUgaW4gZWxlY3Ryb25pY3MsIGJ1dCBhcwo+ID4gPiBmYXIg YXMgSQo+ID4gPiBrbm93IHRoZSBIUEQgcGlucyBkb24ndCBuZWNlc3NhcnkgaGF2ZSBhbiBSQyBj aXJjdWl0IHNvIHdlIG1pZ2h0Cj4gPiA+IG5lZWQgdG8KPiA+ID4gaGFuZGxlIHRoaXMgY2FzZSBp biBzb2Z0d2FyZSBoZXJlLgo+ID4gPiAKPiA+ID4gQSBkZWxheSBvZiBzb21ldGhpbmcgYmV0d2Vl biAxMC0zMG1zIGJldHdlZW4gdGhlIGxhc3QgSFBECj4gPiA+IGludGVycnVwdCBhbmQKPiA+ID4g ZnVydGhlciBwcm9jZXNzaW5nIG9mIHRoZSBzaWduYWwgZG9lc24ndCBzb3VuZHMgbGlrZSBzdWNo IGEgYmFkCj4gPiA+IGlkZWEuClVuZm9ydHVuYXRlbHkgdGhlIGRlbGF5IG5lZWRlZCB0byBtYWtl IGhvdHBsdWdnaW5nIHdvcmsgb24gdGhlIHN5c3RlbQptZW50aW9uZWQgaW4gdGhlIGNvbW1pdCBs b2cgY2FuIGFjdHVhbGx5IGJlIG92ZXIgNzAwbXMuCj4gPiA+IAo+ID4gPiBSZXRyeWluZyBvbiB0 aGUgb3RoZXIgaGFuZCBkb2Vzbid0IG5lY2Vzc2FyaWx5IGltcHJvdmUgdGhlCj4gPiA+IHNpdHVh dGlvbiBjYXVzZQo+ID4gPiB0aGUgZGVsYXkgaW50cm9kdWNlZCBieSB0aGlzIG1pZ2h0IG5vdCBi ZSBlbm91Z2guClllYWgsIGJ1dCBJIHdvdWxkIHRoaW5rIGl0IHdvdWxkIG1ha2Ugc2Vuc2UgdG8g cmV0cnkgaGVyZSBzbyBsb25nIGFzIHdlCmJhY2sgb2ZmIGFmdGVyIGEgY2VydGFpbiB0aW1lLiBU aGlzIHdvdWxkIGFsc28gaGF2ZSB0aGUgYmVuZWZpdCBvZgpza2lwcGluZyB0aGlzIGRlbGF5IG9u IHN5c3RlbXMgdGhhdCBkb24ndCBuZWVkIGl0Lgo+ID4gPiAKPiA+ID4gU28gSSB3b3VsZCByYXRo ZXIgdm90ZSBmb3IgYSBmaXhlZCBkZWxheSBiZXR3ZWVuIGFuIEhQRCBpbnRlcnJ1cHQKPiA+ID4g YW5kCj4gPiA+IGFjdHVhbGx5IHN0YXJ0aW5nIHRvIHByb2Nlc3MgYW55dGhpbmcuCj4gPiBZZXMt aXNoLiBEZWJvdW5jaW5nIGlzIHVzZWZ1bCwgYW5kIGlnbm9yaW5nIGJ1Z2d5IGRldmljZXMgKGUu Zy4KPiA+IHRob3NlCj4gPiBvbiBtYXJnaW5hbCBwb3dlcikgd2hpY2ggc2VuZCB5b3UgSFBEIHN0 b3JtcyBhcyB3ZWxsLiBCdXQgRFAgcmVsaWVzCj4gPiBvbgo+ID4gJ3Nob3J0IEhQRCcgcHVsc2Vz IHdoaWNoIGNhbiBiZSBhcyBicmllZiBhcyAybXMuIFNvIGF0dGVtcHRpbmcgdG8KPiA+IHRvdGFs bHkgZGVib3VuY2UgYWxsIEhQRCB3b24ndCB3b3JrLgo+IFdlbGwgdGhlIGRpc2N1c3Npb24gc28g ZmFyIHdhcyBhYm91dCBIUEQgb24gRFZJIG9ubHkuCj4gCj4gSSdtIG5vdCBzbyBkZWVwIGludG8g RFAsIGJ1dCB3aHkgc2hvdWxkIGl0IHVzZXMgSFBEIHB1bHNlcyBvZiBsZXNzCj4gdGhhbiAybXM/ ClRoaXMgaXMgcGFydCBvZiB0aGUgRFAgc3BlYyBpaXJjLiBUaGlzIGJlaW5nIHNhaWQgdGhvdWdo LCB0aGUgaXNzdWUKaGVyZSB3aXRoIHRoZSBIUEQgc2lnbmFsIGNvbWluZyBiZWZvcmUgdGhlIGNv bm5lY3RvciBpcyByZWFkeSBvbmx5CmhhcHBlbnMgb24gRFZJLiBJIGhhdmVuJ3QgZXZlciBydW4g aW50byB0aGlzIGlzc3VlIHdpdGggYW55IEhETUkgY2FibGVzCm9yIERQIGNhYmxlcywgc28gSSdt IGFnYWluc3QgaW1wb3NpbmcgdGhpcyBvbiBhbGwgY29ubmVjdG9ycy4KCk9uZSBvZiB0aGUgc29s dXRpb25zIEkndmUgYmVlbiB0aGlua2luZyBhYm91dCB3aXRoIHRoaXM6IEluCnJhZGVvbl9kdmlf ZGV0ZWN0KCksIGlmIHdlIGdldCBhIHJlYWwgaG90cGx1ZyBzaWduYWwgcmV0cnkgdGhlIEREQwpw cm9iZSB1bnRpbCBhdCBsZWFzdCBhIHNlY29uZCBoYXMgcGFzc2VkLCBhZnRlciB3aGljaCB3ZSBi YWNrIG9mZiBhbmQKYXNzdW1lIHRoZSBwb3J0IGlzIGRpc2Nvbm5lY3RlZC4KPiAKPiBSZWdhcmRz LAo+IENocmlzdGlhbi4KPiAKPiA+IAo+ID4gQ2hlZXJzLAo+ID4gRGFuaWVsCj4gCi0tIApDaGVl cnMsCglMeXVkZQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753189AbbKWCok (ORCPT ); Sun, 22 Nov 2015 21:44:40 -0500 Received: from mx1.redhat.com ([209.132.183.28]:49012 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753058AbbKWCoi (ORCPT ); Sun, 22 Nov 2015 21:44:38 -0500 Message-ID: <1448246674.26668.9.camel@redhat.com> Subject: Re: [PATCH] drm/radeon: Retry DDC probing on DVI on failure if we got an HPD interrupt From: Lyude To: Christian =?ISO-8859-1?Q?K=F6nig?= , Daniel Stone Cc: Alex Deucher , David Airlie , dri-devel , Linux Kernel Mailing List , Jerome Glisse , Benjamin Tissoires Date: Sun, 22 Nov 2015 21:44:34 -0500 In-Reply-To: <56508C34.1030909@amd.com> References: <1448034740-30193-1-git-send-email-cpaul@redhat.com> <56507E0F.7030009@amd.com> <56508C34.1030909@amd.com> Organization: Red Hat Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 2015-11-21 at 16:22 +0100, Christian König wrote: > On 21.11.2015 15:49, Daniel Stone wrote: > > Hi, > > > > On 21 November 2015 at 14:22, Christian König > .com> wrote: > > > On 20.11.2015 16:52, cpaul@redhat.com wrote: > > > > This is somewhat rare on most cards (depending on what angle > > > > you plug > > > > the DVI connector in), but on some cards it happens constantly. > > > > The > > > > Radeon R5 on the machine used for testing this patch for > > > > instance, runs > > > > into this issue just about every time I try to hotplug a DVI > > > > monitor and > > > > as a result hotplugging almost never works. > > > > > > > > Rescheduling the hotplug work for a second when we run into an > > > > HPD > > > > signal with a failing DDC probe usually gives enough time for > > > > the rest > > > > of the connector's pins to make contact, and fixes this issue. > > > > > > > > Signed-off-by: Stephen Chandler Paul > > > > > > Yeah, that's something I always wondered a about bit as well. > > > > > > Debouncing is something very common done in electronics, but as > > > far as I > > > know the HPD pins don't necessary have an RC circuit so we might > > > need to > > > handle this case in software here. > > > > > > A delay of something between 10-30ms between the last HPD > > > interrupt and > > > further processing of the signal doesn't sounds like such a bad > > > idea. Unfortunately the delay needed to make hotplugging work on the system mentioned in the commit log can actually be over 700ms. > > > > > > Retrying on the other hand doesn't necessarily improve the > > > situation cause > > > the delay introduced by this might not be enough. Yeah, but I would think it would make sense to retry here so long as we back off after a certain time. This would also have the benefit of skipping this delay on systems that don't need it. > > > > > > So I would rather vote for a fixed delay between an HPD interrupt > > > and > > > actually starting to process anything. > > Yes-ish. Debouncing is useful, and ignoring buggy devices (e.g. > > those > > on marginal power) which send you HPD storms as well. But DP relies > > on > > 'short HPD' pulses which can be as brief as 2ms. So attempting to > > totally debounce all HPD won't work. > Well the discussion so far was about HPD on DVI only. > > I'm not so deep into DP, but why should it uses HPD pulses of less > than 2ms? This is part of the DP spec iirc. This being said though, the issue here with the HPD signal coming before the connector is ready only happens on DVI. I haven't ever run into this issue with any HDMI cables or DP cables, so I'm against imposing this on all connectors. One of the solutions I've been thinking about with this: In radeon_dvi_detect(), if we get a real hotplug signal retry the DDC probe until at least a second has passed, after which we back off and assume the port is disconnected. > > Regards, > Christian. > > > > > Cheers, > > Daniel > -- Cheers, Lyude