From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH v2 2/4] drm/i915/dsc: clean up rc parameter table access Date: Mon, 4 Nov 2019 16:27:43 -0800 Message-ID: <20191105002742.GF32264@intel.com> References: <20191104141439.26312-1-jani.nikula@intel.com> <20191104141439.26312-2-jani.nikula@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0B7436E8C0 for ; Tue, 5 Nov 2019 00:25:04 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191104141439.26312-2-jani.nikula@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBOb3YgMDQsIDIwMTkgYXQgMDQ6MTQ6MzdQTSArMDIwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gVXNlIGEgc2ltcGxlIHBvaW50ZXIgdG8gdGhlIHJlbGV2YW50IGVsZW1lbnQgaW5zdGVh ZCBvZiBkdXBsaWNhdGluZyB0aGUKPiBhcnJheSBzdWJzY3JpcHRpb24uIE5vIGZ1bmN0aW9uYWwg Y2hhbmdlcy4KPiAKPiBDYzogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNv bT4KPiBTaWduZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgoK VGhhbmsgeW91IGZvciB0aGUgY2xlYW51cCBhbmQgb3B0aW1pemF0aW9ucyBpbiB0aGlzIHBhdGNo LAoKUmV2aWV3ZWQtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+ CgpNYW5hc2kKCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdmRz Yy5jIHwgNTUgKysrKysrKysrKysrLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDMwIGlu c2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Zkc2MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfdmRzYy5jCj4gaW5kZXggNzYzZjFkNzIwOGU5Li5mMWRmNjU0MzY5YTcgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF92ZHNjLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Zkc2MuYwo+IEBAIC01Myw3 ICs1Myw3IEBAIHN0cnVjdCByY19wYXJhbWV0ZXJzIHsKPiAgICogU2VsZWN0ZWQgUmF0ZSBDb250 cm9sIFJlbGF0ZWQgUGFyYW1ldGVyIFJlY29tbWVuZGVkIFZhbHVlcwo+ICAgKiBmcm9tIERTQ192 MS4xMSBzcGVjICYgQyBNb2RlbCByZWxlYXNlOiBEU0NfbW9kZWxfMjAxNjEyMTIKPiAgICovCj4g LXN0YXRpYyBjb25zdCBzdHJ1Y3QgcmNfcGFyYW1ldGVycyByY19wYXJhbXNbXVtNQVhfQ09MVU1O X0lOREVYXSA9IHsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCByY19wYXJhbWV0ZXJzIHJjX3BhcmFt ZXRlcnNbXVtNQVhfQ09MVU1OX0lOREVYXSA9IHsKPiAgewo+ICAJLyogNkJQUC84QlBDICovCj4g IAl7IDc2OCwgMTUsIDYxNDQsIDMsIDEzLCAxMSwgMTEsIHsKPiBAQCAtMzE5LDE0ICszMTksMjkg QEAgc3RhdGljIGludCBnZXRfY29sdW1uX2luZGV4X2Zvcl9yY19wYXJhbXModTggYml0c19wZXJf Y29tcG9uZW50KQo+ICAJfQo+ICB9Cj4gIAo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJjX3BhcmFt ZXRlcnMgKmdldF9yY19wYXJhbXModTE2IGNvbXByZXNzZWRfYnBwLAo+ICsJCQkJCQkgdTggYml0 c19wZXJfY29tcG9uZW50KQo+ICt7Cj4gKwlpbnQgcm93X2luZGV4LCBjb2x1bW5faW5kZXg7Cj4g Kwo+ICsJcm93X2luZGV4ID0gZ2V0X3Jvd19pbmRleF9mb3JfcmNfcGFyYW1zKGNvbXByZXNzZWRf YnBwKTsKPiArCWlmIChyb3dfaW5kZXggPCAwKQo+ICsJCXJldHVybiBOVUxMOwo+ICsKPiArCWNv bHVtbl9pbmRleCA9IGdldF9jb2x1bW5faW5kZXhfZm9yX3JjX3BhcmFtcyhiaXRzX3Blcl9jb21w b25lbnQpOwo+ICsJaWYgKGNvbHVtbl9pbmRleCA8IDApCj4gKwkJcmV0dXJuIE5VTEw7Cj4gKwo+ ICsJcmV0dXJuICZyY19wYXJhbWV0ZXJzW3Jvd19pbmRleF1bY29sdW1uX2luZGV4XTsKPiArfQo+ ICsKPiAgaW50IGludGVsX2RwX2NvbXB1dGVfZHNjX3BhcmFtcyhzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwLAo+ICAJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ICB7 Cj4gIAlzdHJ1Y3QgZHJtX2RzY19jb25maWcgKnZkc2NfY2ZnID0gJnBpcGVfY29uZmlnLT5kc2Mu Y29uZmlnOwo+ICAJdTE2IGNvbXByZXNzZWRfYnBwID0gcGlwZV9jb25maWctPmRzYy5jb21wcmVz c2VkX2JwcDsKPiArCWNvbnN0IHN0cnVjdCByY19wYXJhbWV0ZXJzICpyY19wYXJhbXM7Cj4gIAl1 OCBpID0gMDsKPiAtCWludCByb3dfaW5kZXggPSAwOwo+IC0JaW50IGNvbHVtbl9pbmRleCA9IDA7 Cj4gIAl1OCBsaW5lX2J1Zl9kZXB0aCA9IDA7Cj4gIAo+ICAJdmRzY19jZmctPnBpY193aWR0aCA9 IHBpcGVfY29uZmlnLT5ody5hZGp1c3RlZF9tb2RlLmNydGNfaGRpc3BsYXk7Cj4gQEAgLTM5OSwz OSArNDE0LDI5IEBAIGludCBpbnRlbF9kcF9jb21wdXRlX2RzY19wYXJhbXMoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCwKPiAgCQl2ZHNjX2NmZy0+cmNfYnVmX3RocmVzaFsxM10gPSAweDdEOwo+ ICAJfQo+ICAKPiAtCXJvd19pbmRleCA9IGdldF9yb3dfaW5kZXhfZm9yX3JjX3BhcmFtcyhjb21w cmVzc2VkX2JwcCk7Cj4gLQljb2x1bW5faW5kZXggPQo+IC0JCWdldF9jb2x1bW5faW5kZXhfZm9y X3JjX3BhcmFtcyh2ZHNjX2NmZy0+Yml0c19wZXJfY29tcG9uZW50KTsKPiAtCj4gLQlpZiAocm93 X2luZGV4IDwgMCB8fCBjb2x1bW5faW5kZXggPCAwKQo+ICsJcmNfcGFyYW1zID0gZ2V0X3JjX3Bh cmFtcyhjb21wcmVzc2VkX2JwcCwgdmRzY19jZmctPmJpdHNfcGVyX2NvbXBvbmVudCk7Cj4gKwlp ZiAoIXJjX3BhcmFtcykKPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgCj4gLQl2ZHNjX2NmZy0+Zmly c3RfbGluZV9icGdfb2Zmc2V0ID0KPiAtCQlyY19wYXJhbXNbcm93X2luZGV4XVtjb2x1bW5faW5k ZXhdLmZpcnN0X2xpbmVfYnBnX29mZnNldDsKPiAtCXZkc2NfY2ZnLT5pbml0aWFsX3htaXRfZGVs YXkgPQo+IC0JCXJjX3BhcmFtc1tyb3dfaW5kZXhdW2NvbHVtbl9pbmRleF0uaW5pdGlhbF94bWl0 X2RlbGF5Owo+IC0JdmRzY19jZmctPmluaXRpYWxfb2Zmc2V0ID0KPiAtCQlyY19wYXJhbXNbcm93 X2luZGV4XVtjb2x1bW5faW5kZXhdLmluaXRpYWxfb2Zmc2V0Owo+IC0JdmRzY19jZmctPmZsYXRu ZXNzX21pbl9xcCA9Cj4gLQkJcmNfcGFyYW1zW3Jvd19pbmRleF1bY29sdW1uX2luZGV4XS5mbGF0 bmVzc19taW5fcXA7Cj4gLQl2ZHNjX2NmZy0+ZmxhdG5lc3NfbWF4X3FwID0KPiAtCQlyY19wYXJh bXNbcm93X2luZGV4XVtjb2x1bW5faW5kZXhdLmZsYXRuZXNzX21heF9xcDsKPiAtCXZkc2NfY2Zn LT5yY19xdWFudF9pbmNyX2xpbWl0MCA9Cj4gLQkJcmNfcGFyYW1zW3Jvd19pbmRleF1bY29sdW1u X2luZGV4XS5yY19xdWFudF9pbmNyX2xpbWl0MDsKPiAtCXZkc2NfY2ZnLT5yY19xdWFudF9pbmNy X2xpbWl0MSA9Cj4gLQkJcmNfcGFyYW1zW3Jvd19pbmRleF1bY29sdW1uX2luZGV4XS5yY19xdWFu dF9pbmNyX2xpbWl0MTsKPiArCXZkc2NfY2ZnLT5maXJzdF9saW5lX2JwZ19vZmZzZXQgPSByY19w YXJhbXMtPmZpcnN0X2xpbmVfYnBnX29mZnNldDsKPiArCXZkc2NfY2ZnLT5pbml0aWFsX3htaXRf ZGVsYXkgPSByY19wYXJhbXMtPmluaXRpYWxfeG1pdF9kZWxheTsKPiArCXZkc2NfY2ZnLT5pbml0 aWFsX29mZnNldCA9IHJjX3BhcmFtcy0+aW5pdGlhbF9vZmZzZXQ7Cj4gKwl2ZHNjX2NmZy0+Zmxh dG5lc3NfbWluX3FwID0gcmNfcGFyYW1zLT5mbGF0bmVzc19taW5fcXA7Cj4gKwl2ZHNjX2NmZy0+ ZmxhdG5lc3NfbWF4X3FwID0gcmNfcGFyYW1zLT5mbGF0bmVzc19tYXhfcXA7Cj4gKwl2ZHNjX2Nm Zy0+cmNfcXVhbnRfaW5jcl9saW1pdDAgPSByY19wYXJhbXMtPnJjX3F1YW50X2luY3JfbGltaXQw Owo+ICsJdmRzY19jZmctPnJjX3F1YW50X2luY3JfbGltaXQxID0gcmNfcGFyYW1zLT5yY19xdWFu dF9pbmNyX2xpbWl0MTsKPiAgCj4gIAlmb3IgKGkgPSAwOyBpIDwgRFNDX05VTV9CVUZfUkFOR0VT OyBpKyspIHsKPiAgCQl2ZHNjX2NmZy0+cmNfcmFuZ2VfcGFyYW1zW2ldLnJhbmdlX21pbl9xcCA9 Cj4gLQkJCXJjX3BhcmFtc1tyb3dfaW5kZXhdW2NvbHVtbl9pbmRleF0ucmNfcmFuZ2VfcGFyYW1z W2ldLnJhbmdlX21pbl9xcDsKPiArCQkJcmNfcGFyYW1zLT5yY19yYW5nZV9wYXJhbXNbaV0ucmFu Z2VfbWluX3FwOwo+ICAJCXZkc2NfY2ZnLT5yY19yYW5nZV9wYXJhbXNbaV0ucmFuZ2VfbWF4X3Fw ID0KPiAtCQkJcmNfcGFyYW1zW3Jvd19pbmRleF1bY29sdW1uX2luZGV4XS5yY19yYW5nZV9wYXJh bXNbaV0ucmFuZ2VfbWF4X3FwOwo+ICsJCQlyY19wYXJhbXMtPnJjX3JhbmdlX3BhcmFtc1tpXS5y YW5nZV9tYXhfcXA7Cj4gIAkJLyoKPiAgCQkgKiBSYW5nZSBCUEcgT2Zmc2V0IHVzZXMgMidzIGNv bXBsZW1lbnQgYW5kIGlzIG9ubHkgYSA2IGJpdHMuIFNvCj4gIAkJICogbWFzayBpdCB0byBnZXQg b25seSA2IGJpdHMuCj4gIAkJICovCj4gIAkJdmRzY19jZmctPnJjX3JhbmdlX3BhcmFtc1tpXS5y YW5nZV9icGdfb2Zmc2V0ID0KPiAtCQkJcmNfcGFyYW1zW3Jvd19pbmRleF1bY29sdW1uX2luZGV4 XS5yY19yYW5nZV9wYXJhbXNbaV0ucmFuZ2VfYnBnX29mZnNldCAmCj4gKwkJCXJjX3BhcmFtcy0+ cmNfcmFuZ2VfcGFyYW1zW2ldLnJhbmdlX2JwZ19vZmZzZXQgJgo+ICAJCQlEU0NfUkFOR0VfQlBH X09GRlNFVF9NQVNLOwo+ICAJfQo+ICAKPiAtLSAKPiAyLjIwLjEKPiAKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 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.2 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 24697CA9EC9 for ; Tue, 5 Nov 2019 00:25:07 +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 F411720659 for ; Tue, 5 Nov 2019 00:25:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F411720659 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 6B3756E8C0; Tue, 5 Nov 2019 00:25:06 +0000 (UTC) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0B7436E8C0 for ; Tue, 5 Nov 2019 00:25:04 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Nov 2019 16:25:01 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,268,1569308400"; d="scan'208";a="401802510" Received: from labuser-z97x-ud5h.jf.intel.com (HELO intel.com) ([10.54.75.49]) by fmsmga005.fm.intel.com with ESMTP; 04 Nov 2019 16:25:00 -0800 Date: Mon, 4 Nov 2019 16:27:43 -0800 From: Manasi Navare To: Jani Nikula Message-ID: <20191105002742.GF32264@intel.com> References: <20191104141439.26312-1-jani.nikula@intel.com> <20191104141439.26312-2-jani.nikula@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191104141439.26312-2-jani.nikula@intel.com> User-Agent: Mutt/1.5.24 (2015-08-30) Subject: Re: [Intel-gfx] [PATCH v2 2/4] drm/i915/dsc: clean up rc parameter table access X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 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" Message-ID: <20191105002743.j0NEZSns7UAWrE6L5ltC_ds-VgSVjw7hCyn44vk2wT4@z> T24gTW9uLCBOb3YgMDQsIDIwMTkgYXQgMDQ6MTQ6MzdQTSArMDIwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gVXNlIGEgc2ltcGxlIHBvaW50ZXIgdG8gdGhlIHJlbGV2YW50IGVsZW1lbnQgaW5zdGVh ZCBvZiBkdXBsaWNhdGluZyB0aGUKPiBhcnJheSBzdWJzY3JpcHRpb24uIE5vIGZ1bmN0aW9uYWwg Y2hhbmdlcy4KPiAKPiBDYzogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNv bT4KPiBTaWduZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgoK VGhhbmsgeW91IGZvciB0aGUgY2xlYW51cCBhbmQgb3B0aW1pemF0aW9ucyBpbiB0aGlzIHBhdGNo LAoKUmV2aWV3ZWQtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+ CgpNYW5hc2kKCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdmRz Yy5jIHwgNTUgKysrKysrKysrKysrLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDMwIGlu c2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Zkc2MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfdmRzYy5jCj4gaW5kZXggNzYzZjFkNzIwOGU5Li5mMWRmNjU0MzY5YTcgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF92ZHNjLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Zkc2MuYwo+IEBAIC01Myw3 ICs1Myw3IEBAIHN0cnVjdCByY19wYXJhbWV0ZXJzIHsKPiAgICogU2VsZWN0ZWQgUmF0ZSBDb250 cm9sIFJlbGF0ZWQgUGFyYW1ldGVyIFJlY29tbWVuZGVkIFZhbHVlcwo+ICAgKiBmcm9tIERTQ192 MS4xMSBzcGVjICYgQyBNb2RlbCByZWxlYXNlOiBEU0NfbW9kZWxfMjAxNjEyMTIKPiAgICovCj4g LXN0YXRpYyBjb25zdCBzdHJ1Y3QgcmNfcGFyYW1ldGVycyByY19wYXJhbXNbXVtNQVhfQ09MVU1O X0lOREVYXSA9IHsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCByY19wYXJhbWV0ZXJzIHJjX3BhcmFt ZXRlcnNbXVtNQVhfQ09MVU1OX0lOREVYXSA9IHsKPiAgewo+ICAJLyogNkJQUC84QlBDICovCj4g IAl7IDc2OCwgMTUsIDYxNDQsIDMsIDEzLCAxMSwgMTEsIHsKPiBAQCAtMzE5LDE0ICszMTksMjkg QEAgc3RhdGljIGludCBnZXRfY29sdW1uX2luZGV4X2Zvcl9yY19wYXJhbXModTggYml0c19wZXJf Y29tcG9uZW50KQo+ICAJfQo+ICB9Cj4gIAo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJjX3BhcmFt ZXRlcnMgKmdldF9yY19wYXJhbXModTE2IGNvbXByZXNzZWRfYnBwLAo+ICsJCQkJCQkgdTggYml0 c19wZXJfY29tcG9uZW50KQo+ICt7Cj4gKwlpbnQgcm93X2luZGV4LCBjb2x1bW5faW5kZXg7Cj4g Kwo+ICsJcm93X2luZGV4ID0gZ2V0X3Jvd19pbmRleF9mb3JfcmNfcGFyYW1zKGNvbXByZXNzZWRf YnBwKTsKPiArCWlmIChyb3dfaW5kZXggPCAwKQo+ICsJCXJldHVybiBOVUxMOwo+ICsKPiArCWNv bHVtbl9pbmRleCA9IGdldF9jb2x1bW5faW5kZXhfZm9yX3JjX3BhcmFtcyhiaXRzX3Blcl9jb21w b25lbnQpOwo+ICsJaWYgKGNvbHVtbl9pbmRleCA8IDApCj4gKwkJcmV0dXJuIE5VTEw7Cj4gKwo+ ICsJcmV0dXJuICZyY19wYXJhbWV0ZXJzW3Jvd19pbmRleF1bY29sdW1uX2luZGV4XTsKPiArfQo+ ICsKPiAgaW50IGludGVsX2RwX2NvbXB1dGVfZHNjX3BhcmFtcyhzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwLAo+ICAJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ICB7 Cj4gIAlzdHJ1Y3QgZHJtX2RzY19jb25maWcgKnZkc2NfY2ZnID0gJnBpcGVfY29uZmlnLT5kc2Mu Y29uZmlnOwo+ICAJdTE2IGNvbXByZXNzZWRfYnBwID0gcGlwZV9jb25maWctPmRzYy5jb21wcmVz c2VkX2JwcDsKPiArCWNvbnN0IHN0cnVjdCByY19wYXJhbWV0ZXJzICpyY19wYXJhbXM7Cj4gIAl1 OCBpID0gMDsKPiAtCWludCByb3dfaW5kZXggPSAwOwo+IC0JaW50IGNvbHVtbl9pbmRleCA9IDA7 Cj4gIAl1OCBsaW5lX2J1Zl9kZXB0aCA9IDA7Cj4gIAo+ICAJdmRzY19jZmctPnBpY193aWR0aCA9 IHBpcGVfY29uZmlnLT5ody5hZGp1c3RlZF9tb2RlLmNydGNfaGRpc3BsYXk7Cj4gQEAgLTM5OSwz OSArNDE0LDI5IEBAIGludCBpbnRlbF9kcF9jb21wdXRlX2RzY19wYXJhbXMoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCwKPiAgCQl2ZHNjX2NmZy0+cmNfYnVmX3RocmVzaFsxM10gPSAweDdEOwo+ ICAJfQo+ICAKPiAtCXJvd19pbmRleCA9IGdldF9yb3dfaW5kZXhfZm9yX3JjX3BhcmFtcyhjb21w cmVzc2VkX2JwcCk7Cj4gLQljb2x1bW5faW5kZXggPQo+IC0JCWdldF9jb2x1bW5faW5kZXhfZm9y X3JjX3BhcmFtcyh2ZHNjX2NmZy0+Yml0c19wZXJfY29tcG9uZW50KTsKPiAtCj4gLQlpZiAocm93 X2luZGV4IDwgMCB8fCBjb2x1bW5faW5kZXggPCAwKQo+ICsJcmNfcGFyYW1zID0gZ2V0X3JjX3Bh cmFtcyhjb21wcmVzc2VkX2JwcCwgdmRzY19jZmctPmJpdHNfcGVyX2NvbXBvbmVudCk7Cj4gKwlp ZiAoIXJjX3BhcmFtcykKPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgCj4gLQl2ZHNjX2NmZy0+Zmly c3RfbGluZV9icGdfb2Zmc2V0ID0KPiAtCQlyY19wYXJhbXNbcm93X2luZGV4XVtjb2x1bW5faW5k ZXhdLmZpcnN0X2xpbmVfYnBnX29mZnNldDsKPiAtCXZkc2NfY2ZnLT5pbml0aWFsX3htaXRfZGVs YXkgPQo+IC0JCXJjX3BhcmFtc1tyb3dfaW5kZXhdW2NvbHVtbl9pbmRleF0uaW5pdGlhbF94bWl0 X2RlbGF5Owo+IC0JdmRzY19jZmctPmluaXRpYWxfb2Zmc2V0ID0KPiAtCQlyY19wYXJhbXNbcm93 X2luZGV4XVtjb2x1bW5faW5kZXhdLmluaXRpYWxfb2Zmc2V0Owo+IC0JdmRzY19jZmctPmZsYXRu ZXNzX21pbl9xcCA9Cj4gLQkJcmNfcGFyYW1zW3Jvd19pbmRleF1bY29sdW1uX2luZGV4XS5mbGF0 bmVzc19taW5fcXA7Cj4gLQl2ZHNjX2NmZy0+ZmxhdG5lc3NfbWF4X3FwID0KPiAtCQlyY19wYXJh bXNbcm93X2luZGV4XVtjb2x1bW5faW5kZXhdLmZsYXRuZXNzX21heF9xcDsKPiAtCXZkc2NfY2Zn LT5yY19xdWFudF9pbmNyX2xpbWl0MCA9Cj4gLQkJcmNfcGFyYW1zW3Jvd19pbmRleF1bY29sdW1u X2luZGV4XS5yY19xdWFudF9pbmNyX2xpbWl0MDsKPiAtCXZkc2NfY2ZnLT5yY19xdWFudF9pbmNy X2xpbWl0MSA9Cj4gLQkJcmNfcGFyYW1zW3Jvd19pbmRleF1bY29sdW1uX2luZGV4XS5yY19xdWFu dF9pbmNyX2xpbWl0MTsKPiArCXZkc2NfY2ZnLT5maXJzdF9saW5lX2JwZ19vZmZzZXQgPSByY19w YXJhbXMtPmZpcnN0X2xpbmVfYnBnX29mZnNldDsKPiArCXZkc2NfY2ZnLT5pbml0aWFsX3htaXRf ZGVsYXkgPSByY19wYXJhbXMtPmluaXRpYWxfeG1pdF9kZWxheTsKPiArCXZkc2NfY2ZnLT5pbml0 aWFsX29mZnNldCA9IHJjX3BhcmFtcy0+aW5pdGlhbF9vZmZzZXQ7Cj4gKwl2ZHNjX2NmZy0+Zmxh dG5lc3NfbWluX3FwID0gcmNfcGFyYW1zLT5mbGF0bmVzc19taW5fcXA7Cj4gKwl2ZHNjX2NmZy0+ ZmxhdG5lc3NfbWF4X3FwID0gcmNfcGFyYW1zLT5mbGF0bmVzc19tYXhfcXA7Cj4gKwl2ZHNjX2Nm Zy0+cmNfcXVhbnRfaW5jcl9saW1pdDAgPSByY19wYXJhbXMtPnJjX3F1YW50X2luY3JfbGltaXQw Owo+ICsJdmRzY19jZmctPnJjX3F1YW50X2luY3JfbGltaXQxID0gcmNfcGFyYW1zLT5yY19xdWFu dF9pbmNyX2xpbWl0MTsKPiAgCj4gIAlmb3IgKGkgPSAwOyBpIDwgRFNDX05VTV9CVUZfUkFOR0VT OyBpKyspIHsKPiAgCQl2ZHNjX2NmZy0+cmNfcmFuZ2VfcGFyYW1zW2ldLnJhbmdlX21pbl9xcCA9 Cj4gLQkJCXJjX3BhcmFtc1tyb3dfaW5kZXhdW2NvbHVtbl9pbmRleF0ucmNfcmFuZ2VfcGFyYW1z W2ldLnJhbmdlX21pbl9xcDsKPiArCQkJcmNfcGFyYW1zLT5yY19yYW5nZV9wYXJhbXNbaV0ucmFu Z2VfbWluX3FwOwo+ICAJCXZkc2NfY2ZnLT5yY19yYW5nZV9wYXJhbXNbaV0ucmFuZ2VfbWF4X3Fw ID0KPiAtCQkJcmNfcGFyYW1zW3Jvd19pbmRleF1bY29sdW1uX2luZGV4XS5yY19yYW5nZV9wYXJh bXNbaV0ucmFuZ2VfbWF4X3FwOwo+ICsJCQlyY19wYXJhbXMtPnJjX3JhbmdlX3BhcmFtc1tpXS5y YW5nZV9tYXhfcXA7Cj4gIAkJLyoKPiAgCQkgKiBSYW5nZSBCUEcgT2Zmc2V0IHVzZXMgMidzIGNv bXBsZW1lbnQgYW5kIGlzIG9ubHkgYSA2IGJpdHMuIFNvCj4gIAkJICogbWFzayBpdCB0byBnZXQg b25seSA2IGJpdHMuCj4gIAkJICovCj4gIAkJdmRzY19jZmctPnJjX3JhbmdlX3BhcmFtc1tpXS5y YW5nZV9icGdfb2Zmc2V0ID0KPiAtCQkJcmNfcGFyYW1zW3Jvd19pbmRleF1bY29sdW1uX2luZGV4 XS5yY19yYW5nZV9wYXJhbXNbaV0ucmFuZ2VfYnBnX29mZnNldCAmCj4gKwkJCXJjX3BhcmFtcy0+ cmNfcmFuZ2VfcGFyYW1zW2ldLnJhbmdlX2JwZ19vZmZzZXQgJgo+ICAJCQlEU0NfUkFOR0VfQlBH X09GRlNFVF9NQVNLOwo+ICAJfQo+ICAKPiAtLSAKPiAyLjIwLjEKPiAKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4