From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [PATCH v6 04/28] drm/dp: DRM DP helper/macros to get DP sink DSC parameters Date: Wed, 24 Oct 2018 15:28:16 -0700 Message-ID: <20181024222840.25683-5-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 List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIGlubGluZSBmdW5jdGlvbnMgYW5kIGhlbHBlcnMgZm9yIG9idGFpbmlu ZwpEUCBzaW5rJ3Mgc3VwcG9ydGVkIERTQyBwYXJhbWV0ZXJzIGxpa2UgRFNDIHNpbmsgc3VwcG9y dCwKZURQIGNvbXByZXNzZWQgQlBQIHN1cHBvcnRlZCwgbWF4aW11bSBzbGljZSBjb3VudCBzdXBw b3J0ZWQKYnkgdGhlIHNpbmsgZGV2aWNlcywgRFNDIGxpbmUgYnVmZmVyIGJpdCBkZXB0aCBzdXBw b3J0ZWQgb24gRFAgc2luaywKRFNDIHNpbmsgbWF4aW11bSBjb2xvciBkZXB0aCBieSBwYXJzaW5n IGNvcnJlc3BvbmRpbmcgRFBDRCByZWdpc3RlcnMuCgp2NDoKKiBBZGQgaGVscGVyIHRvIGdpdmUg bGluZSBidWYgYml0IGRlcHRoIChNYW5hc2kpCiogQ29ycmVjdCB0aGUgYml0IG1hc2tpbmcgaW4g Y29sb3IgZGVwdGggaGVscGVyIChtYW5hc2kpCnYzOgoqIFVzZSBTTElDRV9DQVBfMiBmb3IgRFAg KEFudXNoYSkKdjI6CiogQWRkIERTQyBzaW5rIHN1cHBvcnQgbWFjcm8gKEphbmkgTikKCkNjOiBH YXVyYXYgSyBTaW5naCA8Z2F1cmF2Lmsuc2luZ2hAaW50ZWwuY29tPgpDYzogZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4Lmlu dGVsLmNvbT4KQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t PgpDYzogQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FAaW50ZWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgpSZXZpZXdl ZC1ieTogQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FAaW50ZWwuY29tPgpSZXZpZXdl ZC1ieTogR2F1cmF2IEsgU2luZ2ggPGdhdXJhdi5rLnNpbmdoQGludGVsLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jIHwgOTAgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiBpbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmggICAgIHwgMzAgKysrKysrKysr KysKIDIgZmlsZXMgY2hhbmdlZCwgMTIwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9oZWxw ZXIuYwppbmRleCAzN2MwMWI2MDc2ZWMuLjZkNDgzNDg3ZjJiNCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hl bHBlci5jCkBAIC0xMzUyLDMgKzEzNTIsOTMgQEAgaW50IGRybV9kcF9yZWFkX2Rlc2Moc3RydWN0 IGRybV9kcF9hdXggKmF1eCwgc3RydWN0IGRybV9kcF9kZXNjICpkZXNjLAogCXJldHVybiAwOwog fQogRVhQT1JUX1NZTUJPTChkcm1fZHBfcmVhZF9kZXNjKTsKKworLyoqCisgKiBEUk0gRFAgSGVs cGVycyBmb3IgRFNDCisgKi8KK3U4IGRybV9kcF9kc2Nfc2lua19tYXhfc2xpY2VfY291bnQoY29u c3QgdTggZHNjX2RwY2RbRFBfRFNDX1JFQ0VJVkVSX0NBUF9TSVpFXSwKKwkJCQkgICBib29sIGlz X2VkcCkKK3sKKwl1OCBzbGljZV9jYXAxID0gZHNjX2RwY2RbRFBfRFNDX1NMSUNFX0NBUF8xIC0g RFBfRFNDX1NVUFBPUlRdOworCisJaWYgKGlzX2VkcCkgeworCQkvKiBGb3IgZURQLCByZWdpc3Rl ciBEU0NfU0xJQ0VfQ0FQQUJJTElUSUVTXzEgZ2l2ZXMgc2xpY2UgY291bnQgKi8KKwkJaWYgKHNs aWNlX2NhcDEgJiBEUF9EU0NfNF9QRVJfRFBfRFNDX1NJTkspCisJCQlyZXR1cm4gNDsKKwkJaWYg KHNsaWNlX2NhcDEgJiBEUF9EU0NfMl9QRVJfRFBfRFNDX1NJTkspCisJCQlyZXR1cm4gMjsKKwkJ aWYgKHNsaWNlX2NhcDEgJiBEUF9EU0NfMV9QRVJfRFBfRFNDX1NJTkspCisJCQlyZXR1cm4gMTsK Kwl9IGVsc2UgeworCQkvKiBGb3IgRFAsIHVzZSB2YWx1ZXMgZnJvbSBEU0NfU0xJQ0VfQ0FQXzEg YW5kIERTQ19TTElDRV9DQVAyICovCisJCXU4IHNsaWNlX2NhcDIgPSBkc2NfZHBjZFtEUF9EU0Nf U0xJQ0VfQ0FQXzIgLSBEUF9EU0NfU1VQUE9SVF07CisKKwkJaWYgKHNsaWNlX2NhcDIgJiBEUF9E U0NfMjRfUEVSX0RQX0RTQ19TSU5LKQorCQkJcmV0dXJuIDI0OworCQlpZiAoc2xpY2VfY2FwMiAm IERQX0RTQ18yMF9QRVJfRFBfRFNDX1NJTkspCisJCQlyZXR1cm4gMjA7CisJCWlmIChzbGljZV9j YXAyICYgRFBfRFNDXzE2X1BFUl9EUF9EU0NfU0lOSykKKwkJCXJldHVybiAxNjsKKwkJaWYgKHNs aWNlX2NhcDEgJiBEUF9EU0NfMTJfUEVSX0RQX0RTQ19TSU5LKQorCQkJcmV0dXJuIDEyOworCQlp ZiAoc2xpY2VfY2FwMSAmIERQX0RTQ18xMF9QRVJfRFBfRFNDX1NJTkspCisJCQlyZXR1cm4gMTA7 CisJCWlmIChzbGljZV9jYXAxICYgRFBfRFNDXzhfUEVSX0RQX0RTQ19TSU5LKQorCQkJcmV0dXJu IDg7CisJCWlmIChzbGljZV9jYXAxICYgRFBfRFNDXzZfUEVSX0RQX0RTQ19TSU5LKQorCQkJcmV0 dXJuIDY7CisJCWlmIChzbGljZV9jYXAxICYgRFBfRFNDXzRfUEVSX0RQX0RTQ19TSU5LKQorCQkJ cmV0dXJuIDQ7CisJCWlmIChzbGljZV9jYXAxICYgRFBfRFNDXzJfUEVSX0RQX0RTQ19TSU5LKQor CQkJcmV0dXJuIDI7CisJCWlmIChzbGljZV9jYXAxICYgRFBfRFNDXzFfUEVSX0RQX0RTQ19TSU5L KQorCQkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9k cF9kc2Nfc2lua19tYXhfc2xpY2VfY291bnQpOworCit1OCBkcm1fZHBfZHNjX3NpbmtfbGluZV9i dWZfZGVwdGgoY29uc3QgdTggZHNjX2RwY2RbRFBfRFNDX1JFQ0VJVkVSX0NBUF9TSVpFXSkKK3sK Kwl1OCBsaW5lX2J1Zl9kZXB0aCA9IGRzY19kcGNkW0RQX0RTQ19MSU5FX0JVRl9CSVRfREVQVEgg LSBEUF9EU0NfU1VQUE9SVF07CisKKwlzd2l0Y2ggKGxpbmVfYnVmX2RlcHRoICYgRFBfRFNDX0xJ TkVfQlVGX0JJVF9ERVBUSF9NQVNLKSB7CisJY2FzZSBEUF9EU0NfTElORV9CVUZfQklUX0RFUFRI Xzk6CisJCXJldHVybiA5OworCWNhc2UgRFBfRFNDX0xJTkVfQlVGX0JJVF9ERVBUSF8xMDoKKwkJ cmV0dXJuIDEwOworCWNhc2UgRFBfRFNDX0xJTkVfQlVGX0JJVF9ERVBUSF8xMToKKwkJcmV0dXJu IDExOworCWNhc2UgRFBfRFNDX0xJTkVfQlVGX0JJVF9ERVBUSF8xMjoKKwkJcmV0dXJuIDEyOwor CWNhc2UgRFBfRFNDX0xJTkVfQlVGX0JJVF9ERVBUSF8xMzoKKwkJcmV0dXJuIDEzOworCWNhc2Ug RFBfRFNDX0xJTkVfQlVGX0JJVF9ERVBUSF8xNDoKKwkJcmV0dXJuIDE0OworCWNhc2UgRFBfRFND X0xJTkVfQlVGX0JJVF9ERVBUSF8xNToKKwkJcmV0dXJuIDE1OworCWNhc2UgRFBfRFNDX0xJTkVf QlVGX0JJVF9ERVBUSF8xNjoKKwkJcmV0dXJuIDE2OworCWNhc2UgRFBfRFNDX0xJTkVfQlVGX0JJ VF9ERVBUSF84OgorCQlyZXR1cm4gODsKKwl9CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1C T0woZHJtX2RwX2RzY19zaW5rX2xpbmVfYnVmX2RlcHRoKTsKKwordTggZHJtX2RwX2RzY19zaW5r X21heF9jb2xvcl9kZXB0aChjb25zdCB1OCBkc2NfZHBjZFtEUF9EU0NfUkVDRUlWRVJfQ0FQX1NJ WkVdKQoreworCXU4IGNvbG9yX2RlcHRoID0gZHNjX2RwY2RbRFBfRFNDX0RFQ19DT0xPUl9ERVBU SF9DQVAgLSBEUF9EU0NfU1VQUE9SVF07CisKKwlpZiAoY29sb3JfZGVwdGggJiBEUF9EU0NfMTJf QlBDKQorCQlyZXR1cm4gMTI7CisJaWYgKGNvbG9yX2RlcHRoICYgRFBfRFNDXzEwX0JQQykKKwkJ cmV0dXJuIDEwOworCWlmIChjb2xvcl9kZXB0aCAmIERQX0RTQ184X0JQQykKKwkJcmV0dXJuIDg7 CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2RwX2RzY19zaW5rX21heF9jb2xv cl9kZXB0aCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmggYi9pbmNs dWRlL2RybS9kcm1fZHBfaGVscGVyLmgKaW5kZXggZGQzM2Q1OTczOWY4Li43ZjdmNWI5NjU0NjYg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaAorKysgYi9pbmNsdWRlL2Ry bS9kcm1fZHBfaGVscGVyLmgKQEAgLTEwNjcsNiArMTA2NywzNiBAQCBkcm1fZHBfaXNfYnJhbmNo KGNvbnN0IHU4IGRwY2RbRFBfUkVDRUlWRVJfQ0FQX1NJWkVdKQogCXJldHVybiBkcGNkW0RQX0RP V05TVFJFQU1QT1JUX1BSRVNFTlRdICYgRFBfRFdOX1NUUk1fUE9SVF9QUkVTRU5UOwogfQogCisv KiBEUC9lRFAgRFNDIHN1cHBvcnQgKi8KK3U4IGRybV9kcF9kc2Nfc2lua19tYXhfc2xpY2VfY291 bnQoY29uc3QgdTggZHNjX2RwY2RbRFBfRFNDX1JFQ0VJVkVSX0NBUF9TSVpFXSwKKwkJCQkgICBi b29sIGlzX2VkcCk7Cit1OCBkcm1fZHBfZHNjX3NpbmtfbGluZV9idWZfZGVwdGgoY29uc3QgdTgg ZHNjX2RwY2RbRFBfRFNDX1JFQ0VJVkVSX0NBUF9TSVpFXSk7Cit1OCBkcm1fZHBfZHNjX3Npbmtf bWF4X2NvbG9yX2RlcHRoKGNvbnN0IHU4IGRzY19kcGNbRFBfRFNDX1JFQ0VJVkVSX0NBUF9TSVpF XSk7CisKK3N0YXRpYyBpbmxpbmUgYm9vbAorZHJtX2RwX3Npbmtfc3VwcG9ydHNfZHNjKGNvbnN0 IHU4IGRzY19kcGNkW0RQX0RTQ19SRUNFSVZFUl9DQVBfU0laRV0pCit7CisJcmV0dXJuIGRzY19k cGNkW0RQX0RTQ19TVVBQT1JUIC0gRFBfRFNDX1NVUFBPUlRdICYKKwkJRFBfRFNDX0RFQ09NUFJF U1NJT05fSVNfU1VQUE9SVEVEOworfQorCitzdGF0aWMgaW5saW5lIHUxNgorZHJtX2VkcF9kc2Nf c2lua19vdXRwdXRfYnBwKGNvbnN0IHU4IGRzY19kcGNkW0RQX0RTQ19SRUNFSVZFUl9DQVBfU0la RV0pCit7CisJcmV0dXJuIGRzY19kcGNkW0RQX0RTQ19NQVhfQklUU19QRVJfUElYRUxfTE9XIC0g RFBfRFNDX1NVUFBPUlRdIHwKKwkJKGRzY19kcGNkW0RQX0RTQ19NQVhfQklUU19QRVJfUElYRUxf SEkgLSBEUF9EU0NfU1VQUE9SVF0gJgorCQkgRFBfRFNDX01BWF9CSVRTX1BFUl9QSVhFTF9ISV9N QVNLIDw8CisJCSBEUF9EU0NfTUFYX0JJVFNfUEVSX1BJWEVMX0hJX1NISUZUKTsKK30KKworc3Rh dGljIGlubGluZSB1MzIKK2RybV9kcF9kc2Nfc2lua19tYXhfc2xpY2Vfd2lkdGgoY29uc3QgdTgg ZHNjX2RwY2RbRFBfRFNDX1JFQ0VJVkVSX0NBUF9TSVpFXSkKK3sKKwkvKiBNYXggU2xpY2V3aWR0 aCA9IE51bWJlciBvZiBQaXhlbHMgKiAzMjAgKi8KKwlyZXR1cm4gZHNjX2RwY2RbRFBfRFNDX01B WF9TTElDRV9XSURUSCAtIERQX0RTQ19TVVBQT1JUXSAqCisJCURQX0RTQ19TTElDRV9XSURUSF9N VUxUSVBMSUVSOworfQorCiAvKgogICogRGlzcGxheVBvcnQgQVVYIGNoYW5uZWwKICAqLwotLSAK Mi4xOC4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK