From mboxrd@z Thu Jan 1 00:00:00 1970 From: maarten.lankhorst@linux.intel.com Subject: [PATCH RFC 5/5] drm/i915: Implement intel_crtc_toggle using atomic state Date: Wed, 22 Apr 2015 13:24:22 +0200 Message-ID: <1429701862-22970-6-git-send-email-maarten.lankhorst@linux.intel.com> References: <1429701862-22970-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 151296E04B for ; Wed, 22 Apr 2015 04:24:39 -0700 (PDT) In-Reply-To: <1429701862-22970-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 RnJvbTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KCkFzc3VtZSB0aGUgZnVuY3Rpb24gaXMgbG9ja2VkIHdpdGggZHJtX21vZGVzZXRfbG9ja19h bGwgZm9yIG5vdy4KClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxh bmtob3JzdEBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jIHwgMTMxICsrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgOTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDk5YTQ1YmVlMjBkOC4uNWE0M2FjMDJiOTI1IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0xMDYsOCArMTA2LDYgQEAgc3Rh dGljIHZvaWQgaW50ZWxfYmVnaW5fY3J0Y19jb21taXQoc3RydWN0IGRybV9jcnRjICpjcnRjKTsK IHN0YXRpYyB2b2lkIGludGVsX2ZpbmlzaF9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpOwogc3RhdGljIHZvaWQgc2tsX2luaXRfc2NhbGVycyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCBzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSk7Ci1zdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2VuYWJsZV9wbGFuZXMoc3Ry dWN0IGRybV9jcnRjICpjcnRjKTsKLXN0YXRpYyB2b2lkIGludGVsX2NydGNfZGlzYWJsZV9wbGFu ZXMoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKIHN0YXRpYyB2b2lkIGludGVsX3ByZV9kaXNhYmxl X3ByaW1hcnkoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKIHN0YXRpYyB2b2lkIGludGVsX3Bvc3Rf ZW5hYmxlX3ByaW1hcnkoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKIApAQCAtMjE5NywyOCArMjE5 NSw2IEBAIHZvaWQgaW50ZWxfZmx1c2hfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiAJUE9TVElOR19SRUFEKHJlZyk7CiB9CiAKLS8qKgotICogaW50ZWxf ZW5hYmxlX3ByaW1hcnlfaHdfcGxhbmUgLSBlbmFibGUgdGhlIHByaW1hcnkgcGxhbmUgb24gYSBn aXZlbiBwaXBlCi0gKiBAcGxhbmU6ICBwbGFuZSB0byBiZSBlbmFibGVkCi0gKiBAY3J0YzogY3J0 YyBmb3IgdGhlIHBsYW5lCi0gKgotICogRW5hYmxlIEBwbGFuZSBvbiBAY3J0YywgbWFraW5nIHN1 cmUgdGhhdCB0aGUgcGlwZSBpcyBydW5uaW5nIGZpcnN0LgotICovCi1zdGF0aWMgdm9pZCBpbnRl bF9lbmFibGVfcHJpbWFyeV9od19wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKLQkJCQkJ ICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCi17Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBs YW5lLT5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMo Y3J0Yyk7Ci0KLQkvKiBJZiB0aGUgcGlwZSBpc24ndCBlbmFibGVkLCB3ZSBjYW4ndCBwdW1wIHBp eGVscyBhbmQgbWF5IGhhbmcgKi8KLQlhc3NlcnRfcGlwZV9lbmFibGVkKGRldl9wcml2LCBpbnRl bF9jcnRjLT5waXBlKTsKLQl0b19pbnRlbF9wbGFuZV9zdGF0ZShwbGFuZS0+c3RhdGUpLT52aXNp YmxlID0gdHJ1ZTsKLQotCWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV9wcmltYXJ5X3BsYW5lKGNy dGMsIHBsYW5lLT5mYiwKLQkJCQkJICAgICAgIGNydGMtPngsIGNydGMtPnkpOwotfQotCiBzdGF0 aWMgYm9vbCBuZWVkX3Z0ZF93YShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogI2lmZGVmIENP TkZJR19JTlRFTF9JT01NVQpAQCAtNDQ1NSwyMCArNDQzMSw2IEBAIHN0YXRpYyB2b2lkIGlyb25s YWtlX3BmaXRfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCX0KIH0KIAotc3RhdGlj IHZvaWQgaW50ZWxfZW5hYmxlX3Nwcml0ZV9wbGFuZXMoc3RydWN0IGRybV9jcnRjICpjcnRjKQot ewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Ci0JZW51bSBwaXBlIHBpcGUg PSB0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOwotCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOwot CXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmU7Ci0KLQlkcm1fZm9yX2VhY2hfbGVnYWN5 X3BsYW5lKHBsYW5lLCAmZGV2LT5tb2RlX2NvbmZpZy5wbGFuZV9saXN0KSB7Ci0JCWludGVsX3Bs YW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOwotCQlpZiAoaW50ZWxfcGxhbmUtPnBpcGUgPT0g cGlwZSkKLQkJCWludGVsX3BsYW5lX3Jlc3RvcmUoJmludGVsX3BsYW5lLT5iYXNlKTsKLQl9Ci19 Ci0KIHZvaWQgaHN3X2VuYWJsZV9pcHMoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiB7CiAJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2OwpAQCAtNDY5OCw0NCArNDY2MCw2 IEBAIGludGVsX3ByZV9kaXNhYmxlX3ByaW1hcnkoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCWhz d19kaXNhYmxlX2lwcyhpbnRlbF9jcnRjKTsKIH0KIAotc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19l bmFibGVfcGxhbmVzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKLXsKLQlpbnRlbF9lbmFibGVfcHJp bWFyeV9od19wbGFuZShjcnRjLT5wcmltYXJ5LCBjcnRjKTsKLQlpbnRlbF9lbmFibGVfc3ByaXRl X3BsYW5lcyhjcnRjKTsKLQlpbnRlbF9jcnRjX3VwZGF0ZV9jdXJzb3IoY3J0YywgdHJ1ZSk7Ci0K LQlpbnRlbF9wb3N0X2VuYWJsZV9wcmltYXJ5KGNydGMpOwotfQotCi1zdGF0aWMgdm9pZCBpbnRl bF9jcnRjX2Rpc2FibGVfcGxhbmVzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKLXsKLQlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKLQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3Bs YW5lOwotCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKLQotCWludGVsX2NydGNfd2FpdF9m b3JfcGVuZGluZ19mbGlwcyhjcnRjKTsKLQotCWludGVsX3ByZV9kaXNhYmxlX3ByaW1hcnkoY3J0 Yyk7Ci0KLQlpbnRlbF9jcnRjX2RwbXNfb3ZlcmxheV9kaXNhYmxlKGludGVsX2NydGMpOwotCWZv cl9lYWNoX2ludGVsX3BsYW5lKGRldiwgaW50ZWxfcGxhbmUpIHsKLQkJaWYgKGludGVsX3BsYW5l LT5waXBlID09IHBpcGUpIHsKLQkJCXN0cnVjdCBkcm1fY3J0YyAqZnJvbSA9IGludGVsX3BsYW5l LT5iYXNlLmNydGM7Ci0KLQkJCWludGVsX3BsYW5lLT5kaXNhYmxlX3BsYW5lKCZpbnRlbF9wbGFu ZS0+YmFzZSwKLQkJCQkJCSAgIGZyb20gPzogY3J0YywgdHJ1ZSk7Ci0JCX0KLQl9Ci0KLQkvKgot CSAqIEZJWE1FOiBPbmNlIHdlIGdyb3cgcHJvcGVyIG51Y2xlYXIgZmxpcCBzdXBwb3J0IG91dCBv ZiB0aGlzIHdlIG5lZWQKLQkgKiB0byBjb21wdXRlIHRoZSBtYXNrIG9mIGZsaXAgcGxhbmVzIHBy ZWNpc2VseS4gRm9yIHRoZSB0aW1lIGJlaW5nCi0JICogY29uc2lkZXIgdGhpcyBhIGZsaXAgdG8g YSBOVUxMIHBsYW5lLgotCSAqLwotCWludGVsX2Zyb250YnVmZmVyX2ZsaXAoZGV2LCBJTlRFTF9G Uk9OVEJVRkZFUl9BTExfTUFTSyhwaXBlKSk7Ci19Ci0KIHN0YXRpYyB2b2lkIGlyb25sYWtlX2Ny dGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY3J0Yy0+ZGV2OwpAQCAtNTcyOCwxMCArNTY1MiwxMyBAQCBzdGF0aWMgdm9pZCBpOXh4 X2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiB2b2lkIGludGVsX2NydGNfY29u dHJvbChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgZW5hYmxlKQogewogCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX21vZGVfY29uZmlnICpjb25maWcg PSAmZGV2LT5tb2RlX2NvbmZpZzsKKwlzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKmN0 eCA9IGNvbmZpZy0+YWNxdWlyZV9jdHg7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMg PSB0b19pbnRlbF9jcnRjKGNydGMpOwotCWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4g ZG9tYWluOwotCXVuc2lnbmVkIGxvbmcgZG9tYWluczsKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqcGlwZV9jb25maWc7CisJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7CisJ c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOworCWludCByZXQ7CiAKIAlpZiAoZW5hYmxl ID09IGludGVsX2NydGMtPmFjdGl2ZSkKIAkJcmV0dXJuOwpAQCAtNTc0MCwyMyArNTY2Nyw0MSBA QCB2b2lkIGludGVsX2NydGNfY29udHJvbChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgZW5h YmxlKQogCQlyZXR1cm47CiAKIAljcnRjLT5zdGF0ZS0+YWN0aXZlID0gZW5hYmxlOwotCWlmIChl bmFibGUpIHsKLQkJZG9tYWlucyA9IGdldF9jcnRjX3Bvd2VyX2RvbWFpbnMoY3J0Yyk7Ci0JCWZv cl9lYWNoX3Bvd2VyX2RvbWFpbihkb21haW4sIGRvbWFpbnMpCi0JCQlpbnRlbF9kaXNwbGF5X3Bv d2VyX2dldChkZXZfcHJpdiwgZG9tYWluKTsKLQkJaW50ZWxfY3J0Yy0+ZW5hYmxlZF9wb3dlcl9k b21haW5zID0gZG9tYWluczsKIAotCQlkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2VuYWJsZShjcnRj KTsKLQkJaW50ZWxfY3J0Y19lbmFibGVfcGxhbmVzKGNydGMpOwotCX0gZWxzZSB7Ci0JCWludGVs X2NydGNfZGlzYWJsZV9wbGFuZXMoY3J0Yyk7Ci0JCWRldl9wcml2LT5kaXNwbGF5LmNydGNfZGlz YWJsZShjcnRjKTsKKwkvKiB0aGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgd2l0aCBkcm1f bW9kZXNldF9sb2NrX2FsbCBmb3Igbm93ICovCisJaWYgKFdBUk5fT04oIWN0eCkpCisJCXJldHVy bjsKKwlsb2NrZGVwX2Fzc2VydF9oZWxkKCZjdHgtPnd3X2N0eCk7CiAKLQkJZG9tYWlucyA9IGlu dGVsX2NydGMtPmVuYWJsZWRfcG93ZXJfZG9tYWluczsKLQkJZm9yX2VhY2hfcG93ZXJfZG9tYWlu KGRvbWFpbiwgZG9tYWlucykKLQkJCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBk b21haW4pOwotCQlpbnRlbF9jcnRjLT5lbmFibGVkX3Bvd2VyX2RvbWFpbnMgPSAwOworCXN0YXRl ID0gZHJtX2F0b21pY19zdGF0ZV9hbGxvYyhkZXYpOworCWlmIChXQVJOX09OKCFzdGF0ZSkpCisJ CXJldHVybjsKKworCXN0YXRlLT5hY3F1aXJlX2N0eCA9IGN0eDsKKwlzdGF0ZS0+YWxsb3dfbW9k ZXNldCA9IHRydWU7CisKKwlwaXBlX2NvbmZpZyA9IGludGVsX2F0b21pY19nZXRfY3J0Y19zdGF0 ZShzdGF0ZSwgaW50ZWxfY3J0Yyk7CisJaWYgKElTX0VSUihwaXBlX2NvbmZpZykpIHsKKwkJcmV0 ID0gUFRSX0VSUihwaXBlX2NvbmZpZyk7CisJCWdvdG8gZXJyOworCX0KKwlwaXBlX2NvbmZpZy0+ YmFzZS5hY3RpdmUgPSBlbmFibGU7CisKKwlwbGFuZV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X3Bs YW5lX3N0YXRlKHN0YXRlLCBjcnRjLT5wcmltYXJ5KTsKKwlpZiAoSVNfRVJSKHBsYW5lX3N0YXRl KSkgeworCQlyZXQgPSBQVFJfRVJSKHBsYW5lX3N0YXRlKTsKKwkJZ290byBlcnI7CiAJfQorCisJ cmV0ID0gaW50ZWxfc2V0X21vZGUoY3J0Yywgc3RhdGUpOworCWlmICghcmV0KQorCQlyZXR1cm47 CisKKwlEUk1fRVJST1IoIkZhaWxlZCB0byB0b2dnbGUgY3J0YyFcbiIpOworCitlcnI6CisJRFJN X0VSUk9SKCJVcGRhdGluZyBjcnRjIGFjdGl2ZSBmYWlsZWQgd2l0aCAlaVxuIiwgcmV0KTsKKwlk cm1fYXRvbWljX3N0YXRlX2ZyZWUoc3RhdGUpOwogfQogCiAvKioKLS0gCjIuMS4wCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=