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=-8.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 C2191C433DF for ; Tue, 30 Jun 2020 14:21:09 +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 9D68420675 for ; Tue, 30 Jun 2020 14:21:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9D68420675 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=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 1B8EB6E243; Tue, 30 Jun 2020 14:21:09 +0000 (UTC) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id EED6A6E10F; Tue, 30 Jun 2020 14:21:07 +0000 (UTC) IronPort-SDR: O5na4w4B+m6BNBdtYt6aMzJ0EiCrmek9Mf3Z7a2k179dRNVp3886PH6RlIK1TqnKq94fgIeK2d rcCYVpHonMXw== X-IronPort-AV: E=McAfee;i="6000,8403,9666"; a="145314996" X-IronPort-AV: E=Sophos;i="5.75,297,1589266800"; d="scan'208";a="145314996" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jun 2020 07:21:07 -0700 IronPort-SDR: OsM7OtpYcv1YsHLz3c6A/zJTWz7VwnrTqG1g/CUx08groXcmLUZBfDaZM8flNfjaWVZW7kyRpl yw4wYs6LAghg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,297,1589266800"; d="scan'208";a="312378224" Received: from unknown (HELO intel.com) ([10.223.74.178]) by orsmga008.jf.intel.com with ESMTP; 30 Jun 2020 07:21:05 -0700 Date: Tue, 30 Jun 2020 19:39:30 +0530 From: Anshuman Gupta To: Sean Paul Message-ID: <20200630140929.GE15183@intel.com> References: <20200623155907.22961-1-sean@poorly.run> <20200623155907.22961-16-sean@poorly.run> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200623155907.22961-16-sean@poorly.run> User-Agent: Mutt/1.9.4 (2018-02-28) Subject: Re: [Intel-gfx] [PATCH v7 15/17] drm/mst: Add support for QUERY_STREAM_ENCRYPTION_STATUS MST sideband message 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: "daniel.vetter@ffwll.ch" , "intel-gfx@lists.freedesktop.org" , Sean Paul , "dri-devel@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" T24gMjAyMC0wNi0yMyBhdCAyMToyOTowNSArMDUzMCwgU2VhbiBQYXVsIHdyb3RlOgpIaSBTZWFu LApJIGFtIG5ldyB0byBEUCBNU1Qgc3R1ZmYsIEkgYW0gbG9va2luZyB0byBEUCBNU1Qgc3BlYyBE UCB2MS4yYS4KSSBoYXZlIGxvb2tlZCB0aGUgZW50aXJlIHNlcmllcywgaSB3aWxsIHRha2UgdXAg dGhpcyBvcHBvcnR1bml0eSB0byByZXZpZXcKdGhlIHNlcmllcyBmcm9tIEhEQ1Agb3ZlciBEUCBN U1QgUE9WLgpJIHRoaW5rIHRoZW9yZXRpY2FsbHkgdGhpcyBzZXJpZXMgc2hvdWxkIHdvcmsgb3Ig R2VuMTIgYXMgd2VsbCwgYXMgRFAgTVNUIHN0cmVhbXMKYXJlIGdldHRpbmcgZW5jcnlwdGVkIGJ5 IFFVRVJZX1NUUkVBTV9FTkNSWVBUSU9OX1NUQVRVUyByZXBseSB0cmFuYWN0aW9uIG1zZwooZ2Vu ZXJhdGluZyBTdHJlYW0gU3RhdGUgU2lnbmF0dXJlIEzigJkpLgpJIHdpbGwgdGVzdCB0aGlzIG9u IEdlbjEyIEgvVyB3aXRoIERQIE1TVCBzdXBwb3J0IGFuZCB3aWxsIHByb3ZpZGUgbXkgaW5wdXRz LgoKTWVhbndoaWxlIHdoaWxlIGdvaW5nIHRocm91Z2ggRFAgTVNUIHYxLjJhIHNwZWNzKFBhZ2Ug MjYyKSBjYW1lIHRvIGtub3cgYWJvdXQgCmEgRFAgaXJxIHZlY3RvciBMSU5LX1NFUlZJQ0VfSVJR X1ZFQ1RPUl9FU0kwICgwMjAwNWgpLApCaXQgMiA6IFNUUkVBTV9TVEFUVVNfQ0hBTkdFRC4KV2hl biB0aGlzIGJpdCBzZXQgdG8g4oCYMeKAmSBpbmRpY2F0ZXMgdGhlIHNvdXJjZSBtdXN0IHJlLWNo ZWNrIHRoZSBTdHJlYW0gU3RhdHVzCndpdGggdGhlIFFVRVJZX1NUUkVBTV9FTkNSWVBUSU9OX1NU QVRVUyBtZXNzYWdlLgpDdXJyZW50bHkgaSBmZWVsIHRoaXMgaXJxIHN1cHBvcnQgaXMgbWlzc2lu ZywgZG8gd2UgcmVxdWlyZSB0byBzdXBwb3J0CmFib3ZlIElSUSB2ZWN0b3IgZm9yIERQIE1TVCBz dHJlYW0gZW5jcnlwdGlvbi4KClRoYW5rcywKQW5zaHVtYW4gR3VwdGEuCgo+IEZyb206IFNlYW4g UGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgo+IAo+IFVzZWQgdG8gcXVlcnkgd2hldGhlciBh biBNU1Qgc3RyZWFtIGlzIGVuY3J5cHRlZCBvciBub3QuCj4gCj4gU2lnbmVkLW9mZi1ieTogU2Vh biBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+Cj4gCj4gTGluazogaHR0cHM6Ly9wYXRjaHdv cmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoL21zZ2lkLzIwMjAwMjE4MjIwMjQyLjEwNzI2NS0xNC1z ZWFuQHBvb3JseS5ydW4gI3Y0Cj4gTGluazogaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Au b3JnL3BhdGNoL21zZ2lkLzIwMjAwMzA1MjAxMjM2LjE1MjMwNy0xNS1zZWFuQHBvb3JseS5ydW4g I3Y1Cj4gTGluazogaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoL21zZ2lk LzIwMjAwNDI5MTk1NTAyLjM5OTE5LTE1LXNlYW5AcG9vcmx5LnJ1biAjdjYKPiAKPiBDaGFuZ2Vz IGluIHY0Ogo+IC1BZGRlZCB0byB0aGUgc2V0Cj4gQ2hhbmdlcyBpbiB2NToKPiAtTm9uZQo+IENo YW5nZXMgaW4gdjY6Cj4gLVVzZSBGSUVMRF9QUkVQIHRvIGdlbmVyYXRlIHJlcXVlc3QgYnVmZmVy IGJpdGZpZWxkcyAoTHl1ZGUpCj4gLUFkZCBtc3Qgc2VsZnRlc3QgYW5kIGR1bXAvZGVjb2RlX3Np ZGViYW5kX3JlcSBmb3IgUVNFUyAoTHl1ZGUpCj4gQ2hhbmdlcyBpbiB2NzoKPiAtTm9uZQo+IC0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jICAgICAgICAgfCAxNDIg KysrKysrKysrKysrKysrKysrCj4gIC4uLi9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX2RwX21zdF9o ZWxwZXIuYyAgICB8ICAxNyArKysKPiAgaW5jbHVkZS9kcm0vZHJtX2RwX2hlbHBlci5oICAgICAg ICAgICAgICAgICAgIHwgICAzICsKPiAgaW5jbHVkZS9kcm0vZHJtX2RwX21zdF9oZWxwZXIuaCAg ICAgICAgICAgICAgIHwgIDQ0ICsrKysrKwo+ICA0IGZpbGVzIGNoYW5nZWQsIDIwNiBpbnNlcnRp b25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9s b2d5LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jCj4gaW5kZXggYjJm NWE4NGI0Y2ZiLi5mYzY4NDc4ZWFlYjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9kcF9tc3RfdG9wb2xvZ3kuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3Rv cG9sb2d5LmMKPiBAQCAtMjAsMTEgKzIwLDEzIEBACj4gICAqIE9GIFRISVMgU09GVFdBUkUuCj4g ICAqLwo+ICAKPiArI2luY2x1ZGUgPGxpbnV4L2JpdGZpZWxkLmg+Cj4gICNpbmNsdWRlIDxsaW51 eC9kZWxheS5oPgo+ICAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KPiAgI2luY2x1ZGUgPGxpbnV4 L2kyYy5oPgo+ICAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgo+ICAjaW5jbHVkZSA8bGludXgva2Vy bmVsLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9yYW5kb20uaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3Nj aGVkLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgo+ICAjaW5jbHVkZSA8bGludXgv aW9wb2xsLmg+Cj4gQEAgLTQxOSw2ICs0MjEsMjIgQEAgZHJtX2RwX2VuY29kZV9zaWRlYmFuZF9y ZXEoY29uc3Qgc3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2dfcmVxX2JvZHkgKnJlcSwKPiAgCQlt ZW1jcHkoJmJ1ZltpZHhdLCByZXEtPnUuaTJjX3dyaXRlLmJ5dGVzLCByZXEtPnUuaTJjX3dyaXRl Lm51bV9ieXRlcyk7Cj4gIAkJaWR4ICs9IHJlcS0+dS5pMmNfd3JpdGUubnVtX2J5dGVzOwo+ICAJ CWJyZWFrOwo+ICsJY2FzZSBEUF9RVUVSWV9TVFJFQU1fRU5DX1NUQVRVUzogewo+ICsJCWNvbnN0 IHN0cnVjdCBkcm1fZHBfcXVlcnlfc3RyZWFtX2VuY19zdGF0dXMgKm1zZzsKPiArCj4gKwkJbXNn ID0gJnJlcS0+dS5lbmNfc3RhdHVzOwo+ICsJCWJ1ZltpZHhdID0gbXNnLT5zdHJlYW1faWQ7Cj4g KwkJaWR4Kys7Cj4gKwkJbWVtY3B5KCZidWZbaWR4XSwgbXNnLT5jbGllbnRfaWQsIHNpemVvZiht c2ctPmNsaWVudF9pZCkpOwo+ICsJCWlkeCArPSBzaXplb2YobXNnLT5jbGllbnRfaWQpOwo+ICsJ CWJ1ZltpZHhdID0gMDsKPiArCQlidWZbaWR4XSB8PSBGSUVMRF9QUkVQKEdFTk1BU0soMSwgMCks IG1zZy0+c3RyZWFtX2V2ZW50KTsKPiArCQlidWZbaWR4XSB8PSBtc2ctPnZhbGlkX3N0cmVhbV9l dmVudCA/IEJJVCgyKSA6IDA7Cj4gKwkJYnVmW2lkeF0gfD0gRklFTERfUFJFUChHRU5NQVNLKDQs IDMpLCBtc2ctPnN0cmVhbV9iZWhhdmlvcik7Cj4gKwkJYnVmW2lkeF0gfD0gbXNnLT52YWxpZF9z dHJlYW1fYmVoYXZpb3IgPyBCSVQoNSkgOiAwOwo+ICsJCWlkeCsrOwo+ICsJCX0KPiArCQlicmVh azsKPiAgCX0KPiAgCXJhdy0+Y3VyX2xlbiA9IGlkeDsKPiAgfQo+IEBAIC01NDcsNiArNTY1LDIw IEBAIGRybV9kcF9kZWNvZGVfc2lkZWJhbmRfcmVxKGNvbnN0IHN0cnVjdCBkcm1fZHBfc2lkZWJh bmRfbXNnX3R4ICpyYXcsCj4gIAkJCQlyZXR1cm4gLUVOT01FTTsKPiAgCQl9Cj4gIAkJYnJlYWs7 Cj4gKwljYXNlIERQX1FVRVJZX1NUUkVBTV9FTkNfU1RBVFVTOgo+ICsJCXJlcS0+dS5lbmNfc3Rh dHVzLnN0cmVhbV9pZCA9IGJ1ZltpZHgrK107Cj4gKwkJZm9yIChpID0gMDsgaSA8IHNpemVvZihy ZXEtPnUuZW5jX3N0YXR1cy5jbGllbnRfaWQpOyBpKyspCj4gKwkJCXJlcS0+dS5lbmNfc3RhdHVz LmNsaWVudF9pZFtpXSA9IGJ1ZltpZHgrK107Cj4gKwo+ICsJCXJlcS0+dS5lbmNfc3RhdHVzLnN0 cmVhbV9ldmVudCA9IEZJRUxEX0dFVChHRU5NQVNLKDEsIDApLAo+ICsJCQkJCQkJICAgYnVmW2lk eF0pOwo+ICsJCXJlcS0+dS5lbmNfc3RhdHVzLnZhbGlkX3N0cmVhbV9ldmVudCA9IEZJRUxEX0dF VChCSVQoMiksCj4gKwkJCQkJCQkgCSBidWZbaWR4XSk7Cj4gKwkJcmVxLT51LmVuY19zdGF0dXMu c3RyZWFtX2JlaGF2aW9yID0gRklFTERfR0VUKEdFTk1BU0soNCwgMyksCj4gKwkJCQkJCQkgICAg ICBidWZbaWR4XSk7Cj4gKwkJcmVxLT51LmVuY19zdGF0dXMudmFsaWRfc3RyZWFtX2JlaGF2aW9y ID0gRklFTERfR0VUKEJJVCg1KSwKPiArCQkJCQkJCQkgICAgYnVmW2lkeF0pOwo+ICsJCWJyZWFr Owo+ICAJfQo+ICAKPiAgCXJldHVybiAwOwo+IEBAIC02MjUsNiArNjU3LDE2IEBAIGRybV9kcF9k dW1wX3NpZGViYW5kX21zZ19yZXFfYm9keShjb25zdCBzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21z Z19yZXFfYm9keSAqcmVxCj4gIAkJICByZXEtPnUuaTJjX3dyaXRlLm51bV9ieXRlcywgcmVxLT51 LmkyY193cml0ZS5udW1fYnl0ZXMsCj4gIAkJICByZXEtPnUuaTJjX3dyaXRlLmJ5dGVzKTsKPiAg CQlicmVhazsKPiArCWNhc2UgRFBfUVVFUllfU1RSRUFNX0VOQ19TVEFUVVM6Cj4gKwkJUCgic3Ry ZWFtX2lkPSV1IGNsaWVudF9pZD0lKnBoIHN0cmVhbV9ldmVudD0leCAiCj4gKwkJICAidmFsaWRf ZXZlbnQ9JWQgc3RyZWFtX2JlaGF2aW9yPSV4IHZhbGlkX2JlaGF2aW9yPSVkIiwKPiArCQkgIHJl cS0+dS5lbmNfc3RhdHVzLnN0cmVhbV9pZCwKPiArCQkgIChpbnQpQVJSQVlfU0laRShyZXEtPnUu ZW5jX3N0YXR1cy5jbGllbnRfaWQpLAo+ICsJCSAgcmVxLT51LmVuY19zdGF0dXMuY2xpZW50X2lk LCByZXEtPnUuZW5jX3N0YXR1cy5zdHJlYW1fZXZlbnQsCj4gKwkJICByZXEtPnUuZW5jX3N0YXR1 cy52YWxpZF9zdHJlYW1fZXZlbnQsCj4gKwkJICByZXEtPnUuZW5jX3N0YXR1cy5zdHJlYW1fYmVo YXZpb3IsCj4gKwkJICByZXEtPnUuZW5jX3N0YXR1cy52YWxpZF9zdHJlYW1fYmVoYXZpb3IpOwo+ ICsJCWJyZWFrOwo+ICAJZGVmYXVsdDoKPiAgCQlQKCI/Pz9cbiIpOwo+ICAJCWJyZWFrOwo+IEBA IC05MjUsNiArOTY3LDM0IEBAIHN0YXRpYyBib29sIGRybV9kcF9zaWRlYmFuZF9wYXJzZV9wb3dl cl91cGRvd25fcGh5X2FjayhzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zCj4gIAlyZXR1cm4gdHJ1 ZTsKPiAgfQo+ICAKPiArc3RhdGljIGJvb2wKPiArZHJtX2RwX3NpZGViYW5kX3BhcnNlX3F1ZXJ5 X3N0cmVhbV9lbmNfc3RhdHVzKAo+ICsJCQkJc3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2dfcngg KnJhdywKPiArCQkJCXN0cnVjdCBkcm1fZHBfc2lkZWJhbmRfbXNnX3JlcGx5X2JvZHkgKnJlcG1z ZykKPiArewo+ICsJc3RydWN0IGRybV9kcF9xdWVyeV9zdHJlYW1fZW5jX3N0YXR1c19hY2tfcmVw bHkgKnJlcGx5Owo+ICsKPiArCXJlcGx5ID0gJnJlcG1zZy0+dS5lbmNfc3RhdHVzOwo+ICsKPiAr CXJlcGx5LT5zdHJlYW1faWQgPSByYXctPm1zZ1szXTsKPiArCj4gKwlyZXBseS0+cmVwbHlfc2ln bmVkID0gcmF3LT5tc2dbMl0gJiBCSVQoMCk7Cj4gKwo+ICsJcmVwbHktPmhkY3BfMXhfZGV2aWNl X3ByZXNlbnQgPSByYXctPm1zZ1syXSAmIEJJVCgzKTsKPiArCXJlcGx5LT5oZGNwXzJ4X2Rldmlj ZV9wcmVzZW50ID0gcmF3LT5tc2dbMl0gJiBCSVQoNCk7Cj4gKwo+ICsJcmVwbHktPnF1ZXJ5X2Nh cGFibGVfZGV2aWNlX3ByZXNlbnQgPSByYXctPm1zZ1syXSAmIEJJVCg1KTsKPiArCXJlcGx5LT5s ZWdhY3lfZGV2aWNlX3ByZXNlbnQgPSByYXctPm1zZ1syXSAmIEJJVCg2KTsKPiArCXJlcGx5LT51 bmF1dGhvcml6YWJsZV9kZXZpY2VfcHJlc2VudCA9IHJhdy0+bXNnWzJdICYgQklUKDcpOwo+ICsK PiArCXJlcGx5LT5hdXRoX2NvbXBsZXRlZCA9ICEhKHJhdy0+bXNnWzFdICYgQklUKDMpKTsKPiAr CXJlcGx5LT5lbmNyeXB0aW9uX2VuYWJsZWQgPSAhIShyYXctPm1zZ1sxXSAmIEJJVCg0KSk7Cj4g KwlyZXBseS0+cmVwZWF0ZXJfcHJlc2VudCA9ICEhKHJhdy0+bXNnWzFdICYgQklUKDUpKTsKPiAr CXJlcGx5LT5zdGF0ZSA9IChyYXctPm1zZ1sxXSAmIEdFTk1BU0soNywgNikpID4+IDY7Cj4gKwo+ ICsJcmV0dXJuIHRydWU7Cj4gK30KPiArCj4gIHN0YXRpYyBib29sIGRybV9kcF9zaWRlYmFuZF9w YXJzZV9yZXBseShzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19yeCAqcmF3LAo+ICAJCQkJCXN0 cnVjdCBkcm1fZHBfc2lkZWJhbmRfbXNnX3JlcGx5X2JvZHkgKm1zZykKPiAgewo+IEBAIC05NTks NiArMTAyOSw4IEBAIHN0YXRpYyBib29sIGRybV9kcF9zaWRlYmFuZF9wYXJzZV9yZXBseShzdHJ1 Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19yeCAqcmF3LAo+ICAJCXJldHVybiBkcm1fZHBfc2lkZWJh bmRfcGFyc2VfcG93ZXJfdXBkb3duX3BoeV9hY2socmF3LCBtc2cpOwo+ICAJY2FzZSBEUF9DTEVB Ul9QQVlMT0FEX0lEX1RBQkxFOgo+ICAJCXJldHVybiB0cnVlOyAvKiBzaW5jZSB0aGVyZSdzIG5v dGhpbmcgdG8gcGFyc2UgKi8KPiArCWNhc2UgRFBfUVVFUllfU1RSRUFNX0VOQ19TVEFUVVM6Cj4g KwkJcmV0dXJuIGRybV9kcF9zaWRlYmFuZF9wYXJzZV9xdWVyeV9zdHJlYW1fZW5jX3N0YXR1cyhy YXcsIG1zZyk7Cj4gIAlkZWZhdWx0Ogo+ICAJCURSTV9FUlJPUigiR290IHVua25vd24gcmVwbHkg MHglMDJ4ICglcylcbiIsIG1zZy0+cmVxX3R5cGUsCj4gIAkJCSAgZHJtX2RwX21zdF9yZXFfdHlw ZV9zdHIobXNnLT5yZXFfdHlwZSkpOwo+IEBAIC0xMTA5LDYgKzExODEsMjUgQEAgc3RhdGljIHZv aWQgYnVpbGRfcG93ZXJfdXBkb3duX3BoeShzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ190eCAq bXNnLAo+ICAJbXNnLT5wYXRoX21zZyA9IHRydWU7Cj4gIH0KPiAgCj4gK3N0YXRpYyBpbnQKPiAr YnVpbGRfcXVlcnlfc3RyZWFtX2VuY19zdGF0dXMoc3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2df dHggKm1zZywgdTggc3RyZWFtX2lkLAo+ICsJCQkgICAgICB1OCAqcV9pZCkKPiArewo+ICsJc3Ry dWN0IGRybV9kcF9zaWRlYmFuZF9tc2dfcmVxX2JvZHkgcmVxOwo+ICsKPiArCXJlcS5yZXFfdHlw ZSA9IERQX1FVRVJZX1NUUkVBTV9FTkNfU1RBVFVTOwo+ICsJcmVxLnUuZW5jX3N0YXR1cy5zdHJl YW1faWQgPSBzdHJlYW1faWQ7Cj4gKwltZW1jcHkocmVxLnUuZW5jX3N0YXR1cy5jbGllbnRfaWQs IHFfaWQsCj4gKwkgICAgICAgc2l6ZW9mKHJlcS51LmVuY19zdGF0dXMuY2xpZW50X2lkKSk7Cj4g KwlyZXEudS5lbmNfc3RhdHVzLnN0cmVhbV9ldmVudCA9IDA7Cj4gKwlyZXEudS5lbmNfc3RhdHVz LnZhbGlkX3N0cmVhbV9ldmVudCA9IGZhbHNlOwo+ICsJcmVxLnUuZW5jX3N0YXR1cy5zdHJlYW1f YmVoYXZpb3IgPSAwOwo+ICsJcmVxLnUuZW5jX3N0YXR1cy52YWxpZF9zdHJlYW1fYmVoYXZpb3Ig PSBmYWxzZTsKPiArCj4gKwlkcm1fZHBfZW5jb2RlX3NpZGViYW5kX3JlcSgmcmVxLCBtc2cpOwo+ ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQgZHJtX2RwX21zdF9hc3NpZ25fcGF5 bG9hZF9pZChzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwKPiAgCQkJCQlzdHJ1 Y3QgZHJtX2RwX3ZjcGkgKnZjcGkpCj4gIHsKPiBAQCAtMzEzNyw2ICszMjI4LDU3IEBAIGludCBk cm1fZHBfc2VuZF9wb3dlcl91cGRvd25fcGh5KHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21n ciAqbWdyLAo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX2RwX3NlbmRfcG93ZXJfdXBkb3duX3Bo eSk7Cj4gIAo+ICtpbnQgZHJtX2RwX3NlbmRfcXVlcnlfc3RyZWFtX2VuY19zdGF0dXMoc3RydWN0 IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCj4gKwkJc3RydWN0IGRybV9kcF9tc3RfcG9y dCAqcG9ydCwKPiArCQlzdHJ1Y3QgZHJtX2RwX3F1ZXJ5X3N0cmVhbV9lbmNfc3RhdHVzX2Fja19y ZXBseSAqc3RhdHVzKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ190eCAqdHht c2c7Cj4gKwl1OCBub25jZVs3XTsKPiArCWludCBsZW4sIHJldDsKPiArCj4gKwl0eG1zZyA9IGt6 YWxsb2Moc2l6ZW9mKCp0eG1zZyksIEdGUF9LRVJORUwpOwo+ICsJaWYgKCF0eG1zZykKPiArCQly ZXR1cm4gLUVOT01FTTsKPiArCj4gKwlwb3J0ID0gZHJtX2RwX21zdF90b3BvbG9neV9nZXRfcG9y dF92YWxpZGF0ZWQobWdyLCBwb3J0KTsKPiArCWlmICghcG9ydCkgewo+ICsJCXJldCA9IC1FSU5W QUw7Cj4gKwkJZ290byBvdXRfZ2V0X3BvcnQ7Cj4gKwl9Cj4gKwo+ICsJZ2V0X3JhbmRvbV9ieXRl cyhub25jZSwgc2l6ZW9mKG5vbmNlKSk7Cj4gKwo+ICsJLyoKPiArCSAqICJTb3VyY2UgZGV2aWNl IHRhcmdldHMgdGhlIFFVRVJZX1NUUkVBTV9FTkNSWVBUSU9OX1NUQVRVUyBtZXNzYWdlCj4gKwkg KiAgdHJhbnNhY3Rpb24gYXQgdGhlIE1TVCBCcmFuY2ggZGV2aWNlIGRpcmVjdGx5IGNvbm5lY3Rl ZCB0byB0aGUKPiArCSAqICBTb3VyY2UiCj4gKwkgKi8KPiArCXR4bXNnLT5kc3QgPSBtZ3ItPm1z dF9wcmltYXJ5Owo+ICsKPiArCWxlbiA9IGJ1aWxkX3F1ZXJ5X3N0cmVhbV9lbmNfc3RhdHVzKHR4 bXNnLCBwb3J0LT52Y3BpLnZjcGksIG5vbmNlKTsKPiArCj4gKwlkcm1fZHBfcXVldWVfZG93bl90 eChtZ3IsIHR4bXNnKTsKPiArCj4gKwlyZXQgPSBkcm1fZHBfbXN0X3dhaXRfdHhfcmVwbHkobWdy LT5tc3RfcHJpbWFyeSwgdHhtc2cpOwo+ICsJaWYgKHJldCA8IDApIHsKPiArCQlnb3RvIG91dDsK PiArCX0gZWxzZSBpZiAodHhtc2ctPnJlcGx5LnJlcGx5X3R5cGUgPT0gRFBfU0lERUJBTkRfUkVQ TFlfTkFLKSB7Cj4gKwkJRFJNX0RFQlVHX0tNUygicXVlcnkgZW5jcnlwdGlvbiBzdGF0dXMgbmFr IHJlY2VpdmVkXG4iKTsKPiArCQlyZXQgPSAtRU5YSU87Cj4gKwkJZ290byBvdXQ7Cj4gKwl9Cj4g Kwo+ICsJcmV0ID0gMDsKPiArCW1lbWNweShzdGF0dXMsICZ0eG1zZy0+cmVwbHkudS5lbmNfc3Rh dHVzLCBzaXplb2YoKnN0YXR1cykpOwo+ICsKPiArb3V0Ogo+ICsJZHJtX2RwX21zdF90b3BvbG9n eV9wdXRfcG9ydChwb3J0KTsKPiArb3V0X2dldF9wb3J0Ogo+ICsJa2ZyZWUodHhtc2cpOwo+ICsJ cmV0dXJuIHJldDsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGRybV9kcF9zZW5kX3F1ZXJ5X3N0cmVh bV9lbmNfc3RhdHVzKTsKPiArCj4gIHN0YXRpYyBpbnQgZHJtX2RwX2NyZWF0ZV9wYXlsb2FkX3N0 ZXAxKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLAo+ICAJCQkJICAgICAgIGlu dCBpZCwKPiAgCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2RwX3BheWxvYWQgKnBheWxvYWQpCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zZWxmdGVzdHMvdGVzdC1kcm1fZHBfbXN0X2hlbHBl ci5jIGIvZHJpdmVycy9ncHUvZHJtL3NlbGZ0ZXN0cy90ZXN0LWRybV9kcF9tc3RfaGVscGVyLmMK PiBpbmRleCBiZDk5MGQxNzg3NjUuLjFkNjk2ZWMwMDFjZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vc2VsZnRlc3RzL3Rlc3QtZHJtX2RwX21zdF9oZWxwZXIuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9zZWxmdGVzdHMvdGVzdC1kcm1fZHBfbXN0X2hlbHBlci5jCj4gQEAgLTUsNiAr NSw4IEBACj4gIAo+ICAjZGVmaW5lIFBSRUZJWF9TVFIgIltkcm1fZHBfbXN0X2hlbHBlcl0iCj4g IAo+ICsjaW5jbHVkZSA8bGludXgvcmFuZG9tLmg+Cj4gKwo+ICAjaW5jbHVkZSA8ZHJtL2RybV9k cF9tc3RfaGVscGVyLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX3ByaW50Lmg+Cj4gIAo+IEBAIC0y MzcsNiArMjM5LDIxIEBAIGludCBpZ3RfZHBfbXN0X3NpZGViYW5kX21zZ19yZXFfZGVjb2RlKHZv aWQgKnVudXNlZCkKPiAgCWluLnUuaTJjX3dyaXRlLmJ5dGVzID0gZGF0YTsKPiAgCURPX1RFU1Qo KTsKPiAgCj4gKwlpbi5yZXFfdHlwZSA9IERQX1FVRVJZX1NUUkVBTV9FTkNfU1RBVFVTOwo+ICsJ aW4udS5lbmNfc3RhdHVzLnN0cmVhbV9pZCA9IDE7Cj4gKwlET19URVNUKCk7Cj4gKwlnZXRfcmFu ZG9tX2J5dGVzKGluLnUuZW5jX3N0YXR1cy5jbGllbnRfaWQsCj4gKwkJCSBzaXplb2YoaW4udS5l bmNfc3RhdHVzLmNsaWVudF9pZCkpOwo+ICsJRE9fVEVTVCgpOwo+ICsJaW4udS5lbmNfc3RhdHVz LnN0cmVhbV9ldmVudCA9IDM7Cj4gKwlET19URVNUKCk7Cj4gKwlpbi51LmVuY19zdGF0dXMudmFs aWRfc3RyZWFtX2V2ZW50ID0gMDsKPiArCURPX1RFU1QoKTsKPiArCWluLnUuZW5jX3N0YXR1cy5z dHJlYW1fYmVoYXZpb3IgPSAzOwo+ICsJRE9fVEVTVCgpOwo+ICsJaW4udS5lbmNfc3RhdHVzLnZh bGlkX3N0cmVhbV9iZWhhdmlvciA9IDE7Cj4gKwlET19URVNUKCk7Cj4gKwo+ICAjdW5kZWYgRE9f VEVTVAo+ICAJcmV0dXJuIDA7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Rw X2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX2RwX2hlbHBlci5oCj4gaW5kZXggZTQ3ZGMyMmVi ZjUwLi5lMmQyZGY1ZTg2OWUgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2RwX2hlbHBl ci5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2RwX2hlbHBlci5oCj4gQEAgLTExMDgsNiArMTEw OCw5IEBACj4gICNkZWZpbmUgRFBfUE9XRVJfRE9XTl9QSFkJCTB4MjUKPiAgI2RlZmluZSBEUF9T SU5LX0VWRU5UX05PVElGWQkJMHgzMAo+ICAjZGVmaW5lIERQX1FVRVJZX1NUUkVBTV9FTkNfU1RB VFVTCTB4MzgKPiArI2RlZmluZSAgRFBfUVVFUllfU1RSRUFNX0VOQ19TVEFUVVNfU1RBVEVfTk9f RVhJU1QJMAo+ICsjZGVmaW5lICBEUF9RVUVSWV9TVFJFQU1fRU5DX1NUQVRVU19TVEFURV9JTkFD VElWRQkxCj4gKyNkZWZpbmUgIERQX1FVRVJZX1NUUkVBTV9FTkNfU1RBVFVTX1NUQVRFX0FDVElW RQkyCj4gIAo+ICAvKiBEUCAxLjIgTVNUIHNpZGViYW5kIHJlcGx5IHR5cGVzICovCj4gICNkZWZp bmUgRFBfU0lERUJBTkRfUkVQTFlfQUNLCQkweDAwCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJt L2RybV9kcF9tc3RfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fZHBfbXN0X2hlbHBlci5oCj4g aW5kZXggOGI5ZWI0ZGIzMzgxLi4zNzFlZWY4Nzk4YWQgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9k cm0vZHJtX2RwX21zdF9oZWxwZXIuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9kcF9tc3RfaGVs cGVyLmgKPiBAQCAtMzEzLDYgKzMxMywzNCBAQCBzdHJ1Y3QgZHJtX2RwX3JlbW90ZV9pMmNfd3Jp dGVfYWNrX3JlcGx5IHsKPiAgCXU4IHBvcnRfbnVtYmVyOwo+ICB9Owo+ICAKPiArc3RydWN0IGRy bV9kcF9xdWVyeV9zdHJlYW1fZW5jX3N0YXR1c19hY2tfcmVwbHkgewo+ICsJLyogQml0WzIzOjE2 XS0gU3RyZWFtIElkICovCj4gKwl1OCBzdHJlYW1faWQ7Cj4gKwo+ICsJLyogQml0WzE1XS0gU2ln bmVkICovCj4gKwlib29sIHJlcGx5X3NpZ25lZDsKPiArCj4gKwkvKiBCaXRbMTA6OF0tIFN0cmVh bSBPdXRwdXQgU2luayBUeXBlICovCj4gKwlib29sIHVuYXV0aG9yaXphYmxlX2RldmljZV9wcmVz ZW50Owo+ICsJYm9vbCBsZWdhY3lfZGV2aWNlX3ByZXNlbnQ7Cj4gKwlib29sIHF1ZXJ5X2NhcGFi bGVfZGV2aWNlX3ByZXNlbnQ7Cj4gKwo+ICsJLyogQml0WzEyOjExXS0gU3RyZWFtIE91dHB1dCBD UCBUeXBlICovCj4gKwlib29sIGhkY3BfMXhfZGV2aWNlX3ByZXNlbnQ7Cj4gKwlib29sIGhkY3Bf MnhfZGV2aWNlX3ByZXNlbnQ7Cj4gKwo+ICsJLyogQml0WzRdLSBTdHJlYW0gQXV0aGVudGljYXRp b24gKi8KPiArCWJvb2wgYXV0aF9jb21wbGV0ZWQ7Cj4gKwo+ICsJLyogQml0WzNdLSBTdHJlYW0g RW5jcnlwdGlvbiAqLwo+ICsJYm9vbCBlbmNyeXB0aW9uX2VuYWJsZWQ7Cj4gKwo+ICsJLyogQml0 WzJdLSBTdHJlYW0gUmVwZWF0ZXIgRnVuY3Rpb24gUHJlc2VudCAqLwo+ICsJYm9vbCByZXBlYXRl cl9wcmVzZW50Owo+ICsKPiArCS8qIEJpdFsxOjBdLSBTdHJlYW0gU3RhdGUgKi8KPiArCXU4IHN0 YXRlOwo+ICt9Owo+ICAKPiAgI2RlZmluZSBEUk1fRFBfTUFYX1NEUF9TVFJFQU1TIDE2Cj4gIHN0 cnVjdCBkcm1fZHBfYWxsb2NhdGVfcGF5bG9hZCB7Cj4gQEAgLTM3NCw2ICs0MDIsMTUgQEAgc3Ry dWN0IGRybV9kcF9yZW1vdGVfaTJjX3dyaXRlIHsKPiAgCXU4ICpieXRlczsKPiAgfTsKPiAgCj4g K3N0cnVjdCBkcm1fZHBfcXVlcnlfc3RyZWFtX2VuY19zdGF0dXMgewo+ICsJdTggc3RyZWFtX2lk Owo+ICsJdTggY2xpZW50X2lkWzddOwkvKiA1Ni1iaXQgbm9uY2UgKi8KPiArCXU4IHN0cmVhbV9l dmVudDsKPiArCWJvb2wgdmFsaWRfc3RyZWFtX2V2ZW50Owo+ICsJdTggc3RyZWFtX2JlaGF2aW9y Owo+ICsJdTggdmFsaWRfc3RyZWFtX2JlaGF2aW9yOwo+ICt9Owo+ICsKPiAgLyogdGhpcyBjb3Zl cnMgRU5VTV9SRVNPVVJDRVMsIFBPV0VSX0RPV05fUEhZLCBQT1dFUl9VUF9QSFkgKi8KPiAgc3Ry dWN0IGRybV9kcF9wb3J0X251bWJlcl9yZXEgewo+ICAJdTggcG9ydF9udW1iZXI7Cj4gQEAgLTQy Miw2ICs0NTksOCBAQCBzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19yZXFfYm9keSB7Cj4gIAo+ ICAJCXN0cnVjdCBkcm1fZHBfcmVtb3RlX2kyY19yZWFkIGkyY19yZWFkOwo+ICAJCXN0cnVjdCBk cm1fZHBfcmVtb3RlX2kyY193cml0ZSBpMmNfd3JpdGU7Cj4gKwo+ICsJCXN0cnVjdCBkcm1fZHBf cXVlcnlfc3RyZWFtX2VuY19zdGF0dXMgZW5jX3N0YXR1czsKPiAgCX0gdTsKPiAgfTsKPiAgCj4g QEAgLTQ0NCw2ICs0ODMsOCBAQCBzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19yZXBseV9ib2R5 IHsKPiAgCQlzdHJ1Y3QgZHJtX2RwX3JlbW90ZV9pMmNfcmVhZF9hY2tfcmVwbHkgcmVtb3RlX2ky Y19yZWFkX2FjazsKPiAgCQlzdHJ1Y3QgZHJtX2RwX3JlbW90ZV9pMmNfcmVhZF9uYWtfcmVwbHkg cmVtb3RlX2kyY19yZWFkX25hY2s7Cj4gIAkJc3RydWN0IGRybV9kcF9yZW1vdGVfaTJjX3dyaXRl X2Fja19yZXBseSByZW1vdGVfaTJjX3dyaXRlX2FjazsKPiArCj4gKwkJc3RydWN0IGRybV9kcF9x dWVyeV9zdHJlYW1fZW5jX3N0YXR1c19hY2tfcmVwbHkgZW5jX3N0YXR1czsKPiAgCX0gdTsKPiAg fTsKPiAgCj4gQEAgLTgwOCw2ICs4NDksOSBAQCBkcm1fZHBfYXRvbWljX3JlbGVhc2VfdmNwaV9z bG90cyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAkJCQkgc3RydWN0IGRybV9k cF9tc3RfcG9ydCAqcG9ydCk7Cj4gIGludCBkcm1fZHBfc2VuZF9wb3dlcl91cGRvd25fcGh5KHN0 cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLAo+ICAJCQkJIHN0cnVjdCBkcm1fZHBf bXN0X3BvcnQgKnBvcnQsIGJvb2wgcG93ZXJfdXApOwo+ICtpbnQgZHJtX2RwX3NlbmRfcXVlcnlf c3RyZWFtX2VuY19zdGF0dXMoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCj4g KwkJc3RydWN0IGRybV9kcF9tc3RfcG9ydCAqcG9ydCwKPiArCQlzdHJ1Y3QgZHJtX2RwX3F1ZXJ5 X3N0cmVhbV9lbmNfc3RhdHVzX2Fja19yZXBseSAqc3RhdHVzKTsKPiAgaW50IF9fbXVzdF9jaGVj ayBkcm1fZHBfbXN0X2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUp Owo+ICAKPiAgdm9pZCBkcm1fZHBfbXN0X2dldF9wb3J0X21hbGxvYyhzdHJ1Y3QgZHJtX2RwX21z dF9wb3J0ICpwb3J0KTsKPiAtLSAKPiBTZWFuIFBhdWwsIFNvZnR3YXJlIEVuZ2luZWVyLCBHb29n bGUgLyBDaHJvbWl1bSBPUwo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK