From mboxrd@z Thu Jan 1 00:00:00 1970 From: tom.orourke@intel.com Subject: [RFC 14/22] drm/i915/slpc: Notification of Display mode change Date: Wed, 20 Jan 2016 18:26:16 -0800 Message-ID: <1453343184-160456-15-git-send-email-tom.orourke@intel.com> References: <1453343184-160456-1-git-send-email-tom.orourke@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 329436E1DF for ; Wed, 20 Jan 2016 18:27:26 -0800 (PST) In-Reply-To: <1453343184-160456-1-git-send-email-tom.orourke@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 RnJvbTogU2FnYXIgQXJ1biBLYW1ibGUgPHNhZ2FyLmEua2FtYmxlQGludGVsLmNvbT4KCkd1QyBT TFBDIG5lZWQgdG8gYmUgc2VudCBkYXRhIHJlbGF0ZWQgdG8gQWN0aXZlIHBpcGVzLCByZWZyZXNo IHJhdGVzLAp3aWRpIHBpcGVzLCBmdWxsc2NyZWVuIHBpcGVzIHJlbGF0ZWQgdmlhIGhvc3QgdG8g R3VDIGRpc3BsYXkgbW9kZQpjaGFuZ2UgZXZlbnQuClRoaXMgcGF0Y2ggZGVmaW5lcyB0aGUgZXZl bnQgYW5kIGltcGxlbWVudHMgdHJpZ2dlciBvZiB0aGUgZXZlbnQuCgpTaWduZWQtb2ZmLWJ5OiBT YWdhciBBcnVuIEthbWJsZSA8c2FnYXIuYS5rYW1ibGVAaW50ZWwuY29tPgpBY2tlZC1ieTogVG9t IE8nUm91cmtlIDxUb20uTydSb3Vya2VAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Ns cGMuYyAgICB8IDkyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xwYy5oICAgIHwgIDEgKwogMyBmaWxlcyBjaGFuZ2VkLCA5 NSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDA2 YWI2ZGYuLjdjM2Q5MDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTEz NjM4LDYgKzEzNjM4LDggQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNfY29tbWl0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCiAJICovCiAJaW50ZWxfdW5jb3JlX2FybV91bmNsYWltZWRfbW1pb19k ZXRlY3Rpb24oZGV2X3ByaXYpOwogCisJaW50ZWxfc2xwY191cGRhdGVfZGlzcGxheV9tb2RlX2lu Zm8oZGV2KTsKKwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zbHBjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBjLmMKaW5k ZXggZjE1NWQ4OC4uZjVmN2NhZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfc2xwYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMuYwpAQCAtNzQs NiArNzQsMjcgQEAgc3RhdGljIGludCBob3N0Mmd1Y19zbHBjX3NodXRkb3duKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgaW50IGhv c3QyZ3VjX3NscGNfZGlzcGxheV9tb2RlX2NoYW5nZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCit7CisgICAgICAgIHUzMiBkYXRhWzddOworCWludCByZXQsIGk7CisKKyAgICAg ICAgZGF0YVswXSA9IEhPU1QyR1VDX0FDVElPTl9TTFBDX1JFUVVFU1Q7CisgICAgICAgIGRhdGFb MV0gPSBTTFBDX0VWRU5UKFNMUENfRVZFTlRfRElTUExBWV9NT0RFX0NIQU5HRSwgTUFYX05VTV9P Rl9QSVBFICsgMSk7CisJZGF0YVsyXSA9IGRldl9wcml2LT5ndWMuc2xwYy5kaXNwbGF5X21vZGVf cGFyYW1zLmdsb2JhbF9kYXRhOworCWZvcihpID0gMDsgaSA8IE1BWF9OVU1fT0ZfUElQRTsgKytp KQorCQlkYXRhWzMraV0gPSBkZXZfcHJpdi0+Z3VjLnNscGMuZGlzcGxheV9tb2RlX3BhcmFtcy5w ZXJfcGlwZV9pbmZvW2ldLmRhdGE7CisKKyAgICAgICAgcmV0ID0gaG9zdDJndWNfYWN0aW9uKCZk ZXZfcHJpdi0+Z3VjLCBkYXRhLCA3KTsKKworCWlmICgwID09IHJldCkgeworCQlyZXQgPSBJOTE1 X1JFQUQoU09GVF9TQ1JBVENIKDEpKTsKKwkJcmV0ICY9IDB4RkY7CisJfQorCisJcmV0dXJuIHJl dDsKK30KKwogc3RhdGljIHU4IHNscGNfZ2V0X3BsYXRmb3JtX3NrdShzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvYmotPmJhc2Uu ZGV2OwpAQCAtMjI1LDMgKzI0Niw3NCBAQCBpbnQgaW50ZWxfc2xwY19yZXNldChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQogCiAJcmV0dXJuIHJldDsKIH0KKworaW50IGludGVsX3NscGNfdXBkYXRl X2Rpc3BsYXlfbW9kZV9pbmZvKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJt X2NydGMgKmNydGM7CisJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGM7CisJc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKKwlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9j b25uZWN0b3I7CisJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOworCXN0cnVjdCBpbnRlbF9l bmNvZGVyICppbnRlbF9lbmNvZGVyOworCXN0cnVjdCBpbnRlbF9kaXNwbGF5X3BpcGVfYmFzaWNf aW5mbyAqcGVyX3BpcGVfaW5mbzsKKwlzdHJ1Y3QgaW50ZWxfc2xwY19kaXNwbGF5X21vZGVfZXZl bnRfcGFyYW1zICpjdXJfcGFyYW1zLCBvbGRfcGFyYW1zOworCWJvb2wgbm90aWZ5ID0gZmFsc2U7 CisKKwlpZiAoIUhBU19TTFBDKGRldikpCisJCXJldHVybiAtRUlOVkFMOworCisJY3VyX3BhcmFt cyA9ICZkZXZfcHJpdi0+Z3VjLnNscGMuZGlzcGxheV9tb2RlX3BhcmFtczsKKworCS8qIENvcHkg ZGlzcGxheSBtb2RlIHBhcmFtZXRlcnMgZm9yIGNvbXBhcmlzb24gKi8KKwlvbGRfcGFyYW1zLmds b2JhbF9kYXRhICA9IGN1cl9wYXJhbXMtPmdsb2JhbF9kYXRhOworCWN1cl9wYXJhbXMtPmdsb2Jh bF9kYXRhID0gMDsKKworCWZvcl9lYWNoX2ludGVsX2NydGMoZGV2LCBpbnRlbF9jcnRjKSB7CisJ CXBlcl9waXBlX2luZm8gPSAmY3VyX3BhcmFtcy0+cGVyX3BpcGVfaW5mb1tpbnRlbF9jcnRjLT5w aXBlXTsKKwkJb2xkX3BhcmFtcy5wZXJfcGlwZV9pbmZvW2ludGVsX2NydGMtPnBpcGVdLmRhdGEg PSBwZXJfcGlwZV9pbmZvLT5kYXRhOworCQlwZXJfcGlwZV9pbmZvLT5kYXRhID0gMDsKKwl9CisK Kwlmb3JfZWFjaF9pbnRlbF9jcnRjKGRldiwgaW50ZWxfY3J0YykgeworCQlzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqcGlwZV9jb25maWc7CisKKwkJcGVyX3BpcGVfaW5mbyA9ICZjdXJfcGFyYW1z LT5wZXJfcGlwZV9pbmZvW2ludGVsX2NydGMtPnBpcGVdOworCQljcnRjID0gJmludGVsX2NydGMt PmJhc2U7CisJCXBpcGVfY29uZmlnID0gdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSk7 CisKKwkJaWYgKHBpcGVfY29uZmlnLT5iYXNlLmFjdGl2ZSkgeworCQkJZm9yX2VhY2hfZW5jb2Rl cl9vbl9jcnRjKGRldiwgY3J0YywgaW50ZWxfZW5jb2RlcikgeworCQkJCWVuY29kZXIgPSAmaW50 ZWxfZW5jb2Rlci0+YmFzZTsKKwkJCQlmb3JfZWFjaF9jb25uZWN0b3Jfb25fZW5jb2RlcihkZXYs IGVuY29kZXIsIGludGVsX2Nvbm5lY3RvcikgeworCQkJCQljb25uZWN0b3IgPSAmaW50ZWxfY29u bmVjdG9yLT5iYXNlOworCQkJCQlpZiAoY29ubmVjdG9yLT5zdGF0dXMgPT0gY29ubmVjdG9yX3N0 YXR1c19jb25uZWN0ZWQpIHsKKwkJCQkJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlID0g JmNydGMtPm1vZGU7CisJCQkJCQkvKiBGSVhNRTogVXBkYXRlIGlzX3dpZGkgYmFzZWQgb24gZW5j b2RlciAqLworCQkJCQkJcGVyX3BpcGVfaW5mby0+aXNfd2lkaSA9IDA7CisJCQkJCQlwZXJfcGlw ZV9pbmZvLT5yZWZyZXNoX3JhdGUgPSBtb2RlLT52cmVmcmVzaDsKKwkJCQkJCXBlcl9waXBlX2lu Zm8tPnZzeW5jX2Z0X3VzZWMgPSAxMDAwMDAwIC8gbW9kZS0+dnJlZnJlc2g7CisJCQkJCQljdXJf cGFyYW1zLT5hY3RpdmVfcGlwZXNfYml0bWFzayB8PSAoMSA8PCBpbnRlbF9jcnRjLT5waXBlKTsK KwkJCQkJCWN1cl9wYXJhbXMtPnZiaV9zeW5jX29uX3BpcGVzIHw9ICgxIDw8IGludGVsX2NydGMt PnBpcGUpOworCQkJCQkJY3VyX3BhcmFtcy0+bnVtX2FjdGl2ZV9waXBlcysrOworCQkJCQl9CisJ CQkJfQorCQkJfQorCQl9CisJfQorCisJLyogQ29tcGFyZSBvbGQgZGlzcGxheSBtb2RlIHdpdGgg Y3VycmVudCBtb2RlLiBOb3RpZnkgU0xQQyBpZiBpdCBpcyBjaGFuZ2VkLiAqLworCWlmIChjdXJf cGFyYW1zLT5nbG9iYWxfZGF0YSAhPSBvbGRfcGFyYW1zLmdsb2JhbF9kYXRhKQorCQlub3RpZnkg PSB0cnVlOworCisJZm9yX2VhY2hfaW50ZWxfY3J0YyhkZXYsIGludGVsX2NydGMpIHsKKwkJcGVy X3BpcGVfaW5mbyA9ICZjdXJfcGFyYW1zLT5wZXJfcGlwZV9pbmZvW2ludGVsX2NydGMtPnBpcGVd OworCQlpZiAob2xkX3BhcmFtcy5wZXJfcGlwZV9pbmZvW2ludGVsX2NydGMtPnBpcGVdLmRhdGEg IT0gcGVyX3BpcGVfaW5mby0+ZGF0YSkKKwkJCW5vdGlmeSA9IHRydWU7CisJfQorCisJaWYgKG5v dGlmeSkKKwkJaG9zdDJndWNfc2xwY19kaXNwbGF5X21vZGVfY2hhbmdlKGRldl9wcml2KTsKKwor CXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xw Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2xwYy5oCmluZGV4IDk2NzNhNjMuLjE4 ZTU1MWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBjLmgKQEAgLTE1Miw1ICsxNTIsNiBAQCBp bnQgaW50ZWxfc2xwY19zdXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogaW50IGludGVs X3NscGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIGludCBpbnRlbF9zbHBjX2Vu YWJsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIGludCBpbnRlbF9zbHBjX3Jlc2V0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpOworaW50IGludGVsX3NscGNfdXBkYXRlX2Rpc3BsYXlfbW9kZV9p bmZvKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogCiAjZW5kaWYKLS0gCjEuOS4xCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=