From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 2/2] drm/i915: Get rid of intel_dp_dpcd_read_wake() Date: Mon, 21 Mar 2016 15:38:31 +0200 Message-ID: <20160321133831.GX4329@intel.com> References: <1458229245-8634-1-git-send-email-cpaul@redhat.com> <1458229245-8634-2-git-send-email-cpaul@redhat.com> <20160318141345.GG4329@intel.com> <20160318161235.GN4329@intel.com> <20160318164140.GO4329@intel.com> <87lh5ct95t.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <87lh5ct95t.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org, arthur.j.runyan@intel.com, open list , dri-devel@lists.freedesktop.org, Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBNYXIgMjEsIDIwMTYgYXQgMTI6MzA6NTRQTSArMDIwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gRnJpLCAxOCBNYXIgMjAxNiwgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4gd3JvdGU6Cj4gPiBPbiBGcmksIE1hciAxOCwgMjAxNiBhdCAwNjox MjozNVBNICswMjAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gPj4gT24gRnJpLCBNYXIgMTgs IDIwMTYgYXQgMDQ6MTM6NDVQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+ID4+ID4g T24gVGh1LCBNYXIgMTcsIDIwMTYgYXQgMTE6NDA6NDVBTSAtMDQwMCwgTHl1ZGUgd3JvdGU6Cj4g Pj4gPiA+IC0JZHJtX2RwX2RwY2RfcmVhZChhdXgsIERQX0RQQ0RfUkVWLCBidWZmZXIsIDEpOwo+ ID4+ID4gCj4gPj4gPiBOQUsKPiA+PiA+IAo+ID4+ID4gSWYgcGVvcGxlIGtlZXAgaW50ZW50aW9u YWxseSBicmVha2luZyBteSBzaGl0IEknbSBnb2luZyB0byBiZWNvbWUKPiA+PiA+IHJlYWxseSBn cnVtcHkgc29vbi4KPiA+PiAKPiA+PiBPaCwgYW5kIGp1c3QgaW4gY2FzZSBzb21lb25lIHdhbnRz IHRvIGNvbWUgdXAgd2l0aCBhIGJldHRlciBrbHVkZ2UsCj4gPj4gSSBqdXN0IHNwZW50IGEgZmV3 IG1pbnV0ZXMgYW5hbHl6aW5nIHRoZSBiZWhhdmlvciBvZiB0aGlzIGNyYXBweQo+ID4+IG1vbml0 b3IgYS4KPiA+PiAKPiA+PiBXaGF0IGhhcHBlbnMgaXMgdGhhdCB3aGVuIHRoZSBtb25pdG9yIGlz IGZ1bGx5IHBvd2VyZWQgdXAgKExFRCBpcyBibHVlKQo+ID4+IHRoaW5ncyBhcmUgZmluZS4gQWZ0 ZXIgdGhlIG1vbml0b3IgZ29lcyB0byBzbGVlcCAoTEVEIHR1cm5zIG9yYW5nZSkKPiA+PiB0aGUg Zmlyc3QgRFBDRCByZWFkIHdpbGwgcHJvZHVjZSBnYXJiYWdlLiBGdXJ0aGVyIERQQ0QgcmVhZHMg YXJlIGZpbmUsCj4gPj4gZXZlbiBpZiBJIHdhaXQgYSBzaWduaWZpY2FudCBhbW91bnQgb2YgdGlt ZSBiZXR3ZWVuIHRoZSByZWFkcywgYXMgbG9uZwo+ID4+IGFzIHRoZSBtb25pdG9yIGRpZG4ndCBk byBhIHBvd2VyIG9uLT5vZmYgY3ljbGUgaW4gYmV0d2Vlbi4gU28gaXQgbG9va3MKPiA+PiBsaWtl IGl0J3MgYWx3YXlzIGp1c3QgdGhlIGZpcnN0IHJlYWQgYWZ0ZXIgcG93ZXIgZG93biB0aGF0IGdl dHMKPiA+PiBjb3JydXB0ZWQuCj4gPj4gCj4gPj4gTm93IEkgdGhpbmsgSSdsbCBnbyBhbmQgdGVz dCBob3cgd3JpdGVzIGJlaGF2ZSwgYXNzdW1pbmcgSSBjYW4gZmluZCBhCj4gPj4gZGVjZW50bHkg c2l6ZWQgY2h1bmsgb2YgRFBDRCBhZGRyZXNzIHNwYWNlIEkgY2FuIHdyaXRlLiBBbmQgbWF5YmUg SQo+ID4+IHNob3VsZCBhbHNvIHRyeSBpMmMtb3Zlci1hdXguLi4KPiA+Cj4gPiBUaGUgZmlyc3Qg RFBDRCB3cml0ZSBhZnRlciBwb3dlcmRvd24gYWxzbyBnb3QgY29ycnVwdGVkLiBCdXQgaTJjLW92 ZXItYXV4Cj4gPiBzZWVtcyB1bmFmZmVjdGVkIGZvciB3aGF0ZXZlciByZWFzb24uCj4gCj4gRGlk IHRoZSBkaXNwbGF5IGdvIHRvIHNsZWVwIG9uIGl0cyBvd24sIG9yIGRpZCB3ZSBkbyBzb21ldGhp bmc/IEluCj4gcGFydGljdWxhciwgZG9lcyBEUENEIERQX1NFVF9QT1dFUiByZWdpc3RlciBwbGF5 IGEgcm9sZT8gV2hhdCBpZiB3ZSBza2lwCj4gd3JpdGluZyBEMyB0byBpdD8gV2hhdCBpZiB3ZSBk byB0aGF0IHdyaXRlIGFzIHRoZSBmaXJzdCB0aGluZyAoZXZlcnkKPiB0aW1lKT8KClVzZXIgcHJl c3NpbmcgYW55IG9mIHRoZSBidXR0b25zIG9uIHRoZSBtb25pdG9yIGlzIGVub3VnaCB0byB3YWtl IGl0LAphbmQgYWZ0ZXIgYSBzaG9ydCB0aW1lb3V0IGl0IHdpbGwgcG93ZXIgZG93biBvbiBpdHMg b3duLCBsZWFkaW5nIHRvCnRoZSBjb3JydXB0ZWQgYWNjZXNzLgoKS2VlcGluZyBEUF9TRVRfUE9X RVIgYXQgRDAgZG9lc24ndCBjaGFuZ2UgYW55dGhpbmcuCgotLSAKVmlsbGUgU3lyasOkbMOkCklu dGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755746AbcCUNi5 (ORCPT ); Mon, 21 Mar 2016 09:38:57 -0400 Received: from mga03.intel.com ([134.134.136.65]:50272 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754583AbcCUNix (ORCPT ); Mon, 21 Mar 2016 09:38:53 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,372,1455004800"; d="scan'208";a="941817159" Date: Mon, 21 Mar 2016 15:38:31 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Jani Nikula Cc: Lyude , Daniel Vetter , intel-gfx@lists.freedesktop.org, arthur.j.runyan@intel.com, open list , dri-devel@lists.freedesktop.org Subject: Re: [Intel-gfx] [PATCH 2/2] drm/i915: Get rid of intel_dp_dpcd_read_wake() Message-ID: <20160321133831.GX4329@intel.com> References: <1458229245-8634-1-git-send-email-cpaul@redhat.com> <1458229245-8634-2-git-send-email-cpaul@redhat.com> <20160318141345.GG4329@intel.com> <20160318161235.GN4329@intel.com> <20160318164140.GO4329@intel.com> <87lh5ct95t.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <87lh5ct95t.fsf@intel.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Mar 21, 2016 at 12:30:54PM +0200, Jani Nikula wrote: > On Fri, 18 Mar 2016, Ville Syrjälä wrote: > > On Fri, Mar 18, 2016 at 06:12:35PM +0200, Ville Syrjälä wrote: > >> On Fri, Mar 18, 2016 at 04:13:45PM +0200, Ville Syrjälä wrote: > >> > On Thu, Mar 17, 2016 at 11:40:45AM -0400, Lyude wrote: > >> > > - drm_dp_dpcd_read(aux, DP_DPCD_REV, buffer, 1); > >> > > >> > NAK > >> > > >> > If people keep intentionally breaking my shit I'm going to become > >> > really grumpy soon. > >> > >> Oh, and just in case someone wants to come up with a better kludge, > >> I just spent a few minutes analyzing the behavior of this crappy > >> monitor a. > >> > >> What happens is that when the monitor is fully powered up (LED is blue) > >> things are fine. After the monitor goes to sleep (LED turns orange) > >> the first DPCD read will produce garbage. Further DPCD reads are fine, > >> even if I wait a significant amount of time between the reads, as long > >> as the monitor didn't do a power on->off cycle in between. So it looks > >> like it's always just the first read after power down that gets > >> corrupted. > >> > >> Now I think I'll go and test how writes behave, assuming I can find a > >> decently sized chunk of DPCD address space I can write. And maybe I > >> should also try i2c-over-aux... > > > > The first DPCD write after powerdown also got corrupted. But i2c-over-aux > > seems unaffected for whatever reason. > > Did the display go to sleep on its own, or did we do something? In > particular, does DPCD DP_SET_POWER register play a role? What if we skip > writing D3 to it? What if we do that write as the first thing (every > time)? User pressing any of the buttons on the monitor is enough to wake it, and after a short timeout it will power down on its own, leading to the corrupted access. Keeping DP_SET_POWER at D0 doesn't change anything. -- Ville Syrjälä Intel OTC