From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [CI v13 05/17] drm/i915/dsc: Compute Rate Control parameters for DSC Date: Wed, 28 Nov 2018 12:26:16 -0800 Message-ID: <20181128202628.20238-5-manasi.d.navare@intel.com> References: <20181128202628.20238-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 mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0CE846E289 for ; Wed, 28 Nov 2018 20:23:29 +0000 (UTC) In-Reply-To: <20181128202628.20238-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+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jIHwgMTI1ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDEyNCBpbnNlcnRp b25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfdmRzYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jCmluZGV4IDRj ZTZmMGM0NTNiYi4uMzliYWZmNjE4ZWQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF92ZHNjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jCkBA IC0zMTgsNiArMzE4LDEyOSBAQCBzdGF0aWMgaW50IGdldF9jb2x1bW5faW5kZXhfZm9yX3JjX3Bh cmFtcyh1OCBiaXRzX3Blcl9jb21wb25lbnQpCiAJfQogfQogCitzdGF0aWMgaW50IGludGVsX2Nv bXB1dGVfcmNfcGFyYW1ldGVycyhzdHJ1Y3QgZHJtX2RzY19jb25maWcgKnZkc2NfY2ZnKQorewor CXVuc2lnbmVkIGxvbmcgZ3JvdXBzX3Blcl9saW5lID0gMDsKKwl1bnNpZ25lZCBsb25nIGdyb3Vw c190b3RhbCA9IDA7CisJdW5zaWduZWQgbG9uZyBudW1fZXh0cmFfbXV4X2JpdHMgPSAwOworCXVu c2lnbmVkIGxvbmcgc2xpY2VfYml0cyA9IDA7CisJdW5zaWduZWQgbG9uZyBocmRfZGVsYXkgPSAw OworCXVuc2lnbmVkIGxvbmcgZmluYWxfc2NhbGUgPSAwOworCXVuc2lnbmVkIGxvbmcgcmJzX21p biA9IDA7CisKKwkvKiBOdW1iZXIgb2YgZ3JvdXBzIHVzZWQgdG8gY29kZSBlYWNoIGxpbmUgb2Yg YSBzbGljZSAqLworCWdyb3Vwc19wZXJfbGluZSA9IERJVl9ST1VORF9VUCh2ZHNjX2NmZy0+c2xp Y2Vfd2lkdGgsCisJCQkJICAgICAgIERTQ19SQ19QSVhFTFNfUEVSX0dST1VQKTsKKworCS8qIGNo dW5rc2l6ZSBpbiBCeXRlcyAqLworCXZkc2NfY2ZnLT5zbGljZV9jaHVua19zaXplID0gRElWX1JP VU5EX1VQKHZkc2NfY2ZnLT5zbGljZV93aWR0aCAqCisJCQkJCQkgIHZkc2NfY2ZnLT5iaXRzX3Bl cl9waXhlbCwKKwkJCQkJCSAgKDggKiAxNikpOworCisJaWYgKHZkc2NfY2ZnLT5jb252ZXJ0X3Jn YikKKwkJbnVtX2V4dHJhX211eF9iaXRzID0gMyAqICh2ZHNjX2NmZy0+bXV4X3dvcmRfc2l6ZSAr CisJCQkJCSAgKDQgKiB2ZHNjX2NmZy0+Yml0c19wZXJfY29tcG9uZW50ICsgNCkKKwkJCQkJICAt IDIpOworCWVsc2UKKwkJbnVtX2V4dHJhX211eF9iaXRzID0gMyAqIHZkc2NfY2ZnLT5tdXhfd29y ZF9zaXplICsKKwkJCSg0ICogdmRzY19jZmctPmJpdHNfcGVyX2NvbXBvbmVudCArIDQpICsKKwkJ CTIgKiAoNCAqIHZkc2NfY2ZnLT5iaXRzX3Blcl9jb21wb25lbnQpIC0gMjsKKwkvKiBOdW1iZXIg b2YgYml0cyBpbiBvbmUgU2xpY2UgKi8KKwlzbGljZV9iaXRzID0gOCAqIHZkc2NfY2ZnLT5zbGlj ZV9jaHVua19zaXplICogdmRzY19jZmctPnNsaWNlX2hlaWdodDsKKworCXdoaWxlICgobnVtX2V4 dHJhX211eF9iaXRzID4gMCkgJiYKKwkgICAgICAgKChzbGljZV9iaXRzIC0gbnVtX2V4dHJhX211 eF9iaXRzKSAlIHZkc2NfY2ZnLT5tdXhfd29yZF9zaXplKSkKKwkJbnVtX2V4dHJhX211eF9iaXRz LS07CisKKwlpZiAoZ3JvdXBzX3Blcl9saW5lIDwgdmRzY19jZmctPmluaXRpYWxfc2NhbGVfdmFs dWUgLSA4KQorCQl2ZHNjX2NmZy0+aW5pdGlhbF9zY2FsZV92YWx1ZSA9IGdyb3Vwc19wZXJfbGlu ZSArIDg7CisKKwkvKiBzY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWwgY2FsY3VsYXRpb24gYWNjb3Jk aW5nIHRvIERTQyBzcGVjIDEuMTEgKi8KKwlpZiAodmRzY19jZmctPmluaXRpYWxfc2NhbGVfdmFs dWUgPiA4KQorCQl2ZHNjX2NmZy0+c2NhbGVfZGVjcmVtZW50X2ludGVydmFsID0gZ3JvdXBzX3Bl cl9saW5lIC8KKwkJCSh2ZHNjX2NmZy0+aW5pdGlhbF9zY2FsZV92YWx1ZSAtIDgpOworCWVsc2UK KwkJdmRzY19jZmctPnNjYWxlX2RlY3JlbWVudF9pbnRlcnZhbCA9IERTQ19TQ0FMRV9ERUNSRU1F TlRfSU5URVJWQUxfTUFYOworCisJdmRzY19jZmctPmZpbmFsX29mZnNldCA9IHZkc2NfY2ZnLT5y Y19tb2RlbF9zaXplIC0KKwkJKHZkc2NfY2ZnLT5pbml0aWFsX3htaXRfZGVsYXkgKgorCQkgdmRz Y19jZmctPmJpdHNfcGVyX3BpeGVsICsgOCkgLyAxNiArIG51bV9leHRyYV9tdXhfYml0czsKKwor CWlmICh2ZHNjX2NmZy0+ZmluYWxfb2Zmc2V0ID49IHZkc2NfY2ZnLT5yY19tb2RlbF9zaXplKSB7 CisJCURSTV9ERUJVR19LTVMoIkZpbmFsT2ZzIDwgUmNNb2RlbFN6ZSBmb3IgdGhpcyBJbml0aWFs WG1pdERlbGF5XG4iKTsKKwkJcmV0dXJuIC1FUkFOR0U7CisJfQorCisJZmluYWxfc2NhbGUgPSAo dmRzY19jZmctPnJjX21vZGVsX3NpemUgKiA4KSAvCisJCSh2ZHNjX2NmZy0+cmNfbW9kZWxfc2l6 ZSAtIHZkc2NfY2ZnLT5maW5hbF9vZmZzZXQpOworCWlmICh2ZHNjX2NmZy0+c2xpY2VfaGVpZ2h0 ID4gMSkKKwkJLyoKKwkJICogTmZsQnBnT2Zmc2V0IGlzIDE2IGJpdCB2YWx1ZSB3aXRoIDExIGZy YWN0aW9uYWwgYml0cworCQkgKiBoZW5jZSB3ZSBtdWx0aXBseSBieSAyXjExIGZvciBwcmVzZXJ2 aW5nIHRoZQorCQkgKiBmcmFjdGlvbmFsIHBhcnQKKwkJICovCisJCXZkc2NfY2ZnLT5uZmxfYnBn X29mZnNldCA9IERJVl9ST1VORF9VUCgodmRzY19jZmctPmZpcnN0X2xpbmVfYnBnX29mZnNldCA8 PCAxMSksCisJCQkJCQkJKHZkc2NfY2ZnLT5zbGljZV9oZWlnaHQgLSAxKSk7CisJZWxzZQorCQl2 ZHNjX2NmZy0+bmZsX2JwZ19vZmZzZXQgPSAwOworCisJLyogMl4xNiAtIDEgKi8KKwlpZiAodmRz Y19jZmctPm5mbF9icGdfb2Zmc2V0ID4gNjU1MzUpIHsKKwkJRFJNX0RFQlVHX0tNUygiTmZsQnBn T2Zmc2V0IGlzIHRvbyBsYXJnZSBmb3IgdGhpcyBzbGljZSBoZWlnaHRcbiIpOworCQlyZXR1cm4g LUVSQU5HRTsKKwl9CisKKwkvKiBOdW1iZXIgb2YgZ3JvdXBzIHVzZWQgdG8gY29kZSB0aGUgZW50 aXJlIHNsaWNlICovCisJZ3JvdXBzX3RvdGFsID0gZ3JvdXBzX3Blcl9saW5lICogdmRzY19jZmct PnNsaWNlX2hlaWdodDsKKworCS8qIHNsaWNlX2JwZ19vZmZzZXQgaXMgMTYgYml0IHZhbHVlIHdp dGggMTEgZnJhY3Rpb25hbCBiaXRzICovCisJdmRzY19jZmctPnNsaWNlX2JwZ19vZmZzZXQgPSBE SVZfUk9VTkRfVVAoKCh2ZHNjX2NmZy0+cmNfbW9kZWxfc2l6ZSAtCisJCQkJCQkgICAgdmRzY19j ZmctPmluaXRpYWxfb2Zmc2V0ICsKKwkJCQkJCSAgICBudW1fZXh0cmFfbXV4X2JpdHMpIDw8IDEx KSwKKwkJCQkJCSAgZ3JvdXBzX3RvdGFsKTsKKworCWlmIChmaW5hbF9zY2FsZSA+IDkpIHsKKwkJ LyoKKwkJICogU2NhbGVJbmNyZW1lbnRJbnRlcnZhbCA9CisJCSAqIGZpbmFsb2Zmc2V0LygoTmZs QnBnT2Zmc2V0ICsgU2xpY2VCcGdPZmZzZXQpKjgoZmluYWxzY2FsZSAtIDEuMTI1KSkKKwkJICog YXMgKE5mbEJwZ09mZnNldCArIFNsaWNlQnBnT2Zmc2V0KSBoYXMgMTEgYml0IGZyYWN0aW9uYWwg dmFsdWUsCisJCSAqIHdlIG5lZWQgZGl2aWRlIGJ5IDJeMTEgZnJvbSBwc3REc2NDZmcgdmFsdWVz CisJCSAqLworCQl2ZHNjX2NmZy0+c2NhbGVfaW5jcmVtZW50X2ludGVydmFsID0KKwkJCQkodmRz Y19jZmctPmZpbmFsX29mZnNldCAqICgxIDw8IDExKSkgLworCQkJCSgodmRzY19jZmctPm5mbF9i cGdfb2Zmc2V0ICsKKwkJCQl2ZHNjX2NmZy0+c2xpY2VfYnBnX29mZnNldCkgKgorCQkJCShmaW5h bF9zY2FsZSAtIDkpKTsKKwl9IGVsc2UgeworCQkvKgorCQkgKiBJZiBmaW5hbFNjYWxlVmFsdWUg aXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDksIGEgdmFsdWUgb2YgMCBzaG91bGQKKwkJICogYmUg dXNlZCB0byBkaXNhYmxlIHRoZSBzY2FsZSBpbmNyZW1lbnQgYXQgdGhlIGVuZCBvZiB0aGUgc2xp Y2UKKwkJICovCisJCXZkc2NfY2ZnLT5zY2FsZV9pbmNyZW1lbnRfaW50ZXJ2YWwgPSAwOworCX0K KworCWlmICh2ZHNjX2NmZy0+c2NhbGVfaW5jcmVtZW50X2ludGVydmFsID4gNjU1MzUpIHsKKwkJ RFJNX0RFQlVHX0tNUygiU2NhbGVJbmNyZW1lbnRJbnRlcnZhbCBpcyBsYXJnZSBmb3Igc2xpY2Ug aGVpZ2h0XG4iKTsKKwkJcmV0dXJuIC1FUkFOR0U7CisJfQorCisJLyoKKwkgKiBEU0Mgc3BlYyBt ZW50aW9ucyB0aGF0IGJpdHNfcGVyX3BpeGVsIHNwZWNpZmllcyB0aGUgdGFyZ2V0CisJICogYml0 cy9waXhlbCAoYnBwKSByYXRlIHRoYXQgaXMgdXNlZCBieSB0aGUgZW5jb2RlciwKKwkgKiBpbiBz dGVwcyBvZiAxLzE2IG9mIGEgYml0IHBlciBwaXhlbAorCSAqLworCXJic19taW4gPSB2ZHNjX2Nm Zy0+cmNfbW9kZWxfc2l6ZSAtIHZkc2NfY2ZnLT5pbml0aWFsX29mZnNldCArCisJCURJVl9ST1VO RF9VUCh2ZHNjX2NmZy0+aW5pdGlhbF94bWl0X2RlbGF5ICoKKwkJCSAgICAgdmRzY19jZmctPmJp dHNfcGVyX3BpeGVsLCAxNikgKworCQlncm91cHNfcGVyX2xpbmUgKiB2ZHNjX2NmZy0+Zmlyc3Rf bGluZV9icGdfb2Zmc2V0OworCisJaHJkX2RlbGF5ID0gRElWX1JPVU5EX1VQKChyYnNfbWluICog MTYpLCB2ZHNjX2NmZy0+Yml0c19wZXJfcGl4ZWwpOworCXZkc2NfY2ZnLT5yY19iaXRzID0gKGhy ZF9kZWxheSAqIHZkc2NfY2ZnLT5iaXRzX3Blcl9waXhlbCkgLyAxNjsKKwl2ZHNjX2NmZy0+aW5p dGlhbF9kZWNfZGVsYXkgPSBocmRfZGVsYXkgLSB2ZHNjX2NmZy0+aW5pdGlhbF94bWl0X2RlbGF5 OworCisJcmV0dXJuIDA7Cit9CisKIGludCBpbnRlbF9kcF9jb21wdXRlX2RzY19wYXJhbXMoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCwKIAkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlw ZV9jb25maWcpCiB7CkBAIC00NTIsNSArNTc1LDUgQEAgaW50IGludGVsX2RwX2NvbXB1dGVfZHNj X3BhcmFtcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCXZkc2NfY2ZnLT5pbml0aWFsX3Nj YWxlX3ZhbHVlID0gKHZkc2NfY2ZnLT5yY19tb2RlbF9zaXplIDw8IDMpIC8KIAkJKHZkc2NfY2Zn LT5yY19tb2RlbF9zaXplIC0gdmRzY19jZmctPmluaXRpYWxfb2Zmc2V0KTsKIAotCXJldHVybiAw OworCXJldHVybiBpbnRlbF9jb21wdXRlX3JjX3BhcmFtZXRlcnModmRzY19jZmcpOwogfQotLSAK Mi4xOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK