From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [CI 10/19] drm/i915/dsc: Compute Rate Control parameters for DSC Date: Fri, 2 Nov 2018 20:49:23 -0700 Message-ID: <20181103034932.26493-10-manasi.d.navare@intel.com> References: <20181103034932.26493-1-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6A5F46E651 for ; Sat, 3 Nov 2018 03:47:15 +0000 (UTC) In-Reply-To: <20181103034932.26493-1-manasi.d.navare@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 RnJvbTogR2F1cmF2IEsgU2luZ2ggPGdhdXJhdi5rLnNpbmdoQGludGVsLmNvbT4KClRoaXMgY29t cHV0YXRpb24gb2YgUkMgcGFyYW1zIGhhcHBlbnMgaW4gdGhlIGF0b21pYyBjb21taXQgcGhhc2UK ZHVyaW5nIGNvbXB1dGVfY29uZmlnKCkgdG8gdmFsaWRhdGUgaWYgZGlzcGxheSBzdHJlYW0gY29t cHJlc3Npb24KY2FuIGJlIGVuYWJsZWQgZm9yIHRoZSByZXF1ZXN0ZWQgbW9kZS4KCnY3IChGcm9t IE1hbmFzaSk6CiogVXNlIERSTV9ERUJVRyBpbnN0ZWFkIG9mIERSTV9FUlJPUiAoVmlsbGUpCiog VXNlIEVycm9yIG51bWJlcmluc3RlYWQgb2YgLTEgKFZpbGxlKQp2NiAoRnJvbSBNYW5hc2kpOgoq IFVzZSA5IGluc3RlYWQgb2YgMHg5IGZvciBjb25zaXN0ZW5jeSAoQW51c2hhKQoKdjUgKEZyb20g TWFuYXNpKToKKiBGaXggZGltIGNoZWNrcGF0Y2ggd2FybmluZ3MvY2hlY2tzCnY0KEZyb20gR2F1 cmF2KToKKiBObyBjaGFuZ2UuUmViYXNlIG9uIGRybS10aXAKCnYzIChGcm9tIEdhdXJhdik6Ciog UmViYXNlIG9uIHRvcCBvZiBNYW5hc2kncyBsYXRlc3Qgc2VyaWVzCiogUmV0dXJuIC12ZSB2YWx1 ZSBpbiBjYXNlIG9mIGZhaWx1cmUgc2NlbmFyaW9zIChNYW5hc2kpCgpGaXggcmV2aWV3IGNvbW1l bnRzIGZyb20gVmlsbGU6CiogUmVtb3ZlIHVubmVjZXNzYXJ5IGNvbW1lbnRzCiogUmVtb3ZlIHVu bmVjZXNzYXJ5IHBhcmFudGhlc2lzCiogQWRkIGNvbW1lbnRzIGZvciBmZXcgUkMgcGFyYW1zIGNh bGN1bGF0aW9ucwoKdjIgKEZyb20gTWFuYXNpKToKKiBSZWJhc2UgR2F1cmF2J3MgcGF0Y2ggZnJv bSBpbnRlbC1nZnggdG8gZ2Z4LWludGVybmFsCiogVXNlIHN0cnVjdCBkcm1fZHNjX2NmZyBpbnN0 ZWFkIG9mIHN0cnVjdCBpbnRlbF9kcAphcyBhIHBhcmFtZXRlcgoKQ2M6IE1hbmFzaSBOYXZhcmUg PG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+CkNjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFA bGludXguaW50ZWwuY29tPgpDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEdhdXJhdiBLIFNpbmdoIDxnYXVyYXYuay5zaW5naEBp bnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBp bnRlbC5jb20+ClJldmlld2VkLWJ5OiBBbnVzaGEgU3JpdmF0c2EgPGFudXNoYS5zcml2YXRzYUBp bnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jIHwgMTI3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDEyNyBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jCmluZGV4IDBhMTkxOGYyZjY0My4uYTc2 Zjc4YjljMGVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF92ZHNjLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jCkBAIC0zMTcsNiArMzE3LDEz MCBAQCBzdGF0aWMgaW50IGdldF9jb2x1bW5faW5kZXhfZm9yX3JjX3BhcmFtcyh1OCBiaXRzX3Bl cl9jb21wb25lbnQpCiAJfQogfQogCitzdGF0aWMgaW50IGludGVsX2NvbXB1dGVfcmNfcGFyYW1l dGVycyhzdHJ1Y3QgZHJtX2RzY19jb25maWcgKnZkc2NfY2ZnKQoreworCXVuc2lnbmVkIGxvbmcg Z3JvdXBzX3Blcl9saW5lID0gMDsKKwl1bnNpZ25lZCBsb25nIGdyb3Vwc190b3RhbCA9IDA7CisJ dW5zaWduZWQgbG9uZyBudW1fZXh0cmFfbXV4X2JpdHMgPSAwOworCXVuc2lnbmVkIGxvbmcgc2xp Y2VfYml0cyA9IDA7CisJdW5zaWduZWQgbG9uZyBocmRfZGVsYXkgPSAwOworCXVuc2lnbmVkIGxv bmcgZmluYWxfc2NhbGUgPSAwOworCXVuc2lnbmVkIGxvbmcgcmJzX21pbiA9IDA7CisKKwkvKiBO dW1iZXIgb2YgZ3JvdXBzIHVzZWQgdG8gY29kZSBlYWNoIGxpbmUgb2YgYSBzbGljZSAqLworCWdy b3Vwc19wZXJfbGluZSA9IERJVl9ST1VORF9VUCh2ZHNjX2NmZy0+c2xpY2Vfd2lkdGgsCisJCQkJ ICAgICAgIERTQ19SQ19QSVhFTFNfUEVSX0dST1VQKTsKKworCS8qIGNodW5rc2l6ZSBpbiBCeXRl cyAqLworCXZkc2NfY2ZnLT5zbGljZV9jaHVua19zaXplID0gRElWX1JPVU5EX1VQKHZkc2NfY2Zn LT5zbGljZV93aWR0aCAqCisJCQkJCQkgIHZkc2NfY2ZnLT5iaXRzX3Blcl9waXhlbCwKKwkJCQkJ CSAgKDggKiAxNikpOworCisJaWYgKHZkc2NfY2ZnLT5jb252ZXJ0X3JnYikKKwkJbnVtX2V4dHJh X211eF9iaXRzID0gMyAqICh2ZHNjX2NmZy0+bXV4X3dvcmRfc2l6ZSArCisJCQkJCSAgKDQgKiB2 ZHNjX2NmZy0+Yml0c19wZXJfY29tcG9uZW50ICsgNCkKKwkJCQkJICAtIDIpOworCWVsc2UKKwkJ bnVtX2V4dHJhX211eF9iaXRzID0gMyAqIHZkc2NfY2ZnLT5tdXhfd29yZF9zaXplICsKKwkJCSg0 ICogdmRzY19jZmctPmJpdHNfcGVyX2NvbXBvbmVudCArIDQpICsKKwkJCTIgKiAoNCAqIHZkc2Nf Y2ZnLT5iaXRzX3Blcl9jb21wb25lbnQpIC0gMjsKKwkvKiBOdW1iZXIgb2YgYml0cyBpbiBvbmUg U2xpY2UgKi8KKwlzbGljZV9iaXRzID0gOCAqIHZkc2NfY2ZnLT5zbGljZV9jaHVua19zaXplICog dmRzY19jZmctPnNsaWNlX2hlaWdodDsKKworCXdoaWxlICgobnVtX2V4dHJhX211eF9iaXRzID4g MCkgJiYKKwkgICAgICAgKChzbGljZV9iaXRzIC0gbnVtX2V4dHJhX211eF9iaXRzKSAlIHZkc2Nf Y2ZnLT5tdXhfd29yZF9zaXplKSkKKwkJbnVtX2V4dHJhX211eF9iaXRzLS07CisKKwlpZiAoZ3Jv dXBzX3Blcl9saW5lIDwgdmRzY19jZmctPmluaXRpYWxfc2NhbGVfdmFsdWUgLSA4KQorCQl2ZHNj X2NmZy0+aW5pdGlhbF9zY2FsZV92YWx1ZSA9IGdyb3Vwc19wZXJfbGluZSArIDg7CisKKwkvKiBz Y2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWwgY2FsY3VsYXRpb24gYWNjb3JkaW5nIHRvIERTQyBzcGVj IDEuMTEgKi8KKwlpZiAodmRzY19jZmctPmluaXRpYWxfc2NhbGVfdmFsdWUgPiA4KQorCQl2ZHNj X2NmZy0+c2NhbGVfZGVjcmVtZW50X2ludGVydmFsID0gZ3JvdXBzX3Blcl9saW5lIC8KKwkJCSh2 ZHNjX2NmZy0+aW5pdGlhbF9zY2FsZV92YWx1ZSAtIDgpOworCWVsc2UKKwkJdmRzY19jZmctPnNj YWxlX2RlY3JlbWVudF9pbnRlcnZhbCA9IERTQ19TQ0FMRV9ERUNSRU1FTlRfSU5URVJWQUxfTUFY OworCisJdmRzY19jZmctPmZpbmFsX29mZnNldCA9IHZkc2NfY2ZnLT5yY19tb2RlbF9zaXplIC0K KwkJKHZkc2NfY2ZnLT5pbml0aWFsX3htaXRfZGVsYXkgKgorCQkgdmRzY19jZmctPmJpdHNfcGVy X3BpeGVsICsgOCkgLyAxNiArIG51bV9leHRyYV9tdXhfYml0czsKKworCWlmICh2ZHNjX2NmZy0+ ZmluYWxfb2Zmc2V0ID49IHZkc2NfY2ZnLT5yY19tb2RlbF9zaXplKSB7CisJCURSTV9ERUJVR19L TVMoIkZpbmFsT2ZzIDwgUmNNb2RlbFN6ZSBmb3IgdGhpcyBJbml0aWFsWG1pdERlbGF5XG4iKTsK KwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJZmluYWxfc2NhbGUgPSAodmRzY19jZmctPnJjX21v ZGVsX3NpemUgKiA4KSAvCisJCSh2ZHNjX2NmZy0+cmNfbW9kZWxfc2l6ZSAtIHZkc2NfY2ZnLT5m aW5hbF9vZmZzZXQpOworCWlmICh2ZHNjX2NmZy0+c2xpY2VfaGVpZ2h0ID4gMSkKKwkJLyoKKwkJ ICogTmZsQnBnT2Zmc2V0IGlzIDE2IGJpdCB2YWx1ZSB3aXRoIDExIGZyYWN0aW9uYWwgYml0cwor CQkgKiBoZW5jZSB3ZSBtdWx0aXBseSBieSAyXjExIGZvciBwcmVzZXJ2aW5nIHRoZQorCQkgKiBm cmFjdGlvbmFsIHBhcnQKKwkJICovCisJCXZkc2NfY2ZnLT5uZmxfYnBnX29mZnNldCA9IERJVl9S T1VORF9VUCgodmRzY19jZmctPmZpcnN0X2xpbmVfYnBnX29mZnNldCA8PCAxMSksCisJCQkJCQkJ KHZkc2NfY2ZnLT5zbGljZV9oZWlnaHQgLSAxKSk7CisJZWxzZQorCQl2ZHNjX2NmZy0+bmZsX2Jw Z19vZmZzZXQgPSAwOworCisJLyogMl4xNiAtIDEgKi8KKwlpZiAodmRzY19jZmctPm5mbF9icGdf b2Zmc2V0ID4gNjU1MzUpIHsKKwkJRFJNX0RFQlVHX0tNUygiTmZsQnBnT2Zmc2V0IGlzIHRvbyBs YXJnZSBmb3IgdGhpcyBzbGljZSBoZWlnaHRcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisK KwkvKiBOdW1iZXIgb2YgZ3JvdXBzIHVzZWQgdG8gY29kZSB0aGUgZW50aXJlIHNsaWNlICovCisJ Z3JvdXBzX3RvdGFsID0gZ3JvdXBzX3Blcl9saW5lICogdmRzY19jZmctPnNsaWNlX2hlaWdodDsK KworCS8qIHNsaWNlX2JwZ19vZmZzZXQgaXMgMTYgYml0IHZhbHVlIHdpdGggMTEgZnJhY3Rpb25h bCBiaXRzICovCisJdmRzY19jZmctPnNsaWNlX2JwZ19vZmZzZXQgPSBESVZfUk9VTkRfVVAoKCh2 ZHNjX2NmZy0+cmNfbW9kZWxfc2l6ZSAtCisJCQkJCQkgICAgdmRzY19jZmctPmluaXRpYWxfb2Zm c2V0ICsKKwkJCQkJCSAgICBudW1fZXh0cmFfbXV4X2JpdHMpIDw8IDExKSwKKwkJCQkJCSAgZ3Jv dXBzX3RvdGFsKTsKKworCWlmIChmaW5hbF9zY2FsZSA+IDkpIHsKKwkJLyoKKwkJICogU2NhbGVJ bmNyZW1lbnRJbnRlcnZhbCA9CisJCSAqIGZpbmFsb2Zmc2V0LygoTmZsQnBnT2Zmc2V0ICsgU2xp Y2VCcGdPZmZzZXQpKjgoZmluYWxzY2FsZSAtIDEuMTI1KSkKKwkJICogYXMgKE5mbEJwZ09mZnNl dCArIFNsaWNlQnBnT2Zmc2V0KSBoYXMgMTEgYml0IGZyYWN0aW9uYWwgdmFsdWUsCisJCSAqIHdl IG5lZWQgZGl2aWRlIGJ5IDJeMTEgZnJvbSBwc3REc2NDZmcgdmFsdWVzCisJCSAqLworCQl2ZHNj X2NmZy0+c2NhbGVfaW5jcmVtZW50X2ludGVydmFsID0KKwkJCQkodmRzY19jZmctPmZpbmFsX29m ZnNldCAqICgxIDw8IDExKSkgLworCQkJCSgodmRzY19jZmctPm5mbF9icGdfb2Zmc2V0ICsKKwkJ CQl2ZHNjX2NmZy0+c2xpY2VfYnBnX29mZnNldCkqCisJCQkJKGZpbmFsX3NjYWxlIC0gOSkpOwor CX0gZWxzZSB7CisJCS8qCisJCSAqIElmIGZpbmFsU2NhbGVWYWx1ZSBpcyBsZXNzIHRoYW4gb3Ig ZXF1YWwgdG8gOSwgYSB2YWx1ZSBvZiAwIHNob3VsZAorCQkgKiBiZSB1c2VkIHRvIGRpc2FibGUg dGhlIHNjYWxlIGluY3JlbWVudCBhdCB0aGUgZW5kIG9mIHRoZSBzbGljZQorCQkgKi8KKwkJdmRz Y19jZmctPnNjYWxlX2luY3JlbWVudF9pbnRlcnZhbCA9IDA7CisJfQorCisJaWYgKHZkc2NfY2Zn LT5zY2FsZV9pbmNyZW1lbnRfaW50ZXJ2YWwgPiA2NTUzNSkgeworCQlEUk1fREVCVUdfS01TKCJT Y2FsZUluY3JlbWVudEludGVydmFsIGlzIGxhcmdlIGZvciBzbGljZSBoZWlnaHRcbiIpOworCQly ZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKgorCSAqIERTQyBzcGVjIG1lbnRpb25zIHRoYXQgYml0 c19wZXJfcGl4ZWwgc3BlY2lmaWVzIHRoZSB0YXJnZXQKKwkgKiBiaXRzL3BpeGVsIChicHApIHJh dGUgdGhhdCBpcyB1c2VkIGJ5IHRoZSBlbmNvZGVyLAorCSAqIGluIHN0ZXBzIG9mIDEvMTYgb2Yg YSBiaXQgcGVyIHBpeGVsCisJICovCisJcmJzX21pbiA9IHZkc2NfY2ZnLT5yY19tb2RlbF9zaXpl IC0gdmRzY19jZmctPmluaXRpYWxfb2Zmc2V0ICsKKwkJRElWX1JPVU5EX1VQKHZkc2NfY2ZnLT5p bml0aWFsX3htaXRfZGVsYXkgKgorCQkJICAgICB2ZHNjX2NmZy0+Yml0c19wZXJfcGl4ZWwsIDE2 KSArCisJCWdyb3Vwc19wZXJfbGluZSAqIHZkc2NfY2ZnLT5maXJzdF9saW5lX2JwZ19vZmZzZXQ7 CisKKwlocmRfZGVsYXkgPSBESVZfUk9VTkRfVVAoKHJic19taW4gKiAxNiksIHZkc2NfY2ZnLT5i aXRzX3Blcl9waXhlbCk7CisJdmRzY19jZmctPnJjX2JpdHMgPSAoaHJkX2RlbGF5ICogdmRzY19j ZmctPmJpdHNfcGVyX3BpeGVsKSAvIDE2OworCXZkc2NfY2ZnLT5pbml0aWFsX2RlY19kZWxheSA9 IGhyZF9kZWxheSAtIHZkc2NfY2ZnLT5pbml0aWFsX3htaXRfZGVsYXk7CisKKwlyZXR1cm4gMDsK K30KKworCiBpbnQgaW50ZWxfZHBfY29tcHV0ZV9kc2NfcGFyYW1zKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAsCiAJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQogewpA QCAtNDUxLDUgKzU3NSw4IEBAIGludCBpbnRlbF9kcF9jb21wdXRlX2RzY19wYXJhbXMoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCwKIAl2ZHNjX2NmZy0+aW5pdGlhbF9zY2FsZV92YWx1ZSA9ICh2 ZHNjX2NmZy0+cmNfbW9kZWxfc2l6ZSA8PCAzKSAvCiAJCSh2ZHNjX2NmZy0+cmNfbW9kZWxfc2l6 ZSAtIHZkc2NfY2ZnLT5pbml0aWFsX29mZnNldCk7CiAKKwlpZiAoaW50ZWxfY29tcHV0ZV9yY19w YXJhbWV0ZXJzKHZkc2NfY2ZnKSA8IDApCisJCXJldHVybiAtRUlOVkFMOworCiAJcmV0dXJuIDA7 CiB9Ci0tIAoyLjE4LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=