From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wayne Boyer Subject: [PATCH] drm/i915/skl: implement DP Aux Mutex framework Date: Mon, 9 Nov 2015 15:35:06 -0800 Message-ID: <1447112106-20847-1-git-send-email-wayne.boyer@intel.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 8494D6E787 for ; Mon, 9 Nov 2015 15:35:08 -0800 (PST) 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: Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org QmVnaW5uaW5nIHdpdGggU0tMIHRoZSBEUCBBdXggY2hhbm5lbCBjb21tdW5pY2F0aW9uIGNhbiBi ZSBwcm90ZWN0ZWQKdXNpbmcgYSBidWlsdCBpbiBIL1cgbXV0ZXguCgpUaGlzIHBhdGNoIHByb3Zp ZGVzIGFuIGluaXRpYWwgaW1wbGVtZW50YXRpb24gZm9yIHVzaW5nIHRoYXQgbXV0ZXguClRoZSB1 c2UgaXMgY3VycmVudGx5IGxpbWl0ZWQgdG8gcHJvdGVjdGluZyB0aGUgc2luayBjcmMgcmVxdWVz dCBiYXNlZApvbiBmZWVkYmFjayBmcm9tIHRoZSBIL1cgZGVzaWduZXJzIGluZGljYXRpbmcgdGhh dCB1c2luZyB0aGUgbXV0ZXgKZm9yIGFsbCBhdXggY2hhbm5lbCBjb21tdW5pY2F0aW9uIGlzIG5v dCByZWNvbW1lbmRlZC4KCkNjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+ ClNpZ25lZC1vZmYtYnk6IFdheW5lIEJveWVyIDx3YXluZS5ib3llckBpbnRlbC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmggfCAgNSArKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j IHwgNTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDMgZmlsZXMg Y2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCmluZGV4IGIxMjU5NGIuLjk4ZTk5MWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApA QCAtMjYwNCw2ICsyNjA0LDcgQEAgc3RydWN0IGRybV9pOTE1X2NtZF90YWJsZSB7CiAKICNkZWZp bmUgSEFTX0RESShkZXYpCQkoSU5URUxfSU5GTyhkZXYpLT5oYXNfZGRpKQogI2RlZmluZSBIQVNf RlBHQV9EQkdfVU5DTEFJTUVEKGRldikJKElOVEVMX0lORk8oZGV2KS0+aGFzX2ZwZ2FfZGJnKQor I2RlZmluZSBIQVNfQVVYX01VVEVYKGRldikJKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDkpCiAj ZGVmaW5lIEhBU19QU1IoZGV2KQkJKElTX0hBU1dFTEwoZGV2KSB8fCBJU19CUk9BRFdFTEwoZGV2 KSB8fCBcCiAJCQkJIElTX1ZBTExFWVZJRVcoZGV2KSB8fCBJU19DSEVSUllWSUVXKGRldikgfHwg XAogCQkJCSBJU19TS1lMQUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2KSkKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCmluZGV4IDg5NDI1MzIuLmEwMzNlNzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aApAQCAtNDI4OCw2ICs0Mjg4LDExIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewogI2Rl ZmluZSAgIERQX0FVWF9DSF9DVExfRldfU1lOQ19QVUxTRV9TS0woYykgKCgoYykgLSAxKSA8PCA1 KQogI2RlZmluZSAgIERQX0FVWF9DSF9DVExfU1lOQ19QVUxTRV9TS0woYykgICAoKGMpIC0gMSkK IAorI2RlZmluZSBEUF9BVVhfTVVURVhfQQkJCTB4NjQwMkMKKyNkZWZpbmUgRFBfQVVYX01VVEVY X0IJCQkweDY0MTJDCisjZGVmaW5lICAgRFBfQVVYX01VVEVYX0VOQUJMRQkJICAgICgxIDw8IDMx KQorI2RlZmluZSAgIERQX0FVWF9NVVRFWF9TVEFUVVMJCSAgICAoMSA8PCAzMCkKKwogLyoKICAq IENvbXB1dGluZyBHTUNIIE0gYW5kIE4gdmFsdWVzIGZvciB0aGUgRGlzcGxheSBQb3J0IGxpbmsK ICAqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwppbmRleCAyZmFkODczLi5lOWUxMjM5IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwLmMKQEAgLTc4MSw2ICs3ODEsNDcgQEAgc3RhdGljIHVpbnQzMl90IHNr bF9nZXRfYXV4X3NlbmRfY3RsKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJICAgICAgIERQ X0FVWF9DSF9DVExfU1lOQ19QVUxTRV9TS0woMzIpOwogfQogCitzdGF0aWMgYm9vbCBza2xfYXV4 X211dGV4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIGJvb2wgZ2V0KQoreworCXN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxf ZHApOworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNl LmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOworCXVpbnQzMl90IGF1eF9jaF9tdXRleCwgc3RhdHVzOworCWludCBjb3VudCA9IDA7CisK KwlpZiAoIUhBU19BVVhfTVVURVgoZGV2KSkKKwkJcmV0dXJuIGZhbHNlOworCisJLyoKKwkgKiBG SVhNRTogZGV0ZXJtaW5lIGFjdHVhbCBhdXggY2hhbm5lbAorCSAqIEhhcmQgY29kZWQgdG8gY2hh bm5lbCBBIGZvciBub3cgdG8gcHJvdGVjdCBzaW5rIGNyYyByZXF1ZXN0cyBvbiBlRFAuCisJICov CisJYXV4X2NoX211dGV4ID0gRFBfQVVYX01VVEVYX0E7CisKKwlpZiAoIWdldCkgeworCQlJOTE1 X1dSSVRFKGF1eF9jaF9tdXRleCwgRFBfQVVYX01VVEVYX0VOQUJMRSB8IERQX0FVWF9NVVRFWF9T VEFUVVMpOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJLyoKKwkgKiBUaGUgQnNwZWMgc3BlY2lm aWVzIHdhaXRpbmcgNTAwdXMgYmV0d2VlbiBhdHRlbXB0cyB0byBhY3F1aXJlIHRoZQorCSAqIG11 dGV4LiAgVGVuIHJldHJpZXMgc2hvdWxkIGJlIGFkZXF1YXRlIHRvIGJhbGFuY2Ugc3VjY2Vzc2Z1 bGx5CisJICogYWNxdWlybmcgdGhlIG11dGV4IGFuZCBzcGVuZGluZyB0b28gbXVjaCB0aW1lIHRy eWluZy4KKwkgKi8KKwl3aGlsZSAoY291bnQrKyA8IDEwKSB7CisJCUk5MTVfV1JJVEUoYXV4X2No X211dGV4LCBEUF9BVVhfTVVURVhfRU5BQkxFKTsKKwkJc3RhdHVzID0gSTkxNV9SRUFEKGF1eF9j aF9tdXRleCk7CisJCWlmICghKHN0YXR1cyAmIERQX0FVWF9NVVRFWF9TVEFUVVMpKQorCQkJcmV0 dXJuIHRydWU7CisJCXVkZWxheSg1MDApOworCX0KKworCXJldHVybiBmYWxzZTsKK30KKworI2Rl ZmluZSBza2xfYXV4X211dGV4X2dldChkZXYpIHNrbF9hdXhfbXV0ZXgoZGV2LCB0cnVlKQorI2Rl ZmluZSBza2xfYXV4X211dGV4X3B1dChkZXYpIHNrbF9hdXhfbXV0ZXgoZGV2LCBmYWxzZSkKKwog c3RhdGljIGludAogaW50ZWxfZHBfYXV4X2NoKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJ CWNvbnN0IHVpbnQ4X3QgKnNlbmQsIGludCBzZW5kX2J5dGVzLApAQCAtNDE4OCwxMCArNDIyOSwx NCBAQCBpbnQgaW50ZWxfZHBfc2lua19jcmMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgdTgg KmNyYykKIAl1OCBidWY7CiAJaW50IGNvdW50LCByZXQ7CiAJaW50IGF0dGVtcHRzID0gNjsKKwli b29sIGF1eF9tdXRleF9hY3F1aXJlZCA9IGZhbHNlOworCisJYXV4X211dGV4X2FjcXVpcmVkID0g c2tsX2F1eF9tdXRleF9nZXQoaW50ZWxfZHApOwogCiAJcmV0ID0gaW50ZWxfZHBfc2lua19jcmNf c3RhcnQoaW50ZWxfZHApOworCiAJaWYgKHJldCkKLQkJcmV0dXJuIHJldDsKKwkJZ290byByZWxl YXNlOwogCiAJZG8gewogCQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoZGV2LCBpbnRlbF9jcnRjLT5w aXBlKTsKQEAgLTQyMTgsNiArNDI2MywxMSBAQCBpbnQgaW50ZWxfZHBfc2lua19jcmMoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCwgdTggKmNyYykKIAogc3RvcDoKIAlpbnRlbF9kcF9zaW5rX2Ny Y19zdG9wKGludGVsX2RwKTsKKworcmVsZWFzZToKKwlpZiAoYXV4X211dGV4X2FjcXVpcmVkKQor CQlhdXhfbXV0ZXhfYWNxdWlyZWQgPSBza2xfYXV4X211dGV4X3B1dChpbnRlbF9kcCk7CisKIAly ZXR1cm4gcmV0OwogfQogCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK