From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 32/42] drm/i915: Calculate haswell plane workaround. Date: Tue, 12 May 2015 11:43:48 +0200 Message-ID: <20150512094348.GN15256@phenom.ffwll.local> References: <1431354318-11995-1-git-send-email-maarten.lankhorst@linux.intel.com> <1431354318-11995-33-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wg0-f52.google.com (mail-wg0-f52.google.com [74.125.82.52]) by gabe.freedesktop.org (Postfix) with ESMTP id 5D3546E149 for ; Tue, 12 May 2015 02:41:31 -0700 (PDT) Received: by wgic8 with SMTP id c8so2365862wgi.1 for ; Tue, 12 May 2015 02:41:30 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1431354318-11995-33-git-send-email-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst Cc: Ander Conselvan de Oliveira , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBNYXkgMTEsIDIwMTUgYXQgMDQ6MjU6MDhQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFu a2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jIHwgMTA5ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAgMiArCj4gIDIgZmlsZXMg Y2hhbmdlZCwgODEgaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDdiYzc4YjQ5ZjlmNC4uN2E3OTY1OWRjYTAw IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC00ODQ4LDM1ICs0 ODQ4LDYgQEAgc3RhdGljIGJvb2wgaHN3X2NydGNfc3VwcG9ydHNfaXBzKHN0cnVjdCBpbnRlbF9j cnRjICpjcnRjKQo+ICAJcmV0dXJuIEhBU19JUFMoY3J0Yy0+YmFzZS5kZXYpICYmIGNydGMtPnBp cGUgPT0gUElQRV9BOwo+ICB9Cj4gIAo+IC0vKgo+IC0gKiBUaGlzIGltcGxlbWVudHMgdGhlIHdv cmthcm91bmQgZGVzY3JpYmVkIGluIHRoZSAibm90ZXMiIHNlY3Rpb24gb2YgdGhlIG1vZGUKPiAt ICogc2V0IHNlcXVlbmNlIGRvY3VtZW50YXRpb24uIFdoZW4gZ29pbmcgZnJvbSBubyBwaXBlcyBv ciBzaW5nbGUgcGlwZSB0bwo+IC0gKiBtdWx0aXBsZSBwaXBlcywgYW5kIHBsYW5lcyBhcmUgZW5h YmxlZCBhZnRlciB0aGUgcGlwZSwgd2UgbmVlZCB0byB3YWl0IGF0Cj4gLSAqIGxlYXN0IDIgdmJs YW5rcyBvbiB0aGUgZmlyc3QgcGlwZSBiZWZvcmUgZW5hYmxpbmcgcGxhbmVzIG9uIHRoZSBzZWNv bmQgcGlwZS4KPiAtICovCj4gLXN0YXRpYyB2b2lkIGhhc3dlbGxfbW9kZV9zZXRfcGxhbmVzX3dv cmthcm91bmQoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gLXsKPiAtCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKPiAtCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjX2l0 LCAqb3RoZXJfYWN0aXZlX2NydGMgPSBOVUxMOwo+IC0KPiAtCS8qIFdlIHdhbnQgdG8gZ2V0IHRo ZSBvdGhlcl9hY3RpdmVfY3J0YyBvbmx5IGlmIHRoZXJlJ3Mgb25seSAxIG90aGVyCj4gLQkgKiBh Y3RpdmUgY3J0Yy4gKi8KPiAtCWZvcl9lYWNoX2ludGVsX2NydGMoZGV2LCBjcnRjX2l0KSB7Cj4g LQkJaWYgKCFjcnRjX2l0LT5hY3RpdmUgfHwgY3J0Y19pdCA9PSBjcnRjKQo+IC0JCQljb250aW51 ZTsKPiAtCj4gLQkJaWYgKG90aGVyX2FjdGl2ZV9jcnRjKQo+IC0JCQlyZXR1cm47Cj4gLQo+IC0J CW90aGVyX2FjdGl2ZV9jcnRjID0gY3J0Y19pdDsKPiAtCX0KPiAtCWlmICghb3RoZXJfYWN0aXZl X2NydGMpCj4gLQkJcmV0dXJuOwo+IC0KPiAtCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXYsIG90 aGVyX2FjdGl2ZV9jcnRjLT5waXBlKTsKPiAtCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXYsIG90 aGVyX2FjdGl2ZV9jcnRjLT5waXBlKTsKPiAtfQo+IC0KPiAgc3RhdGljIHZvaWQgaGFzd2VsbF9j cnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gQEAgLTQ5NjcsNyArNDkzOCwxMCBAQCBzdGF0aWMgdm9p ZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCj4gIAkvKiBJ ZiB3ZSBjaGFuZ2UgdGhlIHJlbGF0aXZlIG9yZGVyIGJldHdlZW4gcGlwZS9wbGFuZXMgZW5hYmxp bmcsIHdlIG5lZWQKPiAgCSAqIHRvIGNoYW5nZSB0aGUgd29ya2Fyb3VuZC4gKi8KPiAtCWhhc3dl bGxfbW9kZV9zZXRfcGxhbmVzX3dvcmthcm91bmQoaW50ZWxfY3J0Yyk7Cj4gKwlpZiAocGlwZV9j b25maWctPmhzd193b3JrYXJvdW5kX3BpcGUgIT0gSU5WQUxJRF9QSVBFKSB7Cj4gKwkJaW50ZWxf d2FpdF9mb3JfdmJsYW5rKGRldiwgcGlwZV9jb25maWctPmhzd193b3JrYXJvdW5kX3BpcGUpOwo+ ICsJCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXYsIHBpcGVfY29uZmlnLT5oc3dfd29ya2Fyb3Vu ZF9waXBlKTsKPiArCX0KPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgaXJvbmxha2VfcGZpdF9kaXNh YmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+IEBAIC0xMjE0Nyw2ICsxMjEyMSw3NCBAQCBk b25lOgo+ICAJcmV0dXJuIHJldDsKPiAgfQo+ICAKPiArLyoKPiArICogVGhpcyBpbXBsZW1lbnRz IHRoZSB3b3JrYXJvdW5kIGRlc2NyaWJlZCBpbiB0aGUgIm5vdGVzIiBzZWN0aW9uIG9mIHRoZSBt b2RlCj4gKyAqIHNldCBzZXF1ZW5jZSBkb2N1bWVudGF0aW9uLiBXaGVuIGdvaW5nIGZyb20gbm8g cGlwZXMgb3Igc2luZ2xlIHBpcGUgdG8KPiArICogbXVsdGlwbGUgcGlwZXMsIGFuZCBwbGFuZXMg YXJlIGVuYWJsZWQgYWZ0ZXIgdGhlIHBpcGUsIHdlIG5lZWQgdG8gd2FpdCBhdAo+ICsgKiBsZWFz dCAyIHZibGFua3Mgb24gdGhlIGZpcnN0IHBpcGUgYmVmb3JlIGVuYWJsaW5nIHBsYW5lcyBvbiB0 aGUgc2Vjb25kIHBpcGUuCj4gKyAqLwo+ICtzdGF0aWMgaW50IGhhc3dlbGxfbW9kZV9zZXRfcGxh bmVzX3dvcmthcm91bmQoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICt7Cj4gKwlz dHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4gKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3Rh dGU7Cj4gKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqZmlyc3RfY3J0Y19zdGF0ZSA9IE5VTEws ICpvdGhlcl9jcnRjX3N0YXRlID0gTlVMTDsKPiArCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjLCAqZmlyc3RfY3J0YyA9IE5VTEwsICplbmFibGVkX2NydGM7Cj4gKwlpbnQgZW5hYmxlZF9j cnRjcyA9IDAsIHJldCwgaTsKPiArCj4gKwlmb3JfZWFjaF9jcnRjX2luX3N0YXRlKHN0YXRlLCBj cnRjLCBjcnRjX3N0YXRlLCBpKSB7Cj4gKwkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVf Y29uZmlnID0KPiArCQkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjX3N0YXRlKTsKPiArCj4gKwkJ cGlwZV9jb25maWctPmhzd193b3JrYXJvdW5kX3BpcGUgPSBJTlZBTElEX1BJUEU7CgpUaGlzIGtp bmQgb2Ygc3RhdGUgcmVzZXR0aW5nIHNob3VsZCBiZSBkb25lIGluIGR1cGxpY2F0ZV9zdGF0ZS4K Cj4gKwo+ICsJCWlmICghY3J0Y19zdGF0ZS0+YWN0aXZlKQo+ICsJCQljb250aW51ZTsKPiArCj4g KwkJaWYgKCFuZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUpKSB7Cj4gKwkJCWVuYWJsZWRfY3J0Y3Mr KzsKPiArCQkJZW5hYmxlZF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiArCQkJY29udGlu dWU7Cj4gKwkJfQo+ICsKPiArCQlpZiAoZmlyc3RfY3J0Yykgewo+ICsJCQlvdGhlcl9jcnRjX3N0 YXRlID0gcGlwZV9jb25maWc7Cj4gKwkJCWJyZWFrOwo+ICsJCX0KPiArCQlmaXJzdF9jcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjKTsKPiArCQlmaXJzdF9jcnRjX3N0YXRlID0gcGlwZV9jb25maWc7 Cj4gKwl9Cj4gKwo+ICsJLyogTm8gd29ya2Fyb3VuZCBuZWVkZWQ/ICovCj4gKwlpZiAoIWZpcnN0 X2NydGMgfHwgZW5hYmxlZF9jcnRjcyA+IDEpCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJZm9yX2Vh Y2hfaW50ZWxfY3J0YyhzdGF0ZS0+ZGV2LCBpbnRlbF9jcnRjKSB7Cj4gKwkJaWYgKHN0YXRlLT5j cnRjc1tkcm1fY3J0Y19pbmRleCgmaW50ZWxfY3J0Yy0+YmFzZSldKQo+ICsJCQljb250aW51ZTsK PiArCj4gKwkJcmV0ID0gZHJtX21vZGVzZXRfbG9jaygmaW50ZWxfY3J0Yy0+YmFzZS5tdXRleCwK PiArCQkJCSAgICAgICBzdGF0ZS0+YWNxdWlyZV9jdHgpOwo+ICsJCWlmIChyZXQpCj4gKwkJCXJl dHVybiByZXQ7Cj4gKwo+ICsJCWlmICghaW50ZWxfY3J0Yy0+YmFzZS5zdGF0ZS0+YWN0aXZlKQo+ ICsJCQljb250aW51ZTsKCkltbyBqdXN0IHVuY29uZGl0aW9uYWxseSBhY3F1aXJlIHRoZSBjcnRj IHN0YXRlLCB0aGVyZScgc2hvdWxkbid0IGJlIGFueQpoYXJtIGluIHRoYXQgKGFzIGxvbmcgYXMg d2UgbGVhdmUgbW9kZS9hY3RpdmUvcGxhbmVzX2NoYW5nZWQgdW50b3VjaGVkKS4KCj4gKwo+ICsJ CS8qIDIgZW5hYmxlZCBjcnRjcyBtZWFucyBubyBuZWVkIGZvciB3L2EgKi8KPiArCQlpZiAoKytl bmFibGVkX2NydGNzID49IDIpCj4gKwkJCXJldHVybiAwOwo+ICsKPiArCQllbmFibGVkX2NydGMg PSBpbnRlbF9jcnRjOwo+ICsJfQo+ICsKPiArCWlmIChlbmFibGVkX2NydGNzID09IDEpCj4gKwkJ Zmlyc3RfY3J0Y19zdGF0ZS0+aHN3X3dvcmthcm91bmRfcGlwZSA9IGVuYWJsZWRfY3J0Yy0+cGlw ZTsKCmZpcnN0X2NydGNfc3RhdGUgY291bGQgYmUgbWlzY29tcHV0ZWQgaWYgMSBjcnRjIGlzIGFs cmVhZHkgb24gYW5kIHlvdSBhZGQKYW5vdGhlciBvbmUuIFRoZW4gZmlyc3RfY3J0YyB3aWxsIHBv aW50IGF0IHRoZSBvdGhlciBjcnRjIHNpbmNlIHRoYXQncyB0aGUKb25seSBvbmUgYXQgZmlyc3Qg aW4gdGhlIGF0b21pYyBzZXQuIEltbyBhIHNpbXBsZXIgYWxnbyB3b3VsZCBiZToKCjEuIENoZWNr IHdoZXRoZXIgeW91ciBhY3RpdmF0aW5nIGFueSBjcnRjIGF0IGFsbC4KMi4gSWYgc28gYWRkIGFs bCBjcnRjIHN0YXRlcy4KMy4gU2FtZSBsb29wIGFzIHRoZSBvbGQgb25lLCBqdXN0IHVzaW5nIGZv cl9lYWNoX2NydGNfaW5fc3RhdGUuCgpUaGVyZSdzIG90aGVyIGNhc2VzIHdpdGggc2hhcmVkIHJl c291cmNlcyB3aGVyZSB3ZSBuZWVkIHRvIGdyYWIgYWxsIGNydGMKbG9ja3MgYWxyZWFkeSBhbnl3 YXkgKHNoYXJlZCBkcGxsKSwgdHJ5aW5nIHRvIGJlIGNsZXZlciBkb2Vzbid0IHNlZW0KYmVuZWZp Y2lhbC4gQW5kIGlmIHRoaXMgaW5kZWVkIGJlY29tZXMgYSBwcm9ibGVtIHRoZW4gd2UgbmVlZCBh IGdsb2JhbApzdGF0ZSB3dyBtdXRleCBhbmQgdXNlIHRoYXQgKGluc3RlYWQgb2YgY3J0YyBsb2Nr cykgZm9yIHRoaXMgYm9vay1rZWVwaW5nOgpGaXJzdCBlbmFibGUgY3J0YyB3b3VsZCBzZXQgZ2xv YmFsX3N0YXRlLT5oc3dfd2FfcGlwZSwgMm5kIGFuZCBsYXRlciB3b3VsZApjbGVhciBpdC4gV2Ug bWlnaHQgbmVlZCB0aGlzIGV2ZW50dWFsbHkgKEkndmUgaGVhcmQgcnVtb3VycyBhYm91dCBwZW9w bGUKbm90IGxpa2luZyBzdGFsbHMgd2hlbiB1bnBsdWdnaW5nIGV4dGVybmFsIHNjcmVlbnMgdGhh dCBtdWNoKSwgYnV0IGxldCdzCm5vdCBvdmVyY29tcGxpY2F0ZSB0aGluZ3Mgd2hpbGUgd2UgZG8g dGhpcyBjb252ZXJzaW9uLgotRGFuaWVsCgo+ICsJZWxzZSBpZiAob3RoZXJfY3J0Y19zdGF0ZSkK PiArCQlvdGhlcl9jcnRjX3N0YXRlLT5oc3dfd29ya2Fyb3VuZF9waXBlID0gZmlyc3RfY3J0Yy0+ cGlwZTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiAgLyogQ29kZSB0aGF0IHNob3VsZCBl dmVudHVhbGx5IGJlIHBhcnQgb2YgYXRvbWljX2NoZWNrKCkgKi8KPiAgc3RhdGljIGludCBfX2lu dGVsX3NldF9tb2RlX2NoZWNrcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIHsK PiBAQCAtMTIxNTgsNiArMTIyMDAsMTMgQEAgc3RhdGljIGludCBfX2ludGVsX3NldF9tb2RlX2No ZWNrcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAkJcmV0dXJuIC1FSU5WQUw7 Cj4gIAl9Cj4gIAo+ICsJaWYgKElTX0hBU1dFTEwoc3RhdGUtPmRldikpIHsKPiArCQlyZXQgPSBo YXN3ZWxsX21vZGVfc2V0X3BsYW5lc193b3JrYXJvdW5kKHN0YXRlKTsKPiArCj4gKwkJaWYgKHJl dCkKPiArCQkJcmV0dXJuIHJldDsKPiArCX0KPiArCj4gIAkvKgo+ICAJICogU2VlIGlmIHRoZSBj b25maWcgcmVxdWlyZXMgYW55IGFkZGl0aW9uYWwgcHJlcGFyYXRpb24sIGUuZy4KPiAgCSAqIHRv IGFkanVzdCBnbG9iYWwgc3RhdGUgd2l0aCBwaXBlcyBvZmYuICBXZSBuZWVkIHRvIGRvIHRoaXMK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IGViODdmODJiNWFmZi4uNmMyYmE1ZGJj ZDc5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtNDM3LDYgKzQzNyw4IEBA IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKPiAgCWludCBwYm47Cj4gIAo+ICAJc3RydWN0IGlu dGVsX2NydGNfc2NhbGVyX3N0YXRlIHNjYWxlcl9zdGF0ZTsKPiArCj4gKwllbnVtIHBpcGUgaHN3 X3dvcmthcm91bmRfcGlwZTsKPiAgfTsKPiAgCj4gIHN0cnVjdCBpbnRlbF9waXBlX3dtIHsKPiAt LSAKPiAyLjEuMAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4CgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29y cG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK