From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [PATCH v6 05/28] drm/i915/dp: Add helpers for Compressed BPP and Slice Count for DSC Date: Wed, 24 Oct 2018 15:28:17 -0700 Message-ID: <20181024222840.25683-6-manasi.d.navare@intel.com> References: <20181024222840.25683-1-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181024222840.25683-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, dri-devel@lists.freedesktop.org Cc: Dhinakaran Pandiyan List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIGhlbHBlcnMgZm9yIGNhbGN1bGF0aW5nIHRoZSBtYXhpbXVtIGNvbXBy ZXNzZWQgQlBQCnN1cHBvcnRlZCB3aXRoIHNtYWxsIGpvaW5lci4KVGhpcyBhbHNvIGFkZHMgYSBo ZWxwZXIgZm9yIGNhbGN1bGF0aW5nIHRoZSBzbGljZSBjb3VudCBpbiBjYXNlCm9mIHNtYWxsIGpv aW5lci4KVGhlc2UgYXJlIGluc2lkZSBpbnRlbF9kcCBzaW5jZSB0aGV5IHRha2UgaW50byBhY2Nv dW50IGhhcmR3YXJlCmxpbWl0YXRpb25zLgoKdjY6CiogVGFrZSBtb2RlX2Nsb2NrIGFuZCBtb2Rl X2hkaXNwbGF5IGFzIGlucHV0IGFyZ3VtZW50cwpzbyB0aGF0IHRoaXMgY2FuIGJlIGNhbGxlZCBp biBpbnRlbF9kcF9tb2RlX3ZhbGlkIChNYW5hc2kpCnY1OgoqIEdldCB0aGUgbWF4IHNsaWNlIHdp ZHRoIGZyb20gRFBDRAoqIENoZWNrIGFnYWluc3QgTWluX1NsaWNlX3dpZHRoIG9mIDI1NjAgKEFu dXNoYSkKdjQ6CiogI2RlZmluZXMgZm9yIFBQUiBpbiBzbGljZSBjb3VudCBoZWxwZXIgKEdhdXJh dikKdjM6CiogU2ltcGx5IGxvZ2ljIGZvciBicHAgKERLKQoqIExpbWl0IHRoZSB2YWxpZCBzbGlj ZSBjb3VudCBieSBtYXggc3VwcG9ydGVkIGJ5IFNpbmsgKE1hbmFzaSkKdjI6CiogQ2hhbmdlIHRo ZSBzbWFsbCBqb2luZXIgUkFNIGJ1ZmZlciBjb25zdGFudCBhcyBic3BlYyBjaGFuZ2VkIChNYW5h c2kpCiogcmVuYW1lIGl0IGFzIFNNQUxMX0pPSU5FUiBzaW5jZSB3ZSBhcmUgbm90IGVuYWJsaW5n IGJpZyBqb2luZXIgeWV0IChBbnVzaGEpCgpDYzogR2F1cmF2IEsgU2luZ2ggPGdhdXJhdi5rLnNp bmdoQGludGVsLmNvbT4KQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5j b20+CkNjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6 IEFudXNoYSBTcml2YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KQ2M6IERoaW5ha2Fy YW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5YW5AaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5 OiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTog QW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTog R2F1cmF2IEsgU2luZ2ggPGdhdXJhdi5rLnNpbmdoQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jICB8IDEwNCArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCB8ICAgNCArKwogMiBmaWxlcyBj aGFuZ2VkLCAxMDggaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCmluZGV4IDU1 ZTA3MGI4NWMwMi4uODM4MDA0NGFmZmVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKQEAgLTQ1 LDYgKzQ1LDE3IEBACiAKICNkZWZpbmUgRFBfRFBSWF9FU0lfTEVOIDE0CiAKKy8qIERQIERTQyBz bWFsbCBqb2luZXIgaGFzIDIgRklGT3MgZWFjaCBvZiA2NDAgeCA2IGJ5dGVzICovCisjZGVmaW5l IERQX0RTQ19NQVhfU01BTExfSk9JTkVSX1JBTV9CVUZGRVIJNjE0NDAKKworLyogRFAgRFNDIHRo cm91Z2hwdXQgdmFsdWVzIHVzZWQgZm9yIHNsaWNlIGNvdW50IGNhbGN1bGF0aW9ucyBLUGl4ZWxz L3MgKi8KKyNkZWZpbmUgRFBfRFNDX1BFQUtfUElYRUxfUkFURQkJCTI3MjAwMDAKKyNkZWZpbmUg RFBfRFNDX01BWF9FTkNfVEhST1VHSFBVVF8wCQkzNDAwMDAKKyNkZWZpbmUgRFBfRFNDX01BWF9F TkNfVEhST1VHSFBVVF8xCQk0MDAwMDAKKworLyogRFAgRFNDIEZFQyBPdmVyaGVhZCBmYWN0b3Ig PSAoMTAwIC0gMi40KS8xMDAgKi8KKyNkZWZpbmUgRFBfRFNDX0ZFQ19PVkVSSEVBRF9GQUNUT1IJ CTk3NgorCiAvKiBDb21wbGlhbmNlIHRlc3Qgc3RhdHVzIGJpdHMgICovCiAjZGVmaW5lIElOVEVM X0RQX1JFU09MVVRJT05fU0hJRlRfTUFTSwkwCiAjZGVmaW5lIElOVEVMX0RQX1JFU09MVVRJT05f UFJFRkVSUkVECSgxIDw8IElOVEVMX0RQX1JFU09MVVRJT05fU0hJRlRfTUFTSykKQEAgLTkzLDYg KzEwNCwxNCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRwX2xpbmtfZHBsbCBjaHZfZHBsbFtdID0g ewogCQl7IC5wMSA9IDQsIC5wMiA9IDEsIC5uID0gMSwgLm0xID0gMiwgLm0yID0gMHg2YzAwMDAw IH0gfSwKIH07CiAKKy8qIENvbnN0YW50cyBmb3IgRFAgRFNDIGNvbmZpZ3VyYXRpb25zICovCitz dGF0aWMgY29uc3QgdTggdmFsaWRfZHNjX2JwcFtdID0gezYsIDgsIDEwLCAxMiwgMTV9OworCisv KiBXaXRoIFNpbmdsZSBwaXBlIGNvbmZpZ3VyYXRpb24sIEhXIGlzIGNhcGFibGUgb2Ygc3VwcG9y dGluZyBtYXhpbXVtCisgKiBvZiA0IHNsaWNlcyBwZXIgbGluZS4KKyAqLworc3RhdGljIGNvbnN0 IHU4IHZhbGlkX2RzY19zbGljZWNvdW50W10gPSB7MSwgMiwgNH07CisKIC8qKgogICogaW50ZWxf ZHBfaXNfZWRwIC0gaXMgdGhlIGdpdmVuIHBvcnQgYXR0YWNoZWQgdG8gYW4gZURQIHBhbmVsIChl aXRoZXIgQ1BVIG9yIFBDSCkKICAqIEBpbnRlbF9kcDogRFAgc3RydWN0CkBAIC00MTYyLDYgKzQx ODEsOTEgQEAgaW50ZWxfZHBfZ2V0X3NpbmtfaXJxX2VzaShzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwLCB1OCAqc2lua19pcnFfdmVjdG9yKQogCQlEUF9EUFJYX0VTSV9MRU47CiB9CiAKK3UxNiBp bnRlbF9kcF9kc2NfZ2V0X291dHB1dF9icHAoaW50IGxpbmtfY2xvY2ssIHVpbnQ4X3QgbGFuZV9j b3VudCwKKwkJCQlpbnQgbW9kZV9jbG9jaywgaW50IG1vZGVfaGRpc3BsYXkpCit7CisJdTE2IGJp dHNfcGVyX3BpeGVsLCBtYXhfYnBwX3NtYWxsX2pvaW5lcl9yYW07CisJaW50IGk7CisKKwkvKgor CSAqIEF2YWlsYWJsZSBMaW5rIEJhbmR3aWR0aChLYml0cy9zZWMpID0gKE51bWJlck9mTGFuZXMp KgorCSAqIChMaW5rU3ltYm9sQ2xvY2spKiA4ICogKCgxMDAtRkVDT3ZlcmhlYWQpLzEwMCkqKFRp bWVTbG90c1Blck1UUCkKKwkgKiBGRUNPdmVyaGVhZCA9IDIuNCUsIGZvciBTU1QgLT4gVGltZVNs b3RzUGVyTVRQIGlzIDEsCisJICogZm9yIE1TVCAtPiBUaW1lU2xvdHNQZXJNVFAgaGFzIHRvIGJl IGNhbGN1bGF0ZWQKKwkgKi8KKwliaXRzX3Blcl9waXhlbCA9IChsaW5rX2Nsb2NrICogbGFuZV9j b3VudCAqIDggKgorCQkJICBEUF9EU0NfRkVDX09WRVJIRUFEX0ZBQ1RPUikgLworCQltb2RlX2Ns b2NrOworCisJLyogU21hbGwgSm9pbmVyIENoZWNrOiBvdXRwdXQgYnBwIDw9IGpvaW5lciBSQU0g KGJpdHMpIC8gSG9yaXouIHdpZHRoICovCisJbWF4X2JwcF9zbWFsbF9qb2luZXJfcmFtID0gRFBf RFNDX01BWF9TTUFMTF9KT0lORVJfUkFNX0JVRkZFUiAvCisJCW1vZGVfaGRpc3BsYXk7CisKKwkv KgorCSAqIEdyZWF0ZXN0IGFsbG93ZWQgRFNDIEJQUCA9IE1JTiAob3V0cHV0IEJQUCBmcm9tIGF2 YWlhbGJsZSBMaW5rIEJXCisJICogY2hlY2ssIG91dHB1dCBicHAgZnJvbSBzbWFsbCBqb2luZXIg UkFNIGNoZWNrKQorCSAqLworCWJpdHNfcGVyX3BpeGVsID0gbWluKGJpdHNfcGVyX3BpeGVsLCBt YXhfYnBwX3NtYWxsX2pvaW5lcl9yYW0pOworCisJLyogRXJyb3Igb3V0IGlmIHRoZSBtYXggYnBw IGlzIGxlc3MgdGhhbiBzbWFsbGVzdCBhbGxvd2VkIHZhbGlkIGJwcCAqLworCWlmIChiaXRzX3Bl cl9waXhlbCA8IHZhbGlkX2RzY19icHBbMF0pIHsKKwkJRFJNX0RFQlVHX0tNUygiVW5zdXBwb3J0 ZWQgQlBQICVkXG4iLCBiaXRzX3Blcl9waXhlbCk7CisJCXJldHVybiAwOworCX0KKworCS8qIEZp bmQgdGhlIG5lYXJlc3QgbWF0Y2ggaW4gdGhlIGFycmF5IG9mIGtub3duIEJQUHMgZnJvbSBWRVNB ICovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodmFsaWRfZHNjX2JwcCkgLSAxOyBpKysp IHsKKwkJaWYgKGJpdHNfcGVyX3BpeGVsIDwgdmFsaWRfZHNjX2JwcFtpICsgMV0pCisJCQlicmVh azsKKwl9CisJYml0c19wZXJfcGl4ZWwgPSB2YWxpZF9kc2NfYnBwW2ldOworCisJLyoKKwkgKiBD b21wcmVzc2VkIEJQUCBpbiBVNi40IGZvcm1hdCBzbyBtdWx0aXBseSBieSAxNiwgZm9yIEdlbiAx MSwKKwkgKiBmcmFjdGlvbmFsIHBhcnQgaXMgMAorCSAqLworCXJldHVybiBiaXRzX3Blcl9waXhl bCA8PCA0OworfQorCit1OCBpbnRlbF9kcF9kc2NfZ2V0X3NsaWNlX2NvdW50KHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHAsCisJCQkJaW50IG1vZGVfY2xvY2ssCisJCQkJaW50IG1vZGVfaGRpc3Bs YXkpCit7CisJdTggbWluX3NsaWNlX2NvdW50LCBpOworCWludCBtYXhfc2xpY2Vfd2lkdGg7CisK KwlpZiAobW9kZV9jbG9jayA8PSBEUF9EU0NfUEVBS19QSVhFTF9SQVRFKQorCQltaW5fc2xpY2Vf Y291bnQgPSBESVZfUk9VTkRfVVAobW9kZV9jbG9jaywKKwkJCQkJICAgICAgIERQX0RTQ19NQVhf RU5DX1RIUk9VR0hQVVRfMCk7CisJZWxzZQorCQltaW5fc2xpY2VfY291bnQgPSBESVZfUk9VTkRf VVAobW9kZV9jbG9jaywKKwkJCQkJICAgICAgIERQX0RTQ19NQVhfRU5DX1RIUk9VR0hQVVRfMSk7 CisKKwltYXhfc2xpY2Vfd2lkdGggPSBkcm1fZHBfZHNjX3NpbmtfbWF4X3NsaWNlX3dpZHRoKGlu dGVsX2RwLT5kc2NfZHBjZCk7CisJaWYgKG1heF9zbGljZV93aWR0aCA8IERQX0RTQ19NSU5fU0xJ Q0VfV0lEVEhfVkFMVUUpIHsKKwkJRFJNX0RFQlVHX0tNUygiVW5zdXBwb3J0ZWQgc2xpY2Ugd2lk dGggJWQgYnkgRFAgRFNDIFNpbmsgZGV2aWNlXG4iLAorCQkJICAgICAgbWF4X3NsaWNlX3dpZHRo KTsKKwkJcmV0dXJuIDA7CisJfQorCS8qIEFsc28gdGFrZSBpbnRvIGFjY291bnQgbWF4IHNsaWNl IHdpZHRoICovCisJbWluX3NsaWNlX2NvdW50ID0gbWluX3QodWludDhfdCwgbWluX3NsaWNlX2Nv dW50LAorCQkJCURJVl9ST1VORF9VUChtb2RlX2hkaXNwbGF5LAorCQkJCQkgICAgIG1heF9zbGlj ZV93aWR0aCkpOworCisJLyogRmluZCB0aGUgY2xvc2VzdCBtYXRjaCB0byB0aGUgdmFsaWQgc2xp Y2UgY291bnQgdmFsdWVzICovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodmFsaWRfZHNj X3NsaWNlY291bnQpOyBpKyspIHsKKwkJaWYgKHZhbGlkX2RzY19zbGljZWNvdW50W2ldID4KKwkJ ICAgIGRybV9kcF9kc2Nfc2lua19tYXhfc2xpY2VfY291bnQoaW50ZWxfZHAtPmRzY19kcGNkLAor CQkJCQkJICAgIGZhbHNlKSkKKwkJCWJyZWFrOworCQlpZiAobWluX3NsaWNlX2NvdW50ICA8PSB2 YWxpZF9kc2Nfc2xpY2Vjb3VudFtpXSkKKwkJCXJldHVybiB2YWxpZF9kc2Nfc2xpY2Vjb3VudFtp XTsKKwl9CisKKwlEUk1fREVCVUdfS01TKCJVbnN1cHBvcnRlZCBTbGljZSBDb3VudCAlZFxuIiwg bWluX3NsaWNlX2NvdW50KTsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIHVpbnQ4X3QgaW50ZWxf ZHBfYXV0b3Rlc3RfbGlua190cmFpbmluZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogewog CWludCBzdGF0dXMgPSAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCA0Y2FjZjBlM2Zh MTcuLjYyYzA1MTA5ODg1OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTE4MzAsNiAr MTgzMCwxMCBAQCBib29sIGludGVsX2RwX3NvdXJjZV9zdXBwb3J0c19oYnIyKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHApOwogYm9vbCBpbnRlbF9kcF9zb3VyY2Vfc3VwcG9ydHNfaGJyMyhzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKIGJvb2wKIGludGVsX2RwX2dldF9saW5rX3N0YXR1cyhz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCB1aW50OF90IGxpbmtfc3RhdHVzW0RQX0xJTktfU1RB VFVTX1NJWkVdKTsKK3VpbnQxNl90IGludGVsX2RwX2RzY19nZXRfb3V0cHV0X2JwcChpbnQgbGlu a19jbG9jaywgdWludDhfdCBsYW5lX2NvdW50LAorCQkJCSAgICAgaW50IG1vZGVfY2xvY2ssIGlu dCBtb2RlX2hkaXNwbGF5KTsKK3VpbnQ4X3QgaW50ZWxfZHBfZHNjX2dldF9zbGljZV9jb3VudChz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgbW9kZV9jbG9jaywKKwkJCQkgICAgIGludCBt b2RlX2hkaXNwbGF5KTsKIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgaW50ZWxfZHBfdW51 c2VkX2xhbmVfbWFzayhpbnQgbGFuZV9jb3VudCkKIHsKLS0gCjIuMTguMAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==