From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v3.6 16.5/22] drm/i915: Make intel_display_suspend atomic, v2. Date: Tue, 26 May 2015 10:33:13 +0200 Message-ID: <55642FC9.4040305@linux.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-7-git-send-email-maarten.lankhorst@linux.intel.com> <555DD24E.1050101@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id EE52F6E60C for ; Tue, 26 May 2015 01:33:14 -0700 (PDT) In-Reply-To: <555DD24E.1050101@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 Q2FsY3VsYXRlIGFsbCBzdGF0ZSB1c2luZyBhIG5vcm1hbCB0cmFuc2l0aW9uLCBidXQgYWZ0ZXJ3 YXJkcyBmdWRnZQpjcnRjLT5zdGF0ZS0+YWN0aXZlIGJhY2sgdG8gaXRzIG9sZCB2YWx1ZS4gVGhp cyBzaG91bGQgc3RpbGwgYWxsb3cKc3RhdGUgcmVzdG9yZSBpbiBzZXR1cF9od19zdGF0ZSB0byB3 b3JrIHByb3Blcmx5LgoKQ2FsbGluZyBpbnRlbF9zZXRfbW9kZSB3aWxsIGNhdXNlIGludGVsX2Rp c3BsYXlfc2V0X2luaXRfcG93ZXIgdG8gYmUKY2FsbGVkLCBtYWtlIHN1cmUgaW5pdF9wb3dlciBn ZXRzIHNldCBhZ2FpbiBhZnRlcndhcmRzLgoKQ2hhbmdlcyBzaW5jZSB2MToKLSBGaXggdG8gY29t cGlsZSB3aXRoIHYyIG9mIHRoZSBwYXRjaCB0aGF0IGFkZHMgaW50ZWxfZGlzcGxheV9zdXNwZW5k LgotIEFkZCBpbnRlbF9kaXNwbGF5X3NldF9pbml0X3Bvd2VyLgotIFNldCByZXR1cm4gdmFsdWUg dG8gaW50IHRvIGFsbG93IGVycm9yIGNoZWNraW5nLgoKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBM YW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgfCAgMyArKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jIHwgNTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgMiArLQogMyBmaWxl cyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuYwppbmRleCBkMWEwOTBhOWY2NTMuLjY5ZmMzYzcwNTdkZiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5jCkBAIC02MzMsNiArNjMzLDkgQEAgc3RhdGljIGludCBpOTE1X2RybV9zdXNw ZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJaW50ZWxfZGlzcGxheV9zdXNwZW5kKGRldik7 CiAJZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwogCisJLyogc3VzcGVuZGluZyBkaXNwbGF5 cyB3aWxsIHVuc2V0cyBpbml0IHBvd2VyICovCisJaW50ZWxfZGlzcGxheV9zZXRfaW5pdF9wb3dl cihkZXZfcHJpdiwgdHJ1ZSk7CisKIAlpbnRlbF9kcF9tc3Rfc3VzcGVuZChkZXYpOwogCiAJaW50 ZWxfcnVudGltZV9wbV9kaXNhYmxlX2ludGVycnVwdHMoZGV2X3ByaXYpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDMyYmFiMjg0MzJmNy4uMzkyZDZkNjhjYjE0IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC01OTQ5LDI3ICs1OTQ5LDU4IEBAIHN0 YXRpYyB2b2lkIGk5eHhfY3J0Y19kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKICAqIHR1 cm4gYWxsIGNydGMncyBvZmYsIGJ1dCBkbyBub3QgYWRqdXN0IHN0YXRlCiAgKiBUaGlzIGhhcyB0 byBiZSBwYWlyZWQgd2l0aCBhIGNhbGwgdG8gaW50ZWxfbW9kZXNldF9zZXR1cF9od19zdGF0ZS4K ICAqLwotdm9pZCBpbnRlbF9kaXNwbGF5X3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldikK K2ludCBpbnRlbF9kaXNwbGF5X3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0 IGRybV9tb2RlX2NvbmZpZyAqY29uZmlnID0gJmRldi0+bW9kZV9jb25maWc7CisJc3RydWN0IGRy bV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHggPSBjb25maWctPmFjcXVpcmVfY3R4OworCXN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CisJdW5z aWduZWQgY3J0Y19tYXNrID0gMDsKKwlpbnQgcmV0ID0gMDsKKworCWlmIChXQVJOX09OKCFjdHgp KQorCQlyZXR1cm4gMDsKKworCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmN0eC0+d3dfY3R4KTsKKwlz dGF0ZSA9IGRybV9hdG9taWNfc3RhdGVfYWxsb2MoZGV2KTsKKwlpZiAoV0FSTl9PTighc3RhdGUp KQorCQlyZXR1cm4gLUVOT01FTTsKKworCXN0YXRlLT5hY3F1aXJlX2N0eCA9IGN0eDsKKwlzdGF0 ZS0+YWxsb3dfbW9kZXNldCA9IHRydWU7CiAKIAlmb3JfZWFjaF9jcnRjKGRldiwgY3J0Yykgewot CQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Ci0J CWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gZG9tYWluOwotCQl1bnNpZ25lZCBsb25n IGRvbWFpbnM7CisJCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9CisJCQlkcm1f YXRvbWljX2dldF9jcnRjX3N0YXRlKHN0YXRlLCBjcnRjKTsKIAotCQlpZiAoIWludGVsX2NydGMt PmFjdGl2ZSkKKwkJcmV0ID0gUFRSX0VSUl9PUl9aRVJPKGNydGNfc3RhdGUpOworCQlpZiAocmV0 KQorCQkJZ290byBmcmVlOworCisJCWlmICghY3J0Y19zdGF0ZS0+YWN0aXZlKQogCQkJY29udGlu dWU7CiAKLQkJaW50ZWxfY3J0Y19kaXNhYmxlX3BsYW5lcyhjcnRjKTsKLQkJZGV2X3ByaXYtPmRp c3BsYXkuY3J0Y19kaXNhYmxlKGNydGMpOworCQljcnRjX3N0YXRlLT5hY3RpdmUgPSBmYWxzZTsK KwkJY3J0Y19tYXNrIHw9IDEgPDwgZHJtX2NydGNfaW5kZXgoY3J0Yyk7CisJfQogCi0JCWRvbWFp bnMgPSBpbnRlbF9jcnRjLT5lbmFibGVkX3Bvd2VyX2RvbWFpbnM7Ci0JCWZvcl9lYWNoX3Bvd2Vy X2RvbWFpbihkb21haW4sIGRvbWFpbnMpCi0JCQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZf cHJpdiwgZG9tYWluKTsKLQkJaW50ZWxfY3J0Yy0+ZW5hYmxlZF9wb3dlcl9kb21haW5zID0gMDsK KwlpZiAoY3J0Y19tYXNrKSB7CisJCXJldCA9IGludGVsX3NldF9tb2RlKHN0YXRlKTsKKworCQlp ZiAoIXJldCkgeworCQkJZm9yX2VhY2hfY3J0YyhkZXYsIGNydGMpCisJCQkJaWYgKGNydGNfbWFz ayAmICgxIDw8IGRybV9jcnRjX2luZGV4KGNydGMpKSkKKwkJCQkJY3J0Yy0+c3RhdGUtPmFjdGl2 ZSA9IHRydWU7CisKKwkJCXJldHVybiByZXQ7CisJCX0KIAl9CisKK2ZyZWU6CisJaWYgKHJldCkK KwkJRFJNX0VSUk9SKCJTdXNwZW5kaW5nIGNydGMncyBmYWlsZWQgd2l0aCAlaVxuIiwgcmV0KTsK Kwlkcm1fYXRvbWljX3N0YXRlX2ZyZWUoc3RhdGUpOworCXJldHVybiByZXQ7CiB9CiAKIC8qIE1h c3RlciBmdW5jdGlvbiB0byBlbmFibGUvZGlzYWJsZSBDUlRDIGFuZCBjb3JyZXNwb25kaW5nIHBv d2VyIHdlbGxzICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IGMxMTNmMTg3MDkwZi4u NjY1ZTI0OWFlOGJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtOTg4LDcgKzk4OCw3 IEBAIGludCBpbnRlbF9wY2hfcmF3Y2xrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogdm9pZCBp bnRlbF9tYXJrX2J1c3koc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiB2b2lkIGludGVsX21hcmtf aWRsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQgaW50ZWxfY3J0Y19yZXN0b3JlX21v ZGUoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKLXZvaWQgaW50ZWxfZGlzcGxheV9zdXNwZW5kKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOworaW50IGludGVsX2Rpc3BsYXlfc3VzcGVuZChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KTsKIGludCBpbnRlbF9jcnRjX2NvbnRyb2woc3RydWN0IGRybV9jcnRj ICpjcnRjLCBib29sIGVuYWJsZSk7CiB2b2lkIGludGVsX2NydGNfdXBkYXRlX2RwbXMoc3RydWN0 IGRybV9jcnRjICpjcnRjKTsKIHZvaWQgaW50ZWxfZW5jb2Rlcl9kZXN0cm95KHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2Rlcik7Ci0tIAoyLjEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==