From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH 07/10] drm: Add CP downstream_info property Date: Tue, 26 Feb 2019 13:06:06 +0530 Message-ID: <1551166569-19683-8-git-send-email-ramalingam.c@intel.com> References: <1551166569-19683-1-git-send-email-ramalingam.c@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1551166569-19683-1-git-send-email-ramalingam.c@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, daniel.vetter@ffwll.ch, uma.shankar@intel.com List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIENQIGRvd25zdHJlYW0gaW5mbyBibG9iIHByb3BlcnR5IHRvIHRoZQpj b25uZWN0b3JzLiBUaGlzIGVuYWJsZXMgdGhlIFVzZXJzcGFjZSB0byByZWFkIHRoZSBpbmZvcm1h dGlvbiBvZiBIRENQCmF1dGhlbnRpY2F0ZWQgZG93bnN0cmVhbSB0b3BvbG9neS4KCkRyaXZlciB3 aWxsIHVwZGF0ZWQgdGhpcyBibG9iIHdpdGggYWxsIGRvd25zdHJlYW0gaW5mb3JtYXRpb24gYXQg dGhlCmVuZCBvZiB0aGUgYXV0aGVudGljYXRpb24uCgpVc2Vyc3BhY2UgbmVlZCB0aGlzIGluZm9y bWF0aW9ucyB0byBjb25maWd1cmUgdGhpcyBwbGF0Zm9ybSBhcyByZXBlYXRlciwKd2hlcmUgS01E IHdpbGwgYmUgdGhlIGRvd25zdHJlYW0gSERDUCBwb3J0cyBvZiB0aGUgcmVwZWF0ZXIgYW5kIHVz ZXJzcGFjZQppbXBsZW1lbnRhdGlvbiB3aWxsIGFjdCBhcyB1cHN0cmVhbSBIRENQIHBvcnQuCgpT aWduZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jIHwgIDMgKysKIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fY29ubmVjdG9yLmMgICB8IDg4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgIHwgMTIgKysrKysrCiBp bmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggICAgICAgfCAyNyArKysrKysrKysrKysKIDQgZmls ZXMgY2hhbmdlZCwgMTMwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY191YXBpLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMK aW5kZXggOWM1N2Q4YzA3ZDA5Li5mMjhmYjY0ZDE5ODYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljX3VhcGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191 YXBpLmMKQEAgLTg0Miw2ICs4NDIsOSBAQCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9nZXRfcHJvcGVy dHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJKnZhbCA9IHN0YXRlLT5jcF9j b250ZW50X3R5cGU7CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25uZWN0b3ItPmNwX3NybV9w cm9wZXJ0eSkgewogCQkqdmFsID0gc3RhdGUtPmNwX3NybV9ibG9iX2lkOworCX0gZWxzZSBpZiAo cHJvcGVydHkgPT0gY29ubmVjdG9yLT5jcF9kb3duc3RyZWFtX3Byb3BlcnR5KSB7CisJCSp2YWwg PSBjb25uZWN0b3ItPmNwX2Rvd25zdHJlYW1fYmxvYl9wdHIgPworCQkJY29ubmVjdG9yLT5jcF9k b3duc3RyZWFtX2Jsb2JfcHRyLT5iYXNlLmlkIDogMDsKIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09 IGNvbmZpZy0+d3JpdGViYWNrX2ZiX2lkX3Byb3BlcnR5KSB7CiAJCS8qIFdyaXRlYmFjayBmcmFt ZWJ1ZmZlciBpcyBvbmUtc2hvdCwgd3JpdGUgYW5kIGZvcmdldCAqLwogCQkqdmFsID0gMDsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2Nvbm5lY3Rvci5jCmluZGV4IDUxMDk0MWFkNTMyZi4uMGI1OGQwN2QxZDUzIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fY29ubmVjdG9yLmMKQEAgLTI0NSw2ICsyNDUsNyBAQCBpbnQgZHJtX2Nvbm5lY3Rv cl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJSU5JVF9MSVNUX0hFQUQoJmNvbm5lY3Rv ci0+bW9kZXMpOwogCW11dGV4X2luaXQoJmNvbm5lY3Rvci0+bXV0ZXgpOwogCWNvbm5lY3Rvci0+ ZWRpZF9ibG9iX3B0ciA9IE5VTEw7CisJY29ubmVjdG9yLT5jcF9kb3duc3RyZWFtX2Jsb2JfcHRy ID0gTlVMTDsKIAljb25uZWN0b3ItPnN0YXR1cyA9IGNvbm5lY3Rvcl9zdGF0dXNfdW5rbm93bjsK IAljb25uZWN0b3ItPmRpc3BsYXlfaW5mby5wYW5lbF9vcmllbnRhdGlvbiA9CiAJCURSTV9NT0RF X1BBTkVMX09SSUVOVEFUSU9OX1VOS05PV047CkBAIC0xMDAyLDYgKzEwMDMsMjUgQEAgRFJNX0VO VU1fTkFNRV9GTihkcm1fZ2V0X2NwX2NvbnRlbnRfdHlwZV9uYW1lLCBkcm1fY3BfY29udGVudF90 eXBlX2VudW1fbGlzdCkKICAqCUd1aWRlbGluZSBmb3IgcHJvZ3JhbW1pbmc6CiAgKgkgIC0gUHJv cGVydHkgc3RhdGUgY2FuIGJlIGNoYW5nZWQgb25seSB3aGVuICJDb250ZW50IFByb3RlY3Rpb24g c3RhdGUgaXMKICAqCQlEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fVU5ERVNJUkVELgorICog Q1BfRG93bnN0cmVhbV9JbmZvOgorICoJVGhpcyBibG9iIHByb3BlcnR5IGlzIHVzZWQgdG8gcGFz cyB0aGUgSERDUCBkb3duc3RyZWFtIHRvcG9sb2d5IGRldGFpbHMKKyAqCW9mIGEgSERDUCBlbmNy eXB0ZWQgY29ubmVjdG9yLCBmcm9tIGtlcm5lbCB0byB1c2Vyc3BhY2UuCisgKglUaGlzIHByb3Zp ZGVzIGFsbCByZXF1aXJlZCBpbmZvcm1hdGlvbiB0byB1c2Vyc3BhY2UsIHNvIHRoYXQgdXNlcnNw YWNlCisgKgljYW4gaW1wbGVtZW50IHRoZSBIRENQIHJlcGVhdGVyIHVzaW5nIHRoZSBrZXJuZWwg YXMgZG93bnN0cmVhbSBwb3J0cyBvZgorICoJdGhlIHJlcGVhdGVyLiBhcyBpbGx1c3RyYXRlZCBi ZWxvdzoKKyAqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgSERDUCBSZXBlYXRlcnMKKyAq ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwKKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAqIHwgICBVc2Vyc3BhY2UgSERDUCBS ZWNlaXZlciAgKy0tLS0tPiAgICBLTUQgSERDUCB0cmFuc21pdHRlcnMgIHwKKyAqIHwgICAgICAo VXBzdHJlYW0gUG9ydCkgICAgICA8LS0tLS0tKyAgICAgKERvd25zdHJlYW0gUG9ydHMpICAgIHwK KyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwKKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKKyAqICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAqCisgKglLZXJuZWwgd2lsbCBw b3B1bGF0ZSB0aGlzIGJsb2Igb25seSB3aGVuIHRoZSBIRENQIGF1dGhlbnRpY2F0aW9uIGlzCisg KglzdWNjZXNzZnVsLgogICoKICAqIG1heCBicGM6CiAgKglUaGlzIHJhbmdlIHByb3BlcnR5IGlz IHVzZWQgYnkgdXNlcnNwYWNlIHRvIGxpbWl0IHRoZSBiaXQgZGVwdGguIFdoZW4KQEAgLTE2NjQs NiArMTY4NCw3NCBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY3Bfc3JtX3Byb3BlcnR5KHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiBFWFBPUlRfU1lNQk9MKGRybV9jb25uZWN0 b3JfYXR0YWNoX2NwX3NybV9wcm9wZXJ0eSk7CiAKIC8qKgorICogZHJtX2Nvbm5lY3Rvcl9hdHRh Y2hfY3BfZG93bnN0cmVhbV9wcm9wZXJ0eSAtIGF0dGFjaCBjcCBkb3duc3RyZWFtCisgKiBwcm9w ZXJ0eQorICoKKyAqIEBjb25uZWN0b3I6IGNvbm5lY3RvciB0byBhdHRhY2ggY3AgZG93bnN0cmVh bSBwcm9wZXJ0eSBvbi4KKyAqCisgKiBUaGlzIGlzIHVzZWQgdG8gYWRkIHN1cHBvcnQgZm9yIGNv bnRlbnQgcHJvdGVjdGlvbiBkb3duc3RyZWFtIGluZm8gb24KKyAqIHNlbGVjdCBjb25uZWN0b3Jz LiB3aGVuIEludGVsIHBsYXRmb3JtIGlzIGNvbmZpZ3VyZWQgYXMgcmVwZWF0ZXIsCisgKiB0aGlz IGRvd25zdHJlYW0gaW5mbyBpcyB1c2VkIGJ5IHVzZXJzcGFjZSwgdG8gY29tcGxldGUgdGhlIHJl cGVhdGVyCisgKiBhdXRoZW50aWNhdGlvbiBvZiBIRENQIHNwZWNpZmljYXRpb24gd2l0aCB1cHN0 cmVhbSBIRENQIHRyYW5zbWl0dGVyLgorICoKKyAqIFRoZSBjcCBkb3duc3RyZWFtIHdpbGwgYmUg c2V0IHRvICZkcm1fY29ubmVjdG9yX3N0YXRlLmNwX2Rvd25zdHJlYW0KKyAqCisgKiBSZXR1cm5z OgorICogWmVybyBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJubyBvbiBmYWlsdXJlLgorICovCitp bnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY3BfZG93bnN0cmVhbV9wcm9wZXJ0eSgKKwkJc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g Y29ubmVjdG9yLT5kZXY7CisJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcDsKKworCXByb3AgPSBk cm1fcHJvcGVydHlfY3JlYXRlKGRldiwgRFJNX01PREVfUFJPUF9CTE9CIHwKKwkJCQkgICBEUk1f TU9ERV9QUk9QX0lNTVVUQUJMRSwKKwkJCQkgICAiQ1BfRG93bnN0cmVhbV9JbmZvIiwgMCk7CisJ aWYgKCFwcm9wKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWRybV9vYmplY3RfYXR0YWNoX3Byb3Bl cnR5KCZjb25uZWN0b3ItPmJhc2UsIHByb3AsIDApOworCisJY29ubmVjdG9yLT5jcF9kb3duc3Ry ZWFtX3Byb3BlcnR5ID0gcHJvcDsKKworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChkcm1f Y29ubmVjdG9yX2F0dGFjaF9jcF9kb3duc3RyZWFtX3Byb3BlcnR5KTsKKworLyoqCisgKiBkcm1f bW9kZV9jb25uZWN0b3JfdXBkYXRlX2NwX2Rvd25zdHJlYW1fcHJvcGVydHkgLSB1cGRhdGUgdGhl IGNwX2Rvd25zdHJlYW0KKyAqCQkJcHJvcGVydHkgb2YgYSBjb25uZWN0b3IKKyAqIEBjb25uZWN0 b3I6IGRybSBjb25uZWN0b3IKKyAqIEBjcF9kb3duc3RyZWFtX2luZm86IG5ldyB2YWx1ZSBvZiB0 aGUgY3BfZG93bnN0cmVhbSBwcm9wZXJ0eQorICoKKyAqIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBh IG5ldyBibG9iIG1vZGVzZXQgb2JqZWN0IGFuZCBhc3NpZ25zIGl0cyBpZCB0byB0aGUKKyAqIGNv bm5lY3RvcidzIGNwX2Rvd25zdHJlYW0gcHJvcGVydHkuCisgKgorICogUmV0dXJuczoKKyAqIFpl cm8gb24gc3VjY2VzcywgbmVnYXRpdmUgZXJybm8gb24gZmFpbHVyZS4KKyAqLworaW50IGRybV9t b2RlX2Nvbm5lY3Rvcl91cGRhdGVfY3BfZG93bnN0cmVhbV9wcm9wZXJ0eSgKKwkJCXN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCisJCQljb25zdCBzdHJ1Y3QgY3BfZG93bnN0cmVhbV9p bmZvICppbmZvKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsK KwlpbnQgcmV0OworCisJaWYgKCFpbmZvKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldCA9IGRy bV9wcm9wZXJ0eV9yZXBsYWNlX2dsb2JhbF9ibG9iKGRldiwKKwkJCQkJJmNvbm5lY3Rvci0+Y3Bf ZG93bnN0cmVhbV9ibG9iX3B0ciwKKwkJCQkJc2l6ZW9mKHN0cnVjdCBjcF9kb3duc3RyZWFtX2lu Zm8pLAorCQkJCQlpbmZvLAorCQkJCQkmY29ubmVjdG9yLT5iYXNlLAorCQkJCQljb25uZWN0b3It PmNwX2Rvd25zdHJlYW1fcHJvcGVydHkpOworCXJldHVybiByZXQ7Cit9CitFWFBPUlRfU1lNQk9M KGRybV9tb2RlX2Nvbm5lY3Rvcl91cGRhdGVfY3BfZG93bnN0cmVhbV9wcm9wZXJ0eSk7CisKKy8q KgogICogZHJtX21vZGVfY3JlYXRlX2FzcGVjdF9yYXRpb19wcm9wZXJ0eSAtIGNyZWF0ZSBhc3Bl Y3QgcmF0aW8gcHJvcGVydHkKICAqIEBkZXY6IERSTSBkZXZpY2UKICAqCmRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgK aW5kZXggNzk2ZTVkNWU5ZTVmLi40ZWE0MzNlNzc5ZDggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJt L2RybV9jb25uZWN0b3IuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKQEAgLTEw NjAsNiArMTA2MCwxMyBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciB7CiAJc3RydWN0IGRybV9wcm9w ZXJ0eSAqY3Bfc3JtX3Byb3BlcnR5OwogCiAJLyoqCisJICogQGNwX2Rvd25zdHJlYW1fcHJvcGVy dHk6IERSTSBCTE9CIHByb3BlcnR5IGZvciBjb250ZW50CisJICogcHJvdGVjdGlvbiBkb3duc3Ry ZWFtIGluZm9ybWF0aW9uLgorCSAqLworCXN0cnVjdCBkcm1fcHJvcGVydHkgKmNwX2Rvd25zdHJl YW1fcHJvcGVydHk7CisJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpjcF9kb3duc3RyZWFtX2Js b2JfcHRyOworCisJLyoqCiAJICogQHBhdGhfYmxvYl9wdHI6CiAJICoKIAkgKiBEUk0gYmxvYiBw cm9wZXJ0eSBkYXRhIGZvciB0aGUgRFAgTVNUIHBhdGggcHJvcGVydHkuIFRoaXMgc2hvdWxkIG9u bHkKQEAgLTEzMzcsNiArMTM0NCwxMSBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVu dF9wcm90ZWN0aW9uX3Byb3BlcnR5KAogaW50IGRybV9jb25uZWN0b3JfYXR0YWNoX2NwX2NvbnRl bnRfdHlwZV9wcm9wZXJ0eSgKIAkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7CiBp bnQgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY3Bfc3JtX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IpOworaW50IGRybV9jb25uZWN0b3JfYXR0YWNoX2NwX2Rvd25zdHJlYW1f cHJvcGVydHkoCisJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOworaW50IGRybV9t b2RlX2Nvbm5lY3Rvcl91cGRhdGVfY3BfZG93bnN0cmVhbV9wcm9wZXJ0eSgKKwkJc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKKwkJY29uc3Qgc3RydWN0IGNwX2Rvd25zdHJlYW1faW5m byAqaW5mbyk7CiBpbnQgZHJtX21vZGVfY3JlYXRlX2FzcGVjdF9yYXRpb19wcm9wZXJ0eShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KTsKIGludCBkcm1fbW9kZV9jcmVhdGVfY29sb3JzcGFjZV9wcm9w ZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIGludCBkcm1fbW9kZV9jcmVh dGVfY29udGVudF90eXBlX3Byb3BlcnR5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwpkaWZmIC0t Z2l0IGEvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oIGIvaW5jbHVkZS91YXBpL2RybS9kcm1f bW9kZS5oCmluZGV4IDg1MDRlMzExMGUxOS4uYWFlODRkMDI1NTE4IDEwMDY0NAotLS0gYS9pbmNs dWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5o CkBAIC0yMTQsNiArMjE0LDMzIEBAIGV4dGVybiAiQyIgewogI2RlZmluZSBEUk1fTU9ERV9DUF9D T05URU5UX1RZUEUwCQkwCiAjZGVmaW5lIERSTV9NT0RFX0NQX0NPTlRFTlRfVFlQRTEJCTEKIAor I2RlZmluZSBEUk1fTU9ERV9IRENQX0tTVl9MRU4JCQk1CisjZGVmaW5lIERSTV9NT0RFX0hEQ1Bf TUFYX0RFVklDRV9DTlQJCTEyNworCitzdHJ1Y3QgY3BfZG93bnN0cmVhbV9pbmZvIHsKKwkvKiBL U1Ygb2YgaW1tZWRpYXRlIEhEQ1AgU2luay4gSW4gTGl0dGxlLUVuZGlhbiBGb3JtYXQuICovCisJ Y2hhciBia3N2W0RSTV9NT0RFX0hEQ1BfS1NWX0xFTl07CisKKwkvKiBXaGV0aGVyIEltbWVkaWF0 ZSBIRENQIHNpbmsgaXMgYSByZXBlYXRlcj8gKi8KKwlib29sIGlzX3JlcGVhdGVyOworCisJLyog RGVwdGggcmVjZWl2ZWQgZnJvbSBpbW1lZGlhdGUgZG93bnN0cmVhbSByZXBlYXRlciAqLworCV9f dTggZGVwdGg7CisKKwkvKiBEZXZpY2UgY291bnQgcmVjZWl2ZWQgZnJvbSBpbW1lZGlhdGUgZG93 bnN0cmVhbSByZXBlYXRlciAqLworCV9fdTMyIGRldmljZV9jb3VudDsKKworCS8qCisJICogTWF4 IGJ1ZmZlciByZXF1aXJlZCB0byBob2xkIGtzdiBsaXN0IHJlY2VpdmVkIGZyb20gaW1tZWRpYXRl CisJICogcmVwZWF0ZXIuIEluIHRoaXMgYXJyYXkgZmlyc3QgZGV2aWNlX2NvdW50ICogRFJNX01P REVfSERDUF9LU1ZfTEVOCisJICogd2lsbCBob2xkIHRoZSB2YWxpZCBrc3YgYnl0ZXMuCisJICog SWYgYXV0aGVudGljYXRpb24gc3BlY2lmaWNhdGlvbiBpcworCSAqCUhEQ1AxLjQgLSBlYWNoIEtT VidzIEJ5dGVzIHdpbGwgYmUgaW4gTGl0dGxlLUVuZGlhbiBmb3JtYXQuCisJICoJSERDUDIuMiAt IGVhY2ggS1NWJ3MgQnl0ZXMgd2lsbCBiZSBpbiBCaWctRW5kaWFuIGZvcm1hdC4KKwkgKi8KKwlj aGFyIGtzdl9saXN0W0RSTV9NT0RFX0hEQ1BfS1NWX0xFTiAqIERSTV9NT0RFX0hEQ1BfTUFYX0RF VklDRV9DTlRdOworfTsKKwogc3RydWN0IGRybV9tb2RlX21vZGVpbmZvIHsKIAlfX3UzMiBjbG9j azsKIAlfX3UxNiBoZGlzcGxheTsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZng=