From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [PATCH 03/23] drm/dp: DRM DP helper/macros to get DP sink DSC parameters Date: Mon, 30 Jul 2018 19:12:43 -0700 Message-ID: <1533003183-22793-4-git-send-email-manasi.d.navare@intel.com> References: <1533003183-22793-1-git-send-email-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: <1533003183-22793-1-git-send-email-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 Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIGlubGluZSBmdW5jdGlvbnMgYW5kIGhlbHBlcnMgZm9yIG9idGFpbmlu ZwpEUCBzaW5rJ3Mgc3VwcG9ydGVkIERTQyBwYXJhbWV0ZXJzIGxpa2UgRFNDIHNpbmsgc3VwcG9y dCwKZURQIGNvbXByZXNzZWQgQlBQIHN1cHBvcnRlZCwgbWF4aW11bSBzbGljZSBjb3VudCBzdXBw b3J0ZWQKYnkgdGhlIHNpbmsgZGV2aWNlcywgRFNDIGxpbmUgYnVmZmVyIGJpdCBkZXB0aCBzdXBw b3J0ZWQgb24gRFAgc2luaywKRFNDIHNpbmsgbWF4aW11bSBjb2xvciBkZXB0aCBieSBwYXJzaW5n IGNvcnJlc3BvbmRpbmcgRFBDRCByZWdpc3RlcnMuCgp2NDoKKiBBZGQgaGVscGVyIHRvIGdpdmUg bGluZSBidWYgYml0IGRlcHRoIChNYW5hc2kpCnYzOgoqIFVzZSBTTElDRV9DQVBfMiBmb3IgRFAg KEFudXNoYSkKdjI6CiogQWRkIERTQyBzaW5rIHN1cHBvcnQgbWFjcm8gKEphbmkgTikKCkNjOiBH YXVyYXYgSyBTaW5naCA8Z2F1cmF2Lmsuc2luZ2hAaW50ZWwuY29tPgpDYzogZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4Lmlu dGVsLmNvbT4KQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t PgpDYzogQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FAaW50ZWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMgfCA4OSArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX2RwX2hlbHBlci5oICAgICB8IDMw ICsrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDExOSBpbnNlcnRpb25zKCspCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZHBfaGVscGVyLmMKaW5kZXggMGNjY2JjYi4uN2RjNjFkMSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rw X2hlbHBlci5jCkBAIC0xMzM2LDMgKzEzMzYsOTIgQEAgaW50IGRybV9kcF9yZWFkX2Rlc2Moc3Ry dWN0IGRybV9kcF9hdXggKmF1eCwgc3RydWN0IGRybV9kcF9kZXNjICpkZXNjLAogCXJldHVybiAw OwogfQogRVhQT1JUX1NZTUJPTChkcm1fZHBfcmVhZF9kZXNjKTsKKworLyoqCisgKiBEUk0gRFAg SGVscGVycyBmb3IgRFNDCisgKi8KK3U4IGRybV9kcF9kc2Nfc2lua19tYXhfc2xpY2VfY291bnQo Y29uc3QgdTggZHNjX2RwY2RbRFBfRFNDX1JFQ0VJVkVSX0NBUF9TSVpFXSwKKwkJCQkgICBib29s IGlzX2VkcCkKK3sKKwl1OCBzbGljZV9jYXAxID0gZHNjX2RwY2RbRFBfRFNDX1NMSUNFX0NBUF8x IC0gRFBfRFNDX1NVUFBPUlRdOworCisJaWYgKGlzX2VkcCkgeworCQkvKiBGb3IgZURQLCByZWdp c3RlciBEU0NfU0xJQ0VfQ0FQQUJJTElUSUVTXzEgZ2l2ZXMgc2xpY2UgY291bnQgKi8KKwkJaWYg KHNsaWNlX2NhcDEgJiBEUF9EU0NfNF9QRVJfRFBfRFNDX1NJTkspCisJCQlyZXR1cm4gNDsKKwkJ aWYgKHNsaWNlX2NhcDEgJiBEUF9EU0NfMl9QRVJfRFBfRFNDX1NJTkspCisJCQlyZXR1cm4gMjsK KwkJaWYgKHNsaWNlX2NhcDEgJiBEUF9EU0NfMV9QRVJfRFBfRFNDX1NJTkspCisJCQlyZXR1cm4g MTsKKwl9IGVsc2UgeworCQkvKiBGb3IgRFAsIHVzZSB2YWx1ZXMgZnJvbSBEU0NfU0xJQ0VfQ0FQ XzEgYW5kIERTQ19TTElDRV9DQVAyICovCisJCXU4IHNsaWNlX2NhcDIgPSBkc2NfZHBjZFtEUF9E U0NfU0xJQ0VfQ0FQXzIgLSBEUF9EU0NfU1VQUE9SVF07CisKKwkJaWYgKHNsaWNlX2NhcDIgJiBE UF9EU0NfMjRfUEVSX0RQX0RTQ19TSU5LKQorCQkJcmV0dXJuIDI0OworCQlpZiAoc2xpY2VfY2Fw MiAmIERQX0RTQ18yMF9QRVJfRFBfRFNDX1NJTkspCisJCQlyZXR1cm4gMjA7CisJCWlmIChzbGlj ZV9jYXAyICYgRFBfRFNDXzE2X1BFUl9EUF9EU0NfU0lOSykKKwkJCXJldHVybiAxNjsKKwkJaWYg KHNsaWNlX2NhcDEgJiBEUF9EU0NfMTJfUEVSX0RQX0RTQ19TSU5LKQorCQkJcmV0dXJuIDEyOwor CQlpZiAoc2xpY2VfY2FwMSAmIERQX0RTQ18xMF9QRVJfRFBfRFNDX1NJTkspCisJCQlyZXR1cm4g MTA7CisJCWlmIChzbGljZV9jYXAxICYgRFBfRFNDXzhfUEVSX0RQX0RTQ19TSU5LKQorCQkJcmV0 dXJuIDg7CisJCWlmIChzbGljZV9jYXAxICYgRFBfRFNDXzZfUEVSX0RQX0RTQ19TSU5LKQorCQkJ cmV0dXJuIDY7CisJCWlmIChzbGljZV9jYXAxICYgRFBfRFNDXzRfUEVSX0RQX0RTQ19TSU5LKQor CQkJcmV0dXJuIDQ7CisJCWlmIChzbGljZV9jYXAxICYgRFBfRFNDXzJfUEVSX0RQX0RTQ19TSU5L KQorCQkJcmV0dXJuIDI7CisJCWlmIChzbGljZV9jYXAxICYgRFBfRFNDXzFfUEVSX0RQX0RTQ19T SU5LKQorCQkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGRy bV9kcF9kc2Nfc2lua19tYXhfc2xpY2VfY291bnQpOworCit1OCBkcm1fZHBfZHNjX3NpbmtfbGlu ZV9idWZfZGVwdGgoY29uc3QgdTggZHNjX2RwY2RbRFBfRFNDX1JFQ0VJVkVSX0NBUF9TSVpFXSkK K3sKKwl1OCBsaW5lX2J1Zl9kZXB0aCA9IGRzY19kcGNkW0RQX0RTQ19MSU5FX0JVRl9CSVRfREVQ VEggLSBEUF9EU0NfU1VQUE9SVF07CisKKwlzd2l0Y2ggKGxpbmVfYnVmX2RlcHRoICYgRFBfRFND X0xJTkVfQlVGX0JJVF9ERVBUSF9NQVNLKSB7CisJY2FzZSBEUF9EU0NfTElORV9CVUZfQklUX0RF UFRIXzk6CisJCXJldHVybiA5OworCWNhc2UgRFBfRFNDX0xJTkVfQlVGX0JJVF9ERVBUSF8xMDoK KwkJcmV0dXJuIDEwOworCWNhc2UgRFBfRFNDX0xJTkVfQlVGX0JJVF9ERVBUSF8xMToKKwkJcmV0 dXJuIDExOworCWNhc2UgRFBfRFNDX0xJTkVfQlVGX0JJVF9ERVBUSF8xMjoKKwkJcmV0dXJuIDEy OworCWNhc2UgRFBfRFNDX0xJTkVfQlVGX0JJVF9ERVBUSF8xMzoKKwkJcmV0dXJuIDEzOworCWNh c2UgRFBfRFNDX0xJTkVfQlVGX0JJVF9ERVBUSF8xNDoKKwkJcmV0dXJuIDE0OworCWNhc2UgRFBf RFNDX0xJTkVfQlVGX0JJVF9ERVBUSF8xNToKKwkJcmV0dXJuIDE1OworCWNhc2UgRFBfRFNDX0xJ TkVfQlVGX0JJVF9ERVBUSF8xNjoKKwkJcmV0dXJuIDE2OworCWNhc2UgRFBfRFNDX0xJTkVfQlVG X0JJVF9ERVBUSF84OgorCQlyZXR1cm4gODsKKwl9CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9T WU1CT0woZHJtX2RwX2RzY19zaW5rX2xpbmVfYnVmX2RlcHRoKTsKKwordTggZHJtX2RwX2RzY19z aW5rX21heF9jb2xvcl9kZXB0aChjb25zdCB1OCBkc2NfZHBjZFtEUF9EU0NfUkVDRUlWRVJfQ0FQ X1NJWkVdKQoreworCXN3aXRjaCAoZHNjX2RwY2RbRFBfRFNDX0RFQ19DT0xPUl9ERVBUSF9DQVAg LSBEUF9EU0NfU1VQUE9SVF0pIHsKKwljYXNlIERQX0RTQ18xMl9CUEM6CisJCXJldHVybiAxMjsK KwljYXNlIERQX0RTQ18xMF9CUEM6CisJCXJldHVybiAxMDsKKwljYXNlIERQX0RTQ184X0JQQzoK KwkJcmV0dXJuIDg7CisJfQorCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChkcm1fZHBfZHNj X3NpbmtfbWF4X2NvbG9yX2RlcHRoKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kcF9o ZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaAppbmRleCBlYjBkODZjLi44YzFk YmNhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKKysrIGIvaW5jbHVk ZS9kcm0vZHJtX2RwX2hlbHBlci5oCkBAIC0xMDY0LDYgKzEwNjQsMzYgQEAgZHJtX2RwX2lzX2Jy YW5jaChjb25zdCB1OCBkcGNkW0RQX1JFQ0VJVkVSX0NBUF9TSVpFXSkKIAlyZXR1cm4gZHBjZFtE UF9ET1dOU1RSRUFNUE9SVF9QUkVTRU5UXSAmIERQX0RXTl9TVFJNX1BPUlRfUFJFU0VOVDsKIH0K IAorLyogRFAvZURQIERTQyBzdXBwb3J0ICovCit1OCBkcm1fZHBfZHNjX3NpbmtfbWF4X3NsaWNl X2NvdW50KGNvbnN0IHU4IGRzY19kcGNkW0RQX0RTQ19SRUNFSVZFUl9DQVBfU0laRV0sCisJCQkJ ICAgYm9vbCBpc19lZHApOwordTggZHJtX2RwX2RzY19zaW5rX2xpbmVfYnVmX2RlcHRoKGNvbnN0 IHU4IGRzY19kcGNkW0RQX0RTQ19SRUNFSVZFUl9DQVBfU0laRV0pOwordTggZHJtX2RwX2RzY19z aW5rX21heF9jb2xvcl9kZXB0aChjb25zdCB1OCBkc2NfZHBjW0RQX0RTQ19SRUNFSVZFUl9DQVBf U0laRV0pOworCitzdGF0aWMgaW5saW5lIGJvb2wKK2RybV9kcF9zaW5rX3N1cHBvcnRzX2RzYyhj b25zdCB1OCBkc2NfZHBjZFtEUF9EU0NfUkVDRUlWRVJfQ0FQX1NJWkVdKQoreworCXJldHVybiBk c2NfZHBjZFtEUF9EU0NfU1VQUE9SVCAtIERQX0RTQ19TVVBQT1JUXSAmCisJCURQX0RTQ19ERUNP TVBSRVNTSU9OX0lTX1NVUFBPUlRFRDsKK30KKworc3RhdGljIGlubGluZSB1MTYKK2RybV9lZHBf ZHNjX3Npbmtfb3V0cHV0X2JwcChjb25zdCB1OCBkc2NfZHBjZFtEUF9EU0NfUkVDRUlWRVJfQ0FQ X1NJWkVdKQoreworCXJldHVybiBkc2NfZHBjZFtEUF9EU0NfTUFYX0JJVFNfUEVSX1BJWEVMX0xP VyAtIERQX0RTQ19TVVBQT1JUXSB8CisJCShkc2NfZHBjZFtEUF9EU0NfTUFYX0JJVFNfUEVSX1BJ WEVMX0hJIC0gRFBfRFNDX1NVUFBPUlRdICYKKwkJIERQX0RTQ19NQVhfQklUU19QRVJfUElYRUxf SElfTUFTSyA8PAorCQkgRFBfRFNDX01BWF9CSVRTX1BFUl9QSVhFTF9ISV9TSElGVCk7Cit9CisK K3N0YXRpYyBpbmxpbmUgdTMyCitkcm1fZHBfZHNjX3NpbmtfbWF4X3NsaWNlX3dpZHRoKGNvbnN0 IHU4IGRzY19kcGNkW0RQX0RTQ19SRUNFSVZFUl9DQVBfU0laRV0pCit7CisJLyogTWF4IFNsaWNl d2lkdGggPSBOdW1iZXIgb2YgUGl4ZWxzICogMzIwICovCisJcmV0dXJuIGRzY19kcGNkW0RQX0RT Q19NQVhfU0xJQ0VfV0lEVEggLSBEUF9EU0NfU1VQUE9SVF0gKgorCQlEUF9EU0NfU0xJQ0VfV0lE VEhfTVVMVElQTElFUjsKK30KKwogLyoKICAqIERpc3BsYXlQb3J0IEFVWCBjaGFubmVsCiAgKi8K LS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK