From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH v3.6 20/22] drm/i915: Calculate haswell plane workaround, v4. Date: Thu, 28 May 2015 17:58:12 -0700 Message-ID: <20150529005812.GF15716@intel.com> References: <1432129094-11765-1-git-send-email-maarten.lankhorst@linux.intel.com> <1432137874-20543-1-git-send-email-maarten.lankhorst@linux.intel.com> <1432137874-20543-11-git-send-email-maarten.lankhorst@linux.intel.com> <5564307E.60205@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 45BB96EC9F for ; Thu, 28 May 2015 17:58:13 -0700 (PDT) Content-Disposition: inline In-Reply-To: <5564307E.60205@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: Intel Graphics Development List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBNYXkgMjYsIDIwMTUgYXQgMTA6MzY6MTRBTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gVGhpcyBuZWVkcyB0byBiZSBhIGdsb2JhbCBjaGVjayBiZWNhdXNlIGF0IHRo ZSB0aW1lIG9mIGNydGMgY2hlY2tpbmcKPiBub3QgYWxsIG1vZGVzZXRzIGhhdmUgdG8gYmUgY2Fs Y3VsYXRlZCB5ZXQuIFVzZSBpbnRlbF9jcnRjLT5hdG9taWMKPiBiZWNhdXNlIHRoZXJlJ3Mgbm8g cmVhc29uIHRvIGtlZXAgaXQgaW4gc3RhdGUuCgpUaGUgbm90ZSBhYm91dCBpbnRlbF9jcnRjLT5h dG9taWMgaXMgb3V0IG9mIGRhdGUgYXMgb2YgdjMuICBPdGhlcndpc2UsIEkKdGhpbmsgdGhpcyBs b29rcyBva2F5LgoKUmV2aWV3ZWQtYnk6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5yb3BlckBpbnRl bC5jb20+CgoKTWF0dAoKPiAKPiBDaGFuZ2VzIHNpbmNlIHYxOgo+ICAtIFVzZSBpbnRlbF9jcnRj LT5hdG9taWMgYXMgYSBwbGFjZSB0byBwdXQgaHN3X3dvcmthcm91bmRfcGlwZS4KPiAgLSBNYWtl IHN1cmUgcXVpcmsgb25seSBhcHBsaWVzIHRvIGhhc3dlbGwuCj4gIC0gVXNlIGZpcnN0IGxvb3Ag dG8gaXRlcmF0ZSBvdmVyIG5ld2x5IGVuYWJsZWQgY3J0YydzIG9ubHkuCj4gICAgVGhpcyBpbmNy ZWFzZXMgcmVhZGFiaWxpdHkuCj4gQ2hhbmdlcyBzaW5jZSB2MjoKPiAgLSBNb3ZlIGhzd193b3Jr YXJvdW5kX3BpcGUgYmFjayB0byBjcnRjX3N0YXRlLgo+IENoYW5nZXMgc2luY2UgdjM6Cj4gIC0g UmV0dXJuIGVycm9ycyBmcm9tIGhhc3dlbGxfbW9kZV9zZXRfcGxhbmVzX3dvcmthcm91bmQuCj4g Cj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxp bnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jIHwgMTA5ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAgMyArCj4gIDIgZmlsZXMgY2hhbmdlZCwg ODAgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwo+IGluZGV4IGRlMTNjMWMxNGM5My4uZjY3MzNhNzc3NTkwIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC00ODY3LDQyICs0ODY3LDE1IEBA IHN0YXRpYyBib29sIGhzd19jcnRjX3N1cHBvcnRzX2lwcyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YykKPiAgCXJldHVybiBIQVNfSVBTKGNydGMtPmJhc2UuZGV2KSAmJiBjcnRjLT5waXBlID09IFBJ UEVfQTsKPiAgfQo+ICAKPiAtLyoKPiAtICogVGhpcyBpbXBsZW1lbnRzIHRoZSB3b3JrYXJvdW5k IGRlc2NyaWJlZCBpbiB0aGUgIm5vdGVzIiBzZWN0aW9uIG9mIHRoZSBtb2RlCj4gLSAqIHNldCBz ZXF1ZW5jZSBkb2N1bWVudGF0aW9uLiBXaGVuIGdvaW5nIGZyb20gbm8gcGlwZXMgb3Igc2luZ2xl IHBpcGUgdG8KPiAtICogbXVsdGlwbGUgcGlwZXMsIGFuZCBwbGFuZXMgYXJlIGVuYWJsZWQgYWZ0 ZXIgdGhlIHBpcGUsIHdlIG5lZWQgdG8gd2FpdCBhdAo+IC0gKiBsZWFzdCAyIHZibGFua3Mgb24g dGhlIGZpcnN0IHBpcGUgYmVmb3JlIGVuYWJsaW5nIHBsYW5lcyBvbiB0aGUgc2Vjb25kIHBpcGUu Cj4gLSAqLwo+IC1zdGF0aWMgdm9pZCBoYXN3ZWxsX21vZGVfc2V0X3BsYW5lc193b3JrYXJvdW5k KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+IC17Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gY3J0Yy0+YmFzZS5kZXY7Cj4gLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Y19pdCwgKm90aGVy X2FjdGl2ZV9jcnRjID0gTlVMTDsKPiAtCj4gLQkvKiBXZSB3YW50IHRvIGdldCB0aGUgb3RoZXJf YWN0aXZlX2NydGMgb25seSBpZiB0aGVyZSdzIG9ubHkgMSBvdGhlcgo+IC0JICogYWN0aXZlIGNy dGMuICovCj4gLQlmb3JfZWFjaF9pbnRlbF9jcnRjKGRldiwgY3J0Y19pdCkgewo+IC0JCWlmICgh Y3J0Y19pdC0+YWN0aXZlIHx8IGNydGNfaXQgPT0gY3J0YykKPiAtCQkJY29udGludWU7Cj4gLQo+ IC0JCWlmIChvdGhlcl9hY3RpdmVfY3J0YykKPiAtCQkJcmV0dXJuOwo+IC0KPiAtCQlvdGhlcl9h Y3RpdmVfY3J0YyA9IGNydGNfaXQ7Cj4gLQl9Cj4gLQlpZiAoIW90aGVyX2FjdGl2ZV9jcnRjKQo+ IC0JCXJldHVybjsKPiAtCj4gLQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBvdGhlcl9hY3Rp dmVfY3J0Yy0+cGlwZSk7Cj4gLQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBvdGhlcl9hY3Rp dmVfY3J0Yy0+cGlwZSk7Cj4gLX0KPiAtCj4gIHN0YXRpYyB2b2lkIGhhc3dlbGxfY3J0Y19lbmFi bGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gY3J0Yy0+ZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjKTsKPiAgCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyOwo+IC0JaW50 IHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwo+ICsJaW50IHBpcGUgPSBpbnRlbF9jcnRjLT5waXBl LCBoc3dfd29ya2Fyb3VuZF9waXBlOwo+ICsJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVf Y29uZmlnID0KPiArCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKPiAgCj4gIAlp ZiAoV0FSTl9PTihpbnRlbF9jcnRjLT5hY3RpdmUpKQo+ICAJCXJldHVybjsKPiBAQCAtNDk3OSw3 ICs0OTUyLDExIEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfY3J0Y19lbmFibGUoc3RydWN0IGRybV9j cnRjICpjcnRjKQo+ICAKPiAgCS8qIElmIHdlIGNoYW5nZSB0aGUgcmVsYXRpdmUgb3JkZXIgYmV0 d2VlbiBwaXBlL3BsYW5lcyBlbmFibGluZywgd2UgbmVlZAo+ICAJICogdG8gY2hhbmdlIHRoZSB3 b3JrYXJvdW5kLiAqLwo+IC0JaGFzd2VsbF9tb2RlX3NldF9wbGFuZXNfd29ya2Fyb3VuZChpbnRl bF9jcnRjKTsKPiArCWhzd193b3JrYXJvdW5kX3BpcGUgPSBwaXBlX2NvbmZpZy0+aHN3X3dvcmth cm91bmRfcGlwZTsKPiArCWlmIChJU19IQVNXRUxMKGRldikgJiYgaHN3X3dvcmthcm91bmRfcGlw ZSAhPSBJTlZBTElEX1BJUEUpIHsKPiArCQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBoc3df d29ya2Fyb3VuZF9waXBlKTsKPiArCQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBoc3dfd29y a2Fyb3VuZF9waXBlKTsKPiArCX0KPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgaXJvbmxha2VfcGZp dF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+IEBAIC0xMjE2OSw2ICsxMjE0Niw3 MSBAQCBzdGF0aWMgaW50IF9faW50ZWxfc2V0X21vZGVfc2V0dXBfcGxscyhzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGUpCj4gIAlyZXR1cm4gcmV0Owo+ICB9Cj4gIAo+ICsvKgo+ICsgKiBU aGlzIGltcGxlbWVudHMgdGhlIHdvcmthcm91bmQgZGVzY3JpYmVkIGluIHRoZSAibm90ZXMiIHNl Y3Rpb24gb2YgdGhlIG1vZGUKPiArICogc2V0IHNlcXVlbmNlIGRvY3VtZW50YXRpb24uIFdoZW4g Z29pbmcgZnJvbSBubyBwaXBlcyBvciBzaW5nbGUgcGlwZSB0bwo+ICsgKiBtdWx0aXBsZSBwaXBl cywgYW5kIHBsYW5lcyBhcmUgZW5hYmxlZCBhZnRlciB0aGUgcGlwZSwgd2UgbmVlZCB0byB3YWl0 IGF0Cj4gKyAqIGxlYXN0IDIgdmJsYW5rcyBvbiB0aGUgZmlyc3QgcGlwZSBiZWZvcmUgZW5hYmxp bmcgcGxhbmVzIG9uIHRoZSBzZWNvbmQgcGlwZS4KPiArICovCj4gK3N0YXRpYyBpbnQgaGFzd2Vs bF9tb2RlX3NldF9wbGFuZXNfd29ya2Fyb3VuZChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUpCj4gK3sKPiArCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiArCXN0cnVj dCBpbnRlbF9jcnRjICppbnRlbF9jcnRjOwo+ICsJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+ICsJ c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmZpcnN0X2NydGNfc3RhdGUgPSBOVUxMOwo+ICsJc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKm90aGVyX2NydGNfc3RhdGUgPSBOVUxMOwo+ICsJZW51bSBw aXBlIGZpcnN0X3BpcGUgPSBJTlZBTElEX1BJUEUsIGVuYWJsZWRfcGlwZSA9IElOVkFMSURfUElQ RTsKPiArCWludCBpOwo+ICsKPiArCS8qIGxvb2sgYXQgYWxsIGNydGMncyB0aGF0IGFyZSBnb2lu ZyB0byBiZSBlbmFibGVkIGluIGR1cmluZyBtb2Rlc2V0ICovCj4gKwlmb3JfZWFjaF9jcnRjX2lu X3N0YXRlKHN0YXRlLCBjcnRjLCBjcnRjX3N0YXRlLCBpKSB7Cj4gKwkJaW50ZWxfY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Yyk7Cj4gKwo+ICsJCWlmICghY3J0Y19zdGF0ZS0+YWN0aXZlIHx8ICFu ZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUpKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJaWYgKGZp cnN0X2NydGNfc3RhdGUpIHsKPiArCQkJb3RoZXJfY3J0Y19zdGF0ZSA9IHRvX2ludGVsX2NydGNf c3RhdGUoY3J0Y19zdGF0ZSk7Cj4gKwkJCWJyZWFrOwo+ICsJCX0gZWxzZSB7Cj4gKwkJCWZpcnN0 X2NydGNfc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGNfc3RhdGUpOwo+ICsJCQlmaXJz dF9waXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiArCQl9Cj4gKwl9Cj4gKwo+ICsJLyogTm8gd29y a2Fyb3VuZCBuZWVkZWQ/ICovCj4gKwlpZiAoIWZpcnN0X2NydGNfc3RhdGUpCj4gKwkJcmV0dXJu IDA7Cj4gKwo+ICsJLyogdy9hIHBvc3NpYmx5IG5lZWRlZCwgY2hlY2sgaG93IG1hbnkgY3J0Yydz IGFyZSBhbHJlYWR5IGVuYWJsZWQuICovCj4gKwlmb3JfZWFjaF9pbnRlbF9jcnRjKHN0YXRlLT5k ZXYsIGludGVsX2NydGMpIHsKPiArCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWc7Cj4gKwo+ICsJCXBpcGVfY29uZmlnID0gaW50ZWxfYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0 YXRlLCBpbnRlbF9jcnRjKTsKPiArCQlpZiAoSVNfRVJSKHBpcGVfY29uZmlnKSkKPiArCQkJcmV0 dXJuIFBUUl9FUlIocGlwZV9jb25maWcpOwo+ICsKPiArCQlwaXBlX2NvbmZpZy0+aHN3X3dvcmth cm91bmRfcGlwZSA9IElOVkFMSURfUElQRTsKPiArCj4gKwkJaWYgKCFwaXBlX2NvbmZpZy0+YmFz ZS5hY3RpdmUgfHwKPiArCQkgICAgbmVlZHNfbW9kZXNldCgmcGlwZV9jb25maWctPmJhc2UpKQo+ ICsJCQljb250aW51ZTsKPiArCj4gKwkJLyogMiBvciBtb3JlIGVuYWJsZWQgY3J0Y3MgbWVhbnMg bm8gbmVlZCBmb3Igdy9hICovCj4gKwkJaWYgKGVuYWJsZWRfcGlwZSAhPSBJTlZBTElEX1BJUEUp Cj4gKwkJCXJldHVybiAwOwo+ICsKPiArCQllbmFibGVkX3BpcGUgPSBpbnRlbF9jcnRjLT5waXBl Owo+ICsJfQo+ICsKPiArCWlmIChlbmFibGVkX3BpcGUgIT0gSU5WQUxJRF9QSVBFKQo+ICsJCWZp cnN0X2NydGNfc3RhdGUtPmhzd193b3JrYXJvdW5kX3BpcGUgPSBlbmFibGVkX3BpcGU7Cj4gKwll bHNlIGlmIChvdGhlcl9jcnRjX3N0YXRlKQo+ICsJCW90aGVyX2NydGNfc3RhdGUtPmhzd193b3Jr YXJvdW5kX3BpcGUgPSBmaXJzdF9waXBlOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICAv KiBDb2RlIHRoYXQgc2hvdWxkIGV2ZW50dWFsbHkgYmUgcGFydCBvZiBhdG9taWNfY2hlY2soKSAq Lwo+ICBzdGF0aWMgaW50IF9faW50ZWxfc2V0X21vZGVfY2hlY2tzKHN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSkKPiAgewo+IEBAIC0xMjE5Miw3ICsxMjIzNCwxMCBAQCBzdGF0aWMgaW50 IF9faW50ZWxfc2V0X21vZGVfY2hlY2tzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkK PiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gLQlyZXR1cm4gMDsKPiArCWlmIChJ U19IQVNXRUxMKGRldikpCj4gKwkJcmV0ID0gaGFzd2VsbF9tb2RlX3NldF9wbGFuZXNfd29ya2Fy b3VuZChzdGF0ZSk7Cj4gKwo+ICsJcmV0dXJuIHJldDsKPiAgfQo+ICAKPiAgc3RhdGljIGludAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggNjY1ZTI0OWFlOGJmLi5kNWYzOGUzZDcz MmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC00NDMsNiArNDQzLDkgQEAg c3RydWN0IGludGVsX2NydGNfc3RhdGUgewo+ICAJaW50IHBibjsKPiAgCj4gIAlzdHJ1Y3QgaW50 ZWxfY3J0Y19zY2FsZXJfc3RhdGUgc2NhbGVyX3N0YXRlOwo+ICsKPiArCS8qIHcvYSBmb3Igd2Fp dGluZyAyIHZibGFua3MgZHVyaW5nIGNydGMgZW5hYmxlICovCj4gKwllbnVtIHBpcGUgaHN3X3dv cmthcm91bmRfcGlwZTsKPiAgfTsKPiAgCj4gIHN0cnVjdCBpbnRlbF9waXBlX3dtIHsKPiAtLSAK PiAyLjEuMAo+IAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4CgotLSAKTWF0dCBSb3BlcgpHcmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcgpJb1RH IFBsYXRmb3JtIEVuYWJsaW5nICYgRGV2ZWxvcG1lbnQKSW50ZWwgQ29ycG9yYXRpb24KKDkxNikg MzU2LTI3OTUKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK