From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v3 07/20] drm/i915: Rework plane readout. Date: Mon, 13 Jul 2015 16:30:20 +0200 Message-ID: <1436797833-11493-8-git-send-email-maarten.lankhorst@linux.intel.com> References: <1436797833-11493-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 ESMTPS id 3832A6E85B for ; Mon, 13 Jul 2015 07:30:53 -0700 (PDT) In-Reply-To: <1436797833-11493-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 List-Id: intel-gfx@lists.freedesktop.org QWxsIG5vbi1wcmltYXJ5IHBsYW5lcyBnZXQgZGlzYWJsZWQgZHVyaW5nIGh3IHJlYWRvdXQsCnRo aXMgcmVkdWNlcyBjb21wbGV4aXR5IGFuZCBtZWFucyBub3QgaGF2aW5nIHRvIGRvIHNvbWUgcGxh bmUKdmlzaWJpbGl0eSBjaGVja3MgZHVyaW5nIHRoZSBmaXJzdCBjb21taXQuCgpTaWduZWQtb2Zm LWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jICB8ICA3IC0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgODYgKysrKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAg fCAgMSAtCiAzIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgODYgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwppbmRleCBiOTJiODU4MWVmYzIuLmRjZjRm YjQ1ODY0OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKQEAgLTk4LDEzICs5OCw2 IEBAIGludCBpbnRlbF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJcmV0 dXJuIC1FSU5WQUw7CiAJfQogCi0JaWYgKGNydGNfc3RhdGUgJiYKLQkgICAgY3J0Y19zdGF0ZS0+ cXVpcmtzICYgUElQRV9DT05GSUdfUVVJUktfSU5JVElBTF9QTEFORVMpIHsKLQkJcmV0ID0gZHJt X2F0b21pY19hZGRfYWZmZWN0ZWRfcGxhbmVzKHN0YXRlLCAmbnVjbGVhcl9jcnRjLT5iYXNlKTsK LQkJaWYgKHJldCkKLQkJCXJldHVybiByZXQ7Ci0JfQotCiAJcmV0ID0gZHJtX2F0b21pY19oZWxw ZXJfY2hlY2tfcGxhbmVzKGRldiwgc3RhdGUpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggZTRkOGFjYzYzODIzLi4xMTgxODdk Yzc2YmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTExNzgzLDM0ICsx MTc4Myw2IEBAIHN0YXRpYyBib29sIGNoZWNrX2VuY29kZXJfY2xvbmluZyhzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGUsCiAJcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVs X2NydGNfY2hlY2tfaW5pdGlhbF9wbGFuZXMoc3RydWN0IGRybV9jcnRjICpjcnRjLAotCQkJCQkg ICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQotewotCXN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpwaXBlX2NvbmZpZyA9Ci0JCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0 ZSk7Ci0Jc3RydWN0IGRybV9wbGFuZSAqcDsKLQl1bnNpZ25lZCB2aXNpYmxlX21hc2sgPSAwOwot Ci0JZHJtX2Zvcl9lYWNoX3BsYW5lX21hc2socCwgY3J0Yy0+ZGV2LCBjcnRjX3N0YXRlLT5wbGFu ZV9tYXNrKSB7Ci0JCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlID0KLQkJCWRy bV9hdG9taWNfZ2V0X2V4aXN0aW5nX3BsYW5lX3N0YXRlKGNydGNfc3RhdGUtPnN0YXRlLCBwKTsK LQotCQlpZiAoV0FSTl9PTighcGxhbmVfc3RhdGUpKQotCQkJY29udGludWU7Ci0KLQkJaWYgKCFw bGFuZV9zdGF0ZS0+ZmIpCi0JCQljcnRjX3N0YXRlLT5wbGFuZV9tYXNrICY9Ci0JCQkJfigxIDw8 IGRybV9wbGFuZV9pbmRleChwKSk7Ci0JCWVsc2UgaWYgKHRvX2ludGVsX3BsYW5lX3N0YXRlKHBs YW5lX3N0YXRlKS0+dmlzaWJsZSkKLQkJCXZpc2libGVfbWFzayB8PSAxIDw8IGRybV9wbGFuZV9p bmRleChwKTsKLQl9Ci0KLQlpZiAoIXZpc2libGVfbWFzaykKLQkJcmV0dXJuOwotCi0JcGlwZV9j b25maWctPnF1aXJrcyAmPSB+UElQRV9DT05GSUdfUVVJUktfSU5JVElBTF9QTEFORVM7Ci19Ci0K IHN0YXRpYyBpbnQgaW50ZWxfY3J0Y19hdG9taWNfY2hlY2soc3RydWN0IGRybV9jcnRjICpjcnRj LAogCQkJCSAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKQEAgLTExODMy LDEwICsxMTgwNCw2IEBAIHN0YXRpYyBpbnQgaW50ZWxfY3J0Y19hdG9taWNfY2hlY2soc3RydWN0 IGRybV9jcnRjICpjcnRjLAogCQkiW0NSVEM6JWldIG1pc21hdGNoIGJldHdlZW4gc3RhdGUtPmFj dGl2ZSglaSkgYW5kIGNydGMtPmFjdGl2ZSglaSlcbiIsCiAJCWlkeCwgY3J0Yy0+c3RhdGUtPmFj dGl2ZSwgaW50ZWxfY3J0Yy0+YWN0aXZlKTsKIAotCS8qIHBsYW5lIG1hc2sgaXMgZml4ZWQgdXAg YWZ0ZXIgYWxsIGluaXRpYWwgcGxhbmVzIGFyZSBjYWxjdWxhdGVkICovCi0JaWYgKHBpcGVfY29u ZmlnLT5xdWlya3MgJiBQSVBFX0NPTkZJR19RVUlSS19JTklUSUFMX1BMQU5FUykKLQkJaW50ZWxf Y3J0Y19jaGVja19pbml0aWFsX3BsYW5lcyhjcnRjLCBjcnRjX3N0YXRlKTsKLQogCWlmIChtb2Rl X2NoYW5nZWQgJiYgIWNydGNfc3RhdGUtPmFjdGl2ZSkKIAkJaW50ZWxfY3J0Yy0+YXRvbWljLnVw ZGF0ZV93bV9wb3N0ID0gdHJ1ZTsKIApAQCAtMTMxODgsMTkgKzEzMTU2LDYgQEAgaW50ZWxfbW9k ZXNldF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJCQlj b250aW51ZTsKIAkJfQogCi0JCWlmIChwaXBlX2NvbmZpZy0+cXVpcmtzICYgUElQRV9DT05GSUdf UVVJUktfSU5JVElBTF9QTEFORVMpIHsKLQkJCXJldCA9IGRybV9hdG9taWNfYWRkX2FmZmVjdGVk X3BsYW5lcyhzdGF0ZSwgY3J0Yyk7Ci0JCQlpZiAocmV0KQotCQkJCXJldHVybiByZXQ7Ci0KLQkJ CS8qCi0JCQkgKiBXZSBvdWdodCB0byBoYW5kbGUgaTkxNS5mYXN0Ym9vdCBoZXJlLgotCQkJICog SWYgbm8gbW9kZXNldCBpcyByZXF1aXJlZCBhbmQgdGhlIHByaW1hcnkgcGxhbmUgaGFzCi0JCQkg KiBhIGZiLCB1cGRhdGUgdGhlIG1lbWJlcnMgb2YgY3J0Y19zdGF0ZSBhcyBuZWVkZWQsCi0JCQkg KiBhbmQgcnVuIHRoZSBuZWNlc3NhcnkgdXBkYXRlcyBkdXJpbmcgdmJsYW5rIGV2YXNpb24uCi0J CQkgKi8KLQkJfQotCiAJCW1vZGVzZXQgPSBuZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUpOwogCQly ZWNhbGMgPSBwaXBlX2NvbmZpZy0+cXVpcmtzICYgUElQRV9DT05GSUdfUVVJUktfSU5IRVJJVEVE X01PREU7CiAKQEAgLTE1NDYwLDQ3ICsxNTQxNSwyMiBAQCBzdGF0aWMgdm9pZCByZWFkb3V0X3Bs YW5lX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCQkJCXN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKQogewogCXN0cnVjdCBpbnRlbF9wbGFuZSAqcDsKLQlzdHJ1Y3Qg ZHJtX3BsYW5lX3N0YXRlICpkcm1fcGxhbmVfc3RhdGU7CisJc3RydWN0IGludGVsX3BsYW5lX3N0 YXRlICpwbGFuZV9zdGF0ZTsKIAlib29sIGFjdGl2ZSA9IGNydGNfc3RhdGUtPmJhc2UuYWN0aXZl OwogCi0JaWYgKGFjdGl2ZSkgewotCQljcnRjX3N0YXRlLT5xdWlya3MgfD0gUElQRV9DT05GSUdf UVVJUktfSU5JVElBTF9QTEFORVM7Ci0KLQkJLyogYXBwbHkgdG8gcHJldmlvdXMgc3cgc3RhdGUg dG9vICovCi0JCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+YmFzZS5zdGF0ZSktPnF1aXJrcyB8 PQotCQkJUElQRV9DT05GSUdfUVVJUktfSU5JVElBTF9QTEFORVM7Ci0JfQotCiAJZm9yX2VhY2hf aW50ZWxfcGxhbmUoY3J0Yy0+YmFzZS5kZXYsIHApIHsKLQkJYm9vbCB2aXNpYmxlID0gYWN0aXZl OwotCiAJCWlmIChjcnRjLT5waXBlICE9IHAtPnBpcGUpCiAJCQljb250aW51ZTsKIAotCQlkcm1f cGxhbmVfc3RhdGUgPSBwLT5iYXNlLnN0YXRlOwotCi0JCS8qIFBsYW5lIHNjYWxlciBzdGF0ZSBp cyBub3QgdG91Y2hlZCBoZXJlLiBUaGUgZmlyc3QgYXRvbWljCi0JCSAqIGNvbW1pdCB3aWxsIHJl c3RvcmUgYWxsIHBsYW5lIHNjYWxlcnMgdG8gaXRzIG9sZCBzdGF0ZS4KLQkJICovCisJCXBsYW5l X3N0YXRlID0gdG9faW50ZWxfcGxhbmVfc3RhdGUocC0+YmFzZS5zdGF0ZSk7CiAKLQkJaWYgKGFj dGl2ZSAmJiBwLT5iYXNlLnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSkgewotCQkJdmlz aWJsZSA9IHByaW1hcnlfZ2V0X2h3X3N0YXRlKGNydGMpOwotCQkJdG9faW50ZWxfcGxhbmVfc3Rh dGUoZHJtX3BsYW5lX3N0YXRlKS0+dmlzaWJsZSA9IHZpc2libGU7Ci0JCX0gZWxzZSB7Ci0JCQkv KgotCQkJICogdW5rbm93biBzdGF0ZSwgYXNzdW1lIGl0J3Mgb2ZmIHRvIGZvcmNlIGEgdHJhbnNp dGlvbgotCQkJICogdG8gb24gd2hlbiBjYWxjdWxhdGluZyBzdGF0ZSBjaGFuZ2VzLgotCQkJICov Ci0JCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShkcm1fcGxhbmVfc3RhdGUpLT52aXNpYmxlID0gZmFs c2U7Ci0JCX0KKwkJaWYgKHAtPmJhc2UudHlwZSA9PSBEUk1fUExBTkVfVFlQRV9QUklNQVJZKQor CQkJcGxhbmVfc3RhdGUtPnZpc2libGUgPSBwcmltYXJ5X2dldF9od19zdGF0ZShjcnRjKTsKKwkJ ZWxzZSB7CisJCQlpZiAoYWN0aXZlKQorCQkJCXAtPmRpc2FibGVfcGxhbmUoJnAtPmJhc2UsICZj cnRjLT5iYXNlKTsKIAotCQlpZiAodmlzaWJsZSkgewotCQkJY3J0Y19zdGF0ZS0+YmFzZS5wbGFu ZV9tYXNrIHw9Ci0JCQkJMSA8PCBkcm1fcGxhbmVfaW5kZXgoJnAtPmJhc2UpOwotCQl9IGVsc2Ug aWYgKGNydGNfc3RhdGUtPmJhc2Uuc3RhdGUpIHsKLQkJCS8qIE1ha2UgdGhpcyB1bmNvbmRpdGlv bmFsIGZvciBhdG9taWMgaHcgcmVhZG91dC4gKi8KLQkJCWNydGNfc3RhdGUtPmJhc2UucGxhbmVf bWFzayAmPQotCQkJCX4oMSA8PCBkcm1fcGxhbmVfaW5kZXgoJnAtPmJhc2UpKTsKKwkJCXBsYW5l X3N0YXRlLT52aXNpYmxlID0gZmFsc2U7CiAJCX0KIAl9CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oCmluZGV4IDA5ZTM1ODFjODQ0MS4uMmMyMzkwMGI0OTFmIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaApAQCAtMzQxLDcgKzM0MSw2IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKIAkg Ki8KICNkZWZpbmUgUElQRV9DT05GSUdfUVVJUktfTU9ERV9TWU5DX0ZMQUdTCSgxPDwwKSAvKiB1 bnJlbGlhYmxlIHN5bmMgbW9kZS5mbGFncyAqLwogI2RlZmluZSBQSVBFX0NPTkZJR19RVUlSS19J TkhFUklURURfTU9ERQkoMTw8MSkgLyogbW9kZSBpbmhlcml0ZWQgZnJvbSBmaXJtd2FyZSAqLwot I2RlZmluZSBQSVBFX0NPTkZJR19RVUlSS19JTklUSUFMX1BMQU5FUwkoMTw8MikgLyogcGxhbmVz IGFyZSBpbiB1bmtub3duIHN0YXRlICovCiAJdW5zaWduZWQgbG9uZyBxdWlya3M7CiAKIAkvKiBQ aXBlIHNvdXJjZSBzaXplIChpZS4gcGFuZWwgZml0dGVyIGlucHV0IHNpemUpCi0tIAoyLjEuMAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK