From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Perform link quality check unconditionally during long pulse Date: Thu, 16 Feb 2017 17:49:37 +0200 Message-ID: <20170216154937.GG31595@intel.com> References: <20170216153007.14868-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 897E16EB98 for ; Thu, 16 Feb 2017 15:49:41 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Palmer Dabbelt Cc: intel-gfx@lists.freedesktop.org, stable@vger.kernel.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBGZWIgMTYsIDIwMTcgYXQgMDc6Mzk6MjlBTSAtMDgwMCwgUGFsbWVyIERhYmJlbHQg d3JvdGU6Cj4gT24gVGh1LCAxNiBGZWIgMjAxNyAwNzozMDowNyBQU1QgKC0wODAwKSwgdmlsbGUu c3lyamFsYUBsaW51eC5pbnRlbC5jb20gd3JvdGU6Cj4gPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6Qg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4KPiA+IEFwcGFyZW50bHkgc29tZSBE UCBzaW5rcyBhcmUgYSBsaXR0bGUgbnV0cyBhbmQgY2F1c2UgSFBEIHRvIGRyb3AKPiA+IGludGVy bWl0dGVudGx5IGR1cmluZyBtb2Rlc2V0cy4gVGhpcyBoYXBwZW5zIGVnLiBvbiBhbiBBU1VTIFBC Mjg3US4KPiA+IEluIG9kZXIgdG8gcmVjb3ZlciBmcm9tIHRoaXMgd2UgY2FuJ3QgcmVhbGx5IHVz ZSB0aGUgcHJldmlvdXMKPiA+IGNvbm5lY3RvciBzdGF0dXMgdG8gZGV0ZXJtaW5lIGlmIHRoZSBs aW5rIG5lZWRzIHJldHJhaW5pbmcsIHNvIGxldCdzCj4gPiBqdXN0IGlnbm9yZSB0aGF0IHBpZWNl IG9mIGluZm9ybWF0aW9uIGFuZCBkbyB0aGUgcmV0cmFpbgo+ID4gdW5jb25kaXRpb25hbGx5LiBX ZSBkbyBvZiBjb3Vyc2Ugc3RpbGwgY2hlY2sgd2hldGhlciB0aGUgbGluayBpcwo+ID4gc3VwcG9z ZWQgdG8gYmUgcnVubmluZyBvciBub3QuCj4gCj4gV2l0aCB0aGlzIHBhdGNoIG9uIHRvcCBvZiBs aW51eC00LjkgSSBoYXZlIERQTVMgb24vb2ZmIHdvcmtpbmcgYWdhaW4sIGJ1dCBJCj4gZG9uJ3Qg aGF2ZSB0aGUgY29ycmVjdCByZXNvbHV0aW9ucyBvbiBteSBtb25pdG9yLiAgSSBqdXN0IHNlZQo+ IAo+IERQMSBjb25uZWN0ZWQgMTAyNHg3NjgrMjg4MCswIChub3JtYWwgbGVmdCBpbnZlcnRlZCBy aWdodCB4IGF4aXMgeSBheGlzKSAwbW0geCAwbW0KPiAgICAxMDI0eDc2OCAgICAgIDYwLjAwKgo+ ICAgIDgwMHg2MDAgICAgICAgNjAuMzIgICAgNTYuMjUKPiAgICA4NDh4NDgwICAgICAgIDYwLjAw Cj4gICAgNjQweDQ4MCAgICAgICA1OS45NAoKSG1tLiBUaGF0IHdvdWxkIGluZGljYXRlIHRoYXQg dGhlIEVESUQgcmVhZHMgYXJlIGFsc28gZmFpbGluZyBub3cuCkkgd29uZGVyIGlmIHlvdXIgbW9u aXRvciBpcyBqdXN0IGEgbGVtb24uCgpBbnl3YXlzLCB0aGVyZSB3ZXJlIG5vIGZhaWxlZCBFRElE IHJlYWRzIHZpc2libGUgaW4gdGhlIGxvZ3MgeW91CnByb3ZpZGVkLiBZb3Ugc2hvdWxkIGtlZXAg dGhlIGRybS5kZWJ1Zz0weGUgYW5kIHJlcnVuIHhyYW5kciAoZG8gbm90CnVzZSB0aGUgLS1jdXJy ZW50IGtub2IpLCBhbmQgdGhlbiB3ZSBzaG91bGQgY2hlY2sgdGhlIGRtZXNnIGFnYWluCnRvIHNl ZSB3aGF0IHRoZSBrZXJuZWwgdGhpbmtzIHRoZSBtb2RlIGxpc3Qgc2hvdWxkIGxvb2sgbGlrZS4K Cj4gCj4gPgo+ID4gQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcKPiA+IENjOiBQYWxtZXIgRGFi YmVsdCA8cGFsbWVyQGRhYmJlbHQuY29tPgo+ID4gUmVwb3J0ZWQtYnk6IFBhbG1lciBEYWJiZWx0 IDxwYWxtZXJAZGFiYmVsdC5jb20+Cj4gPiBSZWZlcmVuY2VzOiBodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9hcmNoaXZlcy9pbnRlbC1nZngvMjAxNy1GZWJydWFyeS8xMTk3NzkuaHRtbAo+ ID4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4Lmlu dGVsLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgfCAx NSArKysrKysrKysrKy0tLS0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwg NCBkZWxldGlvbnMoLSkKPiA+Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+IGluZGV4IDAy NDc5OGE5YzAxNi4uMzdhNzQ2ZjdmYmMzIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHAuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAu Ywo+ID4gQEAgLTQ2NDgsMTEgKzQ2NDgsMTggQEAgaW50ZWxfZHBfbG9uZ19wdWxzZShzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IpCj4gPiAgCQkgKi8KPiA+ICAJCXN0YXR1 cyA9IGNvbm5lY3Rvcl9zdGF0dXNfZGlzY29ubmVjdGVkOwo+ID4gIAkJZ290byBvdXQ7Cj4gPiAt CX0gZWxzZSBpZiAoY29ubmVjdG9yLT5zdGF0dXMgPT0gY29ubmVjdG9yX3N0YXR1c19jb25uZWN0 ZWQpIHsKPiA+ICsJfSBlbHNlIHsKPiA+ICAJCS8qCj4gPiAtCQkgKiBJZiBkaXNwbGF5IHdhcyBj b25uZWN0ZWQgYWxyZWFkeSBhbmQgaXMgc3RpbGwgY29ubmVjdGVkCj4gPiAtCQkgKiBjaGVjayBs aW5rcyBzdGF0dXMsIHRoZXJlIGhhcyBiZWVuIGtub3duIGlzc3VlcyBvZgo+ID4gLQkJICogbGlu ayBsb3NzIHRyaWdnZXJyaW5nIGxvbmcgcHVsc2UhISEhCj4gPiArCQkgKiBJZiBkaXNwbGF5IGlz IG5vdyBjb25uZWN0ZWQgY2hlY2sgbGlua3Mgc3RhdHVzLAo+ID4gKwkJICogdGhlcmUgaGFzIGJl ZW4ga25vd24gaXNzdWVzIG9mIGxpbmsgbG9zcyB0cmlnZ2VycmluZwo+ID4gKwkJICogbG9uZyBw dWxzZS4KPiA+ICsJCSAqCj4gPiArCQkgKiBTb21lIHNpbmtzIChlZy4gQVNVUyBQQjI4N1EpIHNl ZW0gdG8gcGVyZm9ybSBzb21lCj4gPiArCQkgKiB3ZWlyZCBIUEQgcGluZyBwb25nIGR1cmluZyBt b2Rlc2V0cy4gU28gd2UgY2FuIGFwcGFyZWx5Cj4gPiArCQkgKiBlbmQgdXAgd2l0aCBIUEQgZ29p bmcgbG93IGR1cmluZyBhIG1vZGVzZXQsIGFuZCB0aGVuCj4gPiArCQkgKiBnb2luZyBiYWNrIHVw IHNvb24gYWZ0ZXIuIEFuZCBvbmNlIHRoYXQgaGFwcGVucyB3ZSBtdXN0Cj4gPiArCQkgKiByZXRy YWluIHRoZSBsaW5rIHRvIGdldCBhIHBpY3R1cmUuIFRoYXQncyBpbiBjYXNlIG5vCj4gPiArCQkg KiB1c2Vyc3BhY2UgY29tcG9uZW50IHJlYWN0ZWQgdG8gaW50ZXJtaXR0ZW50IEhQRCBkaXAuCj4g PiAgCQkgKi8KPiA+ICAJCWRybV9tb2Rlc2V0X2xvY2soJmRldi0+bW9kZV9jb25maWcuY29ubmVj dGlvbl9tdXRleCwgTlVMTCk7Cj4gPiAgCQlpbnRlbF9kcF9jaGVja19saW5rX3N0YXR1cyhpbnRl bF9kcCk7CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com ([192.55.52.115]:49572 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932481AbdBPPtr (ORCPT ); Thu, 16 Feb 2017 10:49:47 -0500 Date: Thu, 16 Feb 2017 17:49:37 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Palmer Dabbelt Cc: intel-gfx@lists.freedesktop.org, stable@vger.kernel.org Subject: Re: [PATCH] drm/i915: Perform link quality check unconditionally during long pulse Message-ID: <20170216154937.GG31595@intel.com> References: <20170216153007.14868-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Sender: stable-owner@vger.kernel.org List-ID: On Thu, Feb 16, 2017 at 07:39:29AM -0800, Palmer Dabbelt wrote: > On Thu, 16 Feb 2017 07:30:07 PST (-0800), ville.syrjala@linux.intel.com wrote: > > From: Ville Syrj�l� > > > > Apparently some DP sinks are a little nuts and cause HPD to drop > > intermittently during modesets. This happens eg. on an ASUS PB287Q. > > In oder to recover from this we can't really use the previous > > connector status to determine if the link needs retraining, so let's > > just ignore that piece of information and do the retrain > > unconditionally. We do of course still check whether the link is > > supposed to be running or not. > > With this patch on top of linux-4.9 I have DPMS on/off working again, but I > don't have the correct resolutions on my monitor. I just see > > DP1 connected 1024x768+2880+0 (normal left inverted right x axis y axis) 0mm x 0mm > 1024x768 60.00* > 800x600 60.32 56.25 > 848x480 60.00 > 640x480 59.94 Hmm. That would indicate that the EDID reads are also failing now. I wonder if your monitor is just a lemon. Anyways, there were no failed EDID reads visible in the logs you provided. You should keep the drm.debug=0xe and rerun xrandr (do not use the --current knob), and then we should check the dmesg again to see what the kernel thinks the mode list should look like. > > > > > Cc: stable@vger.kernel.org > > Cc: Palmer Dabbelt > > Reported-by: Palmer Dabbelt > > References: https://lists.freedesktop.org/archives/intel-gfx/2017-February/119779.html > > Signed-off-by: Ville Syrj�l� > > --- > > drivers/gpu/drm/i915/intel_dp.c | 15 +++++++++++---- > > 1 file changed, 11 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > > index 024798a9c016..37a746f7fbc3 100644 > > --- a/drivers/gpu/drm/i915/intel_dp.c > > +++ b/drivers/gpu/drm/i915/intel_dp.c > > @@ -4648,11 +4648,18 @@ intel_dp_long_pulse(struct intel_connector *intel_connector) > > */ > > status = connector_status_disconnected; > > goto out; > > - } else if (connector->status == connector_status_connected) { > > + } else { > > /* > > - * If display was connected already and is still connected > > - * check links status, there has been known issues of > > - * link loss triggerring long pulse!!!! > > + * If display is now connected check links status, > > + * there has been known issues of link loss triggerring > > + * long pulse. > > + * > > + * Some sinks (eg. ASUS PB287Q) seem to perform some > > + * weird HPD ping pong during modesets. So we can apparely > > + * end up with HPD going low during a modeset, and then > > + * going back up soon after. And once that happens we must > > + * retrain the link to get a picture. That's in case no > > + * userspace component reacted to intermittent HPD dip. > > */ > > drm_modeset_lock(&dev->mode_config.connection_mutex, NULL); > > intel_dp_check_link_status(intel_dp); -- Ville Syrj�l� Intel OTC