From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v8 10/19] drm/i915/dsc: Compute Rate Control parameters for DSC Date: Tue, 6 Nov 2018 16:33:38 +0200 Message-ID: <20181106143338.GV9144@intel.com> References: <20181102213138.301-1-manasi.d.navare@intel.com> <20181102213138.301-11-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20181102213138.301-11-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: Manasi Navare Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBOb3YgMDIsIDIwMTggYXQgMDI6MzE6MjlQTSAtMDcwMCwgTWFuYXNpIE5hdmFyZSB3 cm90ZToKPiBGcm9tOiBHYXVyYXYgSyBTaW5naCA8Z2F1cmF2Lmsuc2luZ2hAaW50ZWwuY29tPgo+ IAo+IFRoaXMgY29tcHV0YXRpb24gb2YgUkMgcGFyYW1zIGhhcHBlbnMgaW4gdGhlIGF0b21pYyBj b21taXQgcGhhc2UKPiBkdXJpbmcgY29tcHV0ZV9jb25maWcoKSB0byB2YWxpZGF0ZSBpZiBkaXNw bGF5IHN0cmVhbSBjb21wcmVzc2lvbgo+IGNhbiBiZSBlbmFibGVkIGZvciB0aGUgcmVxdWVzdGVk IG1vZGUuCj4gCj4gdjcgKEZyb20gTWFuYXNpKToKPiAqIFVzZSBEUk1fREVCVUcgaW5zdGVhZCBv ZiBEUk1fRVJST1IgKFZpbGxlKQo+ICogVXNlIEVycm9yIG51bWJlcmluc3RlYWQgb2YgLTEgKFZp bGxlKQo+IHY2IChGcm9tIE1hbmFzaSk6Cj4gKiBVc2UgOSBpbnN0ZWFkIG9mIDB4OSBmb3IgY29u c2lzdGVuY3kgKEFudXNoYSkKPiAKPiB2NSAoRnJvbSBNYW5hc2kpOgo+ICogRml4IGRpbSBjaGVj a3BhdGNoIHdhcm5pbmdzL2NoZWNrcwo+IHY0KEZyb20gR2F1cmF2KToKPiAqIE5vIGNoYW5nZS5S ZWJhc2Ugb24gZHJtLXRpcAo+IAo+IHYzIChGcm9tIEdhdXJhdik6Cj4gKiBSZWJhc2Ugb24gdG9w IG9mIE1hbmFzaSdzIGxhdGVzdCBzZXJpZXMKPiAqIFJldHVybiAtdmUgdmFsdWUgaW4gY2FzZSBv ZiBmYWlsdXJlIHNjZW5hcmlvcyAoTWFuYXNpKQo+IAo+IEZpeCByZXZpZXcgY29tbWVudHMgZnJv bSBWaWxsZToKPiAqIFJlbW92ZSB1bm5lY2Vzc2FyeSBjb21tZW50cwo+ICogUmVtb3ZlIHVubmVj ZXNzYXJ5IHBhcmFudGhlc2lzCj4gKiBBZGQgY29tbWVudHMgZm9yIGZldyBSQyBwYXJhbXMgY2Fs Y3VsYXRpb25zCj4gCj4gdjIgKEZyb20gTWFuYXNpKToKPiAqIFJlYmFzZSBHYXVyYXYncyBwYXRj aCBmcm9tIGludGVsLWdmeCB0byBnZngtaW50ZXJuYWwKPiAqIFVzZSBzdHJ1Y3QgZHJtX2RzY19j ZmcgaW5zdGVhZCBvZiBzdHJ1Y3QgaW50ZWxfZHAKPiBhcyBhIHBhcmFtZXRlcgo+IAo+IENjOiBN YW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+IENjOiBKYW5pIE5pa3Vs YSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29tPgo+IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBHYXVyYXYgSyBTaW5n aCA8Z2F1cmF2Lmsuc2luZ2hAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IE1hbmFzaSBOYXZh cmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gUmV2aWV3ZWQtYnk6IEFudXNoYSBTcml2 YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfdmRzYy5jIHwgMTI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ ICAxIGZpbGUgY2hhbmdlZCwgMTI3IGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfdmRzYy5jCj4gaW5kZXggMGExOTE4ZjJmNjQzLi5hNzZmNzhiOWMwZWUgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmRzYy5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfdmRzYy5jCj4gQEAgLTMxNyw2ICszMTcsMTMwIEBAIHN0YXRpYyBpbnQg Z2V0X2NvbHVtbl9pbmRleF9mb3JfcmNfcGFyYW1zKHU4IGJpdHNfcGVyX2NvbXBvbmVudCkKPiAg CX0KPiAgfQo+ICAKPiArc3RhdGljIGludCBpbnRlbF9jb21wdXRlX3JjX3BhcmFtZXRlcnMoc3Ry dWN0IGRybV9kc2NfY29uZmlnICp2ZHNjX2NmZykKPiArewo+ICsJdW5zaWduZWQgbG9uZyBncm91 cHNfcGVyX2xpbmUgPSAwOwo+ICsJdW5zaWduZWQgbG9uZyBncm91cHNfdG90YWwgPSAwOwo+ICsJ dW5zaWduZWQgbG9uZyBudW1fZXh0cmFfbXV4X2JpdHMgPSAwOwo+ICsJdW5zaWduZWQgbG9uZyBz bGljZV9iaXRzID0gMDsKPiArCXVuc2lnbmVkIGxvbmcgaHJkX2RlbGF5ID0gMDsKPiArCXVuc2ln bmVkIGxvbmcgZmluYWxfc2NhbGUgPSAwOwo+ICsJdW5zaWduZWQgbG9uZyByYnNfbWluID0gMDsK PiArCj4gKwkvKiBOdW1iZXIgb2YgZ3JvdXBzIHVzZWQgdG8gY29kZSBlYWNoIGxpbmUgb2YgYSBz bGljZSAqLwo+ICsJZ3JvdXBzX3Blcl9saW5lID0gRElWX1JPVU5EX1VQKHZkc2NfY2ZnLT5zbGlj ZV93aWR0aCwKPiArCQkJCSAgICAgICBEU0NfUkNfUElYRUxTX1BFUl9HUk9VUCk7Cj4gKwo+ICsJ LyogY2h1bmtzaXplIGluIEJ5dGVzICovCj4gKwl2ZHNjX2NmZy0+c2xpY2VfY2h1bmtfc2l6ZSA9 IERJVl9ST1VORF9VUCh2ZHNjX2NmZy0+c2xpY2Vfd2lkdGggKgo+ICsJCQkJCQkgIHZkc2NfY2Zn LT5iaXRzX3Blcl9waXhlbCwKPiArCQkJCQkJICAoOCAqIDE2KSk7Cj4gKwo+ICsJaWYgKHZkc2Nf Y2ZnLT5jb252ZXJ0X3JnYikKPiArCQludW1fZXh0cmFfbXV4X2JpdHMgPSAzICogKHZkc2NfY2Zn LT5tdXhfd29yZF9zaXplICsKPiArCQkJCQkgICg0ICogdmRzY19jZmctPmJpdHNfcGVyX2NvbXBv bmVudCArIDQpCj4gKwkJCQkJICAtIDIpOwo+ICsJZWxzZQo+ICsJCW51bV9leHRyYV9tdXhfYml0 cyA9IDMgKiB2ZHNjX2NmZy0+bXV4X3dvcmRfc2l6ZSArCj4gKwkJCSg0ICogdmRzY19jZmctPmJp dHNfcGVyX2NvbXBvbmVudCArIDQpICsKPiArCQkJMiAqICg0ICogdmRzY19jZmctPmJpdHNfcGVy X2NvbXBvbmVudCkgLSAyOwo+ICsJLyogTnVtYmVyIG9mIGJpdHMgaW4gb25lIFNsaWNlICovCj4g KwlzbGljZV9iaXRzID0gOCAqIHZkc2NfY2ZnLT5zbGljZV9jaHVua19zaXplICogdmRzY19jZmct PnNsaWNlX2hlaWdodDsKPiArCj4gKwl3aGlsZSAoKG51bV9leHRyYV9tdXhfYml0cyA+IDApICYm Cj4gKwkgICAgICAgKChzbGljZV9iaXRzIC0gbnVtX2V4dHJhX211eF9iaXRzKSAlIHZkc2NfY2Zn LT5tdXhfd29yZF9zaXplKSkKPiArCQludW1fZXh0cmFfbXV4X2JpdHMtLTsKPiArCj4gKwlpZiAo Z3JvdXBzX3Blcl9saW5lIDwgdmRzY19jZmctPmluaXRpYWxfc2NhbGVfdmFsdWUgLSA4KQo+ICsJ CXZkc2NfY2ZnLT5pbml0aWFsX3NjYWxlX3ZhbHVlID0gZ3JvdXBzX3Blcl9saW5lICsgODsKPiAr Cj4gKwkvKiBzY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWwgY2FsY3VsYXRpb24gYWNjb3JkaW5nIHRv IERTQyBzcGVjIDEuMTEgKi8KPiArCWlmICh2ZHNjX2NmZy0+aW5pdGlhbF9zY2FsZV92YWx1ZSA+ IDgpCj4gKwkJdmRzY19jZmctPnNjYWxlX2RlY3JlbWVudF9pbnRlcnZhbCA9IGdyb3Vwc19wZXJf bGluZSAvCj4gKwkJCSh2ZHNjX2NmZy0+aW5pdGlhbF9zY2FsZV92YWx1ZSAtIDgpOwo+ICsJZWxz ZQo+ICsJCXZkc2NfY2ZnLT5zY2FsZV9kZWNyZW1lbnRfaW50ZXJ2YWwgPSBEU0NfU0NBTEVfREVD UkVNRU5UX0lOVEVSVkFMX01BWDsKPiArCj4gKwl2ZHNjX2NmZy0+ZmluYWxfb2Zmc2V0ID0gdmRz Y19jZmctPnJjX21vZGVsX3NpemUgLQo+ICsJCSh2ZHNjX2NmZy0+aW5pdGlhbF94bWl0X2RlbGF5 ICoKPiArCQkgdmRzY19jZmctPmJpdHNfcGVyX3BpeGVsICsgOCkgLyAxNiArIG51bV9leHRyYV9t dXhfYml0czsKPiArCj4gKwlpZiAodmRzY19jZmctPmZpbmFsX29mZnNldCA+PSB2ZHNjX2NmZy0+ cmNfbW9kZWxfc2l6ZSkgewo+ICsJCURSTV9ERUJVR19LTVMoIkZpbmFsT2ZzIDwgUmNNb2RlbFN6 ZSBmb3IgdGhpcyBJbml0aWFsWG1pdERlbGF5XG4iKTsKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiAr CX0KPiArCj4gKwlmaW5hbF9zY2FsZSA9ICh2ZHNjX2NmZy0+cmNfbW9kZWxfc2l6ZSAqIDgpIC8K PiArCQkodmRzY19jZmctPnJjX21vZGVsX3NpemUgLSB2ZHNjX2NmZy0+ZmluYWxfb2Zmc2V0KTsK PiArCWlmICh2ZHNjX2NmZy0+c2xpY2VfaGVpZ2h0ID4gMSkKPiArCQkvKgo+ICsJCSAqIE5mbEJw Z09mZnNldCBpcyAxNiBiaXQgdmFsdWUgd2l0aCAxMSBmcmFjdGlvbmFsIGJpdHMKPiArCQkgKiBo ZW5jZSB3ZSBtdWx0aXBseSBieSAyXjExIGZvciBwcmVzZXJ2aW5nIHRoZQo+ICsJCSAqIGZyYWN0 aW9uYWwgcGFydAo+ICsJCSAqLwo+ICsJCXZkc2NfY2ZnLT5uZmxfYnBnX29mZnNldCA9IERJVl9S T1VORF9VUCgodmRzY19jZmctPmZpcnN0X2xpbmVfYnBnX29mZnNldCA8PCAxMSksCj4gKwkJCQkJ CQkodmRzY19jZmctPnNsaWNlX2hlaWdodCAtIDEpKTsKPiArCWVsc2UKPiArCQl2ZHNjX2NmZy0+ bmZsX2JwZ19vZmZzZXQgPSAwOwo+ICsKPiArCS8qIDJeMTYgLSAxICovCj4gKwlpZiAodmRzY19j ZmctPm5mbF9icGdfb2Zmc2V0ID4gNjU1MzUpIHsKPiArCQlEUk1fREVCVUdfS01TKCJOZmxCcGdP ZmZzZXQgaXMgdG9vIGxhcmdlIGZvciB0aGlzIHNsaWNlIGhlaWdodFxuIik7Cj4gKwkJcmV0dXJu IC1FSU5WQUw7Cj4gKwl9Cj4gKwo+ICsJLyogTnVtYmVyIG9mIGdyb3VwcyB1c2VkIHRvIGNvZGUg dGhlIGVudGlyZSBzbGljZSAqLwo+ICsJZ3JvdXBzX3RvdGFsID0gZ3JvdXBzX3Blcl9saW5lICog dmRzY19jZmctPnNsaWNlX2hlaWdodDsKPiArCj4gKwkvKiBzbGljZV9icGdfb2Zmc2V0IGlzIDE2 IGJpdCB2YWx1ZSB3aXRoIDExIGZyYWN0aW9uYWwgYml0cyAqLwo+ICsJdmRzY19jZmctPnNsaWNl X2JwZ19vZmZzZXQgPSBESVZfUk9VTkRfVVAoKCh2ZHNjX2NmZy0+cmNfbW9kZWxfc2l6ZSAtCj4g KwkJCQkJCSAgICB2ZHNjX2NmZy0+aW5pdGlhbF9vZmZzZXQgKwo+ICsJCQkJCQkgICAgbnVtX2V4 dHJhX211eF9iaXRzKSA8PCAxMSksCj4gKwkJCQkJCSAgZ3JvdXBzX3RvdGFsKTsKPiArCj4gKwlp ZiAoZmluYWxfc2NhbGUgPiA5KSB7Cj4gKwkJLyoKPiArCQkgKiBTY2FsZUluY3JlbWVudEludGVy dmFsID0KPiArCQkgKiBmaW5hbG9mZnNldC8oKE5mbEJwZ09mZnNldCArIFNsaWNlQnBnT2Zmc2V0 KSo4KGZpbmFsc2NhbGUgLSAxLjEyNSkpCj4gKwkJICogYXMgKE5mbEJwZ09mZnNldCArIFNsaWNl QnBnT2Zmc2V0KSBoYXMgMTEgYml0IGZyYWN0aW9uYWwgdmFsdWUsCj4gKwkJICogd2UgbmVlZCBk aXZpZGUgYnkgMl4xMSBmcm9tIHBzdERzY0NmZyB2YWx1ZXMKPiArCQkgKi8KPiArCQl2ZHNjX2Nm Zy0+c2NhbGVfaW5jcmVtZW50X2ludGVydmFsID0KPiArCQkJCSh2ZHNjX2NmZy0+ZmluYWxfb2Zm c2V0ICogKDEgPDwgMTEpKSAvCj4gKwkJCQkoKHZkc2NfY2ZnLT5uZmxfYnBnX29mZnNldCArCj4g KwkJCQl2ZHNjX2NmZy0+c2xpY2VfYnBnX29mZnNldCkqCj4gKwkJCQkoZmluYWxfc2NhbGUgLSA5 KSk7Cj4gKwl9IGVsc2Ugewo+ICsJCS8qCj4gKwkJICogSWYgZmluYWxTY2FsZVZhbHVlIGlzIGxl c3MgdGhhbiBvciBlcXVhbCB0byA5LCBhIHZhbHVlIG9mIDAgc2hvdWxkCj4gKwkJICogYmUgdXNl ZCB0byBkaXNhYmxlIHRoZSBzY2FsZSBpbmNyZW1lbnQgYXQgdGhlIGVuZCBvZiB0aGUgc2xpY2UK PiArCQkgKi8KPiArCQl2ZHNjX2NmZy0+c2NhbGVfaW5jcmVtZW50X2ludGVydmFsID0gMDsKPiAr CX0KPiArCj4gKwlpZiAodmRzY19jZmctPnNjYWxlX2luY3JlbWVudF9pbnRlcnZhbCA+IDY1NTM1 KSB7Cj4gKwkJRFJNX0RFQlVHX0tNUygiU2NhbGVJbmNyZW1lbnRJbnRlcnZhbCBpcyBsYXJnZSBm b3Igc2xpY2UgaGVpZ2h0XG4iKTsKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCX0KPiArCj4gKwkv Kgo+ICsJICogRFNDIHNwZWMgbWVudGlvbnMgdGhhdCBiaXRzX3Blcl9waXhlbCBzcGVjaWZpZXMg dGhlIHRhcmdldAo+ICsJICogYml0cy9waXhlbCAoYnBwKSByYXRlIHRoYXQgaXMgdXNlZCBieSB0 aGUgZW5jb2RlciwKPiArCSAqIGluIHN0ZXBzIG9mIDEvMTYgb2YgYSBiaXQgcGVyIHBpeGVsCj4g KwkgKi8KPiArCXJic19taW4gPSB2ZHNjX2NmZy0+cmNfbW9kZWxfc2l6ZSAtIHZkc2NfY2ZnLT5p bml0aWFsX29mZnNldCArCj4gKwkJRElWX1JPVU5EX1VQKHZkc2NfY2ZnLT5pbml0aWFsX3htaXRf ZGVsYXkgKgo+ICsJCQkgICAgIHZkc2NfY2ZnLT5iaXRzX3Blcl9waXhlbCwgMTYpICsKPiArCQln cm91cHNfcGVyX2xpbmUgKiB2ZHNjX2NmZy0+Zmlyc3RfbGluZV9icGdfb2Zmc2V0Owo+ICsKPiAr CWhyZF9kZWxheSA9IERJVl9ST1VORF9VUCgocmJzX21pbiAqIDE2KSwgdmRzY19jZmctPmJpdHNf cGVyX3BpeGVsKTsKPiArCXZkc2NfY2ZnLT5yY19iaXRzID0gKGhyZF9kZWxheSAqIHZkc2NfY2Zn LT5iaXRzX3Blcl9waXhlbCkgLyAxNjsKPiArCXZkc2NfY2ZnLT5pbml0aWFsX2RlY19kZWxheSA9 IGhyZF9kZWxheSAtIHZkc2NfY2ZnLT5pbml0aWFsX3htaXRfZGVsYXk7Cj4gKwo+ICsJcmV0dXJu IDA7Cj4gK30KPiArCj4gKwo+ICBpbnQgaW50ZWxfZHBfY29tcHV0ZV9kc2NfcGFyYW1zKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gIAkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlw ZV9jb25maWcpCj4gIHsKPiBAQCAtNDUxLDUgKzU3NSw4IEBAIGludCBpbnRlbF9kcF9jb21wdXRl X2RzY19wYXJhbXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAgCXZkc2NfY2ZnLT5pbml0 aWFsX3NjYWxlX3ZhbHVlID0gKHZkc2NfY2ZnLT5yY19tb2RlbF9zaXplIDw8IDMpIC8KPiAgCQko dmRzY19jZmctPnJjX21vZGVsX3NpemUgLSB2ZHNjX2NmZy0+aW5pdGlhbF9vZmZzZXQpOwo+ICAK PiArCWlmIChpbnRlbF9jb21wdXRlX3JjX3BhcmFtZXRlcnModmRzY19jZmcpIDwgMCkKPiArCQly ZXR1cm4gLUVJTlZBTDsKCk9uZSBzaG91bGQgcHJldHR5IG11Y2ggYWx3YXlzIHBhc3Mgb24gdGhl IGVycm5vIHJhdGhlciB0aGFuIGludmVudGluZyBhCm5ldyBvbmUgb24gdGhlIHNwb3QuCgo+ICsK PiAgCXJldHVybiAwOwo+ICB9Cj4gLS0gCj4gMi4xOC4wCgotLSAKVmlsbGUgU3lyasOkbMOkCklu dGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=