From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH 6/7] drm/i915/psr: Remove partial PSR support on multiple transcoders Date: Wed, 3 Apr 2019 17:31:25 -0700 Message-ID: <20190404003125.GE25758@intel.com> References: <20190403233539.31828-1-jose.souza@intel.com> <20190403233539.31828-6-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 78DCA89E01 for ; Thu, 4 Apr 2019 00:31:13 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190403233539.31828-6-jose.souza@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?iso-8859-1?Q?Jos=E9?= Roberto de Souza Cc: intel-gfx@lists.freedesktop.org, Dhinakaran Pandiyan List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBBcHIgMDMsIDIwMTkgYXQgMDQ6MzU6MzhQTSAtMDcwMCwgSm9zw6kgUm9iZXJ0byBk ZSBTb3V6YSB3cm90ZToKPiBQU1IgaXMgb25seSBzdXBwb3J0ZWQgaW4gZURQIHRyYW5zY29kZXIg YW5kIHRoZXJlIGlzIG9ubHkgb25lCj4gaW5zdGFuY2Ugb2YgaXQsIHNvIGxldHMgZHJvcCBhbGwg b2YgdGhpcyBjb2RlLgoKSXMgdGhpcyBzZW50ZW5jZSB0cnVlPyBJIG1lYW4sIGluIHRoZSB3YXkg aXQgaXMgd3JpdHRlbiBpdApzZWVtcyBsaWtlIEhXIGRvZXNuJ3QgYWN0dWFsbHkgc3VwcG9ydCBp dC4uLgpPciBzaG91bGQgd2UgcmUtcGhyYXNlIGZvciB3ZSBhcmUgbm90IHJlYWxseSBlbmFibGlu ZyBzdXBwb3J0CmZvciBvdGhlciB0cmFuc2NvZGVycyB0aGFuIGVEUCBhbmQgd2UgZG8gbm90IGhh dmUgcGxhbnMgdG8gZG8KaXQgc28gc29vbiBzbyBsZXQncyBjbGVhbiB0aGUgY29kZS4uLgpvciBz b21ldGhpbmcgbGlrZSB0aGF0PwoKPiAKPiBDYzogRGhpbmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFr YXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+Cj4gQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZp QGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3Nl LnNvdXphQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aCAgfCAgMTcgKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYyB8IDE0NyAr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDIgZmlsZXMgY2hhbmdlZCwgNDIgaW5z ZXJ0aW9ucygrKSwgMTIyIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ IGluZGV4IGM1OWNmYTgzZGJhZi4uMThlMjk5MWIzNzZkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oCj4gQEAgLTQyNDEsMTMgKzQyNDEsOSBAQCBlbnVtIHsKPiAgLyogQnNwZWMgY2xhaW1z IHRob3NlIGFyZW4ndCBzaGlmdGVkIGJ1dCBzdGF5IGF0IDB4NjQ4MDAgKi8KPiAgI2RlZmluZSBF RFBfUFNSX0lNUgkJCQlfTU1JTygweDY0ODM0KQo+ICAjZGVmaW5lIEVEUF9QU1JfSUlSCQkJCV9N TUlPKDB4NjQ4MzgpCj4gLSNkZWZpbmUgICBFRFBfUFNSX0VSUk9SKHNoaWZ0KQkJCSgxIDw8ICgo c2hpZnQpICsgMikpCj4gLSNkZWZpbmUgICBFRFBfUFNSX1BPU1RfRVhJVChzaGlmdCkJCSgxIDw8 ICgoc2hpZnQpICsgMSkpCj4gLSNkZWZpbmUgICBFRFBfUFNSX1BSRV9FTlRSWShzaGlmdCkJCSgx IDw8IChzaGlmdCkpCj4gLSNkZWZpbmUgICBFRFBfUFNSX1RSQU5TQ09ERVJfQ19TSElGVAkJMjQK PiAtI2RlZmluZSAgIEVEUF9QU1JfVFJBTlNDT0RFUl9CX1NISUZUCQkxNgo+IC0jZGVmaW5lICAg RURQX1BTUl9UUkFOU0NPREVSX0FfU0hJRlQJCTgKPiAtI2RlZmluZSAgIEVEUF9QU1JfVFJBTlND T0RFUl9FRFBfU0hJRlQJCTAKPiArI2RlZmluZSAgIEVEUF9QU1JfRVJST1IJCQkJKDEgPDwgMikK PiArI2RlZmluZSAgIEVEUF9QU1JfUE9TVF9FWElUCQkJKDEgPDwgMSkKPiArI2RlZmluZSAgIEVE UF9QU1JfUFJFX0VOVFJZCQkJKDEgPDwgMCkKPiAgCj4gICNkZWZpbmUgRURQX1BTUl9BVVhfQ1RM CQkJCV9NTUlPKGRldl9wcml2LT5wc3JfbW1pb19iYXNlICsgMHgxMCkKPiAgI2RlZmluZSAgIEVE UF9QU1JfQVVYX0NUTF9USU1FX09VVF9NQVNLCQkoMyA8PCAyNikKPiBAQCAtNDMxMiwxMiArNDMw OCw3IEBAIGVudW0gewo+ICAjZGVmaW5lICAgRURQX1BTUjJfSURMRV9GUkFNRV9NQVNLCTB4Zgo+ ICAjZGVmaW5lICAgRURQX1BTUjJfSURMRV9GUkFNRV9TSElGVAkwCj4gIAo+IC0jZGVmaW5lIF9Q U1JfRVZFTlRfVFJBTlNfQQkJCTB4NjA4NDgKPiAtI2RlZmluZSBfUFNSX0VWRU5UX1RSQU5TX0IJ CQkweDYxODQ4Cj4gLSNkZWZpbmUgX1BTUl9FVkVOVF9UUkFOU19DCQkJMHg2Mjg0OAo+IC0jZGVm aW5lIF9QU1JfRVZFTlRfVFJBTlNfRAkJCTB4NjM4NDgKPiAtI2RlZmluZSBfUFNSX0VWRU5UX1RS QU5TX0VEUAkJCTB4NkY4NDgKPiAtI2RlZmluZSBQU1JfRVZFTlQodHJhbnMpCQkJX01NSU9fVFJB TlMyKHRyYW5zLCBfUFNSX0VWRU5UX1RSQU5TX0EpCj4gKyNkZWZpbmUgUFNSX0VWRU5UCQkJCV9N TUlPKDB4NkY4NDgpCj4gICNkZWZpbmUgIFBTUl9FVkVOVF9QU1IyX1dEX1RJTUVSX0VYUElSRQkJ KDEgPDwgMTcpCj4gICNkZWZpbmUgIFBTUl9FVkVOVF9QU1IyX0RJU0FCTEVECQkoMSA8PCAxNikK PiAgI2RlZmluZSAgUFNSX0VWRU5UX1NVX0RJUlRZX0ZJRk9fVU5ERVJSVU4JKDEgPDwgMTUpCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPiBpbmRleCBiYjk3YzE2NTc0OTMuLmI5ODRlMDA1Yjcy ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gQEAgLTg0LDQ2ICs4NCwxMiBAQCBz dGF0aWMgYm9vbCBpbnRlbF9wc3IyX2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAo+ICAJfQo+ICB9Cj4gIAo+IC1zdGF0aWMgaW50IGVkcF9wc3Jfc2hpZnQoZW51bSB0 cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyKQo+IC17Cj4gLQlzd2l0Y2ggKGNwdV90cmFuc2NvZGVy KSB7Cj4gLQljYXNlIFRSQU5TQ09ERVJfQToKPiAtCQlyZXR1cm4gRURQX1BTUl9UUkFOU0NPREVS X0FfU0hJRlQ7Cj4gLQljYXNlIFRSQU5TQ09ERVJfQjoKPiAtCQlyZXR1cm4gRURQX1BTUl9UUkFO U0NPREVSX0JfU0hJRlQ7Cj4gLQljYXNlIFRSQU5TQ09ERVJfQzoKPiAtCQlyZXR1cm4gRURQX1BT Ul9UUkFOU0NPREVSX0NfU0hJRlQ7Cj4gLQlkZWZhdWx0Ogo+IC0JCU1JU1NJTkdfQ0FTRShjcHVf dHJhbnNjb2Rlcik7Cj4gLQkJLyogZmFsbHRocm91Z2ggKi8KPiAtCWNhc2UgVFJBTlNDT0RFUl9F RFA6Cj4gLQkJcmV0dXJuIEVEUF9QU1JfVFJBTlNDT0RFUl9FRFBfU0hJRlQ7Cj4gLQl9Cj4gLX0K PiAtCj4gIHZvaWQgaW50ZWxfcHNyX2lycV9jb250cm9sKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgdTMyIGRlYnVnKQo+ICB7Cj4gLQl1MzIgZGVidWdfbWFzaywgbWFzazsKPiAt CWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlcjsKPiAtCXUzMiB0cmFuc2NvZGVycyA9IEJJ VChUUkFOU0NPREVSX0VEUCk7Cj4gLQo+IC0JaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOCkK PiAtCQl0cmFuc2NvZGVycyB8PSBCSVQoVFJBTlNDT0RFUl9BKSB8Cj4gLQkJCSAgICAgICBCSVQo VFJBTlNDT0RFUl9CKSB8Cj4gLQkJCSAgICAgICBCSVQoVFJBTlNDT0RFUl9DKTsKPiAtCj4gLQlk ZWJ1Z19tYXNrID0gMDsKPiAtCW1hc2sgPSAwOwo+IC0JZm9yX2VhY2hfY3B1X3RyYW5zY29kZXJf bWFza2VkKGRldl9wcml2LCBjcHVfdHJhbnNjb2RlciwgdHJhbnNjb2RlcnMpIHsKPiAtCQlpbnQg c2hpZnQgPSBlZHBfcHNyX3NoaWZ0KGNwdV90cmFuc2NvZGVyKTsKPiAtCj4gLQkJbWFzayB8PSBF RFBfUFNSX0VSUk9SKHNoaWZ0KTsKPiAtCQlkZWJ1Z19tYXNrIHw9IEVEUF9QU1JfUE9TVF9FWElU KHNoaWZ0KSB8Cj4gLQkJCSAgICAgIEVEUF9QU1JfUFJFX0VOVFJZKHNoaWZ0KTsKPiAtCX0KPiAr CXUzMiBtYXNrID0gRURQX1BTUl9FUlJPUjsKPiAgCj4gIAlpZiAoZGVidWcgJiBJOTE1X1BTUl9E RUJVR19JUlEpCj4gLQkJbWFzayB8PSBkZWJ1Z19tYXNrOwo+ICsJCW1hc2sgfD0gRURQX1BTUl9Q T1NUX0VYSVQgfCBFRFBfUFNSX1BSRV9FTlRSWTsKPiAgCj4gIAlJOTE1X1dSSVRFKEVEUF9QU1Jf SU1SLCB+bWFzayk7Cj4gIH0KPiBAQCAtMTY3LDYyICsxMzMsNDcgQEAgc3RhdGljIHZvaWQgcHNy X2V2ZW50X3ByaW50KHUzMiB2YWwsIGJvb2wgcHNyMl9lbmFibGVkKQo+ICAKPiAgdm9pZCBpbnRl bF9wc3JfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIg cHNyX2lpcikKPiAgewo+IC0JdTMyIHRyYW5zY29kZXJzID0gQklUKFRSQU5TQ09ERVJfRURQKTsK PiAtCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlcjsKPiAtCWt0aW1lX3QgdGltZV9ucyA9 ICBrdGltZV9nZXQoKTsKPiAtCXUzMiBtYXNrID0gMDsKPiArCWt0aW1lX3QgdGltZV9ucyA9IGt0 aW1lX2dldCgpOwo+ICAKPiAtCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDgpCj4gLQkJdHJh bnNjb2RlcnMgfD0gQklUKFRSQU5TQ09ERVJfQSkgfAo+IC0JCQkgICAgICAgQklUKFRSQU5TQ09E RVJfQikgfAo+IC0JCQkgICAgICAgQklUKFRSQU5TQ09ERVJfQyk7Cj4gLQo+IC0JZm9yX2VhY2hf Y3B1X3RyYW5zY29kZXJfbWFza2VkKGRldl9wcml2LCBjcHVfdHJhbnNjb2RlciwgdHJhbnNjb2Rl cnMpIHsKPiAtCQlpbnQgc2hpZnQgPSBlZHBfcHNyX3NoaWZ0KGNwdV90cmFuc2NvZGVyKTsKPiAt Cj4gLQkJaWYgKHBzcl9paXIgJiBFRFBfUFNSX0VSUk9SKHNoaWZ0KSkgewo+IC0JCQlEUk1fV0FS TigiW3RyYW5zY29kZXIgJXNdIFBTUiBhdXggZXJyb3JcbiIsCj4gLQkJCQkgdHJhbnNjb2Rlcl9u YW1lKGNwdV90cmFuc2NvZGVyKSk7Cj4gLQo+IC0JCQlkZXZfcHJpdi0+cHNyLmlycV9hdXhfZXJy b3IgPSB0cnVlOwo+IC0KPiAtCQkJLyoKPiAtCQkJICogSWYgdGhpcyBpbnRlcnJ1cHRpb24gaXMg bm90IG1hc2tlZCBpdCB3aWxsIGtlZXAKPiAtCQkJICogaW50ZXJydXB0aW5nIHNvIGZhc3QgdGhh dCBpdCBwcmV2ZW50cyB0aGUgc2NoZWR1bGVkCj4gLQkJCSAqIHdvcmsgdG8gcnVuLgo+IC0JCQkg KiBBbHNvIGFmdGVyIGEgUFNSIGVycm9yLCB3ZSBkb24ndCB3YW50IHRvIGFybSBQU1IKPiAtCQkJ ICogYWdhaW4gc28gd2UgZG9uJ3QgY2FyZSBhYm91dCB1bm1hc2sgdGhlIGludGVycnVwdGlvbgo+ IC0JCQkgKiBvciB1bnNldCBpcnFfYXV4X2Vycm9yLgo+IC0JCQkgKi8KPiAtCQkJbWFzayB8PSBF RFBfUFNSX0VSUk9SKHNoaWZ0KTsKPiAtCQl9Cj4gKwlpZiAocHNyX2lpciAmIEVEUF9QU1JfRVJS T1IpIHsKPiArCQl1MzIgbWFzazsKPiAgCj4gLQkJaWYgKHBzcl9paXIgJiBFRFBfUFNSX1BSRV9F TlRSWShzaGlmdCkpIHsKPiAtCQkJZGV2X3ByaXYtPnBzci5sYXN0X2VudHJ5X2F0dGVtcHQgPSB0 aW1lX25zOwo+IC0JCQlEUk1fREVCVUdfS01TKCJbdHJhbnNjb2RlciAlc10gUFNSIGVudHJ5IGF0 dGVtcHQgaW4gMiB2YmxhbmtzXG4iLAo+IC0JCQkJICAgICAgdHJhbnNjb2Rlcl9uYW1lKGNwdV90 cmFuc2NvZGVyKSk7Cj4gLQkJfQo+ICsJCURSTV9XQVJOKCJbdHJhbnNjb2RlciAlc10gUFNSIGF1 eCBlcnJvclxuIiwKPiArCQkJIHRyYW5zY29kZXJfbmFtZShUUkFOU0NPREVSX0VEUCkpOwo+ICAK PiAtCQlpZiAocHNyX2lpciAmIEVEUF9QU1JfUE9TVF9FWElUKHNoaWZ0KSkgewo+IC0JCQlkZXZf cHJpdi0+cHNyLmxhc3RfZXhpdCA9IHRpbWVfbnM7Cj4gLQkJCURSTV9ERUJVR19LTVMoIlt0cmFu c2NvZGVyICVzXSBQU1IgZXhpdCBjb21wbGV0ZWRcbiIsCj4gLQkJCQkgICAgICB0cmFuc2NvZGVy X25hbWUoY3B1X3RyYW5zY29kZXIpKTsKPiArCQlkZXZfcHJpdi0+cHNyLmlycV9hdXhfZXJyb3Ig PSB0cnVlOwo+ICAKPiAtCQkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkgewo+IC0JCQkJ dTMyIHZhbCA9IEk5MTVfUkVBRChQU1JfRVZFTlQoY3B1X3RyYW5zY29kZXIpKTsKPiAtCQkJCWJv b2wgcHNyMl9lbmFibGVkID0gZGV2X3ByaXYtPnBzci5wc3IyX2VuYWJsZWQ7Cj4gKwkJLyoKPiAr CQkgKiBJZiB0aGlzIGludGVycnVwdGlvbiBpcyBub3QgbWFza2VkIGl0IHdpbGwga2VlcAo+ICsJ CSAqIGludGVycnVwdGluZyBzbyBmYXN0IHRoYXQgaXQgcHJldmVudHMgdGhlIHNjaGVkdWxlZAo+ ICsJCSAqIHdvcmsgdG8gcnVuLgo+ICsJCSAqIEFsc28gYWZ0ZXIgYSBQU1IgZXJyb3IsIHdlIGRv bid0IHdhbnQgdG8gYXJtIFBTUgo+ICsJCSAqIGFnYWluIHNvIHdlIGRvbid0IGNhcmUgYWJvdXQg dW5tYXNrIHRoZSBpbnRlcnJ1cHRpb24KPiArCQkgKiBvciB1bnNldCBpcnFfYXV4X2Vycm9yLgo+ ICsJCSAqLwo+ICsJCW1hc2sgPSBJOTE1X1JFQUQoRURQX1BTUl9JTVIpIHwgRURQX1BTUl9FUlJP UjsKPiArCQlJOTE1X1dSSVRFKEVEUF9QU1JfSU1SLCBtYXNrKTsKPiAgCj4gLQkJCQlJOTE1X1dS SVRFKFBTUl9FVkVOVChjcHVfdHJhbnNjb2RlciksIHZhbCk7Cj4gLQkJCQlwc3JfZXZlbnRfcHJp bnQodmFsLCBwc3IyX2VuYWJsZWQpOwo+IC0JCQl9Cj4gLQkJfQo+ICsJCXNjaGVkdWxlX3dvcmso JmRldl9wcml2LT5wc3Iud29yayk7Cj4gIAl9Cj4gIAo+IC0JaWYgKG1hc2spIHsKPiAtCQltYXNr IHw9IEk5MTVfUkVBRChFRFBfUFNSX0lNUik7Cj4gLQkJSTkxNV9XUklURShFRFBfUFNSX0lNUiwg bWFzayk7Cj4gKwlpZiAocHNyX2lpciAmIEVEUF9QU1JfUFJFX0VOVFJZKSB7Cj4gKwkJZGV2X3By aXYtPnBzci5sYXN0X2VudHJ5X2F0dGVtcHQgPSB0aW1lX25zOwo+ICsJCURSTV9ERUJVR19LTVMo Ilt0cmFuc2NvZGVyICVzXSBQU1IgZW50cnkgYXR0ZW1wdCBpbiAyIHZibGFua3NcbiIsCj4gKwkJ CSAgICAgIHRyYW5zY29kZXJfbmFtZShUUkFOU0NPREVSX0VEUCkpOwo+ICsJfQo+ICAKPiAtCQlz Y2hlZHVsZV93b3JrKCZkZXZfcHJpdi0+cHNyLndvcmspOwo+ICsJaWYgKHBzcl9paXIgJiBFRFBf UFNSX1BPU1RfRVhJVCkgewo+ICsJCURSTV9ERUJVR19LTVMoIlt0cmFuc2NvZGVyICVzXSBQU1Ig ZXhpdCBjb21wbGV0ZWRcbiIsCj4gKwkJCSAgICAgIHRyYW5zY29kZXJfbmFtZShUUkFOU0NPREVS X0VEUCkpOwo+ICsKPiArCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7Cj4gKwkJCXUz MiB2YWwgPSBJOTE1X1JFQUQoUFNSX0VWRU5UKTsKPiArCQkJYm9vbCBwc3IyX2VuYWJsZWQgPSBk ZXZfcHJpdi0+cHNyLnBzcjJfZW5hYmxlZDsKPiArCj4gKwkJCUk5MTVfV1JJVEUoUFNSX0VWRU5U LCB2YWwpOwo+ICsJCQlwc3JfZXZlbnRfcHJpbnQodmFsLCBwc3IyX2VuYWJsZWQpOwo+ICsJCX0K PiAgCX0KPiAgfQo+ICAKPiBAQCAtNjY5LDMwICs2MjAsMTAgQEAgc3RhdGljIHZvaWQgaW50ZWxf cHNyX2FjdGl2YXRlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIAlkZXZfcHJpdi0+cHNy LmFjdGl2ZSA9IHRydWU7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpOTE1X3JlZ190IGdlbjlfY2hpY2tl bl90cmFuc19yZWcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IC0JCQkJCSBl bnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIpCj4gLXsKPiAtCXN0YXRpYyBjb25zdCBpOTE1 X3JlZ190IHJlZ3NbXSA9IHsKPiAtCQlbVFJBTlNDT0RFUl9BXSA9IENISUNLRU5fVFJBTlNfQSwK PiAtCQlbVFJBTlNDT0RFUl9CXSA9IENISUNLRU5fVFJBTlNfQiwKPiAtCQlbVFJBTlNDT0RFUl9D XSA9IENISUNLRU5fVFJBTlNfQywKPiAtCQlbVFJBTlNDT0RFUl9FRFBdID0gQ0hJQ0tFTl9UUkFO U19FRFAsCj4gLQl9Owo+IC0KPiAtCVdBUk5fT04oSU5URUxfR0VOKGRldl9wcml2KSA8IDkpOwo+ IC0KPiAtCWlmIChXQVJOX09OKGNwdV90cmFuc2NvZGVyID49IEFSUkFZX1NJWkUocmVncykgfHwK PiAtCQkgICAgIXJlZ3NbY3B1X3RyYW5zY29kZXJdLnJlZykpCj4gLQkJY3B1X3RyYW5zY29kZXIg PSBUUkFOU0NPREVSX0E7Cj4gLQo+IC0JcmV0dXJuIHJlZ3NbY3B1X3RyYW5zY29kZXJdOwo+IC19 Cj4gLQo+ICBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfZW5hYmxlX3NvdXJjZShzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwLAo+ICAJCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk cF90b19pOTE1KGludGVsX2RwKTsKPiAtCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9 IGNydGNfc3RhdGUtPmNwdV90cmFuc2NvZGVyOwo+ICAJdTMyIG1hc2s7Cj4gIAo+ICAJLyogT25s eSBIU1cgYW5kIEJEVyBoYXZlIFBTUiBBVVggcmVnaXN0ZXJzIHRoYXQgbmVlZCB0byBiZSBzZXR1 cC4gU0tMKwo+IEBAIC03MDMsMTMgKzYzNCwxMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfZW5h YmxlX3NvdXJjZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAKPiAgCWlmIChkZXZfcHJp di0+cHNyLnBzcjJfZW5hYmxlZCAmJiAoSVNfR0VOKGRldl9wcml2LCA5KSAmJgo+ICAJCQkJCSAg ICFJU19HRU1JTklMQUtFKGRldl9wcml2KSkpIHsKPiAtCQlpOTE1X3JlZ190IHJlZyA9IGdlbjlf Y2hpY2tlbl90cmFuc19yZWcoZGV2X3ByaXYsCj4gLQkJCQkJCQljcHVfdHJhbnNjb2Rlcik7Cj4g LQkJdTMyIGNoaWNrZW4gPSBJOTE1X1JFQUQocmVnKTsKPiArCQl1MzIgY2hpY2tlbiA9IEk5MTVf UkVBRChDSElDS0VOX1RSQU5TX0VEUCk7Cj4gIAo+ICAJCWNoaWNrZW4gfD0gUFNSMl9WU0NfRU5B QkxFX1BST0dfSEVBREVSIHwKPiAgCQkJICAgUFNSMl9BRERfVkVSVElDQUxfTElORV9DT1VOVDsK PiAtCQlJOTE1X1dSSVRFKHJlZywgY2hpY2tlbik7Cj4gKwkJSTkxNV9XUklURShDSElDS0VOX1RS QU5TX0VEUCwgY2hpY2tlbik7Cj4gIAl9Cj4gIAo+ICAJLyoKPiBAQCAtMTIyMiw3ICsxMTUxLDcg QEAgdm9pZCBpbnRlbF9wc3JfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Cj4gIAkgKiB0byBhdm9pZCBhbnkgcmVuZGVyaW5nIHByb2JsZW1zLgo+ICAJICovCj4gIAl2YWwg PSBJOTE1X1JFQUQoRURQX1BTUl9JSVIpOwo+IC0JdmFsICY9IEVEUF9QU1JfRVJST1IoZWRwX3Bz cl9zaGlmdChUUkFOU0NPREVSX0VEUCkpOwo+ICsJdmFsICY9IEVEUF9QU1JfRVJST1I7Cj4gIAlp ZiAodmFsKSB7Cj4gIAkJRFJNX0RFQlVHX0tNUygiUFNSIGludGVycnVwdGlvbiBlcnJvciBzZXRc biIpOwo+ICAJCWRldl9wcml2LT5wc3Iuc2lua19ub3RfcmVsaWFibGUgPSB0cnVlOwo+IC0tIAo+ IDIuMjEuMAo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=