From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 32/42] drm/i915: Calculate haswell plane workaround. Date: Mon, 11 May 2015 16:25:08 +0200 Message-ID: <1431354318-11995-33-git-send-email-maarten.lankhorst@linux.intel.com> References: <1431354318-11995-1-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 mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTP id 3D7D16E3FB for ; Mon, 11 May 2015 07:25:45 -0700 (PDT) In-Reply-To: <1431354318-11995-1-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: intel-gfx@lists.freedesktop.org Cc: Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org U2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4 LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAx MDkgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oICAgICB8ICAgMiArCiAyIGZpbGVzIGNoYW5nZWQsIDgxIGluc2VydGlv bnMoKyksIDMwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpp bmRleCA3YmM3OGI0OWY5ZjQuLjdhNzk2NTlkY2EwMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwpAQCAtNDg0OCwzNSArNDg0OCw2IEBAIHN0YXRpYyBib29sIGhzd19jcnRjX3N1 cHBvcnRzX2lwcyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAlyZXR1cm4gSEFTX0lQUyhjcnRj LT5iYXNlLmRldikgJiYgY3J0Yy0+cGlwZSA9PSBQSVBFX0E7CiB9CiAKLS8qCi0gKiBUaGlzIGlt cGxlbWVudHMgdGhlIHdvcmthcm91bmQgZGVzY3JpYmVkIGluIHRoZSAibm90ZXMiIHNlY3Rpb24g b2YgdGhlIG1vZGUKLSAqIHNldCBzZXF1ZW5jZSBkb2N1bWVudGF0aW9uLiBXaGVuIGdvaW5nIGZy b20gbm8gcGlwZXMgb3Igc2luZ2xlIHBpcGUgdG8KLSAqIG11bHRpcGxlIHBpcGVzLCBhbmQgcGxh bmVzIGFyZSBlbmFibGVkIGFmdGVyIHRoZSBwaXBlLCB3ZSBuZWVkIHRvIHdhaXQgYXQKLSAqIGxl YXN0IDIgdmJsYW5rcyBvbiB0aGUgZmlyc3QgcGlwZSBiZWZvcmUgZW5hYmxpbmcgcGxhbmVzIG9u IHRoZSBzZWNvbmQgcGlwZS4KLSAqLwotc3RhdGljIHZvaWQgaGFzd2VsbF9tb2RlX3NldF9wbGFu ZXNfd29ya2Fyb3VuZChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKLXsKLQlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGNfaXQs ICpvdGhlcl9hY3RpdmVfY3J0YyA9IE5VTEw7Ci0KLQkvKiBXZSB3YW50IHRvIGdldCB0aGUgb3Ro ZXJfYWN0aXZlX2NydGMgb25seSBpZiB0aGVyZSdzIG9ubHkgMSBvdGhlcgotCSAqIGFjdGl2ZSBj cnRjLiAqLwotCWZvcl9lYWNoX2ludGVsX2NydGMoZGV2LCBjcnRjX2l0KSB7Ci0JCWlmICghY3J0 Y19pdC0+YWN0aXZlIHx8IGNydGNfaXQgPT0gY3J0YykKLQkJCWNvbnRpbnVlOwotCi0JCWlmIChv dGhlcl9hY3RpdmVfY3J0YykKLQkJCXJldHVybjsKLQotCQlvdGhlcl9hY3RpdmVfY3J0YyA9IGNy dGNfaXQ7Ci0JfQotCWlmICghb3RoZXJfYWN0aXZlX2NydGMpCi0JCXJldHVybjsKLQotCWludGVs X3dhaXRfZm9yX3ZibGFuayhkZXYsIG90aGVyX2FjdGl2ZV9jcnRjLT5waXBlKTsKLQlpbnRlbF93 YWl0X2Zvcl92YmxhbmsoZGV2LCBvdGhlcl9hY3RpdmVfY3J0Yy0+cGlwZSk7Ci19Ci0KIHN0YXRp YyB2b2lkIGhhc3dlbGxfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogewogCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CkBAIC00OTY3LDcgKzQ5MzgsMTAgQEAg c3RhdGljIHZvaWQgaGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAK IAkvKiBJZiB3ZSBjaGFuZ2UgdGhlIHJlbGF0aXZlIG9yZGVyIGJldHdlZW4gcGlwZS9wbGFuZXMg ZW5hYmxpbmcsIHdlIG5lZWQKIAkgKiB0byBjaGFuZ2UgdGhlIHdvcmthcm91bmQuICovCi0JaGFz d2VsbF9tb2RlX3NldF9wbGFuZXNfd29ya2Fyb3VuZChpbnRlbF9jcnRjKTsKKwlpZiAocGlwZV9j b25maWctPmhzd193b3JrYXJvdW5kX3BpcGUgIT0gSU5WQUxJRF9QSVBFKSB7CisJCWludGVsX3dh aXRfZm9yX3ZibGFuayhkZXYsIHBpcGVfY29uZmlnLT5oc3dfd29ya2Fyb3VuZF9waXBlKTsKKwkJ aW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRldiwgcGlwZV9jb25maWctPmhzd193b3JrYXJvdW5kX3Bp cGUpOworCX0KIH0KIAogc3RhdGljIHZvaWQgaXJvbmxha2VfcGZpdF9kaXNhYmxlKHN0cnVjdCBp bnRlbF9jcnRjICpjcnRjKQpAQCAtMTIxNDcsNiArMTIxMjEsNzQgQEAgZG9uZToKIAlyZXR1cm4g cmV0OwogfQogCisvKgorICogVGhpcyBpbXBsZW1lbnRzIHRoZSB3b3JrYXJvdW5kIGRlc2NyaWJl ZCBpbiB0aGUgIm5vdGVzIiBzZWN0aW9uIG9mIHRoZSBtb2RlCisgKiBzZXQgc2VxdWVuY2UgZG9j dW1lbnRhdGlvbi4gV2hlbiBnb2luZyBmcm9tIG5vIHBpcGVzIG9yIHNpbmdsZSBwaXBlIHRvCisg KiBtdWx0aXBsZSBwaXBlcywgYW5kIHBsYW5lcyBhcmUgZW5hYmxlZCBhZnRlciB0aGUgcGlwZSwg d2UgbmVlZCB0byB3YWl0IGF0CisgKiBsZWFzdCAyIHZibGFua3Mgb24gdGhlIGZpcnN0IHBpcGUg YmVmb3JlIGVuYWJsaW5nIHBsYW5lcyBvbiB0aGUgc2Vjb25kIHBpcGUuCisgKi8KK3N0YXRpYyBp bnQgaGFzd2VsbF9tb2RlX3NldF9wbGFuZXNfd29ya2Fyb3VuZChzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpCit7CisJc3RydWN0IGRybV9jcnRjICpjcnRjOworCXN0cnVjdCBkcm1fY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqZmlyc3RfY3J0 Y19zdGF0ZSA9IE5VTEwsICpvdGhlcl9jcnRjX3N0YXRlID0gTlVMTDsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqaW50ZWxfY3J0YywgKmZpcnN0X2NydGMgPSBOVUxMLCAqZW5hYmxlZF9jcnRjOworCWlu dCBlbmFibGVkX2NydGNzID0gMCwgcmV0LCBpOworCisJZm9yX2VhY2hfY3J0Y19pbl9zdGF0ZShz dGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgeworCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq cGlwZV9jb25maWcgPQorCQkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjX3N0YXRlKTsKKworCQlw aXBlX2NvbmZpZy0+aHN3X3dvcmthcm91bmRfcGlwZSA9IElOVkFMSURfUElQRTsKKworCQlpZiAo IWNydGNfc3RhdGUtPmFjdGl2ZSkKKwkJCWNvbnRpbnVlOworCisJCWlmICghbmVlZHNfbW9kZXNl dChjcnRjX3N0YXRlKSkgeworCQkJZW5hYmxlZF9jcnRjcysrOworCQkJZW5hYmxlZF9jcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKGZpcnN0X2Ny dGMpIHsKKwkJCW90aGVyX2NydGNfc3RhdGUgPSBwaXBlX2NvbmZpZzsKKwkJCWJyZWFrOworCQl9 CisJCWZpcnN0X2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOworCQlmaXJzdF9jcnRjX3N0YXRl ID0gcGlwZV9jb25maWc7CisJfQorCisJLyogTm8gd29ya2Fyb3VuZCBuZWVkZWQ/ICovCisJaWYg KCFmaXJzdF9jcnRjIHx8IGVuYWJsZWRfY3J0Y3MgPiAxKQorCQlyZXR1cm4gMDsKKworCWZvcl9l YWNoX2ludGVsX2NydGMoc3RhdGUtPmRldiwgaW50ZWxfY3J0YykgeworCQlpZiAoc3RhdGUtPmNy dGNzW2RybV9jcnRjX2luZGV4KCZpbnRlbF9jcnRjLT5iYXNlKV0pCisJCQljb250aW51ZTsKKwor CQlyZXQgPSBkcm1fbW9kZXNldF9sb2NrKCZpbnRlbF9jcnRjLT5iYXNlLm11dGV4LAorCQkJCSAg ICAgICBzdGF0ZS0+YWNxdWlyZV9jdHgpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwor CQlpZiAoIWludGVsX2NydGMtPmJhc2Uuc3RhdGUtPmFjdGl2ZSkKKwkJCWNvbnRpbnVlOworCisJ CS8qIDIgZW5hYmxlZCBjcnRjcyBtZWFucyBubyBuZWVkIGZvciB3L2EgKi8KKwkJaWYgKCsrZW5h YmxlZF9jcnRjcyA+PSAyKQorCQkJcmV0dXJuIDA7CisKKwkJZW5hYmxlZF9jcnRjID0gaW50ZWxf Y3J0YzsKKwl9CisKKwlpZiAoZW5hYmxlZF9jcnRjcyA9PSAxKQorCQlmaXJzdF9jcnRjX3N0YXRl LT5oc3dfd29ya2Fyb3VuZF9waXBlID0gZW5hYmxlZF9jcnRjLT5waXBlOworCWVsc2UgaWYgKG90 aGVyX2NydGNfc3RhdGUpCisJCW90aGVyX2NydGNfc3RhdGUtPmhzd193b3JrYXJvdW5kX3BpcGUg PSBmaXJzdF9jcnRjLT5waXBlOworCisJcmV0dXJuIDA7Cit9CisKIC8qIENvZGUgdGhhdCBzaG91 bGQgZXZlbnR1YWxseSBiZSBwYXJ0IG9mIGF0b21pY19jaGVjaygpICovCiBzdGF0aWMgaW50IF9f aW50ZWxfc2V0X21vZGVfY2hlY2tzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIHsK QEAgLTEyMTU4LDYgKzEyMjAwLDEzIEBAIHN0YXRpYyBpbnQgX19pbnRlbF9zZXRfbW9kZV9jaGVj a3Moc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQlyZXR1cm4gLUVJTlZBTDsKIAl9 CiAKKwlpZiAoSVNfSEFTV0VMTChzdGF0ZS0+ZGV2KSkgeworCQlyZXQgPSBoYXN3ZWxsX21vZGVf c2V0X3BsYW5lc193b3JrYXJvdW5kKHN0YXRlKTsKKworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJl dDsKKwl9CisKIAkvKgogCSAqIFNlZSBpZiB0aGUgY29uZmlnIHJlcXVpcmVzIGFueSBhZGRpdGlv bmFsIHByZXBhcmF0aW9uLCBlLmcuCiAJICogdG8gYWRqdXN0IGdsb2JhbCBzdGF0ZSB3aXRoIHBp cGVzIG9mZi4gIFdlIG5lZWQgdG8gZG8gdGhpcwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRl eCBlYjg3ZjgyYjVhZmYuLjZjMmJhNWRiY2Q3OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK QEAgLTQzNyw2ICs0MzcsOCBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7CiAJaW50IHBibjsK IAogCXN0cnVjdCBpbnRlbF9jcnRjX3NjYWxlcl9zdGF0ZSBzY2FsZXJfc3RhdGU7CisKKwllbnVt IHBpcGUgaHN3X3dvcmthcm91bmRfcGlwZTsKIH07CiAKIHN0cnVjdCBpbnRlbF9waXBlX3dtIHsK LS0gCjIuMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=