From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 1/3] drm/i915: DP link training optimization Date: Wed, 08 Apr 2015 15:46:37 +0300 Message-ID: <87mw2iiy8i.fsf@intel.com> References: <1425387898-3333-1-git-send-email-mika.kahola@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id C2C376E1AC for ; Wed, 8 Apr 2015 05:47:56 -0700 (PDT) In-Reply-To: <1425387898-3333-1-git-send-email-mika.kahola@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Mika Kahola , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAwMyBNYXIgMjAxNSwgTWlrYSBLYWhvbGEgPG1pa2Eua2Fob2xhQGludGVsLmNvbT4g d3JvdGU6Cj4gVGhpcyBpcyBhIGZpcnN0IG9mIHNlcmllcyBwYXRjaGVzIHRoYXQgb3B0aW1pemUg RFAgbGluawo+IHRyYWluaW5nLiBUaGUgZmlyc3QgcGF0Y2ggaXMgZm9yIGVEUCBvbmx5IHdoZXJl IHdlIHJldXNlCj4gdGhlIHByZXZpb3VzbHkgdHJhaW5lZCBsaW5rIHRyYWluaW5nIHZhbHVlcyBm cm9tIGNhY2hlCj4gaS5lLiB2b2x0YWdlIHN3aW5nIGFuZCBwcmUtZW1waGFzaXMgbGV2ZWxzLgo+ Cj4gSW4gY2FzZSB3ZSBhcmUgbm90IGFibGUgdG8gdHJhaW4gdGhlIGxpbmsgYnkgcmV1c2luZwo+ IHRoZSBrbm93biB2YWx1ZXMsIHRoZSBsaW5rIHRyYWluaW5nIHBhcmFtZXRlcnMgYXJlIHNldAo+ IHRvIHplcm8gYW5kIHRyYWluaW5nIGlzIHJlc3RhcnRlZC4KCkFwb2xvZ2llcyBmb3IgdGFraW5n IGFib3V0IGZvcmV2ZXIgYW5kIGEgaGFsZiB0byBnZXQgYmFjayB0byB0aGlzLiA6KAoKU2VlIGNv bW1lbnRzIGlubGluZS4KCkJSLApKYW5pLgoKPgo+IFNpZ25lZC1vZmYtYnk6IE1pa2EgS2Fob2xh IDxtaWthLmthaG9sYUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwLmMgIHwgNzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCB8ICAxICsKPiAgMiBmaWxlcyBjaGFu Z2VkLCA2NyBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcC5jCj4gaW5kZXggZDExNDFkMy4uOTQ5N2ViNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHAuYwo+IEBAIC0zMjk0LDYgKzMyOTQsMjUgQEAgaW50ZWxfZHBfcmVzZXRfbGlua190cmFpbihz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCB1aW50MzJfdCAqRFAsCj4gIH0KPiAgCj4gIHN0YXRp YyBib29sCj4gK2ludGVsX2RwX3JldXNlX2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRl bF9kcCwgdWludDMyX3QgKkRQLAo+ICsJCQkgIHVpbnQ4X3QgZHBfdHJhaW5fcGF0KQo+ICt7Cj4g KwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGRwX3RvX2RpZ19w b3J0KGludGVsX2RwKTsKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kaWdfcG9y dC0+YmFzZS5iYXNlLmRldjsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGRldi0+ZGV2X3ByaXZhdGU7Cj4gKwo+ICsJaW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHMoaW50 ZWxfZHAsIERQKTsKPiArCj4gKwlJOTE1X1dSSVRFKGludGVsX2RwLT5vdXRwdXRfcmVnLCAqRFAp Owo+ICsJUE9TVElOR19SRUFEKGludGVsX2RwLT5vdXRwdXRfcmVnKTsKPiArCj4gKwlkcm1fZHBf ZHBjZF93cml0ZSgmaW50ZWxfZHAtPmF1eCwgRFBfVFJBSU5JTkdfTEFORTBfU0VULAo+ICsJCQkg IGludGVsX2RwLT50cmFpbl9zZXQsIGludGVsX2RwLT5sYW5lX2NvdW50KTsKPiArCj4gKwlyZXR1 cm4gaW50ZWxfZHBfc2V0X2xpbmtfdHJhaW4oaW50ZWxfZHAsIERQLCBkcF90cmFpbl9wYXQpOwo+ ICt9CgpTbyBJJ2QgdGhpbmsgaW50ZWxfZHBfcmV1c2VfbGlua190cmFpbiBzaG91bGQgYmUgZXhh Y3RseSB0aGUgc2FtZSBhcwppbnRlbF9kcF9yZXNldF9saW5rX3RyYWluLCBleGNlcHQgZm9yIHRo ZSBtZW1zZXQgcGFydC4gTWF5YmUganVzdCBsb29rCmF0IC0+bGlua190cmFpbmVkLCBhbmQgbWVt c2V0IGlmIG5vdC4gQW5kIG1ha2Ugc3VyZSB5b3UgY2hhbmdlCi0+bGlua190cmFpbmVkIGF0IGFw cHJvYXByaWF0ZSBwbGFjZXMgKmJlZm9yZSogbWFraW5nIHRoZSBjYWxsLgoKPiArCj4gK3N0YXRp YyBib29sCj4gIGludGVsX2RwX3VwZGF0ZV9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHAsIHVpbnQzMl90ICpEUCwKPiAgCQkJICAgY29uc3QgdWludDhfdCBsaW5rX3N0YXR1c1tE UF9MSU5LX1NUQVRVU19TSVpFXSkKPiAgewo+IEBAIC0zMzU2LDYgKzMzNzUsNyBAQCBpbnRlbF9k cF9zdGFydF9saW5rX3RyYWluKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIAlpbnQgdm9s dGFnZV90cmllcywgbG9vcF90cmllczsKPiAgCXVpbnQzMl90IERQID0gaW50ZWxfZHAtPkRQOwo+ ICAJdWludDhfdCBsaW5rX2NvbmZpZ1syXTsKPiArCXVpbnQ4X3QgbGlua19zdGF0dXNbRFBfTElO S19TVEFUVVNfU0laRV07CgpUaGlzIGlzIGFuIHVucmVsYXRlZCBjaGFuZ2UuCgo+ICAKPiAgCWlm IChIQVNfRERJKGRldikpCj4gIAkJaW50ZWxfZGRpX3ByZXBhcmVfbGlua19yZXRyYWluKGVuY29k ZXIpOwo+IEBAIC0zMzczLDIwICszMzkzLDMzIEBAIGludGVsX2RwX3N0YXJ0X2xpbmtfdHJhaW4o c3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCj4gIAlEUCB8PSBEUF9QT1JUX0VOOwo+ICAK PiAtCS8qIGNsb2NrIHJlY292ZXJ5ICovCj4gLQlpZiAoIWludGVsX2RwX3Jlc2V0X2xpbmtfdHJh aW4oaW50ZWxfZHAsICZEUCwKPiAtCQkJCSAgICAgICBEUF9UUkFJTklOR19QQVRURVJOXzEgfAo+ IC0JCQkJICAgICAgIERQX0xJTktfU0NSQU1CTElOR19ESVNBQkxFKSkgewo+IC0JCURSTV9FUlJP UigiZmFpbGVkIHRvIGVuYWJsZSBsaW5rIHRyYWluaW5nXG4iKTsKPiAtCQlyZXR1cm47Cj4gKwkv Kgo+ICsJICogY2hlY2sgaWYgZURQIGhhcyBhbHJlYWR5IHRyYWluZWQuIFJlc2V0IHZvbHRhZ2Ug c3dpbmcgYW5kCj4gKwkgKiBwcmUtZW1waGFzaXMgbGV2ZWxzIGlmIHRoYXQncyBub3QgdGhlIGNh c2UuCj4gKwkgKi8KPiArCWlmIChpbnRlbF9kcC0+bGlua190cmFpbmVkKSB7CgpJIGtub3cgd2hh dCB5b3UgbWVhbiB3aXRoIC0+bGlua190cmFpbmVkLCBidXQgSSB0aGluayB0aGUgbmFtaW5nIGlz Cm1pc2xlYWRpbmcuIEl0IGRvZXNuJ3QgbWVhbiB3ZSB3b3VsZCBoYXZlIGEgbGluayB1cCBhbmQg cnVubmluZy4gTWF5YmUKaXQgc2hvdWxkIGJlIC0+dHJhaW5fc2V0X3ZhbGlkIG9yIHNvbWV0aGlu Zz8KCj4gKwkJRFJNX0RFQlVHX0tNUygicmV1c2UgY3VycmVudCBsaW5rIHRyYWluIHNldFxuIik7 Cj4gKwkJaWYgKCFpbnRlbF9kcF9yZXVzZV9saW5rX3RyYWluKGludGVsX2RwLCAmRFAsCj4gKwkJ CQkJICAgICAgIERQX1RSQUlOSU5HX1BBVFRFUk5fMSB8Cj4gKwkJCQkJICAgICAgIERQX0xJTktf U0NSQU1CTElOR19ESVNBQkxFKSkgewo+ICsJCQlEUk1fREVCVUdfS01TKCJmYWlsZWQgdG8gc2V0 IGxpbmsgdHJhaW5pbmdcbiIpOwo+ICsJCQlyZXR1cm47Cj4gKwkJfQo+ICsJfSBlbHNlIHsKPiAr CQkvKiByZXNldCBsaW5rIHRyYWluaW5nIHZhbHVlcyAqLwo+ICsJCURSTV9ERUJVR19LTVMoInJl c2V0IGxpbmsgdHJhaW4gc2V0XG4iKTsKPiArCQlpZiAoIWludGVsX2RwX3Jlc2V0X2xpbmtfdHJh aW4oaW50ZWxfZHAsICZEUCwKPiArCQkJCQkgICAgICAgRFBfVFJBSU5JTkdfUEFUVEVSTl8xIHwK PiArCQkJCQkgICAgICAgRFBfTElOS19TQ1JBTUJMSU5HX0RJU0FCTEUpKSB7Cj4gKwkJCURSTV9F UlJPUigiZmFpbGVkIHRvIGVuYWJsZSBsaW5rIHRyYWluaW5nXG4iKTsKPiArCQkJcmV0dXJuOwo+ ICsJCX0KPiAgCX0KPiAgCj4gIAl2b2x0YWdlID0gMHhmZjsKPiAgCXZvbHRhZ2VfdHJpZXMgPSAw Owo+ICAJbG9vcF90cmllcyA9IDA7Cj4gIAlmb3IgKDs7KSB7Cj4gLQkJdWludDhfdCBsaW5rX3N0 YXR1c1tEUF9MSU5LX1NUQVRVU19TSVpFXTsKPiAtCj4gIAkJZHJtX2RwX2xpbmtfdHJhaW5fY2xv Y2tfcmVjb3ZlcnlfZGVsYXkoaW50ZWxfZHAtPmRwY2QpOwo+ICAJCWlmICghaW50ZWxfZHBfZ2V0 X2xpbmtfc3RhdHVzKGludGVsX2RwLCBsaW5rX3N0YXR1cykpIHsKPiAgCQkJRFJNX0VSUk9SKCJm YWlsZWQgdG8gZ2V0IGxpbmsgc3RhdHVzXG4iKTsKPiBAQCAtMzM5OCw2ICszNDMxLDI0IEBAIGlu dGVsX2RwX3N0YXJ0X2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCQkJ YnJlYWs7Cj4gIAkJfQo+ICAKPiArCQkvKgo+ICsJCSAqIGlmIHdlIHVzZWQgcHJldmlvdXNseSB0 cmFpbmVkIHZvbHRhZ2UgYW5kIHByZS1lbXBoYXNpcyB2YWx1ZXMKPiArCQkgKiBhbmQgd2UgZG9u J3QgZ2V0IGNsb2NrIHJlY292ZXJ5LCByZXNldCBsaW5rIHRyYWluaW5nIHZhbHVlcwo+ICsJCSAq Lwo+ICsJCWlmIChpbnRlbF9kcC0+bGlua190cmFpbmVkKSB7Cj4gKwkJCURSTV9ERUJVR19LTVMo ImNsb2NrIHJlY292ZXJ5IG5vdCBvaywgcmVzZXQiKTsKPiArCQkJaWYgKCFpbnRlbF9kcF9yZXNl dF9saW5rX3RyYWluKGludGVsX2RwLCAmRFAsCj4gKwkJCQkJCSAgICAgICBEUF9UUkFJTklOR19Q QVRURVJOXzEgfAo+ICsJCQkJCQkgICAgICAgRFBfTElOS19TQ1JBTUJMSU5HX0RJU0FCTEUpKSB7 Cj4gKwkJCQlEUk1fRVJST1IoImZhaWxlZCB0byBlbmFibGUgbGluayB0cmFpbmluZ1xuIik7Cj4g KwkJCQlyZXR1cm47Cj4gKwkJCX0KPiArCj4gKwkJCS8qIGNsZWFyIHRoZSBmbGFnIGFzIHdlIGFy ZSBub3QgcmV1c2luZyB0cmFpbiBzZXQgKi8KPiArCQkJaW50ZWxfZHAtPmxpbmtfdHJhaW5lZCA9 IGZhbHNlOwoKRG8gdGhpcyBmaXJzdCBpbiBjYXNlIHdlIGJhaWwgb3V0IGluIHRoZSBhYm92ZSBl cnJvciBoYW5kbGluZy4KCj4gKwkJCWNvbnRpbnVlOwo+ICsJCX0KPiArCj4gIAkJLyogQ2hlY2sg dG8gc2VlIGlmIHdlJ3ZlIHRyaWVkIHRoZSBtYXggdm9sdGFnZSAqLwo+ICAJCWZvciAoaSA9IDA7 IGkgPCBpbnRlbF9kcC0+bGFuZV9jb3VudDsgaSsrKQo+ICAJCQlpZiAoKGludGVsX2RwLT50cmFp bl9zZXRbaV0gJiBEUF9UUkFJTl9NQVhfU1dJTkdfUkVBQ0hFRCkgPT0gMCkKPiBAQCAtMzQ3NSw2 ICszNTI2LDcgQEAgaW50ZWxfZHBfY29tcGxldGVfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKQo+ICAKPiAgCQkvKiBNYWtlIHN1cmUgY2xvY2sgaXMgc3RpbGwgb2sgKi8KPiAg CQlpZiAoIWRybV9kcF9jbG9ja19yZWNvdmVyeV9vayhsaW5rX3N0YXR1cywgaW50ZWxfZHAtPmxh bmVfY291bnQpKSB7Cj4gKwkJCWludGVsX2RwLT5saW5rX3RyYWluZWQgPSBmYWxzZTsKPiAgCQkJ aW50ZWxfZHBfc3RhcnRfbGlua190cmFpbihpbnRlbF9kcCk7Cj4gIAkJCWludGVsX2RwX3NldF9s aW5rX3RyYWluKGludGVsX2RwLCAmRFAsCj4gIAkJCQkJCXRyYWluaW5nX3BhdHRlcm4gfAo+IEBA IC0zNDkwLDYgKzM1NDIsNyBAQCBpbnRlbF9kcF9jb21wbGV0ZV9saW5rX3RyYWluKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHApCj4gIAo+ICAJCS8qIFRyeSA1IHRpbWVzLCB0aGVuIHRyeSBjbG9j ayByZWNvdmVyeSBpZiB0aGF0IGZhaWxzICovCj4gIAkJaWYgKHRyaWVzID4gNSkgewo+ICsJCQlp bnRlbF9kcC0+bGlua190cmFpbmVkID0gZmFsc2U7Cj4gIAkJCWludGVsX2RwX3N0YXJ0X2xpbmtf dHJhaW4oaW50ZWxfZHApOwo+ICAJCQlpbnRlbF9kcF9zZXRfbGlua190cmFpbihpbnRlbF9kcCwg JkRQLAo+ICAJCQkJCQl0cmFpbmluZ19wYXR0ZXJuIHwKPiBAQCAtMzUxMSw4ICszNTY0LDEwIEBA IGludGVsX2RwX2NvbXBsZXRlX2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK PiAgCj4gIAlpbnRlbF9kcC0+RFAgPSBEUDsKPiAgCj4gLQlpZiAoY2hhbm5lbF9lcSkKPiArCWlm IChjaGFubmVsX2VxKSB7Cj4gIAkJRFJNX0RFQlVHX0tNUygiQ2hhbm5lbCBFUSBkb25lLiBEUCBU cmFpbmluZyBzdWNjZXNzZnVsXG4iKTsKPiArCQlpbnRlbF9kcC0+bGlua190cmFpbmVkID0gaXNf ZWRwKGludGVsX2RwKTsKPiArCX0KPiAgCj4gIH0KPiAgCj4gQEAgLTQ0NTAsNiArNDUwNSw4IEBA IGludGVsX2RwX2hwZF9wdWxzZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdf cG9ydCwgYm9vbCBsb25nX2hwZCkKPiAgCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2 LCBwb3dlcl9kb21haW4pOwo+ICAKPiAgCWlmIChsb25nX2hwZCkgewo+ICsJCS8qIGluZGljYXRl IHRoYXQgd2UgbmVlZCB0byByZXN0YXJ0IGxpbmsgdHJhaW5pbmcgKi8KPiArCQlpbnRlbF9kcC0+ bGlua190cmFpbmVkID0gZmFsc2U7Cj4gIAo+ICAJCWlmIChIQVNfUENIX1NQTElUKGRldikpIHsK PiAgCQkJaWYgKCFpYnhfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChkZXZfcHJpdiwgaW50ZWxfZGln X3BvcnQpKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggNjMyZGYxYy4uZjFlMTMx OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTY2OCw2ICs2NjgsNyBAQCBz dHJ1Y3QgaW50ZWxfZHAgewo+ICAJCQkJICAgICBib29sIGhhc19hdXhfaXJxLAo+ICAJCQkJICAg ICBpbnQgc2VuZF9ieXRlcywKPiAgCQkJCSAgICAgdWludDMyX3QgYXV4X2Nsb2NrX2RpdmlkZXIp Owo+ICsJYm9vbCBsaW5rX3RyYWluZWQ7Cj4gIH07Cj4gIAo+ICBzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0IHsKPiAtLSAKPiAxLjkuMQo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2Ug VGVjaG5vbG9neSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK