From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8A708C43461 for ; Fri, 4 Sep 2020 11:54:24 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5DE07214F1 for ; Fri, 4 Sep 2020 11:54:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5DE07214F1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DF0646EB5C; Fri, 4 Sep 2020 11:54:22 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 523AD6EB5B; Fri, 4 Sep 2020 11:54:21 +0000 (UTC) IronPort-SDR: TB4tO6VwULKcXEY2LJzzeU7RtMdu6EhC2HEfTEFl9X5rlawmlRK3sk2LKdASVkuClTbSunsb0H R/n33VMSmS+Q== X-IronPort-AV: E=McAfee;i="6000,8403,9733"; a="145461004" X-IronPort-AV: E=Sophos;i="5.76,389,1592895600"; d="scan'208";a="145461004" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Sep 2020 04:54:20 -0700 IronPort-SDR: MAkCvjE1Lmx3W6aUcGCcduy2emCZwKTal/Pd6ehwUHgCpChgsss/nECdr83Wf690di06Q+zltF L0iSrbxq46kg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,389,1592895600"; d="scan'208";a="405824686" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga001.fm.intel.com with SMTP; 04 Sep 2020 04:54:18 -0700 Received: by stinkbox (sSMTP sendmail emulation); Fri, 04 Sep 2020 14:54:17 +0300 From: Ville Syrjala To: dri-devel@lists.freedesktop.org Subject: [PATCH v2 07/18] drm/dp: Pimp drm_dp_downstream_max_bpc() Date: Fri, 4 Sep 2020 14:53:43 +0300 Message-Id: <20200904115354.25336-8-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200904115354.25336-1-ville.syrjala@linux.intel.com> References: <20200904115354.25336-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkRl YWwgd2l0aCBtb3JlIGNhc2VzIGluIGRybV9kcF9kb3duc3RyZWFtX21heF9icGMoKToKLSBEUENE IDEuMCAtPiBhc3N1bWUgOGJwYyBmb3Igbm9uLURQCi0gRFBDRCAxLjErIERQIChvciBEUCsrIHdp dGggRFAgc2luaykgLT4gYWxsb3cgYW55dGhpbmcKLSBEUENEIDEuMSsgVE1EUyAtPiBjaGVjayB0 aGUgY2FwcywgYXNzdW1lIDhicGMgaWYgdGhlIHZhbHVlIGlzIGNyYXAKLSBhbnl0aGluZyBlbHNl IC0+IGFzc3VtZSA4YnBjCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVy LmMgICAgICAgICAgICAgICB8IDY5ICsrKysrKysrKysrLS0tLS0tLS0KIC4uLi9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXlfZGVidWdmcy5jICB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2RwLmMgICAgICAgfCAgMiArLQogaW5jbHVkZS9kcm0vZHJtX2Rw X2hlbHBlci5oICAgICAgICAgICAgICAgICAgIHwgMTAgKystCiA0IGZpbGVzIGNoYW5nZWQsIDUx IGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZHBfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jCmlu ZGV4IDBmY2I5NGY3ZGJlNS4uYWI4NzIwOWMyNWQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2RwX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMK QEAgLTY1MywzNiArNjUzLDQ0IEBAIGludCBkcm1fZHBfZG93bnN0cmVhbV9tYXhfY2xvY2soY29u c3QgdTggZHBjZFtEUF9SRUNFSVZFUl9DQVBfU0laRV0sCiBFWFBPUlRfU1lNQk9MKGRybV9kcF9k b3duc3RyZWFtX21heF9jbG9jayk7CiAKIC8qKgotICogZHJtX2RwX2Rvd25zdHJlYW1fbWF4X2Jw YygpIC0gZXh0cmFjdCBicmFuY2ggZGV2aWNlIG1heAotICogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYml0cyBwZXIgY29tcG9uZW50Ci0gKiBAZHBjZDogRGlzcGxheVBvcnQgY29uZmln dXJhdGlvbiBkYXRhCi0gKiBAcG9ydF9jYXA6IHBvcnQgY2FwYWJpbGl0aWVzCi0gKgotICogU2Vl IGFsc286Ci0gKiBkcm1fZHBfcmVhZF9kb3duc3RyZWFtX2luZm8oKQotICogZHJtX2RwX2Rvd25z dHJlYW1fbWF4X2Nsb2NrKCkKLSAqCi0gKiBSZXR1cm5zOiBNYXggYnBjIG9uIHN1Y2Nlc3Mgb3Ig MCBpZiBtYXggYnBjIG5vdCBkZWZpbmVkCi0gKi8KKyAgKiBkcm1fZHBfZG93bnN0cmVhbV9tYXhf YnBjKCkgLSBleHRyYWN0IGRvd25zdHJlYW0gZmFjaW5nIHBvcnQgbWF4CisgICogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYml0cyBwZXIgY29tcG9uZW50CisgICogQGRwY2Q6IERpc3Bs YXlQb3J0IGNvbmZpZ3VyYXRpb24gZGF0YQorICAqIEBwb3J0X2NhcDogZG93bnN0cmVhbSBmYWNp bmcgcG9ydCBjYXBhYmlsaXRpZXMKKyAgKiBAZWRpZDogRURJRAorICAqCisgICogUmV0dXJucyBt YXggYnBjIG9uIHN1Y2Nlc3Mgb3IgMCBpZiBtYXggYnBjIG5vdCBkZWZpbmVkCisgICovCiBpbnQg ZHJtX2RwX2Rvd25zdHJlYW1fbWF4X2JwYyhjb25zdCB1OCBkcGNkW0RQX1JFQ0VJVkVSX0NBUF9T SVpFXSwKLQkJCSAgICAgIGNvbnN0IHU4IHBvcnRfY2FwWzRdKQorCQkJICAgICAgY29uc3QgdTgg cG9ydF9jYXBbNF0sCisJCQkgICAgICBjb25zdCBzdHJ1Y3QgZWRpZCAqZWRpZCkKIHsKLQlpbnQg dHlwZSA9IHBvcnRfY2FwWzBdICYgRFBfRFNfUE9SVF9UWVBFX01BU0s7Ci0JYm9vbCBkZXRhaWxl ZF9jYXBfaW5mbyA9IGRwY2RbRFBfRE9XTlNUUkVBTVBPUlRfUFJFU0VOVF0gJgotCQlEUF9ERVRB SUxFRF9DQVBfSU5GT19BVkFJTEFCTEU7Ci0JaW50IGJwYzsKLQotCWlmICghZGV0YWlsZWRfY2Fw X2luZm8pCisJaWYgKCFkcm1fZHBfaXNfYnJhbmNoKGRwY2QpKQogCQlyZXR1cm4gMDsKIAotCXN3 aXRjaCAodHlwZSkgewotCWNhc2UgRFBfRFNfUE9SVF9UWVBFX1ZHQToKLQljYXNlIERQX0RTX1BP UlRfVFlQRV9EVkk6Ci0JY2FzZSBEUF9EU19QT1JUX1RZUEVfSERNSToKKwlpZiAoZHBjZFtEUF9E UENEX1JFVl0gPCAweDExKSB7CisJCXN3aXRjaCAoZHBjZFtEUF9ET1dOU1RSRUFNUE9SVF9QUkVT RU5UXSAmIERQX0RXTl9TVFJNX1BPUlRfVFlQRV9NQVNLKSB7CisJCWNhc2UgRFBfRFdOX1NUUk1f UE9SVF9UWVBFX0RQOgorCQkJcmV0dXJuIDA7CisJCWRlZmF1bHQ6CisJCQlyZXR1cm4gODsKKwkJ fQorCX0KKworCXN3aXRjaCAocG9ydF9jYXBbMF0gJiBEUF9EU19QT1JUX1RZUEVfTUFTSykgewor CWNhc2UgRFBfRFNfUE9SVF9UWVBFX0RQOgorCQlyZXR1cm4gMDsKIAljYXNlIERQX0RTX1BPUlRf VFlQRV9EUF9EVUFMTU9ERToKLQkJYnBjID0gcG9ydF9jYXBbMl0gJiBEUF9EU19NQVhfQlBDX01B U0s7CisJCWlmIChpc19lZGlkX2RpZ2l0YWxfaW5wdXRfZHAoZWRpZCkpCisJCQlyZXR1cm4gMDsK KwkJZmFsbHRocm91Z2g7CisJY2FzZSBEUF9EU19QT1JUX1RZUEVfSERNSToKKwljYXNlIERQX0RT X1BPUlRfVFlQRV9EVkk6CisJY2FzZSBEUF9EU19QT1JUX1RZUEVfVkdBOgorCQlpZiAoKGRwY2Rb RFBfRE9XTlNUUkVBTVBPUlRfUFJFU0VOVF0gJiBEUF9ERVRBSUxFRF9DQVBfSU5GT19BVkFJTEFC TEUpID09IDApCisJCQlyZXR1cm4gODsKIAotCQlzd2l0Y2ggKGJwYykgeworCQlzd2l0Y2ggKHBv cnRfY2FwWzJdICYgRFBfRFNfTUFYX0JQQ19NQVNLKSB7CiAJCWNhc2UgRFBfRFNfOEJQQzoKIAkJ CXJldHVybiA4OwogCQljYXNlIERQX0RTXzEwQlBDOgpAQCAtNjkxLDEwICs2OTksMTIgQEAgaW50 IGRybV9kcF9kb3duc3RyZWFtX21heF9icGMoY29uc3QgdTggZHBjZFtEUF9SRUNFSVZFUl9DQVBf U0laRV0sCiAJCQlyZXR1cm4gMTI7CiAJCWNhc2UgRFBfRFNfMTZCUEM6CiAJCQlyZXR1cm4gMTY7 CisJCWRlZmF1bHQ6CisJCQlyZXR1cm4gODsKIAkJfQotCQlmYWxsdGhyb3VnaDsKKwkJYnJlYWs7 CiAJZGVmYXVsdDoKLQkJcmV0dXJuIDA7CisJCXJldHVybiA4OwogCX0KIH0KIEVYUE9SVF9TWU1C T0woZHJtX2RwX2Rvd25zdHJlYW1fbWF4X2JwYyk7CkBAIC03MTcsMTIgKzcyNywxNSBAQCBFWFBP UlRfU1lNQk9MKGRybV9kcF9kb3duc3RyZWFtX2lkKTsKICAqIEBtOiBwb2ludGVyIGZvciBkZWJ1 Z2ZzIGZpbGUKICAqIEBkcGNkOiBEaXNwbGF5UG9ydCBjb25maWd1cmF0aW9uIGRhdGEKICAqIEBw b3J0X2NhcDogcG9ydCBjYXBhYmlsaXRpZXMKKyAqIEBlZGlkOiBFRElECiAgKiBAYXV4OiBEaXNw bGF5UG9ydCBBVVggY2hhbm5lbAogICoKICAqLwogdm9pZCBkcm1fZHBfZG93bnN0cmVhbV9kZWJ1 ZyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCiAJCQkgICAgIGNvbnN0IHU4IGRwY2RbRFBfUkVDRUlWRVJf Q0FQX1NJWkVdLAotCQkJICAgICBjb25zdCB1OCBwb3J0X2NhcFs0XSwgc3RydWN0IGRybV9kcF9h dXggKmF1eCkKKwkJCSAgICAgY29uc3QgdTggcG9ydF9jYXBbNF0sCisJCQkgICAgIGNvbnN0IHN0 cnVjdCBlZGlkICplZGlkLAorCQkJICAgICBzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4KQogewogCWJv b2wgZGV0YWlsZWRfY2FwX2luZm8gPSBkcGNkW0RQX0RPV05TVFJFQU1QT1JUX1BSRVNFTlRdICYK IAkJCQkgRFBfREVUQUlMRURfQ0FQX0lORk9fQVZBSUxBQkxFOwpAQCAtNzg5LDcgKzgwMiw3IEBA IHZvaWQgZHJtX2RwX2Rvd25zdHJlYW1fZGVidWcoc3RydWN0IHNlcV9maWxlICptLAogCQkJCXNl cV9wcmludGYobSwgIlx0XHRNYXggVE1EUyBjbG9jazogJWQga0h6XG4iLCBjbGspOwogCQl9CiAK LQkJYnBjID0gZHJtX2RwX2Rvd25zdHJlYW1fbWF4X2JwYyhkcGNkLCBwb3J0X2NhcCk7CisJCWJw YyA9IGRybV9kcF9kb3duc3RyZWFtX21heF9icGMoZHBjZCwgcG9ydF9jYXAsIGVkaWQpOwogCiAJ CWlmIChicGMgPiAwKQogCQkJc2VxX3ByaW50ZihtLCAiXHRcdE1heCBicGM6ICVkXG4iLCBicGMp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5 X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9k ZWJ1Z2ZzLmMKaW5kZXggNTNhMGEzZDlhMjJkLi4wYmYzMWY5YThhZjUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kZWJ1Z2ZzLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X2RlYnVnZnMuYwpAQCAt NjI2LDYgKzYyNiw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX2luZm8oc3RydWN0IHNlcV9maWxl ICptLAogewogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyID0gaW50ZWxfYXR0 YWNoZWRfZW5jb2RlcihpbnRlbF9jb25uZWN0b3IpOwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAgPSBlbmNfdG9faW50ZWxfZHAoaW50ZWxfZW5jb2Rlcik7CisJY29uc3Qgc3RydWN0IGRybV9w cm9wZXJ0eV9ibG9iICplZGlkID0gaW50ZWxfY29ubmVjdG9yLT5iYXNlLmVkaWRfYmxvYl9wdHI7 CiAKIAlzZXFfcHJpbnRmKG0sICJcdERQQ0QgcmV2OiAleFxuIiwgaW50ZWxfZHAtPmRwY2RbRFBf RFBDRF9SRVZdKTsKIAlzZXFfcHJpbnRmKG0sICJcdGF1ZGlvIHN1cHBvcnQ6ICVzXG4iLCB5ZXNu byhpbnRlbF9kcC0+aGFzX2F1ZGlvKSk7CkBAIC02MzMsNyArNjM0LDcgQEAgc3RhdGljIHZvaWQg aW50ZWxfZHBfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCiAJCWludGVsX3BhbmVsX2luZm8obSwg JmludGVsX2Nvbm5lY3Rvci0+cGFuZWwpOwogCiAJZHJtX2RwX2Rvd25zdHJlYW1fZGVidWcobSwg aW50ZWxfZHAtPmRwY2QsIGludGVsX2RwLT5kb3duc3RyZWFtX3BvcnRzLAotCQkJCSZpbnRlbF9k cC0+YXV4KTsKKwkJCQllZGlkID8gZWRpZC0+ZGF0YSA6IE5VTEwsICZpbnRlbF9kcC0+YXV4KTsK IH0KIAogc3RhdGljIHZvaWQgaW50ZWxfZHBfbXN0X2luZm8oc3RydWN0IHNlcV9maWxlICptLApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCmluZGV4IDJjOGU4MmQ5N2EzNC4u YzczYjNlZmQ4NGUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCkBA IC02MDcxLDcgKzYwNzEsNyBAQCBpbnRlbF9kcF9zZXRfZWRpZChzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwKQogCiAJaW50ZWxfZHAtPmRmcC5tYXhfYnBjID0KIAkJZHJtX2RwX2Rvd25zdHJlYW1f bWF4X2JwYyhpbnRlbF9kcC0+ZHBjZCwKLQkJCQkJICBpbnRlbF9kcC0+ZG93bnN0cmVhbV9wb3J0 cyk7CisJCQkJCSAgaW50ZWxfZHAtPmRvd25zdHJlYW1fcG9ydHMsIGVkaWQpOwogCiAJZHJtX2Ri Z19rbXMoJmk5MTUtPmRybSwgIltDT05ORUNUT1I6JWQ6JXNdIERGUCBtYXggYnBjICVkXG4iLAog CQkgICAgY29ubmVjdG9yLT5iYXNlLmJhc2UuaWQsIGNvbm5lY3Rvci0+YmFzZS5uYW1lLApkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2RwX2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Rw X2hlbHBlci5oCmluZGV4IDRmOTQ2ODI2ZGZjZS4uNjIxOGRlMTI5NGMxIDEwMDY0NAotLS0gYS9p bmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2RwX2hlbHBl ci5oCkBAIC0xNjQ2LDEwICsxNjQ2LDE0IEBAIGJvb2wgZHJtX2RwX2Rvd25zdHJlYW1faXNfdG1k cyhjb25zdCB1OCBkcGNkW0RQX1JFQ0VJVkVSX0NBUF9TSVpFXSwKIGludCBkcm1fZHBfZG93bnN0 cmVhbV9tYXhfY2xvY2soY29uc3QgdTggZHBjZFtEUF9SRUNFSVZFUl9DQVBfU0laRV0sCiAJCQkJ Y29uc3QgdTggcG9ydF9jYXBbNF0pOwogaW50IGRybV9kcF9kb3duc3RyZWFtX21heF9icGMoY29u c3QgdTggZHBjZFtEUF9SRUNFSVZFUl9DQVBfU0laRV0sCi0JCQkgICAgICBjb25zdCB1OCBwb3J0 X2NhcFs0XSk7CisJCQkgICAgICBjb25zdCB1OCBwb3J0X2NhcFs0XSwKKwkJCSAgICAgIGNvbnN0 IHN0cnVjdCBlZGlkICplZGlkKTsKIGludCBkcm1fZHBfZG93bnN0cmVhbV9pZChzdHJ1Y3QgZHJt X2RwX2F1eCAqYXV4LCBjaGFyIGlkWzZdKTsKLXZvaWQgZHJtX2RwX2Rvd25zdHJlYW1fZGVidWco c3RydWN0IHNlcV9maWxlICptLCBjb25zdCB1OCBkcGNkW0RQX1JFQ0VJVkVSX0NBUF9TSVpFXSwK LQkJCSAgICAgY29uc3QgdTggcG9ydF9jYXBbNF0sIHN0cnVjdCBkcm1fZHBfYXV4ICphdXgpOwor dm9pZCBkcm1fZHBfZG93bnN0cmVhbV9kZWJ1ZyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCisJCQkgICAg IGNvbnN0IHU4IGRwY2RbRFBfUkVDRUlWRVJfQ0FQX1NJWkVdLAorCQkJICAgICBjb25zdCB1OCBw b3J0X2NhcFs0XSwKKwkJCSAgICAgY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQsCisJCQkgICAgIHN0 cnVjdCBkcm1fZHBfYXV4ICphdXgpOwogZW51bSBkcm1fbW9kZV9zdWJjb25uZWN0b3IKIGRybV9k cF9zdWJjb25uZWN0b3JfdHlwZShjb25zdCB1OCBkcGNkW0RQX1JFQ0VJVkVSX0NBUF9TSVpFXSwK IAkJCSBjb25zdCB1OCBwb3J0X2NhcFs0XSk7Ci0tIAoyLjI2LjIKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A68EBC433E2 for ; Fri, 4 Sep 2020 11:54:23 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7970C214F1 for ; Fri, 4 Sep 2020 11:54:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7970C214F1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E07A26EB5D; Fri, 4 Sep 2020 11:54:22 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 523AD6EB5B; Fri, 4 Sep 2020 11:54:21 +0000 (UTC) IronPort-SDR: TB4tO6VwULKcXEY2LJzzeU7RtMdu6EhC2HEfTEFl9X5rlawmlRK3sk2LKdASVkuClTbSunsb0H R/n33VMSmS+Q== X-IronPort-AV: E=McAfee;i="6000,8403,9733"; a="145461004" X-IronPort-AV: E=Sophos;i="5.76,389,1592895600"; d="scan'208";a="145461004" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Sep 2020 04:54:20 -0700 IronPort-SDR: MAkCvjE1Lmx3W6aUcGCcduy2emCZwKTal/Pd6ehwUHgCpChgsss/nECdr83Wf690di06Q+zltF L0iSrbxq46kg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,389,1592895600"; d="scan'208";a="405824686" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga001.fm.intel.com with SMTP; 04 Sep 2020 04:54:18 -0700 Received: by stinkbox (sSMTP sendmail emulation); Fri, 04 Sep 2020 14:54:17 +0300 From: Ville Syrjala To: dri-devel@lists.freedesktop.org Date: Fri, 4 Sep 2020 14:53:43 +0300 Message-Id: <20200904115354.25336-8-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200904115354.25336-1-ville.syrjala@linux.intel.com> References: <20200904115354.25336-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v2 07/18] drm/dp: Pimp drm_dp_downstream_max_bpc() X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkRl YWwgd2l0aCBtb3JlIGNhc2VzIGluIGRybV9kcF9kb3duc3RyZWFtX21heF9icGMoKToKLSBEUENE IDEuMCAtPiBhc3N1bWUgOGJwYyBmb3Igbm9uLURQCi0gRFBDRCAxLjErIERQIChvciBEUCsrIHdp dGggRFAgc2luaykgLT4gYWxsb3cgYW55dGhpbmcKLSBEUENEIDEuMSsgVE1EUyAtPiBjaGVjayB0 aGUgY2FwcywgYXNzdW1lIDhicGMgaWYgdGhlIHZhbHVlIGlzIGNyYXAKLSBhbnl0aGluZyBlbHNl IC0+IGFzc3VtZSA4YnBjCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVy LmMgICAgICAgICAgICAgICB8IDY5ICsrKysrKysrKysrLS0tLS0tLS0KIC4uLi9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXlfZGVidWdmcy5jICB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2RwLmMgICAgICAgfCAgMiArLQogaW5jbHVkZS9kcm0vZHJtX2Rw X2hlbHBlci5oICAgICAgICAgICAgICAgICAgIHwgMTAgKystCiA0IGZpbGVzIGNoYW5nZWQsIDUx IGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZHBfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jCmlu ZGV4IDBmY2I5NGY3ZGJlNS4uYWI4NzIwOWMyNWQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2RwX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMK QEAgLTY1MywzNiArNjUzLDQ0IEBAIGludCBkcm1fZHBfZG93bnN0cmVhbV9tYXhfY2xvY2soY29u c3QgdTggZHBjZFtEUF9SRUNFSVZFUl9DQVBfU0laRV0sCiBFWFBPUlRfU1lNQk9MKGRybV9kcF9k b3duc3RyZWFtX21heF9jbG9jayk7CiAKIC8qKgotICogZHJtX2RwX2Rvd25zdHJlYW1fbWF4X2Jw YygpIC0gZXh0cmFjdCBicmFuY2ggZGV2aWNlIG1heAotICogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYml0cyBwZXIgY29tcG9uZW50Ci0gKiBAZHBjZDogRGlzcGxheVBvcnQgY29uZmln dXJhdGlvbiBkYXRhCi0gKiBAcG9ydF9jYXA6IHBvcnQgY2FwYWJpbGl0aWVzCi0gKgotICogU2Vl IGFsc286Ci0gKiBkcm1fZHBfcmVhZF9kb3duc3RyZWFtX2luZm8oKQotICogZHJtX2RwX2Rvd25z dHJlYW1fbWF4X2Nsb2NrKCkKLSAqCi0gKiBSZXR1cm5zOiBNYXggYnBjIG9uIHN1Y2Nlc3Mgb3Ig MCBpZiBtYXggYnBjIG5vdCBkZWZpbmVkCi0gKi8KKyAgKiBkcm1fZHBfZG93bnN0cmVhbV9tYXhf YnBjKCkgLSBleHRyYWN0IGRvd25zdHJlYW0gZmFjaW5nIHBvcnQgbWF4CisgICogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYml0cyBwZXIgY29tcG9uZW50CisgICogQGRwY2Q6IERpc3Bs YXlQb3J0IGNvbmZpZ3VyYXRpb24gZGF0YQorICAqIEBwb3J0X2NhcDogZG93bnN0cmVhbSBmYWNp bmcgcG9ydCBjYXBhYmlsaXRpZXMKKyAgKiBAZWRpZDogRURJRAorICAqCisgICogUmV0dXJucyBt YXggYnBjIG9uIHN1Y2Nlc3Mgb3IgMCBpZiBtYXggYnBjIG5vdCBkZWZpbmVkCisgICovCiBpbnQg ZHJtX2RwX2Rvd25zdHJlYW1fbWF4X2JwYyhjb25zdCB1OCBkcGNkW0RQX1JFQ0VJVkVSX0NBUF9T SVpFXSwKLQkJCSAgICAgIGNvbnN0IHU4IHBvcnRfY2FwWzRdKQorCQkJICAgICAgY29uc3QgdTgg cG9ydF9jYXBbNF0sCisJCQkgICAgICBjb25zdCBzdHJ1Y3QgZWRpZCAqZWRpZCkKIHsKLQlpbnQg dHlwZSA9IHBvcnRfY2FwWzBdICYgRFBfRFNfUE9SVF9UWVBFX01BU0s7Ci0JYm9vbCBkZXRhaWxl ZF9jYXBfaW5mbyA9IGRwY2RbRFBfRE9XTlNUUkVBTVBPUlRfUFJFU0VOVF0gJgotCQlEUF9ERVRB SUxFRF9DQVBfSU5GT19BVkFJTEFCTEU7Ci0JaW50IGJwYzsKLQotCWlmICghZGV0YWlsZWRfY2Fw X2luZm8pCisJaWYgKCFkcm1fZHBfaXNfYnJhbmNoKGRwY2QpKQogCQlyZXR1cm4gMDsKIAotCXN3 aXRjaCAodHlwZSkgewotCWNhc2UgRFBfRFNfUE9SVF9UWVBFX1ZHQToKLQljYXNlIERQX0RTX1BP UlRfVFlQRV9EVkk6Ci0JY2FzZSBEUF9EU19QT1JUX1RZUEVfSERNSToKKwlpZiAoZHBjZFtEUF9E UENEX1JFVl0gPCAweDExKSB7CisJCXN3aXRjaCAoZHBjZFtEUF9ET1dOU1RSRUFNUE9SVF9QUkVT RU5UXSAmIERQX0RXTl9TVFJNX1BPUlRfVFlQRV9NQVNLKSB7CisJCWNhc2UgRFBfRFdOX1NUUk1f UE9SVF9UWVBFX0RQOgorCQkJcmV0dXJuIDA7CisJCWRlZmF1bHQ6CisJCQlyZXR1cm4gODsKKwkJ fQorCX0KKworCXN3aXRjaCAocG9ydF9jYXBbMF0gJiBEUF9EU19QT1JUX1RZUEVfTUFTSykgewor CWNhc2UgRFBfRFNfUE9SVF9UWVBFX0RQOgorCQlyZXR1cm4gMDsKIAljYXNlIERQX0RTX1BPUlRf VFlQRV9EUF9EVUFMTU9ERToKLQkJYnBjID0gcG9ydF9jYXBbMl0gJiBEUF9EU19NQVhfQlBDX01B U0s7CisJCWlmIChpc19lZGlkX2RpZ2l0YWxfaW5wdXRfZHAoZWRpZCkpCisJCQlyZXR1cm4gMDsK KwkJZmFsbHRocm91Z2g7CisJY2FzZSBEUF9EU19QT1JUX1RZUEVfSERNSToKKwljYXNlIERQX0RT X1BPUlRfVFlQRV9EVkk6CisJY2FzZSBEUF9EU19QT1JUX1RZUEVfVkdBOgorCQlpZiAoKGRwY2Rb RFBfRE9XTlNUUkVBTVBPUlRfUFJFU0VOVF0gJiBEUF9ERVRBSUxFRF9DQVBfSU5GT19BVkFJTEFC TEUpID09IDApCisJCQlyZXR1cm4gODsKIAotCQlzd2l0Y2ggKGJwYykgeworCQlzd2l0Y2ggKHBv cnRfY2FwWzJdICYgRFBfRFNfTUFYX0JQQ19NQVNLKSB7CiAJCWNhc2UgRFBfRFNfOEJQQzoKIAkJ CXJldHVybiA4OwogCQljYXNlIERQX0RTXzEwQlBDOgpAQCAtNjkxLDEwICs2OTksMTIgQEAgaW50 IGRybV9kcF9kb3duc3RyZWFtX21heF9icGMoY29uc3QgdTggZHBjZFtEUF9SRUNFSVZFUl9DQVBf U0laRV0sCiAJCQlyZXR1cm4gMTI7CiAJCWNhc2UgRFBfRFNfMTZCUEM6CiAJCQlyZXR1cm4gMTY7 CisJCWRlZmF1bHQ6CisJCQlyZXR1cm4gODsKIAkJfQotCQlmYWxsdGhyb3VnaDsKKwkJYnJlYWs7 CiAJZGVmYXVsdDoKLQkJcmV0dXJuIDA7CisJCXJldHVybiA4OwogCX0KIH0KIEVYUE9SVF9TWU1C T0woZHJtX2RwX2Rvd25zdHJlYW1fbWF4X2JwYyk7CkBAIC03MTcsMTIgKzcyNywxNSBAQCBFWFBP UlRfU1lNQk9MKGRybV9kcF9kb3duc3RyZWFtX2lkKTsKICAqIEBtOiBwb2ludGVyIGZvciBkZWJ1 Z2ZzIGZpbGUKICAqIEBkcGNkOiBEaXNwbGF5UG9ydCBjb25maWd1cmF0aW9uIGRhdGEKICAqIEBw b3J0X2NhcDogcG9ydCBjYXBhYmlsaXRpZXMKKyAqIEBlZGlkOiBFRElECiAgKiBAYXV4OiBEaXNw bGF5UG9ydCBBVVggY2hhbm5lbAogICoKICAqLwogdm9pZCBkcm1fZHBfZG93bnN0cmVhbV9kZWJ1 ZyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCiAJCQkgICAgIGNvbnN0IHU4IGRwY2RbRFBfUkVDRUlWRVJf Q0FQX1NJWkVdLAotCQkJICAgICBjb25zdCB1OCBwb3J0X2NhcFs0XSwgc3RydWN0IGRybV9kcF9h dXggKmF1eCkKKwkJCSAgICAgY29uc3QgdTggcG9ydF9jYXBbNF0sCisJCQkgICAgIGNvbnN0IHN0 cnVjdCBlZGlkICplZGlkLAorCQkJICAgICBzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4KQogewogCWJv b2wgZGV0YWlsZWRfY2FwX2luZm8gPSBkcGNkW0RQX0RPV05TVFJFQU1QT1JUX1BSRVNFTlRdICYK IAkJCQkgRFBfREVUQUlMRURfQ0FQX0lORk9fQVZBSUxBQkxFOwpAQCAtNzg5LDcgKzgwMiw3IEBA IHZvaWQgZHJtX2RwX2Rvd25zdHJlYW1fZGVidWcoc3RydWN0IHNlcV9maWxlICptLAogCQkJCXNl cV9wcmludGYobSwgIlx0XHRNYXggVE1EUyBjbG9jazogJWQga0h6XG4iLCBjbGspOwogCQl9CiAK LQkJYnBjID0gZHJtX2RwX2Rvd25zdHJlYW1fbWF4X2JwYyhkcGNkLCBwb3J0X2NhcCk7CisJCWJw YyA9IGRybV9kcF9kb3duc3RyZWFtX21heF9icGMoZHBjZCwgcG9ydF9jYXAsIGVkaWQpOwogCiAJ CWlmIChicGMgPiAwKQogCQkJc2VxX3ByaW50ZihtLCAiXHRcdE1heCBicGM6ICVkXG4iLCBicGMp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5 X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9k ZWJ1Z2ZzLmMKaW5kZXggNTNhMGEzZDlhMjJkLi4wYmYzMWY5YThhZjUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kZWJ1Z2ZzLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X2RlYnVnZnMuYwpAQCAt NjI2LDYgKzYyNiw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX2luZm8oc3RydWN0IHNlcV9maWxl ICptLAogewogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyID0gaW50ZWxfYXR0 YWNoZWRfZW5jb2RlcihpbnRlbF9jb25uZWN0b3IpOwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAgPSBlbmNfdG9faW50ZWxfZHAoaW50ZWxfZW5jb2Rlcik7CisJY29uc3Qgc3RydWN0IGRybV9w cm9wZXJ0eV9ibG9iICplZGlkID0gaW50ZWxfY29ubmVjdG9yLT5iYXNlLmVkaWRfYmxvYl9wdHI7 CiAKIAlzZXFfcHJpbnRmKG0sICJcdERQQ0QgcmV2OiAleFxuIiwgaW50ZWxfZHAtPmRwY2RbRFBf RFBDRF9SRVZdKTsKIAlzZXFfcHJpbnRmKG0sICJcdGF1ZGlvIHN1cHBvcnQ6ICVzXG4iLCB5ZXNu byhpbnRlbF9kcC0+aGFzX2F1ZGlvKSk7CkBAIC02MzMsNyArNjM0LDcgQEAgc3RhdGljIHZvaWQg aW50ZWxfZHBfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCiAJCWludGVsX3BhbmVsX2luZm8obSwg JmludGVsX2Nvbm5lY3Rvci0+cGFuZWwpOwogCiAJZHJtX2RwX2Rvd25zdHJlYW1fZGVidWcobSwg aW50ZWxfZHAtPmRwY2QsIGludGVsX2RwLT5kb3duc3RyZWFtX3BvcnRzLAotCQkJCSZpbnRlbF9k cC0+YXV4KTsKKwkJCQllZGlkID8gZWRpZC0+ZGF0YSA6IE5VTEwsICZpbnRlbF9kcC0+YXV4KTsK IH0KIAogc3RhdGljIHZvaWQgaW50ZWxfZHBfbXN0X2luZm8oc3RydWN0IHNlcV9maWxlICptLApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCmluZGV4IDJjOGU4MmQ5N2EzNC4u YzczYjNlZmQ4NGUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCkBA IC02MDcxLDcgKzYwNzEsNyBAQCBpbnRlbF9kcF9zZXRfZWRpZChzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwKQogCiAJaW50ZWxfZHAtPmRmcC5tYXhfYnBjID0KIAkJZHJtX2RwX2Rvd25zdHJlYW1f bWF4X2JwYyhpbnRlbF9kcC0+ZHBjZCwKLQkJCQkJICBpbnRlbF9kcC0+ZG93bnN0cmVhbV9wb3J0 cyk7CisJCQkJCSAgaW50ZWxfZHAtPmRvd25zdHJlYW1fcG9ydHMsIGVkaWQpOwogCiAJZHJtX2Ri Z19rbXMoJmk5MTUtPmRybSwgIltDT05ORUNUT1I6JWQ6JXNdIERGUCBtYXggYnBjICVkXG4iLAog CQkgICAgY29ubmVjdG9yLT5iYXNlLmJhc2UuaWQsIGNvbm5lY3Rvci0+YmFzZS5uYW1lLApkaWZm IC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2RwX2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX2Rw X2hlbHBlci5oCmluZGV4IDRmOTQ2ODI2ZGZjZS4uNjIxOGRlMTI5NGMxIDEwMDY0NAotLS0gYS9p bmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2RwX2hlbHBl ci5oCkBAIC0xNjQ2LDEwICsxNjQ2LDE0IEBAIGJvb2wgZHJtX2RwX2Rvd25zdHJlYW1faXNfdG1k cyhjb25zdCB1OCBkcGNkW0RQX1JFQ0VJVkVSX0NBUF9TSVpFXSwKIGludCBkcm1fZHBfZG93bnN0 cmVhbV9tYXhfY2xvY2soY29uc3QgdTggZHBjZFtEUF9SRUNFSVZFUl9DQVBfU0laRV0sCiAJCQkJ Y29uc3QgdTggcG9ydF9jYXBbNF0pOwogaW50IGRybV9kcF9kb3duc3RyZWFtX21heF9icGMoY29u c3QgdTggZHBjZFtEUF9SRUNFSVZFUl9DQVBfU0laRV0sCi0JCQkgICAgICBjb25zdCB1OCBwb3J0 X2NhcFs0XSk7CisJCQkgICAgICBjb25zdCB1OCBwb3J0X2NhcFs0XSwKKwkJCSAgICAgIGNvbnN0 IHN0cnVjdCBlZGlkICplZGlkKTsKIGludCBkcm1fZHBfZG93bnN0cmVhbV9pZChzdHJ1Y3QgZHJt X2RwX2F1eCAqYXV4LCBjaGFyIGlkWzZdKTsKLXZvaWQgZHJtX2RwX2Rvd25zdHJlYW1fZGVidWco c3RydWN0IHNlcV9maWxlICptLCBjb25zdCB1OCBkcGNkW0RQX1JFQ0VJVkVSX0NBUF9TSVpFXSwK LQkJCSAgICAgY29uc3QgdTggcG9ydF9jYXBbNF0sIHN0cnVjdCBkcm1fZHBfYXV4ICphdXgpOwor dm9pZCBkcm1fZHBfZG93bnN0cmVhbV9kZWJ1ZyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCisJCQkgICAg IGNvbnN0IHU4IGRwY2RbRFBfUkVDRUlWRVJfQ0FQX1NJWkVdLAorCQkJICAgICBjb25zdCB1OCBw b3J0X2NhcFs0XSwKKwkJCSAgICAgY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQsCisJCQkgICAgIHN0 cnVjdCBkcm1fZHBfYXV4ICphdXgpOwogZW51bSBkcm1fbW9kZV9zdWJjb25uZWN0b3IKIGRybV9k cF9zdWJjb25uZWN0b3JfdHlwZShjb25zdCB1OCBkcGNkW0RQX1JFQ0VJVkVSX0NBUF9TSVpFXSwK IAkJCSBjb25zdCB1OCBwb3J0X2NhcFs0XSk7Ci0tIAoyLjI2LjIKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=