From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 04/20] drm/i915: Add low level set of routines for programming PM IER/IIR/IMR register set Date: Fri, 12 Aug 2016 12:15:10 +0100 Message-ID: <57ADAFBE.10003@linux.intel.com> References: <1470983123-22127-1-git-send-email-akash.goel@intel.com> <1470983123-22127-5-git-send-email-akash.goel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id BFE816EB1D for ; Fri, 12 Aug 2016 11:15:23 +0000 (UTC) In-Reply-To: <1470983123-22127-5-git-send-email-akash.goel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: akash.goel@intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDEyLzA4LzE2IDA3OjI1LCBha2FzaC5nb2VsQGludGVsLmNvbSB3cm90ZToKPiBGcm9tOiBB a2FzaCBHb2VsIDxha2FzaC5nb2VsQGludGVsLmNvbT4KPgo+IFNvIGZhciBQTSBJRVIvSUlSL0lN UiByZWdpc3RlcnMgd2VyZSBiZWluZyB1c2VkIG9ubHkgZm9yIFR1cmJvIHJlbGF0ZWQKPiBpbnRl cnJ1cHRzLiBCdXQgaW50ZXJydXB0cyBjb21pbmcgZnJvbSBHdUMgYWxzbyB1c2UgdGhlIHNhbWUg c2V0Lgo+IEFzIGEgcHJlY3Vyc29yIHRvIHN1cHBvcnRpbmcgR3VDIGludGVycnVwdHMsIGFkZGVk IG5ldyBsb3cgbGV2ZWwgcm91dGluZXMKPiBzbyBhcyB0byBhbGxvdyBzaGFyaW5nIHRoZSBwcm9n cmFtbWluZyBvZiBQTSBJRVIvSUlSL0lNUiByZWdpc3RlcnMgYmV0d2Vlbgo+IFR1cmJvICYgR3VD Lgo+IEFsc28gc2ltaWxhciB0byBQTSBJTVIsIG1haW50YWluaW5nIGEgYml0bWFzayBmb3IgUE0g SUVSIHJlZ2lzdGVyLCB0byBhbGxvdwo+IGVhc3kgc2hhcmluZyBvZiBpdCBiZXR3ZWVuIFR1cmJv ICYgR3VDIHdpdGhvdXQgaW52b2x2aW5nIGEgcm13IG9wZXJhdGlvbi4KPgo+IHYyOgo+IC0gRm9y IGFwcHJvcHJpYXRlbmVzcyAmIGF2b2lkIGFueSBhbWJpZ3VpdHksIHJlbmFtZSBvbGQgZnVuY3Rp b25zCj4gICAgZW5hYmxlL2Rpc2FibGUgcG1faXJxIHRvIG1hc2svdW5tYXNrIHBtX2lycSBhbmQg cmVuYW1lIG5ldyBmdW5jdGlvbnMKPiAgICBlbmFibGUvZGlzYWJsZSBwbV9pbnRlcnJ1cHRzIHRv IGVuYWJsZS9kaXNhYmxlIHBtX2lycS4gKFR2cnRrbykKPiAtIFVzZSB1MzIgaW4gcGxhY2Ugb2Yg dWludDMyX3QuIChUdnJ0a28pCj4KPiB2MzoKPiAtIFJlbmFtZSB0aGUgZmllbGRzIHBtX2lycV9t YXNrICYgcG1faWVyX21hc2sgYW5kIGRvIHNvbWUgY2xlYW51cC4gKENocmlzKQo+IC0gUmViYXNl Lgo+Cj4gdjQ6IEZpeCB0aGUgaW5hZHZlcnRlbnQgZGlzYWJsaW5nIG9mIFVzZXIgaW50ZXJydXB0 IGZvciBWRUNTIHJpbmcgY2F1c2luZwo+ICAgICAgZmFpbHVyZSBmb3IgY2VydGFpbiBJR1RzLgo+ Cj4gU3VnZ2VzdGVkLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K PiBTaWduZWQtb2ZmLWJ5OiBBa2FzaCBHb2VsIDxha2FzaC5nb2VsQGludGVsLmNvbT4KPiAtLS0K PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICAzICstCj4gICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgICAgfCA3NSArKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o ICAgICAgICB8ICAzICsrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmMgfCAgNCArLQo+ICAgNCBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCAyOCBkZWxl dGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDc5NzFjNzYuLmE2MDhh NWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMTc3Niw3ICsxNzc2LDggQEAg c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewo+ICAgCQl1MzIgZGVfaXJxX21hc2tbSTkxNV9NQVhf UElQRVNdOwo+ICAgCX07Cj4gICAJdTMyIGd0X2lycV9tYXNrOwo+IC0JdTMyIHBtX2lycV9tYXNr Owo+ICsJdTMyIHBtX2ltcjsKPiArCXUzMiBwbV9pZXI7Cj4gICAJdTMyIHBtX3Jwc19ldmVudHM7 Cj4gICAJdTMyIHBpcGVzdGF0X2lycV9tYXNrW0k5MTVfTUFYX1BJUEVTXTsKPgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9pcnEuYwo+IGluZGV4IGViYjgzZDUuLjVmOTMzMDkgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfaXJxLmMKPiBAQCAtMzAzLDE4ICszMDMsMTggQEAgc3RhdGljIHZvaWQgc25iX3VwZGF0 ZV9wbV9pcnEoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+Cj4gICAJYXNzZXJ0 X3NwaW5fbG9ja2VkKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+Cj4gLQluZXdfdmFsID0gZGV2X3By aXYtPnBtX2lycV9tYXNrOwo+ICsJbmV3X3ZhbCA9IGRldl9wcml2LT5wbV9pbXI7Cj4gICAJbmV3 X3ZhbCAmPSB+aW50ZXJydXB0X21hc2s7Cj4gICAJbmV3X3ZhbCB8PSAofmVuYWJsZWRfaXJxX21h c2sgJiBpbnRlcnJ1cHRfbWFzayk7Cj4KPiAtCWlmIChuZXdfdmFsICE9IGRldl9wcml2LT5wbV9p cnFfbWFzaykgewo+IC0JCWRldl9wcml2LT5wbV9pcnFfbWFzayA9IG5ld192YWw7Cj4gLQkJSTkx NV9XUklURShnZW42X3BtX2ltcihkZXZfcHJpdiksIGRldl9wcml2LT5wbV9pcnFfbWFzayk7Cj4g KwlpZiAobmV3X3ZhbCAhPSBkZXZfcHJpdi0+cG1faW1yKSB7Cj4gKwkJZGV2X3ByaXYtPnBtX2lt ciA9IG5ld192YWw7Cj4gKwkJSTkxNV9XUklURShnZW42X3BtX2ltcihkZXZfcHJpdiksIGRldl9w cml2LT5wbV9pbXIpOwo+ICAgCQlQT1NUSU5HX1JFQUQoZ2VuNl9wbV9pbXIoZGV2X3ByaXYpKTsK PiAgIAl9Cj4gICB9Cj4KPiAtdm9pZCBnZW42X2VuYWJsZV9wbV9pcnEoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCB1aW50MzJfdCBtYXNrKQo+ICt2b2lkIGdlbjZfdW5tYXNrX3Bt X2lycShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBtYXNrKQo+ICAgewo+ ICAgCWlmIChXQVJOX09OKCFpbnRlbF9pcnFzX2VuYWJsZWQoZGV2X3ByaXYpKSkKPiAgIAkJcmV0 dXJuOwo+IEBAIC0zMjIsMjggKzMyMiw1NCBAQCB2b2lkIGdlbjZfZW5hYmxlX3BtX2lycShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHVpbnQzMl90IG1hc2spCj4gICAJc25iX3Vw ZGF0ZV9wbV9pcnEoZGV2X3ByaXYsIG1hc2ssIG1hc2spOwo+ICAgfQo+Cj4gLXN0YXRpYyB2b2lk IF9fZ2VuNl9kaXNhYmxlX3BtX2lycShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs Cj4gLQkJCQkgIHVpbnQzMl90IG1hc2spCj4gK3N0YXRpYyB2b2lkIF9fZ2VuNl9tYXNrX3BtX2ly cShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBtYXNrKQo+ICAgewo+ICAg CXNuYl91cGRhdGVfcG1faXJxKGRldl9wcml2LCBtYXNrLCAwKTsKPiAgIH0KPgo+IC12b2lkIGdl bjZfZGlzYWJsZV9wbV9pcnEoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1aW50 MzJfdCBtYXNrKQo+ICt2b2lkIGdlbjZfbWFza19wbV9pcnEoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCB1MzIgbWFzaykKPiAgIHsKPiAgIAlpZiAoV0FSTl9PTighaW50ZWxfaXJx c19lbmFibGVkKGRldl9wcml2KSkpCj4gICAJCXJldHVybjsKPgo+IC0JX19nZW42X2Rpc2FibGVf cG1faXJxKGRldl9wcml2LCBtYXNrKTsKPiArCV9fZ2VuNl9tYXNrX3BtX2lycShkZXZfcHJpdiwg bWFzayk7Cj4gICB9Cj4KPiAtdm9pZCBnZW42X3Jlc2V0X3Jwc19pbnRlcnJ1cHRzKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiArdm9pZCBnZW42X3Jlc2V0X3BtX2lpcihzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiByZXNldF9tYXNrKQo+ICAgewo+ICAg CWk5MTVfcmVnX3QgcmVnID0gZ2VuNl9wbV9paXIoZGV2X3ByaXYpOwo+Cj4gLQlzcGluX2xvY2tf aXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+IC0JSTkxNV9XUklURShyZWcsIGRldl9wcml2LT5w bV9ycHNfZXZlbnRzKTsKPiAtCUk5MTVfV1JJVEUocmVnLCBkZXZfcHJpdi0+cG1fcnBzX2V2ZW50 cyk7Cj4gKwlhc3NlcnRfc3Bpbl9sb2NrZWQoJmRldl9wcml2LT5pcnFfbG9jayk7Cj4gKwo+ICsJ STkxNV9XUklURShyZWcsIHJlc2V0X21hc2spOwo+ICsJSTkxNV9XUklURShyZWcsIHJlc2V0X21h c2spOwo+ICAgCVBPU1RJTkdfUkVBRChyZWcpOwo+ICt9Cj4gKwo+ICt2b2lkIGdlbjZfZW5hYmxl X3BtX2lycShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBlbmFibGVfbWFz aykKPiArewo+ICsJYXNzZXJ0X3NwaW5fbG9ja2VkKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+ICsK PiArCWRldl9wcml2LT5wbV9pZXIgfD0gZW5hYmxlX21hc2s7Cj4gKwlJOTE1X1dSSVRFKGdlbjZf cG1faWVyKGRldl9wcml2KSwgZGV2X3ByaXYtPnBtX2llcik7Cj4gKwlnZW42X3VubWFza19wbV9p cnEoZGV2X3ByaXYsIGVuYWJsZV9tYXNrKTsKPiArCS8qIHVubWFza19wbV9pcnEgcHJvdmlkZXMg YW4gaW1wbGljaXQgYmFycmllciAoUE9TVElOR19SRUFEKSAqLwo+ICt9Cj4gKwo+ICt2b2lkIGdl bjZfZGlzYWJsZV9wbV9pcnEoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIg ZGlzYWJsZV9tYXNrKQo+ICt7Cj4gKwlhc3NlcnRfc3Bpbl9sb2NrZWQoJmRldl9wcml2LT5pcnFf bG9jayk7Cj4gKwo+ICsJZGV2X3ByaXYtPnBtX2llciAmPSB+ZGlzYWJsZV9tYXNrOwo+ICsJX19n ZW42X21hc2tfcG1faXJxKGRldl9wcml2LCBkaXNhYmxlX21hc2spOwo+ICsJSTkxNV9XUklURShn ZW42X3BtX2llcihkZXZfcHJpdiksIGRldl9wcml2LT5wbV9pZXIpOwo+ICsJLyogdGhvdWdoIGEg YmFycmllciBpcyBtaXNzaW5nIGhlcmUsIGJ1dCBkb24ndCByZWFsbHkgbmVlZCBhIG9uZSAqLwo+ ICt9Cj4gKwo+ICt2b2lkIGdlbjZfcmVzZXRfcnBzX2ludGVycnVwdHMoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQo+ICt7Cj4gKwlzcGluX2xvY2tfaXJxKCZkZXZfcHJpdi0+aXJx X2xvY2spOwo+ICsJZ2VuNl9yZXNldF9wbV9paXIoZGV2X3ByaXYsIGRldl9wcml2LT5wbV9ycHNf ZXZlbnRzKTsKPiAgIAlkZXZfcHJpdi0+cnBzLnBtX2lpciA9IDA7Cj4gICAJc3Bpbl91bmxvY2tf aXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+ICAgfQo+IEBAIC0zNTQsOCArMzgwLDYgQEAgdm9p ZCBnZW42X2VuYWJsZV9ycHNfaW50ZXJydXB0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCj4gICAJV0FSTl9PTl9PTkNFKGRldl9wcml2LT5ycHMucG1faWlyKTsKPiAgIAlXQVJO X09OX09OQ0UoSTkxNV9SRUFEKGdlbjZfcG1faWlyKGRldl9wcml2KSkgJiBkZXZfcHJpdi0+cG1f cnBzX2V2ZW50cyk7Cj4gICAJZGV2X3ByaXYtPnJwcy5pbnRlcnJ1cHRzX2VuYWJsZWQgPSB0cnVl Owo+IC0JSTkxNV9XUklURShnZW42X3BtX2llcihkZXZfcHJpdiksIEk5MTVfUkVBRChnZW42X3Bt X2llcihkZXZfcHJpdikpIHwKPiAtCQkJCWRldl9wcml2LT5wbV9ycHNfZXZlbnRzKTsKPiAgIAln ZW42X2VuYWJsZV9wbV9pcnEoZGV2X3ByaXYsIGRldl9wcml2LT5wbV9ycHNfZXZlbnRzKTsKPgo+ ICAgCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiBAQCAtMzczLDkgKzM5 Nyw3IEBAIHZvaWQgZ2VuNl9kaXNhYmxlX3Jwc19pbnRlcnJ1cHRzKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKPgo+ICAgCUk5MTVfV1JJVEUoR0VONl9QTUlOVFJNU0ssIGdlbjZf c2FuaXRpemVfcnBzX3BtX21hc2soZGV2X3ByaXYsIH4wKSk7Cj4KPiAtCV9fZ2VuNl9kaXNhYmxl X3BtX2lycShkZXZfcHJpdiwgZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMpOwo+IC0JSTkxNV9XUklU RShnZW42X3BtX2llcihkZXZfcHJpdiksIEk5MTVfUkVBRChnZW42X3BtX2llcihkZXZfcHJpdikp ICYKPiAtCQkJCX5kZXZfcHJpdi0+cG1fcnBzX2V2ZW50cyk7Cj4gKwlnZW42X2Rpc2FibGVfcG1f aXJxKGRldl9wcml2LCBkZXZfcHJpdi0+cG1fcnBzX2V2ZW50cyk7Cj4KPiAgIAlzcGluX3VubG9j a19pcnEoJmRldl9wcml2LT5pcnFfbG9jayk7Cj4gICAJc3luY2hyb25pemVfaXJxKGRldl9wcml2 LT5kcm0uaXJxKTsKPiBAQCAtMTA3OCw3ICsxMTAwLDcgQEAgc3RhdGljIHZvaWQgZ2VuNl9wbV9y cHNfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gICAJcG1faWlyID0gZGV2X3ByaXYt PnJwcy5wbV9paXI7Cj4gICAJZGV2X3ByaXYtPnJwcy5wbV9paXIgPSAwOwo+ICAgCS8qIE1ha2Ug c3VyZSBub3QgdG8gY29ycnVwdCBQTUlNUiBzdGF0ZSB1c2VkIGJ5IHJpbmdidWZmZXIgb24gR0VO NiAqLwo+IC0JZ2VuNl9lbmFibGVfcG1faXJxKGRldl9wcml2LCBkZXZfcHJpdi0+cG1fcnBzX2V2 ZW50cyk7Cj4gKwlnZW42X3VubWFza19wbV9pcnEoZGV2X3ByaXYsIGRldl9wcml2LT5wbV9ycHNf ZXZlbnRzKTsKPiAgIAljbGllbnRfYm9vc3QgPSBkZXZfcHJpdi0+cnBzLmNsaWVudF9ib29zdDsK PiAgIAlkZXZfcHJpdi0+cnBzLmNsaWVudF9ib29zdCA9IGZhbHNlOwo+ICAgCXNwaW5fdW5sb2Nr X2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiBAQCAtMTU3OSw3ICsxNjAxLDcgQEAgc3RhdGlj IHZvaWQgZ2VuNl9ycHNfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCB1MzIgcG1faWlyKQo+ICAgewo+ICAgCWlmIChwbV9paXIgJiBkZXZfcHJpdi0+cG1fcnBz X2V2ZW50cykgewo+ICAgCQlzcGluX2xvY2soJmRldl9wcml2LT5pcnFfbG9jayk7Cj4gLQkJZ2Vu Nl9kaXNhYmxlX3BtX2lycShkZXZfcHJpdiwgcG1faWlyICYgZGV2X3ByaXYtPnBtX3Jwc19ldmVu dHMpOwo+ICsJCWdlbjZfbWFza19wbV9pcnEoZGV2X3ByaXYsIHBtX2lpciAmIGRldl9wcml2LT5w bV9ycHNfZXZlbnRzKTsKPiAgIAkJaWYgKGRldl9wcml2LT5ycHMuaW50ZXJydXB0c19lbmFibGVk KSB7Cj4gICAJCQlkZXZfcHJpdi0+cnBzLnBtX2lpciB8PSBwbV9paXIgJiBkZXZfcHJpdi0+cG1f cnBzX2V2ZW50czsKPiAgIAkJCXNjaGVkdWxlX3dvcmsoJmRldl9wcml2LT5ycHMud29yayk7Cj4g QEAgLTM1NjgsMTEgKzM1OTAsMTMgQEAgc3RhdGljIHZvaWQgZ2VuNV9ndF9pcnFfcG9zdGluc3Rh bGwoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAkJICogUlBTIGludGVycnVwdHMgd2lsbCBn ZXQgZW5hYmxlZC9kaXNhYmxlZCBvbiBkZW1hbmQgd2hlbiBSUFMKPiAgIAkJICogaXRzZWxmIGlz IGVuYWJsZWQvZGlzYWJsZWQuCj4gICAJCSAqLwo+IC0JCWlmIChIQVNfVkVCT1goZGV2KSkKPiAr CQlpZiAoSEFTX1ZFQk9YKGRldikpIHsKCmRldl9wcml2IHNob3VsZCBiZSB1c2VkIGZvciBhbGwg dGhlc2UgbWFjcm9zIGluIG5ldyBjb2RlLgoKPiAgIAkJCXBtX2lycXMgfD0gUE1fVkVCT1hfVVNF Ul9JTlRFUlJVUFQ7Cj4gKwkJCWRldl9wcml2LT5wbV9pZXIgfD0gUE1fVkVCT1hfVVNFUl9JTlRF UlJVUFQ7Cj4gKwkJfQo+Cj4gLQkJZGV2X3ByaXYtPnBtX2lycV9tYXNrID0gMHhmZmZmZmZmZjsK PiAtCQlHRU41X0lSUV9JTklUKEdFTjZfUE0sIGRldl9wcml2LT5wbV9pcnFfbWFzaywgcG1faXJx cyk7Cj4gKwkJZGV2X3ByaXYtPnBtX2ltciA9IDB4ZmZmZmZmZmY7Cj4gKwkJR0VONV9JUlFfSU5J VChHRU42X1BNLCBkZXZfcHJpdi0+cG1faW1yLCBwbV9pcnFzKTsKPiAgIAl9Cj4gICB9Cj4KPiBA QCAtMzY5MiwxNCArMzcxNiwxNSBAQCBzdGF0aWMgdm9pZCBnZW44X2d0X2lycV9wb3N0aW5zdGFs bChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gICAJaWYgKEhBU19MM19EUEYo ZGV2X3ByaXYpKQo+ICAgCQlndF9pbnRlcnJ1cHRzWzBdIHw9IEdUX1JFTkRFUl9MM19QQVJJVFlf RVJST1JfSU5URVJSVVBUOwo+Cj4gLQlkZXZfcHJpdi0+cG1faXJxX21hc2sgPSAweGZmZmZmZmZm Owo+ICsJZGV2X3ByaXYtPnBtX2llciA9IDB4MDsKPiArCWRldl9wcml2LT5wbV9pbXIgPSB+ZGV2 X3ByaXYtPnBtX2llcjsKPiAgIAlHRU44X0lSUV9JTklUX05EWChHVCwgMCwgfmd0X2ludGVycnVw dHNbMF0sIGd0X2ludGVycnVwdHNbMF0pOwo+ICAgCUdFTjhfSVJRX0lOSVRfTkRYKEdULCAxLCB+ Z3RfaW50ZXJydXB0c1sxXSwgZ3RfaW50ZXJydXB0c1sxXSk7Cj4gICAJLyoKPiAgIAkgKiBSUFMg aW50ZXJydXB0cyB3aWxsIGdldCBlbmFibGVkL2Rpc2FibGVkIG9uIGRlbWFuZCB3aGVuIFJQUyBp dHNlbGYKPiAgIAkgKiBpcyBlbmFibGVkL2Rpc2FibGVkLgo+ICAgCSAqLwo+IC0JR0VOOF9JUlFf SU5JVF9ORFgoR1QsIDIsIGRldl9wcml2LT5wbV9pcnFfbWFzaywgMCk7Cj4gKwlHRU44X0lSUV9J TklUX05EWChHVCwgMiwgZGV2X3ByaXYtPnBtX2ltciwgZGV2X3ByaXYtPnBtX2llcik7Cj4gICAJ R0VOOF9JUlFfSU5JVF9ORFgoR1QsIDMsIH5ndF9pbnRlcnJ1cHRzWzNdLCBndF9pbnRlcnJ1cHRz WzNdKTsKPiAgIH0KPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggOTUzOWYwZS4u ODBjZDA1ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTEwOTQsNiArMTA5 NCw5IEBAIHZvaWQgaW50ZWxfY2hlY2tfcGNoX2ZpZm9fdW5kZXJydW5zKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdik7Cj4gICAvKiBpOTE1X2lycS5jICovCj4gICB2b2lkIGdlbjVf ZW5hYmxlX2d0X2lycShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHVpbnQzMl90 IG1hc2spOwo+ICAgdm9pZCBnZW41X2Rpc2FibGVfZ3RfaXJxKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwgdWludDMyX3QgbWFzayk7Cj4gK3ZvaWQgZ2VuNl9yZXNldF9wbV9paXIo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgbWFzayk7Cj4gK3ZvaWQgZ2Vu Nl9tYXNrX3BtX2lycShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBtYXNr KTsKPiArdm9pZCBnZW42X3VubWFza19wbV9pcnEoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCB1MzIgbWFzayk7Cj4gICB2b2lkIGdlbjZfZW5hYmxlX3BtX2lycShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHVpbnQzMl90IG1hc2spOwo+ICAgdm9pZCBnZW42X2Rp c2FibGVfcG1faXJxKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdWludDMyX3Qg bWFzayk7Cj4gICB2b2lkIGdlbjZfcmVzZXRfcnBzX2ludGVycnVwdHMoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5jCj4gaW5kZXggZWQxOTg2OC4uZThmYTI2YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmMKPiBAQCAtMTcwMCw3ICsxNzAwLDcgQEAgaHN3X3ZlYm94X2lycV9l bmFibGUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAgCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGVuZ2luZS0+aTkxNTsKPgo+ICAgCUk5MTVfV1JJVEVfSU1S KGVuZ2luZSwgfmVuZ2luZS0+aXJxX2VuYWJsZV9tYXNrKTsKPiAtCWdlbjZfZW5hYmxlX3BtX2ly cShkZXZfcHJpdiwgZW5naW5lLT5pcnFfZW5hYmxlX21hc2spOwo+ICsJZ2VuNl91bm1hc2tfcG1f aXJxKGRldl9wcml2LCBlbmdpbmUtPmlycV9lbmFibGVfbWFzayk7Cj4gICB9Cj4KPiAgIHN0YXRp YyB2b2lkCj4gQEAgLTE3MDksNyArMTcwOSw3IEBAIGhzd192ZWJveF9pcnFfZGlzYWJsZShzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZW5naW5lLT5pOTE1Owo+Cj4gICAJSTkxNV9XUklURV9JTVIoZW5naW5lLCB+ MCk7Cj4gLQlnZW42X2Rpc2FibGVfcG1faXJxKGRldl9wcml2LCBlbmdpbmUtPmlycV9lbmFibGVf bWFzayk7Cj4gKwlnZW42X21hc2tfcG1faXJxKGRldl9wcml2LCBlbmdpbmUtPmlycV9lbmFibGVf bWFzayk7Cj4gICB9Cj4KPiAgIHN0YXRpYyB2b2lkCj4KCkxvb2tzIGxpa2Ugb25seSBhIHNpbmds ZSBsaW5lIGNoYW5nZSBzaW5jZSB2Mywgc28gd2l0aCB0aGUgYWJvdmUgc21hbGwgCmRldGFpbCBm aXhlZDsKClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwu Y29tPgoKUmVnYXJkcywKClR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK