From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Kleiner Subject: [PATCH 3/5] drm/dp: Add helper to find bpc of a connected DP sink. Date: Wed, 6 Jul 2016 12:05:46 +0200 Message-ID: <1467799548-13229-4-git-send-email-mario.kleiner.de@gmail.com> References: <1467799548-13229-1-git-send-email-mario.kleiner.de@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7FF806E613 for ; Wed, 6 Jul 2016 10:06:30 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id a66so34470843wme.2 for ; Wed, 06 Jul 2016 03:06:30 -0700 (PDT) In-Reply-To: <1467799548-13229-1-git-send-email-mario.kleiner.de@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Jani Nikula , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org ZHJtX2RwX3NpbmtfYnBjKCkgaXMgbWVhbnQgYXMgYSBmYWxsYmFjayB0byBiZSB1c2VkIGJ5Cmtt cyBkcml2ZXJzIGlmIGEgRFAgc2luayBkb2Vzbid0IHByb3ZpZGUgc3VwcG9ydGVkIGNvbG9yCmRl cHRoIGJwYyB2aWEgRURJRC4KCkl0IHBhcnNlcyBkcGNkIHJlZ2lzdGVycyBhbmQgb3B0aW9uYWxs eSBkb3duc3RyZWFtIHBvcnQKcmVnaXN0ZXJzIHJlYWQgYnkgdGhlIGRyaXZlciBmcm9tIERQIEFV WCBhbmQgcGFzc2VkIHRvCnRoZSBmdW5jdGlvbiB0byBmaW5kIG91dCB3aGF0IHRoZSBicGMgb2Yg dGhlIGNvbm5lY3RlZApzaW5rIGxpa2VseSBpcy4KCkZvciBhIERQIHNpbmsgd2l0aG91dCBkb3du c3RyZWFtIHBvcnRzIGl0IGFzc3VtZXMgaXQgaXMgYQpuYXRpdmUgRFAgZGlzcGxheSBzaW5rIGFu ZCBhcHBsaWVzIHRoZSA2IGJwYyAvIDE4IGJwcApmYWxsYmFjayBhcyByZXF1aXJlZCBieSB0aGUg RFAgc3BlYy4KCkZvciBhIERQIHNpbmsgd2l0aCBkb3duc3RyZWFtIHBvcnRzLCBlLmcuLCBhIERQ IC0+IGxlZ2FjeQpjb252ZXJ0ZXIgaXQgbWFrZXMgdGhlIGZvbGxvd2luZyBhc3NpZ25tZW50OgoK SWYgdGhlIGNvbnZlcnRlciBpcyBEUC0+RFZJIG9yIERQLT5IRE1JLCBpdCBhc3N1bWVzIDggYnBj CmRlcHRoLiBJZiB0aGUgY29udmVydGVyIGlzIERQLT5WR0EgaXQgYXNzdW1lcyBhdCBsZWFzdAo4 IGJwYywgYnV0IHRyaWVzIHRvIGdldCBhIG1vcmUgYWNjdXJhdGUgdmFsdWUgKDgsIDEwLCAxMgpv ciAxNiBicGMpIGlmIHRoZSBjb252ZXJ0ZXIgZXhwb3NlcyB0aGlzIGluZm8uCgpUZXN0ZWQgd2l0 aCBNaW5pRFAtPkRQIGFkYXB0ZXIsIE1pbmlEUC0+SERNSSBhZGFwdGVyLApNaW5pRFAtPnNpbmds ZS1saW5rIERWSSBhZGFwdGVyLCBNaW5pRFAtPmR1YWwtbGluayBEVkkKYWN0aXZlIGFkYXB0ZXIs IGFuZCBhIEFwcGxlIE1pbmlEUC0+VkdBIGFjdGl2ZSBhZGFwdGVyLgoKU2lnbmVkLW9mZi1ieTog TWFyaW8gS2xlaW5lciA8bWFyaW8ua2xlaW5lci5kZUBnbWFpbC5jb20+CkNjOiBWaWxsZSBTeXJq w6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzogRGFuaWVsIFZldHRlciA8 ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRl bC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYyB8IDkwICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2RybS9kcm1fZHBfaGVs cGVyLmggICAgIHwgIDYgKysrCiAyIGZpbGVzIGNoYW5nZWQsIDk2IGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9kcF9oZWxwZXIuYwppbmRleCAwOTEwNTNlLi4yY2YwMjg5IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZHBfaGVscGVyLmMKQEAgLTE2MCw2ICsxNjAsOTYgQEAgaW50IGRybV9kcF9id19jb2RlX3RvX2xp bmtfcmF0ZSh1OCBsaW5rX2J3KQogfQogRVhQT1JUX1NZTUJPTChkcm1fZHBfYndfY29kZV90b19s aW5rX3JhdGUpOwogCisvKioKKyAqIGRybV9kcF9zaW5rX2JwYyAtIFBhcnNlIGRwY2QgdG8gZGVy aXZlIGJwYyBvZiBhIERQIHNpbmsuCisgKgorICogQGRwY2Q6IGRwY2QgcmVnaXN0ZXJzLCBzdGFy dGluZyBhdCBvZmZzZXQgMAorICogQGRvd25zdHJlYW1fcG9ydHM6IGRvd25zdHJlYW0gcG9ydCBp bmZvIHJlZ2lzdGVycywgc3RhcnRpbmcgYXQKKyAqIG9mZnNldCBEUF9ET1dOU1RSRUFNX1BPUlRf MAorICogQGluZGV4OiBJbmRleCBvZiB0aGUgZG93bnN0cmVhbSBwb3J0IHRvIHF1ZXJ5CisgKgor ICogRGVyaXZlIGNvbG9yIGRlcHRoIGJwYyBvZiB0aGUgY29ubmVjdGVkIERQIHNpbmsuIFRoaXMg aXMgbWVhbnQgYXMKKyAqIGEgZmFsbGJhY2sgZm9yIGdldHRpbmcgdGhlIHNpbmsgYnBjIGlmIHRo ZSBEUCBzaW5rIGRvZXNuJ3QgcHJvdmlkZQorICogYSB1c2VhYmxlIGJwYyB2aWEgRURJRC4gSXQg cmV0dXJucyA2IGJwYyBmb3IgYSBuYXRpdmUgRFAgc2luaworICogd2l0aG91dCBhbnkgZG93bnN0 cmVhbSBwb3J0cywgYXMgdGhlIHNwZWMgbWFuZGF0ZXMgdG8gYXNzdW1lIDYgYnBjCisgKiBpZiB0 aGUgdHJ1ZSBicGMgb2YgYSBuYXRpdmUgRFAgc2luayBjYW4ndCBiZSBmb3VuZCBvdXQgZnJvbSBF RElELgorICoKKyAqIElmIHRoZSBzaW5rIGhhcyBtdWx0aXBsZSBkb3duc3RyZWFtIHBvcnRzIHRo ZW4gQGluZGV4IHNlbGVjdHMgdGhlCisgKiBkb3duc3RyZWFtIHBvcnQgdG8gcXVlcnksIG90aGVy d2lzZSB0aGUgZmlyc3QgYW5kIG9ubHkgb25lIGlzCisgKiBxdWVyaWVkLgorICoKKyAqIFRoZSBm dW5jdGlvbiBjYW4gcmV0dXJuIDAgdG8gc2lnbmFsIHRoYXQgaXQgY2FuJ3QgZGVyaXZlIGJwYyBm cm9tIHRoZQorICogZ2l2ZW4gaW5mb3JtYXRpb24uCisgKi8KK2ludCBkcm1fZHBfc2lua19icGMo Y29uc3QgdTggZHBjZFtEUF9SRUNFSVZFUl9DQVBfU0laRV0sCisJCSAgICBjb25zdCB1OCBkb3du c3RyZWFtX3BvcnRzW0RQX01BWF9ET1dOU1RSRUFNX1BPUlRTXSwKKwkJICAgIHVuc2lnbmVkIGlu dCBpbmRleCkKK3sKKwl1aW50OF90IHR5cGU7CisJYm9vbCBkZXRhaWwgPSBmYWxzZTsKKwlpbnQg YnBjID0gMDsKKworCS8qCisJICogSWYgdGhlcmUgaXNuJ3QgYW55IGRvd25zdHJlYW0gcG9ydCB0 aGVuIHRoaXMgaXMgYSBuYXRpdmUgRFAgc2luay4KKwkgKiBUaGUgc3RhbmRhcmQgcmVxdWlyZXMg dG8gZmFsbCBiYWNrIHRvIDYgYnBjIC8gMTggYnBwIGZvciBuYXRpdmUgRFAKKwkgKiBzaW5rcyB3 aGljaCBkb24ndCBwcm92aWRlIGJpdCBkZXB0aCB2aWEgRURJRC4KKwkgKi8KKwlpZiAoIShkcGNk W0RQX0RPV05TVFJFQU1QT1JUX1BSRVNFTlRdICYgRFBfRFdOX1NUUk1fUE9SVF9QUkVTRU5UKSkK KwkJcmV0dXJuIDY7CisKKwkvKiBCYXNpYyB0eXBlIG9mIGRvd25zdHJlYW0gcG9ydHM/ICovCisJ dHlwZSA9IGRwY2RbRFBfRE9XTlNUUkVBTVBPUlRfUFJFU0VOVF0gJiBEUF9EV05fU1RSTV9QT1JU X1RZUEVfTUFTSzsKKworCS8qCisJICogTGFja2luZyBvdGhlciBpbmZvLCA4IGJwYyBpcyBhIHJl YXNvbmFibGUgc3RhcnQgZm9yIGFuYWxvZyBvdXQuCisJICogRS5nLiwgQXBwbGUgTWluaURQLT5W R0EgYWRhcHRvcnMgZG9uJ3QgcHJvdmlkZSBtb3JlIGluZm8gdGhhbgorCSAqIHRoYXQuIERlc3Bp dGUgaGF2aW5nIERQX0RQQ0RfUkVWID09IDB4MTEsIHRoZWlyIGRvd25zdHJlYW1fcG9ydHMKKwkg KiBkZXNjcmlwdG9yIGlzIGVtcHR5IC0gYWxsIHplcm9zLiBEVkkgYW5kIEhETUkgYWxzbyBzdXBw b3J0IGF0IGxlYXN0CisJICogOCBicGMsIHNvIGEgVE1EUyBwb3J0IHR5cGUgYWxzbyBpbXBsaWVz IDggYnBjLgorCSAqLworCWlmICh0eXBlID09IERQX0RXTl9TVFJNX1BPUlRfVFlQRV9BTkFMT0cg fHwKKwkgICAgdHlwZSA9PSBEUF9EV05fU1RSTV9QT1JUX1RZUEVfVE1EUykKKwkJYnBjID0gODsK KworCWlmIChkcGNkW0RQX0RQQ0RfUkVWXSA8IDB4MTEpCisJCXJldHVybiBicGM7CisKKwkvKiBS ZXYgMS4xKy4gTW9yZSBzcGVjaWZpYyBpbmZvIGF2YWlsYWJsZSBwZXIgZG93bnN0cmVhbSBwb3J0 LiAqLworCisJLyogRGV0YWlsZWQgaW5mbyBvZiA0IEJ5dGVzIHBlciBkb3duc3RyZWFtIHBvcnQg YXZhaWxhYmxlPyAqLworCWlmIChkcGNkW0RQX0RPV05TVFJFQU1QT1JUX1BSRVNFTlRdICYgRFBf REVUQUlMRURfQ0FQX0lORk9fQVZBSUxBQkxFKSB7CisJCWluZGV4ICo9IDQ7CisJCWRldGFpbCA9 IHRydWU7CisJfQorCisJdHlwZSA9IGRvd25zdHJlYW1fcG9ydHNbaW5kZXhdICYgRFBfRFNfUE9S VF9UWVBFX01BU0s7CisKKwkvKiBWR0EsIERWSSBhbmQgSERNSSBzdXBwb3J0IGF0IGxlYXN0IDgg YnBjICovCisJaWYgKHR5cGUgPT0gRFBfRFNfUE9SVF9UWVBFX1ZHQSB8fCB0eXBlID09IERQX0RT X1BPUlRfVFlQRV9EVkkgfHwKKwkgICAgdHlwZSA9PSBEUF9EU19QT1JUX1RZUEVfSERNSSkKKwkJ YnBjID0gODsKKworCS8qIEFzIG9mIERQIGludGVyb3AgdjEuMWEgb25seSBWR0EgZGVmaW5lcyBh ZGRpdGlvbmFsIGRldGFpbCAqLworCWlmIChkZXRhaWwgJiYgKHR5cGUgPT0gRFBfRFNfUE9SVF9U WVBFX1ZHQSkpIHsKKwkJLyogVkdBIHdpdGggZGV0YWlsIHByb3ZpZGVzIGJwYyBpbmZvICovCisJ CXN3aXRjaCAoZG93bnN0cmVhbV9wb3J0c1tpbmRleCArIDJdICYKKwkJCURQX0RTX1ZHQV9NQVhf QlBDX01BU0spIHsKKwkJICAgIGRlZmF1bHQ6CisJCSAgICBjYXNlIERQX0RTX1ZHQV84QlBDOgor CQkJcmV0dXJuIDg7CisJCSAgICBjYXNlIERQX0RTX1ZHQV8xMEJQQzoKKwkJCXJldHVybiAxMDsK KwkJICAgIGNhc2UgRFBfRFNfVkdBXzEyQlBDOgorCQkJcmV0dXJuIDEyOworCQkgICAgY2FzZSBE UF9EU19WR0FfMTZCUEM6CisJCQlyZXR1cm4gMTY7CisJCX0KKwl9CisKKwlyZXR1cm4gYnBjOwor fQorRVhQT1JUX1NZTUJPTChkcm1fZHBfc2lua19icGMpOworCiAjZGVmaW5lIEFVWF9SRVRSWV9J TlRFUlZBTCA1MDAgLyogdXMgKi8KIAogLyoqCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1f ZHBfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKaW5kZXggNGQ4NWNmMi4u MDczN2NkMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2RwX2hlbHBlci5oCisrKyBiL2lu Y2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaApAQCAtMjAzLDYgKzIwMyw4IEBACiAgKiBEUCBpbnRl cm9wIHYxLjFhIG9ubHkgVkdBIGRlZmluZXMgYWRkaXRpb25hbCBkZXRhaWwuCiAgKi8KIAorI2Rl ZmluZSBEUF9NQVhfRE9XTlNUUkVBTV9QT1JUUwkJICAgIDB4MTAKKwogLyogb2Zmc2V0IDAgKi8K ICNkZWZpbmUgRFBfRE9XTlNUUkVBTV9QT1JUXzAJCSAgICAweDgwCiAjIGRlZmluZSBEUF9EU19Q T1JUX1RZUEVfTUFTSwkJICAgICg3IDw8IDApCkBAIC02MzAsNiArNjMyLDEwIEBAIHZvaWQgZHJt X2RwX2xpbmtfdHJhaW5fY2hhbm5lbF9lcV9kZWxheShjb25zdCB1OCBkcGNkW0RQX1JFQ0VJVkVS X0NBUF9TSVpFXSk7CiB1OCBkcm1fZHBfbGlua19yYXRlX3RvX2J3X2NvZGUoaW50IGxpbmtfcmF0 ZSk7CiBpbnQgZHJtX2RwX2J3X2NvZGVfdG9fbGlua19yYXRlKHU4IGxpbmtfYncpOwogCitpbnQg ZHJtX2RwX3NpbmtfYnBjKGNvbnN0IHU4IGRwY2RbRFBfUkVDRUlWRVJfQ0FQX1NJWkVdLAorCQkg ICAgY29uc3QgdTggZG93bnN0cmVhbV9wb3J0c1tEUF9NQVhfRE9XTlNUUkVBTV9QT1JUU10sCisJ CSAgICB1bnNpZ25lZCBpbnQgaW5kZXgpOworCiBzdHJ1Y3QgZWRwX3NkcF9oZWFkZXIgewogCXU4 IEhCMDsgLyogU2Vjb25kYXJ5IERhdGEgUGFja2V0IElEICovCiAJdTggSEIxOyAvKiBTZWNvbmRh cnkgRGF0YSBQYWNrZXQgVHlwZSAqLwotLSAKMi43LjAKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=