From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH 8/8] drm/i915/skl: WA for watermark calculation based on Arbitrated Display BW (v4) Date: Mon, 7 Mar 2016 17:05:46 -0800 Message-ID: <1457399146-4578-9-git-send-email-matthew.d.roper@intel.com> References: <1457399146-4578-1-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 3FD886E56D for ; Tue, 8 Mar 2016 01:07:38 +0000 (UTC) In-Reply-To: <1457399146-4578-1-git-send-email-matthew.d.roper@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: shobhit.kumar@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogIkt1bWFyLCBNYWhlc2giIDxtYWhlc2gxLmt1bWFyQGludGVsLmNvbT4KCiBJZiB0aGUg YXJiaXRhcnkgZGlzcGxheSBiYW5kd2lkdGggaXMgPiA2MCUgb2YgbWVtb3J5IGJhbmR3aXRoLCBm b3IKIHgtdGlsZSB3ZSBzaG91bGQgaW5jcmVhc2UgbGF0ZW5jeSBhdCBhbGwgbGV2ZWxzIGJ5IDE1 dXMuCgogSWYgdGhlIGFyYml0YXJ5IGRzcGxheSBiYW5kd2lkdGggaXMgZ3JlYXRlciB0aGFuIDIw JSBvZiBtZW1vcnkgYmFuZHdpdGgKIGluIGNhc2Ugb2YgeS10aWxlICBiZWluZyBlbmFibGVkLCBk b3VibGUgdGhlIHNjYW4gbGluZXMKCnYyOiBVcGRhdGUgdGhlIGNvbW1pdCBtZXNzYWdlIHRvIGV4 cGxhaW4gdGhlIFdBIChzaG9iaGl0KQoKdjM6IC0gQWRkcmVzcyBEYW1pZW4ncyBjb21tZW50LCB1 c2UgRElWX1JPVU5EX1VQX1VMTCBtYWNybwogICAgLSBDaGVjayBib3RoIG1lbV9zcGVlZCBhbmQg bWVtX2NoYW5uZWwgdG8gYmUgdmFsaWQgYmVmb3JlIGFwcGx5aW5nCiAgICAgIFdBKHNob2JoaXQp Cgp2NCAoYnkgTWF0dCk6CiAtIEFkanVzdCBjYWxjdWxhdGlvbnMgbm93IHRoYXQgc2tsX3BsYW5l X2Rvd25zY2FsZV9hbW91bnQoKSByZXR1cm5zCiAgIGEgMTYuMTYgZml4ZWQgcG9pbnQgdmFsdWUK IC0gVXNlIHBzdGF0ZS0+dmlzaWJsZSBpbnN0ZWFkIG9mIHBzdGF0ZS0+ZmIgIT0gTlVMTCBmb3Ig ZGV0ZXJtaW5pbmcKICAgd2hldGhlciBhIHBsYW5lIGlzIGFjdGl2ZQoKU2lnbmVkLW9mZi1ieTog U2hvYmhpdCBLdW1hciA8c2hvYmhpdC5rdW1hckBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEt1 bWFyLCBNYWhlc2ggPG1haGVzaDEua3VtYXJAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBTaG9i aGl0IEt1bWFyIDxzaG9iaGl0Lmt1bWFyQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWF0dCBS b3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oIHwgIDkgKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyB8 IDk3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNo YW5nZWQsIDEwNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggYTJh N2Q4ZC4uNjNiNjIxYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0xNjY5LDYgKzE2Njks MTIgQEAgZW51bSBpbnRlbF9waXBlX2NyY19zb3VyY2UgewogCUlOVEVMX1BJUEVfQ1JDX1NPVVJD RV9NQVgsCiB9OwogCitlbnVtIHdhdGVybWFya19tZW1vcnlfd2EgeworCVdBVEVSTUFSS19XQV9O T05FLAorCVdBVEVSTUFSS19XQV9YX1RJTEVELAorCVdBVEVSTUFSS19XQV9ZX1RJTEVELAorfTsK Kwogc3RydWN0IGludGVsX3BpcGVfY3JjX2VudHJ5IHsKIAl1aW50MzJfdCBmcmFtZTsKIAl1aW50 MzJfdCBjcmNbNV07CkBAIC0xOTczLDYgKzE5NzksOSBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSB7CiAJCS8qIENvbW1pdHRlZCB3bSBjb25maWcgKi8KIAkJc3RydWN0IGludGVsX3dtX2NvbmZp ZyBjb25maWc7CiAKKwkJLyogVGhpcyBzdG9yZXMgaWYgV2F0ZXJNYXJrIG1lbW9yeSB3b3JrYXJv dW5kIGlzIG5lZWRlZCAqLworCQllbnVtIHdhdGVybWFya19tZW1vcnlfd2EgbWVtX3dhOworCiAJ CS8qCiAJCSAqIFRoZSBza2xfd21fdmFsdWVzIHN0cnVjdHVyZSBpcyBhIGJpdCB0b28gYmlnIGZv ciBzdGFjawogCQkgKiBhbGxvY2F0aW9uLCBzbyB3ZSBrZWVwIHRoZSBzdGFnaW5nIHN0cnVjdCB3 aGVyZSB3ZSBzdG9yZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKaW5kZXggMjlkMzdkMy4uYzE3MDBh ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCkBAIC0zMjg2LDYgKzMyODYsMTEgQEAgc3RhdGlj IGJvb2wgc2tsX2NvbXB1dGVfcGxhbmVfd20oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogCWlmIChsYXRlbmN5ID09IDAgfHwgIWNzdGF0ZS0+YmFzZS5hY3RpdmUgfHwg IWludGVsX3BzdGF0ZS0+dmlzaWJsZSkKIAkJcmV0dXJuIGZhbHNlOwogCisJaWYgKGRldl9wcml2 LT53bS5tZW1fd2EgIT0gV0FURVJNQVJLX1dBX05PTkUpIHsKKwkJaWYgKGZiLT5tb2RpZmllclsw XSA9PSBJOTE1X0ZPUk1BVF9NT0RfWF9USUxFRCkKKwkJCWxhdGVuY3kgKz0gMTU7CisJfQorCiAJ d2lkdGggPSBkcm1fcmVjdF93aWR0aCgmaW50ZWxfcHN0YXRlLT5zcmMpID4+IDE2OwogCWhlaWdo dCA9IGRybV9yZWN0X2hlaWdodCgmaW50ZWxfcHN0YXRlLT5zcmMpID4+IDE2OwogCkBAIC0zMzI1 LDYgKzMzMzAsOSBAQCBzdGF0aWMgYm9vbCBza2xfY29tcHV0ZV9wbGFuZV93bShjb25zdCBzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJV0FSTigxLCAiVW5zdXBwb3J0ZWQg cGl4ZWwgZGVwdGggZm9yIHJvdGF0aW9uIik7CiAJCQl9CiAJCX0KKwkJaWYgKGRldl9wcml2LT53 bS5tZW1fd2EgPT0gV0FURVJNQVJLX1dBX1lfVElMRUQpCisJCQltaW5fc2NhbmxpbmVzICo9IDI7 CisKIAkJeV90aWxlX21pbmltdW0gPSBwbGFuZV9ibG9ja3NfcGVyX2xpbmUgKiBtaW5fc2Nhbmxp bmVzOwogCQlzZWxlY3RlZF9yZXN1bHQgPSBtYXgobWV0aG9kMiwgeV90aWxlX21pbmltdW0pOwog CX0gZWxzZSB7CkBAIC0zNzc2LDYgKzM3ODQsOTQgQEAgc3RhdGljIHZvaWQgc2tsX3NldF9wbGFu ZV9waXhlbF9yYXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAogfQogCitzdGF0aWMgdm9pZAor c2tsX3NldF9kaXNwbGF5X21lbW9yeV93YShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQoreworCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3Ry dWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSBOVUxMOworCXN0cnVjdCBpbnRlbF9wbGFuZSAq aW50ZWxfcGxhbmUgPSBOVUxMOworCXVpbnQzMl90IG51bV9hY3RpdmVfY3J0YyA9IDA7CisJdWlu dDY0X3QgbWF4X3BpeGVsX3JhdGVfcGlwZSA9IDA7CisJdWludDY0X3QgZGlzcGxheV9idyA9IDAs IGF2YWlsYWJsZV9idyA9IDA7CisJYm9vbCB5X3RpbGVfZW5hYmxlZCA9IGZhbHNlOworCWludCBt ZW1vcnlfcG9ydGlvbiA9IDA7CisKKwkvKiBWZXJpZnkgdGhhdCB3ZSBnb3QgcHJvcGVyIG1lbW9y eSBpbmZvcm1hdGlvbiAqLworCWlmICghZGV2X3ByaXYtPmRtaS52YWxpZCkgeworCQlkZXZfcHJp di0+d20ubWVtX3dhID0gV0FURVJNQVJLX1dBX05PTkU7CisJCXJldHVybjsKKwl9CisKKwlmb3Jf ZWFjaF9pbnRlbF9jcnRjKGRldiwgaW50ZWxfY3J0YykgeworCQl1aW50NjRfdCBtYXhfcGl4ZWxf cmF0ZV9wbGFuZSA9IDA7CisJCXVpbnQ2NF90IHBpcGVfYnc7CisJCXVpbnQzMl90IG51bV9hY3Rp dmVfcGxhbmUgPSAwOworCQljb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlID0g TlVMTDsKKworCQlpZiAoIWludGVsX2NydGMtPmFjdGl2ZSkKKwkJCWNvbnRpbnVlOworCisJCWNz dGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoaW50ZWxfY3J0Yy0+YmFzZS5zdGF0ZSk7CisJCW51 bV9hY3RpdmVfY3J0YysrOworCisJCWZvcl9lYWNoX2ludGVsX3BsYW5lX29uX2NydGMoZGV2LCBp bnRlbF9jcnRjLCBpbnRlbF9wbGFuZSkgeworCQkJc3RydWN0IGRybV9wbGFuZSAqcGxhbmUgPSAm aW50ZWxfcGxhbmUtPmJhc2U7CisJCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5l LT5zdGF0ZS0+ZmI7CisJCQlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKmludGVsX3BzdGF0ZSA9 CisJCQkJdG9faW50ZWxfcGxhbmVfc3RhdGUocGxhbmUtPnN0YXRlKTsKKwkJCXVpbnQ2NF90IHBs YW5lX2J3LCBpbnRlcm1fYnc7CisKKwkJCWlmICghaW50ZWxfcHN0YXRlLT52aXNpYmxlKQorCQkJ CWNvbnRpbnVlOworCQkJaWYgKHBsYW5lLT50eXBlID09IERSTV9QTEFORV9UWVBFX0NVUlNPUikK KwkJCQljb250aW51ZTsKKworCQkJbnVtX2FjdGl2ZV9wbGFuZSsrOworCisJCQlpZiAoZmItPm1v ZGlmaWVyWzBdID09IEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEKQorCQkJCXlfdGlsZV9lbmFibGVk ID0gdHJ1ZTsKKworCQkJLyoKKwkJCSAqIHBsYW5lQlcgPSBwaXhlbF9yYXRlKE1IeikgKiBCUFAg KiBwbGFuZSBkb3duc2NhbGUKKwkJCSAqCQlhbW91bnQgKiBwaXBlIGRvd25zY2FsZSBhbW91bnQ7 CisJCQkgKgorCQkJICogc2tsX3BpcGVfcGl4ZWxfcmF0ZSByZXR1cm5zIHRoZSBhZGp1c3RlZCB2 YWx1ZQorCQkJICogYWNjb3JkaW5nIHRvIHRoZSBkb3duc2NhbGluZyBhbW91bnQKKwkJCSAqCisJ CQkgKiBwaXhlbCByYXRlIGlzIGluIEtIeiBzbyBkaXZpZGUgaXQgYnkgMTAwMAorCQkJICoKKwkJ CSAqIGRvd25zY2FsZSBmYWN0b3IgaXMgaW4gMTYuMTYgZml4ZWQgcG9pbnQgc28gc2hpZnQKKwkJ CSAqIHRoZSByZXN1bHQgYWNjb3JkaW5nbHkKKwkJCSAqLworCQkJaW50ZXJtX2J3ID0gc2tsX3Bp cGVfcGl4ZWxfcmF0ZShjc3RhdGUpLzEwMDAgKgorCQkJCWRybV9mb3JtYXRfcGxhbmVfY3BwKGZi LT5waXhlbF9mb3JtYXQsIDApICoKKwkJCQlza2xfcGxhbmVfZG93bnNjYWxlX2Ftb3VudChpbnRl bF9wbGFuZSk7CisKKwkJCWlmIChmYi0+cGl4ZWxfZm9ybWF0ID09IERSTV9GT1JNQVRfTlYxMikK KwkJCQlpbnRlcm1fYncgKz0gc2tsX3BpcGVfcGl4ZWxfcmF0ZShjc3RhdGUpLzEwMDAgKgorCQkJ CQlkcm1fZm9ybWF0X3BsYW5lX2NwcChmYi0+cGl4ZWxfZm9ybWF0LCAxKSAqCisJCQkJCXNrbF9w bGFuZV9kb3duc2NhbGVfYW1vdW50KGludGVsX3BsYW5lKTsKKworCQkJcGxhbmVfYncgPSBpbnRl cm1fYncgPj4gMTY7CisJCQltYXhfcGl4ZWxfcmF0ZV9wbGFuZSA9IG1heChtYXhfcGl4ZWxfcmF0 ZV9wbGFuZSwKKwkJCQkJCSAgIHBsYW5lX2J3KTsKKwkJfQorCQlwaXBlX2J3ID0gbWF4X3BpeGVs X3JhdGVfcGxhbmUgKiBudW1fYWN0aXZlX3BsYW5lOworCQltYXhfcGl4ZWxfcmF0ZV9waXBlID0g bWF4KG1heF9waXhlbF9yYXRlX3BpcGUsIHBpcGVfYncpOworCX0KKworCWRpc3BsYXlfYncgPSBt YXhfcGl4ZWxfcmF0ZV9waXBlICogbnVtX2FjdGl2ZV9jcnRjOworCWF2YWlsYWJsZV9idyA9IGRl dl9wcml2LT5kbWkubWVtX2NoYW5uZWwgKiBkZXZfcHJpdi0+ZG1pLm1lbV9zcGVlZCAqIDg7CisJ bWVtb3J5X3BvcnRpb24gPSBESVZfUk9VTkRfVVBfVUxMKChkaXNwbGF5X2J3ICogMTAwKSwgYXZh aWxhYmxlX2J3KTsKKworCWlmICh5X3RpbGVfZW5hYmxlZCAmJiAobWVtb3J5X3BvcnRpb24gPj0g MjApKQorCQlkZXZfcHJpdi0+d20ubWVtX3dhID0gV0FURVJNQVJLX1dBX1lfVElMRUQ7CisJZWxz ZSBpZiAobWVtb3J5X3BvcnRpb24gPj0gNjApCisJCWRldl9wcml2LT53bS5tZW1fd2EgPSBXQVRF Uk1BUktfV0FfWF9USUxFRDsKKwllbHNlCisJCWRldl9wcml2LT53bS5tZW1fd2EgPSBXQVRFUk1B UktfV0FfTk9ORTsKK30KKwogc3RhdGljIHZvaWQgc2tsX2NsZWFyX3dtKHN0cnVjdCBza2xfd21f dmFsdWVzICp3YXRlcm1hcmtzLCBlbnVtIHBpcGUgcGlwZSkKIHsKIAl3YXRlcm1hcmtzLT53bV9s aW5ldGltZVtwaXBlXSA9IDA7CkBAIC0zODE0LDYgKzM5MTAsNyBAQCBzdGF0aWMgdm9pZCBza2xf dXBkYXRlX3dtKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAogCS8qIENhbGN1bGF0ZSBwbGFuZSBw aXhlbCByYXRlIGZvciBlYWNoIHBsYW5lIGluIGFkdmFuY2UgKi8KIAlza2xfc2V0X3BsYW5lX3Bp eGVsX3JhdGUoY3J0Yyk7CisJc2tsX3NldF9kaXNwbGF5X21lbW9yeV93YShkZXYpOwogCiAJaWYg KCFza2xfdXBkYXRlX3BpcGVfd20oY3J0YywgJnJlc3VsdHMtPmRkYiwgcGlwZV93bSkpCiAJCWdv dG8gb3V0OwotLSAKMi4xLjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=