From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kumar, Mahesh" Subject: [PATCH v4] drm/i915/bxt: Implement Transition WM Date: Wed, 14 Sep 2016 17:24:23 +0530 Message-ID: <20160914115423.6349-1-mahesh1.kumar@intel.com> References: <20160909080106.17506-10-mahesh1.kumar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 851F56E1B7 for ; Wed, 14 Sep 2016 11:54:25 +0000 (UTC) In-Reply-To: <20160909080106.17506-10-mahesh1.kumar@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 Cc: paulo.r.zanoni@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogTWFoZXNoIEt1bWFyIDxtYWhlc2gxLmt1bWFyQGludGVsLmNvbT4KClRoaXMgcGF0Y2gg ZW5hYmxlcyBUcmFuc2l0aW9uIFdNIGZvciBTS0wrIHBsYXRmb3Jtcy4KClRyYW5zaXRpb24gV00g YXJlIHVzZWQgaWYgSVBDIGlzIGVuYWJsZWQsIHRvIGRlY2lkZSwgbnVtYmVyIG9mIGJsb2Nrcwp0 byBiZSBmZXRjaGVkIGJlZm9yZSByZWR1Y2luZyB0aGUgcHJpb3JpdHkgb2YgZGlzcGxheSB0byBm ZXRjaCBmcm9tCm1lbW9yeS4KCkNoYW5nZXMgc2luY2UgdjE6CiAtIERvbid0IGVuYWJsZSB0cmFu c2l0aW9uIFdNIGZvciBHRU45IChBcnQvUGF1bG8pCiAtIFJlYmFzZSB0byB1c2UgZml4ZWQgcG9p bnQgMTYuMTYgY2FsY3VsYXRpb24KIC0gRml4IHRoZSB1c2Ugb2Ygc2VsZWN0ZWQgcmVzdWx0IGZy b20gbGF0ZW5jeSBsZXZlbC0wCgpDaGFuZ2VzIHNpbmNlIHYyOgogLSBGaXggdHJhbnNpdGlvbiBX TSBlbmFibGUgY29uZGl0aW9uCgpTaWduZWQtb2ZmLWJ5OiBNYWhlc2ggS3VtYXIgPG1haGVzaDEu a3VtYXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgfCA2 MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5n ZWQsIDU3IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bt LmMKaW5kZXggZGUyZTczOC4uNDgxNGExYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCkBAIC0y ODYyLDYgKzI4NjIsOCBAQCBib29sIGlsa19kaXNhYmxlX2xwX3dtKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiAKICNkZWZpbmUgU0tMX0REQl9TSVpFCQk4OTYJLyogaW4gYmxvY2tzICovCiAjZGVm aW5lIEJYVF9EREJfU0laRQkJNTEyCisjZGVmaW5lIFNLTF9UUkFOU19XTV9BTU9VTlQJMTAJLyog dHVuYWJsZSB2YWx1ZSAqLworI2RlZmluZSBTS0xfVFJBTlNfV01fTUlOCTE0CiAjZGVmaW5lIFNL TF9TQUdWX0JMT0NLX1RJTUUJMzAgLyogwrVzICovCiAKIC8qCkBAIC0zNTgzLDYgKzM1ODUsNDgg QEAgc3RhdGljIHVpbnQzMl90IHNrbF9hZGp1c3RlZF9wbGFuZV9waXhlbF9yYXRlKGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3QKIAlyZXR1cm4gcGl4ZWxfcmF0ZTsKIH0KIAorc3Rh dGljIHZvaWQgc2tsX2NvbXB1dGVfcGxhbmVfdHJhbnNfd20oY29uc3Qgc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAorCQkJCQlzdHJ1Y3Qgc2tsX3BpcGVfd20gKnBpcGVfd20sCisJ CQkJCXN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqaW50ZWxfcHN0YXRlLAorCQkJCQl1aW50MzJf dCBzZWxlY3RlZF9yZXN1bHQsCisJCQkJCXVpbnQzMl90IHlfdGlsZV9taW4sCisJCQkJCWJvb2wg eV90aWxlKQoreworCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBzdGF0ZSA9ICZpbnRlbF9wc3Rh dGUtPmJhc2U7CisJaW50IGlkID0gc2tsX3dtX3BsYW5lX2lkKHRvX2ludGVsX3BsYW5lKHBzdGF0 ZS0+cGxhbmUpKTsKKwl1aW50MTZfdCAqb3V0X2Jsb2NrcyA9ICZwaXBlX3dtLT50cmFuc193bS5w bGFuZV9yZXNfYltpZF07CisJdWludDhfdCAqb3V0X2xpbmVzID0gJnBpcGVfd20tPnRyYW5zX3dt LnBsYW5lX3Jlc19sW2lkXTsKKwl1aW50MzJfdCB0cmFuc19taW4gPSAwLCB0cmFuc19vZmZzZXRf YmxvY2tzOworCXVpbnQzMl90IHRyYW5zX3lfdGlsZV9taW4gPSAwLCByZXNfYmxvY2tzID0gMDsK Kwl1aW50MTZfdCB0cmFuc19yZXNfYmxvY2tzID0gMDsKKworCS8qIEtlZXAgVHJhbnMgV00gZGlz YWJsZWQgZm9yIEdFTjkgKi8KKwlpZiAoSVNfR0VOOShkZXZfcHJpdikpCisJCWdvdG8gZXhpdDsK KworCXRyYW5zX21pbiA9IFNLTF9UUkFOU19XTV9NSU47CisKKwl0cmFuc19vZmZzZXRfYmxvY2tz ID0gKHRyYW5zX21pbiArIFNLTF9UUkFOU19XTV9BTU9VTlQpIDw8IDE2OworCisJaWYgKHlfdGls ZSkgeworCQl0cmFuc195X3RpbGVfbWluID0gMiAqIHlfdGlsZV9taW47CisJCXJlc19ibG9ja3Mg PSBtYXgodHJhbnNfeV90aWxlX21pbiwgc2VsZWN0ZWRfcmVzdWx0KSArCisJCQl0cmFuc19vZmZz ZXRfYmxvY2tzOworCX0gZWxzZSB7CisJCXJlc19ibG9ja3MgPSBzZWxlY3RlZF9yZXN1bHQgKyB0 cmFuc19vZmZzZXRfYmxvY2tzOworCX0KKworCXRyYW5zX3Jlc19ibG9ja3MgPSBESVZfUk9VTkRf VVAocmVzX2Jsb2NrcywgMSA8PCAxNikgKyAxOworCisJLyogV0EgQlVHOjE5Mzg0NjYgYWRkIG9u ZSBibG9jayBmb3Igbm9uIHktdGlsZSBwbGFuZXMgKi8KKwlpZiAoIXlfdGlsZSkKKwkJdHJhbnNf cmVzX2Jsb2NrcyArPSAxOworZXhpdDoKKwkqb3V0X2Jsb2NrcyA9IHRyYW5zX3Jlc19ibG9ja3M7 CisJKm91dF9saW5lcyA9IDA7Cit9CisKKwogc3RhdGljIGludCBza2xfY29tcHV0ZV9wbGFuZV93 bShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKIAkJCQlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKmlu dGVsX3BzdGF0ZSwKQEAgLTM3MDksNiArMzc1Myw5IEBAIHN0YXRpYyBpbnQgc2tsX2NvbXB1dGVf cGxhbmVfd20oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCSpvdXRf YmxvY2tzID0gcmVzX2Jsb2NrczsKIAkqb3V0X2xpbmVzID0gcmVzX2xpbmVzOwogCisJaWYgKGxl dmVsID09IDApCisJCXNrbF9jb21wdXRlX3BsYW5lX3RyYW5zX3dtKGRldl9wcml2LCBwaXBlX3dt LCBpbnRlbF9wc3RhdGUsCisJCQkJc2VsZWN0ZWRfcmVzdWx0LCB5X3RpbGVfbWluaW11bSwgeV90 aWxlZCk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTM3NzgsMTEgKzM4MjUsMTMgQEAgc2tsX2NvbXB1 dGVfbGluZXRpbWVfd20oc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSkKIH0KIAogc3Rh dGljIHZvaWQgc2tsX2NvbXB1dGVfdHJhbnNpdGlvbl93bShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3N0YXRlLAotCQkJCSAgICAgIHN0cnVjdCBza2xfd21fbGV2ZWwgKnRyYW5zX3dtIC8qIG91 dCAqLykKKwkJCQkgICAgICBzdHJ1Y3Qgc2tsX3dtX2xldmVsICp0cmFuc193bSwgLyogb3V0ICov CisJCQkJICAgICAgc3RydWN0IHNrbF9kZGJfYWxsb2NhdGlvbiAqZGRiKQogewogCXN0cnVjdCBk cm1fY3J0YyAqY3J0YyA9IGNzdGF0ZS0+YmFzZS5jcnRjOwogCXN0cnVjdCBpbnRlbF9jcnRjICpp bnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmlu dGVsX3BsYW5lOworCWVudW0gcGlwZSBwaXBlID0gdG9faW50ZWxfY3J0YyhjcnRjKS0+cGlwZTsK IAogCWlmICghY3N0YXRlLT5iYXNlLmFjdGl2ZSkKIAkJcmV0dXJuOwpAQCAtMzc5MCw4ICszODM5 LDEzIEBAIHN0YXRpYyB2b2lkIHNrbF9jb21wdXRlX3RyYW5zaXRpb25fd20oc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNzdGF0ZSwKIAkvKiBVbnRpbCB3ZSBrbm93IG1vcmUsIGp1c3QgZGlzYWJs ZSB0cmFuc2l0aW9uIFdNcyAqLwogCWZvcl9lYWNoX2ludGVsX3BsYW5lX29uX2NydGMoY3J0Yy0+ ZGV2LCBpbnRlbF9jcnRjLCBpbnRlbF9wbGFuZSkgewogCQlpbnQgaSA9IHNrbF93bV9wbGFuZV9p ZChpbnRlbF9wbGFuZSk7CisJCXVpbnQxNl90IHBsYW5lX2RkYiA9IHNrbF9kZGJfZW50cnlfc2l6 ZSgmZGRiLT5wbGFuZVtwaXBlXVtpXSk7CisJCXVpbnQxNl90IHRyYW5zX3Jlc19ibG9ja3MgPSB0 cmFuc193bS0+cGxhbmVfcmVzX2JbaV07CiAKLQkJdHJhbnNfd20tPnBsYW5lX2VuW2ldID0gZmFs c2U7CisJCWlmICgodHJhbnNfcmVzX2Jsb2NrcyA+IDApICYmICh0cmFuc19yZXNfYmxvY2tzIDw9 IHBsYW5lX2RkYikpCisJCQl0cmFuc193bS0+cGxhbmVfZW5baV0gPSB0cnVlOworCQllbHNlCisJ CQl0cmFuc193bS0+cGxhbmVfZW5baV0gPSBmYWxzZTsKIAl9CiB9CiAKQEAgLTM4MjIsNyArMzg3 Niw3IEBAIHN0YXRpYyBpbnQgc2tsX2J1aWxkX3BpcGVfd20oc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNzdGF0ZSwKIAogCXBpcGVfd20tPmxpbmV0aW1lID0gc2tsX2NvbXB1dGVfbGluZXRpbWVf d20oY3N0YXRlKTsKIAotCXNrbF9jb21wdXRlX3RyYW5zaXRpb25fd20oY3N0YXRlLCAmcGlwZV93 bS0+dHJhbnNfd20pOworCXNrbF9jb21wdXRlX3RyYW5zaXRpb25fd20oY3N0YXRlLCAmcGlwZV93 bS0+dHJhbnNfd20sIGRkYik7CiAKIAlyZXR1cm4gMDsKIH0KLS0gCjIuOC4zCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK