From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH 1/2] drm/i915/BXT: Fixed COS blanking issue Date: Tue, 2 Feb 2016 23:24:16 +0530 Message-ID: <1454435657-29027-1-git-send-email-ramalingam.c@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 23AA96E2E4 for ; Tue, 2 Feb 2016 10:03:14 -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: jani.nikula@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4KCkR1cmluZyBDaGFyZ2lu ZyBPUyBtb2RlLCBtaXBpIGRpc3BsYXkgd2FzIGJsYW5raW5nLlRoaXMgaXMKYmVjYXVzZSBkdXJp bmcgZHJpdmVyIGxvYWQsIHRob3VnaCBlbmNvZGVyLCBjb25uZWN0b3Igd2VyZQphY3RpdmUgYnV0 IGNydGMgcmV0dXJuZWQgaW5hY3RpdmUuIFRoaXMgY2F1c2VkIHNhbml0aXplCmZ1bmN0aW9uIHRv IGRpc2FibGUgdGhlIERTSSBwYW5lbC4gSW4gQU9TLCB0aGlzIGlzIGZpbmUKc2luY2UgSFdDIHdp bGwgZG8gYSBtb2Rlc2V0IGFuZCBjcnRjLCBjb25uZWN0b3IsIGVuY29kZXIKbWFwcGluZyB3aWxs IGJlIHJlc3RvcmVkLiBCdXQgaW4gQ09TLCBubyBtb2Rlc2V0IGlzIGNhbGxlZCwKaXQganVzdCBj YWxscyBEUE1TIE9OL09GRi4KClRoaXMgaXMgZmluZSBvbiBCWVQvQ0hUIHNpbmNlIHRyYW5zY29k ZXIgaXMgY29tbW9uIGIvdwphbGwgZW5jb2RlcnMuIEJ1dCBmb3IgQlhULCB0aGVyZSBpcyBhIHNl cGFyYXRlIG1pcGkKdHJhbnNjb2Rlci4gSGVuY2UgdGhpcyBuZWVkcyBzcGVjaWFsIGhhbmRsaW5n IGZvciBCWFQuCgpTaWduZWQtb2ZmLWJ5OiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwu Y29tPgpTaWduZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgIDEwNyArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMTAxIGluc2VydGlv bnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmlu ZGV4IGE2NjIyMGEuLmY4Njg1ZjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK QEAgLTc4MTQsNiArNzgxNCw2OSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9zZXRfcGlwZV90aW1pbmdz KHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQogCQkgICAoaW50ZWxfY3J0Yy0+Y29uZmln LT5waXBlX3NyY19oIC0gMSkpOwogfQogCitzdGF0aWMgdm9pZCBpbnRlbF9nZXRfZHNpX3BpcGVf dGltaW5ncyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKKwkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqcGlwZV9jb25maWcpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMt PmJhc2UuZGV2OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2 X3ByaXZhdGU7CisJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gcGlwZV9jb25maWct PmNwdV90cmFuc2NvZGVyOworCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyOworCXVpbnQz Ml90IHRtcDsKKworCXRtcCA9IEk5MTVfUkVBRChIVE9UQUwoY3B1X3RyYW5zY29kZXIpKTsKKwlw aXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfaGRpc3BsYXkgPSAodG1wICYgMHhm ZmZmKSArIDE7CisJcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2h0b3RhbCA9 CisJCQkJCQkoKHRtcCA+PiAxNikgJiAweGZmZmYpICsgMTsKKwl0bXAgPSBJOTE1X1JFQUQoSEJM QU5LKGNwdV90cmFuc2NvZGVyKSk7CisJcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5j cnRjX2hibGFua19zdGFydCA9ICh0bXAgJiAweGZmZmYpICsgMTsKKwlwaXBlX2NvbmZpZy0+YmFz ZS5hZGp1c3RlZF9tb2RlLmNydGNfaGJsYW5rX2VuZCA9CisJCQkJCQkoKHRtcCA+PiAxNikgJiAw eGZmZmYpICsgMTsKKwl0bXAgPSBJOTE1X1JFQUQoSFNZTkMoY3B1X3RyYW5zY29kZXIpKTsKKwlw aXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfaHN5bmNfc3RhcnQgPSAodG1wICYg MHhmZmZmKSArIDE7CisJcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2hzeW5j X2VuZCA9CisJCQkJCQkoKHRtcCA+PiAxNikgJiAweGZmZmYpICsgMTsKKworCXRtcCA9IEk5MTVf UkVBRChWQkxBTksoY3B1X3RyYW5zY29kZXIpKTsKKwlwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3Rl ZF9tb2RlLmNydGNfdmJsYW5rX3N0YXJ0ID0gKHRtcCAmIDB4ZmZmZikgKyAxOworCXBpcGVfY29u ZmlnLT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y192YmxhbmtfZW5kID0KKwkJCQkJCSgodG1wID4+ IDE2KSAmIDB4ZmZmZikgKyAxOworCXRtcCA9IEk5MTVfUkVBRChWU1lOQyhjcHVfdHJhbnNjb2Rl cikpOworCXBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y192c3luY19zdGFydCA9 ICh0bXAgJiAweGZmZmYpICsgMTsKKwlwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLmNy dGNfdnN5bmNfZW5kID0KKwkJCQkJCSgodG1wID4+IDE2KSAmIDB4ZmZmZikgKyAxOworCisJaWYg KEk5MTVfUkVBRChQSVBFQ09ORihjcHVfdHJhbnNjb2RlcikpICYgUElQRUNPTkZfSU5URVJMQUNF X01BU0spIHsKKwkJcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5mbGFncyB8PQorCQkJ CQkJRFJNX01PREVfRkxBR19JTlRFUkxBQ0U7CisJCXBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVk X21vZGUuY3J0Y192dG90YWwgKz0gMTsKKwkJcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9k ZS5jcnRjX3ZibGFua19lbmQgKz0gMTsKKwl9CisKKworCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0 YyhkZXYsICZjcnRjLT5iYXNlLCBlbmNvZGVyKSB7CisJCXN0cnVjdCBpbnRlbF9kc2kgKmludGVs X2RzaSA9CisJCQllbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKKwkJZW51bSBwb3J0 IHBvcnQ7CisKKwkJcGlwZV9jb25maWctPnBpcGVfYnBwID0gaW50ZWxfZHNpLT5kc2lfYnBwOwor CQlmb3JfZWFjaF9kc2lfcG9ydChwb3J0LCBpbnRlbF9kc2ktPnBvcnRzKSB7CisJCQlwaXBlX2Nv bmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfaGRpc3BsYXkgPQorCQkJCUk5MTVfUkVBRChC WFRfTUlQSV9UUkFOU19IQUNUSVZFKHBvcnQpKTsKKwkJCXBpcGVfY29uZmlnLT5iYXNlLmFkanVz dGVkX21vZGUuY3J0Y192ZGlzcGxheSA9CisJCQkJSTkxNV9SRUFEKEJYVF9NSVBJX1RSQU5TX1ZB Q1RJVkUocG9ydCkpOworCQkJcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX3Z0 b3RhbCA9CisJCQkJSTkxNV9SRUFEKEJYVF9NSVBJX1RSQU5TX1ZUT1RBTChwb3J0KSk7CisJCX0K Kwl9CisKKwl0bXAgPSBJOTE1X1JFQUQoUElQRVNSQyhjcnRjLT5waXBlKSk7CisJcGlwZV9jb25m aWctPnBpcGVfc3JjX2ggPSAodG1wICYgMHhmZmZmKSArIDE7CisJcGlwZV9jb25maWctPnBpcGVf c3JjX3cgPSAoKHRtcCA+PiAxNikgJiAweGZmZmYpICsgMTsKKworCXBpcGVfY29uZmlnLT5iYXNl Lm1vZGUudmRpc3BsYXkgPSBwaXBlX2NvbmZpZy0+cGlwZV9zcmNfaDsKKwlwaXBlX2NvbmZpZy0+ YmFzZS5tb2RlLmhkaXNwbGF5ID0gcGlwZV9jb25maWctPnBpcGVfc3JjX3c7Cit9CisKIHN0YXRp YyB2b2lkIGludGVsX2dldF9waXBlX3RpbWluZ3Moc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJ CQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQogewpAQCAtOTk2OSw2 ICsxMDAzMiw3IEBAIHN0YXRpYyBib29sIGhhc3dlbGxfZ2V0X3BpcGVfY29uZmlnKHN0cnVjdCBp bnRlbF9jcnRjICpjcnRjLAogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl di0+ZGV2X3ByaXZhdGU7CiAJZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBwZml0X2Rv bWFpbjsKIAl1aW50MzJfdCB0bXA7CisJYm9vbCBpc19kc2kgPSBmYWxzZTsKIAogCWlmICghaW50 ZWxfZGlzcGxheV9wb3dlcl9pc19lbmFibGVkKGRldl9wcml2LAogCQkJCQkgUE9XRVJfRE9NQUlO X1BJUEUoY3J0Yy0+cGlwZSkpKQpAQCAtOTk5OSwxNyArMTAwNjMsNDggQEAgc3RhdGljIGJvb2wg aGFzd2VsbF9nZXRfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJCQlwaXBl X2NvbmZpZy0+Y3B1X3RyYW5zY29kZXIgPSBUUkFOU0NPREVSX0VEUDsKIAl9CiAKKwlpZiAoZGV2 X3ByaXYtPnZidC5oYXNfbWlwaSkgeworCQllbnVtIHBvcnQgcG9ydF9udW0gPSAoZGV2X3ByaXYt PnZidC5kc2kucG9ydCA9PSBEVk9fUE9SVF9NSVBJQSkKKwkJCQkJPyBQT1JUX0EgOiBQT1JUX0M7 CisJCXVpbnQzMl90IGRzaV9jdHJsID0gSTkxNV9SRUFEKE1JUElfQ1RSTChwb3J0X251bSkpOwor CisJCXRtcCA9IEk5MTVfUkVBRChCWFRfTUlQSV9QT1JUX0NUUkwocG9ydF9udW0pKTsKKwkJaWYg KHRtcCAmIERQSV9FTkFCTEUpIHsKKwkJCWVudW0gcGlwZSB0cmFuc19kc2lfcGlwZTsKKworCQkJ c3dpdGNoIChkc2lfY3RybCAmIEJYVF9QSVBFX1NFTEVDVF9NQVNLKSB7CisJCQlkZWZhdWx0Ogor CQkJCVdBUk4oMSwgInVua25vd24gcGlwZSBsaW5rZWQgdG8gZHNpIHRyYW5zY29kZXJcbiIpOwor CQkJCXJldHVybiBmYWxzZTsKKwkJCWNhc2UgQlhUX1BJUEVfU0VMRUNUX0E6CisJCQkJdHJhbnNf ZHNpX3BpcGUgPSBQSVBFX0E7CisJCQkJYnJlYWs7CisJCQljYXNlIEJYVF9QSVBFX1NFTEVDVF9C OgorCQkJCXRyYW5zX2RzaV9waXBlID0gUElQRV9COworCQkJCWJyZWFrOworCQkJY2FzZSBCWFRf UElQRV9TRUxFQ1RfQzoKKwkJCQl0cmFuc19kc2lfcGlwZSA9IFBJUEVfQzsKKwkJCQlicmVhazsK KwkJCX0KKworCQkJaWYgKHRyYW5zX2RzaV9waXBlID09IGNydGMtPnBpcGUpCisJCQkJaXNfZHNp ID0gdHJ1ZTsKKwkJfQorCX0KKwogCWlmICghaW50ZWxfZGlzcGxheV9wb3dlcl9pc19lbmFibGVk KGRldl9wcml2LAogCQkJUE9XRVJfRE9NQUlOX1RSQU5TQ09ERVIocGlwZV9jb25maWctPmNwdV90 cmFuc2NvZGVyKSkpCiAJCXJldHVybiBmYWxzZTsKIAotCXRtcCA9IEk5MTVfUkVBRChQSVBFQ09O RihwaXBlX2NvbmZpZy0+Y3B1X3RyYW5zY29kZXIpKTsKLQlpZiAoISh0bXAgJiBQSVBFQ09ORl9F TkFCTEUpKQotCQlyZXR1cm4gZmFsc2U7Ci0KLQloYXN3ZWxsX2dldF9kZGlfcG9ydF9zdGF0ZShj cnRjLCBwaXBlX2NvbmZpZyk7CisJaWYgKCFpc19kc2kpIHsKKwkJdG1wID0gSTkxNV9SRUFEKFBJ UEVDT05GKHBpcGVfY29uZmlnLT5jcHVfdHJhbnNjb2RlcikpOworCQlpZiAoISh0bXAgJiBQSVBF Q09ORl9FTkFCTEUpKQorCQkJcmV0dXJuIGZhbHNlOwogCi0JaW50ZWxfZ2V0X3BpcGVfdGltaW5n cyhjcnRjLCBwaXBlX2NvbmZpZyk7CisJCWhhc3dlbGxfZ2V0X2RkaV9wb3J0X3N0YXRlKGNydGMs IHBpcGVfY29uZmlnKTsKKwkJaW50ZWxfZ2V0X3BpcGVfdGltaW5ncyhjcnRjLCBwaXBlX2NvbmZp Zyk7CisJfSBlbHNlCisJCWludGVsX2dldF9kc2lfcGlwZV90aW1pbmdzKGNydGMsIHBpcGVfY29u ZmlnKTsKIAogCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5KSB7CiAJCXNrbF9pbml0X3Nj YWxlcnMoZGV2LCBjcnRjLCBwaXBlX2NvbmZpZyk7Ci0tIAoxLjcuOS41CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=