From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 06/12] drm/i915: Make crtc checking use the atomic state. Date: Mon, 27 Jul 2015 14:35:35 +0200 Message-ID: <1438000541-3219-7-git-send-email-maarten.lankhorst@linux.intel.com> References: <1438000541-3219-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 8EE2F6E915 for ; Mon, 27 Jul 2015 05:35:49 -0700 (PDT) In-Reply-To: <1438000541-3219-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 SW5zdGVhZCBvZiBhbGxvY2F0aW5nIHBpcGVfY29uZmlnIG9uIHRoZSBzdGFjayB1c2UgdGhlIG9s ZCBjcnRjX3N0YXRlLAppdCdzIG9ubHkgZ29pbmcgdG8gZnJlZWQgZnJvbSB0aGlzIHBvaW50IG9u LgoKQWxsIGNydGMncyBlbmNvZGVycyBhcmUgbm93IG9ubHkgY2hlY2tlZCBvbmNlIGR1cmluZyBt b2Rlc2V0LgoKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hv cnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMgfCAxMTggKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCA2MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggZmJiMjU3ZDQ3MjhjLi5lM2FmZTYxMWE3OGMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTExODI5LDcgKzExODI5LDcgQEAgc3Rh dGljIGludCBpbnRlbF9jcnRjX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJ c3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnID0KIAkJdG9faW50ZWxfY3J0Y19z dGF0ZShjcnRjX3N0YXRlKTsKIAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRj X3N0YXRlLT5zdGF0ZTsKLQlpbnQgcmV0LCBpZHggPSBjcnRjLT5iYXNlLmlkOworCWludCByZXQ7 CiAJYm9vbCBtb2RlX2NoYW5nZWQgPSBuZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUpOwogCiAJaWYg KG1vZGVfY2hhbmdlZCAmJiAhY2hlY2tfZW5jb2Rlcl9jbG9uaW5nKHN0YXRlLCBpbnRlbF9jcnRj KSkgewpAQCAtMTE4MzcsMTAgKzExODM3LDYgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX2F0b21p Y19jaGVjayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAot CUk5MTVfU1RBVEVfV0FSTihjcnRjLT5zdGF0ZS0+YWN0aXZlICE9IGludGVsX2NydGMtPmFjdGl2 ZSwKLQkJIltDUlRDOiVpXSBtaXNtYXRjaCBiZXR3ZWVuIHN0YXRlLT5hY3RpdmUoJWkpIGFuZCBj cnRjLT5hY3RpdmUoJWkpXG4iLAotCQlpZHgsIGNydGMtPnN0YXRlLT5hY3RpdmUsIGludGVsX2Ny dGMtPmFjdGl2ZSk7Ci0KIAlpZiAobW9kZV9jaGFuZ2VkICYmICFjcnRjX3N0YXRlLT5hY3RpdmUp CiAJCWludGVsX2NydGMtPmF0b21pYy51cGRhdGVfd21fcG9zdCA9IHRydWU7CiAKQEAgLTEyNzIx LDE5ICsxMjcxNywxNiBAQCBjaGVja19lbmNvZGVyX3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCiAKIAlmb3JfZWFjaF9pbnRlbF9lbmNvZGVyKGRldiwgZW5jb2RlcikgewogCQlib29sIGVu YWJsZWQgPSBmYWxzZTsKLQkJYm9vbCBhY3RpdmUgPSBmYWxzZTsKLQkJZW51bSBwaXBlIHBpcGUs IHRyYWNrZWRfcGlwZTsKKwkJZW51bSBwaXBlIHBpcGU7CiAKIAkJRFJNX0RFQlVHX0tNUygiW0VO Q09ERVI6JWQ6JXNdXG4iLAogCQkJICAgICAgZW5jb2Rlci0+YmFzZS5iYXNlLmlkLAogCQkJICAg ICAgZW5jb2Rlci0+YmFzZS5uYW1lKTsKIAogCQlmb3JfZWFjaF9pbnRlbF9jb25uZWN0b3IoZGV2 LCBjb25uZWN0b3IpIHsKLQkJCWlmIChjb25uZWN0b3ItPmJhc2UuZW5jb2RlciAhPSAmZW5jb2Rl ci0+YmFzZSkKKwkJCWlmIChjb25uZWN0b3ItPmJhc2Uuc3RhdGUtPmJlc3RfZW5jb2RlciAhPSAm ZW5jb2Rlci0+YmFzZSkKIAkJCQljb250aW51ZTsKIAkJCWVuYWJsZWQgPSB0cnVlOwotCQkJaWYg KGNvbm5lY3Rvci0+YmFzZS5kcG1zICE9IERSTV9NT0RFX0RQTVNfT0ZGKQotCQkJCWFjdGl2ZSA9 IHRydWU7CiAKIAkJCUk5MTVfU1RBVEVfV0FSTihjb25uZWN0b3ItPmJhc2Uuc3RhdGUtPmNydGMg IT0KIAkJCQkJZW5jb2Rlci0+YmFzZS5jcnRjLApAQCAtMTI3NDQsODUgKzEyNzM3LDg2IEBAIGNo ZWNrX2VuY29kZXJfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJICAgICAiZW5jb2Rl cidzIGVuYWJsZWQgc3RhdGUgbWlzbWF0Y2ggIgogCQkgICAgICIoZXhwZWN0ZWQgJWksIGZvdW5k ICVpKVxuIiwKIAkJICAgICAhIWVuY29kZXItPmJhc2UuY3J0YywgZW5hYmxlZCk7Ci0JCUk5MTVf U1RBVEVfV0FSTihhY3RpdmUgJiYgIWVuY29kZXItPmJhc2UuY3J0YywKLQkJICAgICAiYWN0aXZl IGVuY29kZXIgd2l0aCBubyBjcnRjXG4iKTsKLQotCQlhY3RpdmUgPSBlbmNvZGVyLT5nZXRfaHdf c3RhdGUoZW5jb2RlciwgJnBpcGUpOwogCiAJCWlmICghZW5jb2Rlci0+YmFzZS5jcnRjKSB7Ci0J CQlJOTE1X1NUQVRFX1dBUk4oYWN0aXZlLAotCQkJICAgICAiZW5jb2RlciBkZXRhY2hlZCBidXQg bm90IHR1cm5lZCBvZmYuXG4iKTsKKwkJCWJvb2wgYWN0aXZlOwogCi0JCQljb250aW51ZTsKKwkJ CWFjdGl2ZSA9IGVuY29kZXItPmdldF9od19zdGF0ZShlbmNvZGVyLCAmcGlwZSk7CisJCQlJOTE1 X1NUQVRFX1dBUk4oYWN0aXZlLAorCQkJICAgICAiZW5jb2RlciBkZXRhY2hlZCBidXQgc3RpbGwg ZW5hYmxlZCBvbiBwaXBlICVjLlxuIiwKKwkJCSAgICAgcGlwZV9uYW1lKHBpcGUpKTsKIAkJfQot Ci0JCUk5MTVfU1RBVEVfV0FSTihhY3RpdmUgIT0gZW5jb2Rlci0+YmFzZS5jcnRjLT5zdGF0ZS0+ YWN0aXZlLAotCQkgICAgICJlbmNvZGVyJ3MgaHcgc3RhdGUgZG9lc24ndCBtYXRjaCBzdyB0cmFj a2luZyAiCi0JCSAgICAgIihleHBlY3RlZCAlaSwgZm91bmQgJWkpXG4iLAotCQkgICAgIGVuY29k ZXItPmJhc2UuY3J0Yy0+c3RhdGUtPmFjdGl2ZSwgYWN0aXZlKTsKLQotCi0JCXRyYWNrZWRfcGlw ZSA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+YmFzZS5jcnRjKS0+cGlwZTsKLQkJSTkxNV9TVEFU RV9XQVJOKGFjdGl2ZSAmJiBwaXBlICE9IHRyYWNrZWRfcGlwZSwKLQkJICAgICAiYWN0aXZlIGVu Y29kZXIncyBwaXBlIGRvZXNuJ3QgbWF0Y2giCi0JCSAgICAgIihleHBlY3RlZCAlaSwgZm91bmQg JWkpXG4iLAotCQkgICAgIHRyYWNrZWRfcGlwZSwgcGlwZSk7Ci0KIAl9CiB9CiAKIHN0YXRpYyB2 b2lkCi1jaGVja19jcnRjX3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCitjaGVja19jcnRj X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOwogCXN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyOwotCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHBpcGVfY29uZmlnOworCXN0cnVj dCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CisJ aW50IGk7CiAKLQlmb3JfZWFjaF9pbnRlbF9jcnRjKGRldiwgY3J0YykgeworCWZvcl9lYWNoX2Ny dGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIGNydGNfc3RhdGUsIGkpIHsKKwkJc3RydWN0IGludGVs X2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOworCQlzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsICpzd19jb25maWc7CiAJCWJvb2wgYWN0aXZlOwogCi0J CW1lbXNldCgmcGlwZV9jb25maWcsIDAsIHNpemVvZihwaXBlX2NvbmZpZykpOworCQlpZiAoIW5l ZWRzX21vZGVzZXQoY3J0Yy0+c3RhdGUpKQorCQkJY29udGludWU7CiAKLQkJRFJNX0RFQlVHX0tN UygiW0NSVEM6JWRdXG4iLAotCQkJICAgICAgY3J0Yy0+YmFzZS5iYXNlLmlkKTsKKwkJX19kcm1f YXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUoY3J0YywgY3J0Y19zdGF0ZSk7CisJCXBp cGVfY29uZmlnID0gdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjX3N0YXRlKTsKKwkJbWVtc2V0KHBp cGVfY29uZmlnLCAwLCBzaXplb2YoKnBpcGVfY29uZmlnKSk7CisJCWNydGNfc3RhdGUtPmNydGMg PSBjcnRjOworCQljcnRjX3N0YXRlLT5zdGF0ZSA9IHN0YXRlOwogCi0JCUk5MTVfU1RBVEVfV0FS TihjcnRjLT5hY3RpdmUgJiYgIWNydGMtPmJhc2Uuc3RhdGUtPmVuYWJsZSwKLQkJICAgICAiYWN0 aXZlIGNydGMsIGJ1dCBub3QgZW5hYmxlZCBpbiBzdyB0cmFja2luZ1xuIik7CisJCURSTV9ERUJV R19LTVMoIltDUlRDOiVkXVxuIiwKKwkJCSAgICAgIGNydGMtPmJhc2UuaWQpOwogCi0JCWFjdGl2 ZSA9IGRldl9wcml2LT5kaXNwbGF5LmdldF9waXBlX2NvbmZpZyhjcnRjLAotCQkJCQkJCSAgICZw aXBlX2NvbmZpZyk7CisJCWFjdGl2ZSA9IGRldl9wcml2LT5kaXNwbGF5LmdldF9waXBlX2NvbmZp ZyhpbnRlbF9jcnRjLAorCQkJCQkJCSAgIHBpcGVfY29uZmlnKTsKIAogCQkvKiBodyBzdGF0ZSBp cyBpbmNvbnNpc3RlbnQgd2l0aCB0aGUgcGlwZSBxdWlyayAqLwotCQlpZiAoKGNydGMtPnBpcGUg PT0gUElQRV9BICYmIGRldl9wcml2LT5xdWlya3MgJiBRVUlSS19QSVBFQV9GT1JDRSkgfHwKLQkJ ICAgIChjcnRjLT5waXBlID09IFBJUEVfQiAmJiBkZXZfcHJpdi0+cXVpcmtzICYgUVVJUktfUElQ RUJfRk9SQ0UpKQotCQkJYWN0aXZlID0gY3J0Yy0+YWN0aXZlOworCQlpZiAoKGludGVsX2NydGMt PnBpcGUgPT0gUElQRV9BICYmIGRldl9wcml2LT5xdWlya3MgJiBRVUlSS19QSVBFQV9GT1JDRSkg fHwKKwkJICAgIChpbnRlbF9jcnRjLT5waXBlID09IFBJUEVfQiAmJiBkZXZfcHJpdi0+cXVpcmtz ICYgUVVJUktfUElQRUJfRk9SQ0UpKQorCQkJYWN0aXZlID0gY3J0Yy0+c3RhdGUtPmFjdGl2ZTsK IAotCQlmb3JfZWFjaF9pbnRlbF9lbmNvZGVyKGRldiwgZW5jb2RlcikgewotCQkJZW51bSBwaXBl IHBpcGU7Ci0JCQlpZiAoZW5jb2Rlci0+YmFzZS5jcnRjICE9ICZjcnRjLT5iYXNlKQotCQkJCWNv bnRpbnVlOwotCQkJaWYgKGVuY29kZXItPmdldF9od19zdGF0ZShlbmNvZGVyLCAmcGlwZSkpCi0J CQkJZW5jb2Rlci0+Z2V0X2NvbmZpZyhlbmNvZGVyLCAmcGlwZV9jb25maWcpOwotCQl9Ci0KLQkJ STkxNV9TVEFURV9XQVJOKGNydGMtPmFjdGl2ZSAhPSBhY3RpdmUsCisJCUk5MTVfU1RBVEVfV0FS TihjcnRjLT5zdGF0ZS0+YWN0aXZlICE9IGFjdGl2ZSwKIAkJICAgICAiY3J0YyBhY3RpdmUgc3Rh dGUgZG9lc24ndCBtYXRjaCB3aXRoIGh3IHN0YXRlICIKLQkJICAgICAiKGV4cGVjdGVkICVpLCBm b3VuZCAlaSlcbiIsIGNydGMtPmFjdGl2ZSwgYWN0aXZlKTsKKwkJICAgICAiKGV4cGVjdGVkICVp LCBmb3VuZCAlaSlcbiIsIGNydGMtPnN0YXRlLT5hY3RpdmUsIGFjdGl2ZSk7CiAKLQkJSTkxNV9T VEFURV9XQVJOKGNydGMtPmFjdGl2ZSAhPSBjcnRjLT5iYXNlLnN0YXRlLT5hY3RpdmUsCisJCUk5 MTVfU1RBVEVfV0FSTihpbnRlbF9jcnRjLT5hY3RpdmUgIT0gY3J0Yy0+c3RhdGUtPmFjdGl2ZSwK IAkJICAgICAidHJhbnNpdGlvbmFsIGFjdGl2ZSBzdGF0ZSBkb2VzIG5vdCBtYXRjaCBhdG9taWMg aHcgc3RhdGUgIgotCQkgICAgICIoZXhwZWN0ZWQgJWksIGZvdW5kICVpKVxuIiwgY3J0Yy0+YmFz ZS5zdGF0ZS0+YWN0aXZlLCBjcnRjLT5hY3RpdmUpOworCQkgICAgICIoZXhwZWN0ZWQgJWksIGZv dW5kICVpKVxuIiwgY3J0Yy0+c3RhdGUtPmFjdGl2ZSwgaW50ZWxfY3J0Yy0+YWN0aXZlKTsKKwor CQlmb3JfZWFjaF9lbmNvZGVyX29uX2NydGMoZGV2LCBjcnRjLCBlbmNvZGVyKSB7CisJCQllbnVt IHBpcGUgcGlwZTsKKworCQkJYWN0aXZlID0gZW5jb2Rlci0+Z2V0X2h3X3N0YXRlKGVuY29kZXIs ICZwaXBlKTsKKwkJCUk5MTVfU1RBVEVfV0FSTihhY3RpdmUgIT0gY3J0Yy0+c3RhdGUtPmFjdGl2 ZSwKKwkJCQkiW0VOQ09ERVI6JWldIGFjdGl2ZSAlaSB3aXRoIGNydGMgYWN0aXZlICVpXG4iLAor CQkJCWVuY29kZXItPmJhc2UuYmFzZS5pZCwgYWN0aXZlLCBjcnRjLT5zdGF0ZS0+YWN0aXZlKTsK KworCQkJSTkxNV9TVEFURV9XQVJOKGFjdGl2ZSAmJiBpbnRlbF9jcnRjLT5waXBlICE9IHBpcGUs CisJCQkJCSJFbmNvZGVyIGNvbm5lY3RlZCB0byB3cm9uZyBwaXBlICVjXG4iLAorCQkJCQlwaXBl X25hbWUocGlwZSkpOworCisJCQlpZiAoYWN0aXZlKQorCQkJCWVuY29kZXItPmdldF9jb25maWco ZW5jb2RlciwgcGlwZV9jb25maWcpOworCQl9CiAKLQkJaWYgKCFhY3RpdmUpCisJCWlmICghY3J0 Yy0+c3RhdGUtPmFjdGl2ZSkKIAkJCWNvbnRpbnVlOwogCi0JCWlmICghaW50ZWxfcGlwZV9jb25m aWdfY29tcGFyZShkZXYsIGNydGMtPmNvbmZpZywKLQkJCQkJICAgICAgICZwaXBlX2NvbmZpZywg ZmFsc2UpKSB7CisJCXN3X2NvbmZpZyA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUp OworCQlpZiAoIWludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoZGV2LCBzd19jb25maWcsCisJCQkJ CSAgICAgICBwaXBlX2NvbmZpZywgZmFsc2UpKSB7CiAJCQlJOTE1X1NUQVRFX1dBUk4oMSwgInBp cGUgc3RhdGUgZG9lc24ndCBtYXRjaCFcbiIpOwotCQkJaW50ZWxfZHVtcF9waXBlX2NvbmZpZyhj cnRjLCAmcGlwZV9jb25maWcsCisJCQlpbnRlbF9kdW1wX3BpcGVfY29uZmlnKGludGVsX2NydGMs IHBpcGVfY29uZmlnLAogCQkJCQkgICAgICAgIltodyBzdGF0ZV0iKTsKLQkJCWludGVsX2R1bXBf cGlwZV9jb25maWcoY3J0YywgY3J0Yy0+Y29uZmlnLAorCQkJaW50ZWxfZHVtcF9waXBlX2NvbmZp ZyhpbnRlbF9jcnRjLCBzd19jb25maWcsCiAJCQkJCSAgICAgICAiW3N3IHN0YXRlXSIpOwogCQl9 CiAJfQpAQCAtMTI4ODQsNyArMTI4NzgsNyBAQCBpbnRlbF9tb2Rlc2V0X2NoZWNrX3N0YXRlKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJY2hlY2tfd21fc3RhdGUoZGV2KTsKIAljaGVja19jb25u ZWN0b3Jfc3RhdGUoZGV2LCBzdGF0ZSk7CiAJY2hlY2tfZW5jb2Rlcl9zdGF0ZShkZXYpOwotCWNo ZWNrX2NydGNfc3RhdGUoZGV2KTsKKwljaGVja19jcnRjX3N0YXRlKGRldiwgc3RhdGUpOwogCWNo ZWNrX3NoYXJlZF9kcGxsX3N0YXRlKGRldik7CiB9CiAKLS0gCjIuMS4wCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=