From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v3 (rebased) 4/4] drm/i915: Add locking to pll updates, v3. Date: Wed, 23 Mar 2016 14:51:12 +0100 Message-ID: <56F29F50.1090708@linux.intel.com> References: <1457944075-14123-1-git-send-email-maarten.lankhorst@linux.intel.com> <1457944075-14123-5-git-send-email-maarten.lankhorst@linux.intel.com> <1458145178.2596.45.camel@gmail.com> <56E99C52.3080805@linux.intel.com> <1458206173.2706.31.camel@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id B684C6E0D1 for ; Wed, 23 Mar 2016 13:51:14 +0000 (UTC) In-Reply-To: <1458206173.2706.31.camel@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ander Conselvan De Oliveira , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org V2l0aCBhc3luYyBtb2Rlc2V0cyB0aGlzIGlzIG5vIGxvbmdlciBwcm90ZWN0ZWQgd2l0aCBjb25u ZWN0aW9uX211dGV4LApzbyBlbnN1cmUgdGhhdCBlYWNoIHBsbCBoYXMgaXRzIG93biBsb2NrLiBU aGUgcGxsIGNvbmZpZ3VyYXRpb24gc3RhdGUKaXMgc3RpbGwgcHJvdGVjdGVkOyBpdCdzIG9ubHkg dGhlIHBsbCB1cGRhdGVzIHRoYXQgbmVlZCBsb2NraW5nIGFnYWluc3QKY29uY3VycmVuY3kuCgpD aGFuZ2VzIHNpbmNlIHYxOgotIFJlYmFzZWQuCi0gRml4IGxvY2tpbmcgdG8gcHJvdGVjdCBhbGwg YWNjZXNzZXMuIChEdXJnYWRvc3MpCkNoYW5nZXMgc2luY2UgdjI6Ci0gTWFrZSB0aGUgZHBsbF9s b2NrIGdsb2JhbCB0byBwcm90ZWN0IGNvbmN1cnJlbnQgdXBkYXRlcyB0byB0aGUKICBzYW1lIHJl Z2lzdGVyLCBmb3IgZXhhbXBsZSBEUExMX0NUUkwxIG9uIHNrbC4gKEFuZGVyKQoKU2lnbmVkLW9m Zi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KLS0tCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCAwNmU0NzczYWU3ZjYuLmE2NjczMjc0 NDQ5NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0xODU0LDYgKzE4NTQsMTMgQEAgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgewogCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCBzaGFyZWRf ZHBsbHNbSTkxNV9OVU1fUExMU107CiAJY29uc3Qgc3RydWN0IGludGVsX2RwbGxfbWdyICpkcGxs X21ncjsKIAorCS8qCisJICogZHBsbF9sb2NrIHNlcmlhbGl6ZXMgaW50ZWxfe3ByZXBhcmUsZW5h YmxlLGRpc2FibGV9X3NoYXJlZF9kcGxsLgorCSAqIE11c3QgYmUgZ2xvYmFsIHJhdGhlciB0aGFu IHBlciBkcGxsLCBiZWNhdXNlIG9uIHNvbWUgcGxhdGZvcm1zCisJICogcGxscyBzaGFyZSByZWdp c3RlcnMuCisJICovCisJc3RydWN0IG11dGV4IGRwbGxfbG9jazsKKwogCXVuc2lnbmVkIGludCBh Y3RpdmVfY3J0Y3M7CiAJdW5zaWduZWQgaW50IG1pbl9waXhjbGtbSTkxNV9NQVhfUElQRVNdOwog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYwppbmRleCAxOWJmZTY3NDNlZjIuLjEx NzVlZWJmZTAzYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9t Z3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCkBAIC04OSwx NCArODksMTYgQEAgdm9pZCBpbnRlbF9wcmVwYXJlX3NoYXJlZF9kcGxsKHN0cnVjdCBpbnRlbF9j cnRjICpjcnRjKQogCWlmIChXQVJOX09OKHBsbCA9PSBOVUxMKSkKIAkJcmV0dXJuOwogCisJbXV0 ZXhfbG9jaygmZGV2X3ByaXYtPmRwbGxfbG9jayk7CiAJV0FSTl9PTighcGxsLT5jb25maWcuY3J0 Y19tYXNrKTsKLQlpZiAocGxsLT5hY3RpdmVfbWFzayA9PSAwKSB7CisJaWYgKCFwbGwtPmFjdGl2 ZV9tYXNrKSB7CiAJCURSTV9ERUJVR19EUklWRVIoInNldHRpbmcgdXAgJXNcbiIsIHBsbC0+bmFt ZSk7CiAJCVdBUk5fT04ocGxsLT5vbik7CiAJCWFzc2VydF9zaGFyZWRfZHBsbF9kaXNhYmxlZChk ZXZfcHJpdiwgcGxsKTsKIAogCQlwbGwtPmZ1bmNzLm1vZGVfc2V0KGRldl9wcml2LCBwbGwpOwog CX0KKwltdXRleF91bmxvY2soJmRldl9wcml2LT5kcGxsX2xvY2spOwogfQogCiAvKioKQEAgLTEx MywxNCArMTE1LDE3IEBAIHZvaWQgaW50ZWxfZW5hYmxlX3NoYXJlZF9kcGxsKHN0cnVjdCBpbnRl bF9jcnRjICpjcnRjKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwgPSBjcnRjLT5jb25m aWctPnNoYXJlZF9kcGxsOwogCXVuc2lnbmVkIGNydGNfbWFzayA9IDEgPDwgZHJtX2NydGNfaW5k ZXgoJmNydGMtPmJhc2UpOwotCXVuc2lnbmVkIG9sZF9tYXNrID0gcGxsLT5hY3RpdmVfbWFzazsK Kwl1bnNpZ25lZCBvbGRfbWFzazsKIAogCWlmIChXQVJOX09OKHBsbCA9PSBOVUxMKSkKIAkJcmV0 dXJuOwogCisJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRwbGxfbG9jayk7CisJb2xkX21hc2sgPSBw bGwtPmFjdGl2ZV9tYXNrOworCiAJaWYgKFdBUk5fT04oIShwbGwtPmNvbmZpZy5jcnRjX21hc2sg JiBjcnRjX21hc2spKSB8fAogCSAgICBXQVJOX09OKHBsbC0+YWN0aXZlX21hc2sgJiBjcnRjX21h c2spKQotCQlyZXR1cm47CisJCWdvdG8gb3V0OwogCiAJcGxsLT5hY3RpdmVfbWFzayB8PSBjcnRj X21hc2s7CiAKQEAgLTEzMSwxMyArMTM2LDE2IEBAIHZvaWQgaW50ZWxfZW5hYmxlX3NoYXJlZF9k cGxsKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCWlmIChvbGRfbWFzaykgewogCQlXQVJOX09O KCFwbGwtPm9uKTsKIAkJYXNzZXJ0X3NoYXJlZF9kcGxsX2VuYWJsZWQoZGV2X3ByaXYsIHBsbCk7 Ci0JCXJldHVybjsKKwkJZ290byBvdXQ7CiAJfQogCVdBUk5fT04ocGxsLT5vbik7CiAKIAlEUk1f REVCVUdfS01TKCJlbmFibGluZyAlc1xuIiwgcGxsLT5uYW1lKTsKIAlwbGwtPmZ1bmNzLmVuYWJs ZShkZXZfcHJpdiwgcGxsKTsKIAlwbGwtPm9uID0gdHJ1ZTsKKworb3V0OgorCW11dGV4X3VubG9j aygmZGV2X3ByaXYtPmRwbGxfbG9jayk7CiB9CiAKIHZvaWQgaW50ZWxfZGlzYWJsZV9zaGFyZWRf ZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKQEAgLTE1NCw4ICsxNjIsOSBAQCB2b2lkIGlu dGVsX2Rpc2FibGVfc2hhcmVkX2RwbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJaWYgKHBs bCA9PSBOVUxMKQogCQlyZXR1cm47CiAKKwltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZHBsbF9sb2Nr KTsKIAlpZiAoV0FSTl9PTighKHBsbC0+YWN0aXZlX21hc2sgJiBjcnRjX21hc2spKSkKLQkJcmV0 dXJuOworCQlnb3RvIG91dDsKIAogCURSTV9ERUJVR19LTVMoImRpc2FibGUgJXMgKGFjdGl2ZSAl eCwgb24/ICVkKSBmb3IgY3J0YyAlZFxuIiwKIAkJICAgICAgcGxsLT5uYW1lLCBwbGwtPmFjdGl2 ZV9tYXNrLCBwbGwtPm9uLApAQCAtMTY2LDExICsxNzUsMTQgQEAgdm9pZCBpbnRlbF9kaXNhYmxl X3NoYXJlZF9kcGxsKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCiAJcGxsLT5hY3RpdmVfbWFz ayAmPSB+Y3J0Y19tYXNrOwogCWlmIChwbGwtPmFjdGl2ZV9tYXNrKQotCQlyZXR1cm47CisJCWdv dG8gb3V0OwogCiAJRFJNX0RFQlVHX0tNUygiZGlzYWJsaW5nICVzXG4iLCBwbGwtPm5hbWUpOwog CXBsbC0+ZnVuY3MuZGlzYWJsZShkZXZfcHJpdiwgcGxsKTsKIAlwbGwtPm9uID0gZmFsc2U7CisK K291dDoKKwltdXRleF91bmxvY2soJmRldl9wcml2LT5kcGxsX2xvY2spOwogfQogCiBzdGF0aWMg c3RydWN0IGludGVsX3NoYXJlZF9kcGxsICoKQEAgLTE3NTAsNiArMTc2Miw3IEBAIHZvaWQgaW50 ZWxfc2hhcmVkX2RwbGxfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJZGV2X3ByaXYt PmRwbGxfbWdyID0gZHBsbF9tZ3I7CiAJZGV2X3ByaXYtPm51bV9zaGFyZWRfZHBsbCA9IGk7CisJ bXV0ZXhfaW5pdCgmZGV2X3ByaXYtPmRwbGxfbG9jayk7CiAKIAlCVUdfT04oZGV2X3ByaXYtPm51 bV9zaGFyZWRfZHBsbCA+IEk5MTVfTlVNX1BMTFMpOwogCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK