From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH v3 03/23] drm/i915/psr: Only handle interruptions of the transcoder in use Date: Wed, 28 Aug 2019 19:29:38 +0300 Message-ID: <20190828162938.GA10584@ideak-desk.fi.intel.com> References: <20190823082055.5992-1-lucas.demarchi@intel.com> <20190823082055.5992-4-lucas.demarchi@intel.com> <20190826172833.GC27192@ideak-desk.fi.intel.com> <20190827165024.lwevu6e6sohr6lnh@ldmartin-desk1> Reply-To: imre.deak@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 B7F3589D8D for ; Wed, 28 Aug 2019 16:30:10 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190827165024.lwevu6e6sohr6lnh@ldmartin-desk1> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lucas De Marchi Cc: intel-gfx@lists.freedesktop.org, Dhinakaran Pandiyan List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBBdWcgMjcsIDIwMTkgYXQgMDk6NTA6MjRBTSAtMDcwMCwgTHVjYXMgRGUgTWFyY2hp IHdyb3RlOgo+IE9uIE1vbiwgQXVnIDI2LCAyMDE5IGF0IDA4OjI4OjMzUE0gKzAzMDAsIEltcmUg RGVhayB3cm90ZToKPiA+IE9uIEZyaSwgQXVnIDIzLCAyMDE5IGF0IDAxOjIwOjM1QU0gLTA3MDAs IEx1Y2FzIERlIE1hcmNoaSB3cm90ZToKPiA+ID4gRnJvbTogSm9zw6kgUm9iZXJ0byBkZSBTb3V6 YSA8am9zZS5zb3V6YUBpbnRlbC5jb20+Cj4gPiA+IAo+ID4gPiBJdCB3YXMgZW5hYmxpbmcgYW5k IGNoZWNraW5nIFBTUiBpbnRlcnJ1cHRpb25zIGluIGV2ZXJ5IHRyYW5zY29kZXIKPiA+ID4gd2hp bGUgaXQgc2hvdWxkIGtlZXAgdGhlIGludGVycnVwdGlvbnMgb24gdGhlIG5vbi11c2VkIHRyYW5z Y29kZXJzCj4gPiA+IG1hc2tlZC4KPiA+ID4gCj4gPiA+IFRoaXMgYWxzbyBhbHJlYWR5IHByZXBh cmVzIGZvciBmdXR1cmUgd2hlbiBtb3JlIHRoYW4gb25lIFBTUiBpbnN0YW5jZQo+ID4gPiB3aWxs IGJlIGFsbG93ZWQuCj4gPiA+IAo+ID4gPiBDYzogRGhpbmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFr YXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVy dG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPgo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBM dWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQGludGVsLmNvbT4KPiA+ID4gLS0tCj4gPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jIHwgMTQwICsrKysrKysr Ky0tLS0tLS0tLS0tLS0tCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAg ICAgICAgIHwgIDEzICstLQo+ID4gPiAgMiBmaWxlcyBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCsp LCA5NCBkZWxldGlvbnMoLSkKPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9wc3IuYwo+ID4gPiBpbmRleCAyOGI2MmU1ODcyMDQuLjgxZTM2MTljZDkwNSAxMDA2 NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuYwo+ ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jCj4gPiA+ IEBAIC04OCw0OCArODgsMjMgQEAgc3RhdGljIGJvb2wgaW50ZWxfcHNyMl9lbmFibGVkKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4gIAl9Cj4gPiA+ICB9Cj4gPiA+IAo+ ID4gPiAtc3RhdGljIGludCBlZHBfcHNyX3NoaWZ0KGVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNj b2RlcikKPiA+ID4gK3N0YXRpYyB2b2lkIHBzcl9pcnFfY29udHJvbChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiA+ICB7Cj4gPiA+IC0Jc3dpdGNoIChjcHVfdHJhbnNjb2Rl cikgewo+ID4gPiAtCWNhc2UgVFJBTlNDT0RFUl9BOgo+ID4gPiAtCQlyZXR1cm4gRURQX1BTUl9U UkFOU0NPREVSX0FfU0hJRlQ7Cj4gPiA+IC0JY2FzZSBUUkFOU0NPREVSX0I6Cj4gPiA+IC0JCXJl dHVybiBFRFBfUFNSX1RSQU5TQ09ERVJfQl9TSElGVDsKPiA+ID4gLQljYXNlIFRSQU5TQ09ERVJf QzoKPiA+ID4gLQkJcmV0dXJuIEVEUF9QU1JfVFJBTlNDT0RFUl9DX1NISUZUOwo+ID4gPiAtCWRl ZmF1bHQ6Cj4gPiA+IC0JCU1JU1NJTkdfQ0FTRShjcHVfdHJhbnNjb2Rlcik7Cj4gPiA+IC0JCS8q IGZhbGx0aHJvdWdoICovCj4gPiA+IC0JY2FzZSBUUkFOU0NPREVSX0VEUDoKPiA+ID4gLQkJcmV0 dXJuIEVEUF9QU1JfVFJBTlNDT0RFUl9FRFBfU0hJRlQ7Cj4gPiA+IC0JfQo+ID4gPiAtfQo+ID4g PiArCWVudW0gdHJhbnNjb2RlciB0cmFucyA9IGRldl9wcml2LT5wc3IudHJhbnNjb2RlcjsKPiA+ IAo+ID4gVGhpcyBpcyBjYWxsZWQgZnJvbSBpbnRlbF9wc3JfZGVidWdfc2V0KCkgd2hlcmUgcHNy LnRyYW5zY29kZXIgbWF5IGJlCj4gPiB1bmluaXRlZC4KPiA+IAo+ID4gPiArCXUzMiB2YWwsIG1h c2s7Cj4gPiA+IAo+ID4gPiAtc3RhdGljIHZvaWQgcHNyX2lycV9jb250cm9sKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIGRlYnVnKQo+ID4gPiAtewo+ID4gPiAtCXUzMiBk ZWJ1Z19tYXNrLCBtYXNrOwo+ID4gPiAtCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlcjsK PiA+ID4gLQl1MzIgdHJhbnNjb2RlcnMgPSBCSVQoVFJBTlNDT0RFUl9FRFApOwo+ID4gPiAtCj4g PiA+IC0JaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOCkKPiA+ID4gLQkJdHJhbnNjb2RlcnMg fD0gQklUKFRSQU5TQ09ERVJfQSkgfAo+ID4gPiAtCQkJICAgICAgIEJJVChUUkFOU0NPREVSX0Ip IHwKPiA+ID4gLQkJCSAgICAgICBCSVQoVFJBTlNDT0RFUl9DKTsKPiA+ID4gLQo+ID4gPiAtCWRl YnVnX21hc2sgPSAwOwo+ID4gPiAtCW1hc2sgPSAwOwo+ID4gPiAtCWZvcl9lYWNoX2NwdV90cmFu c2NvZGVyX21hc2tlZChkZXZfcHJpdiwgY3B1X3RyYW5zY29kZXIsIHRyYW5zY29kZXJzKSB7Cj4g PiA+IC0JCWludCBzaGlmdCA9IGVkcF9wc3Jfc2hpZnQoY3B1X3RyYW5zY29kZXIpOwo+ID4gPiAt Cj4gPiA+IC0JCW1hc2sgfD0gRURQX1BTUl9FUlJPUihzaGlmdCk7Cj4gPiA+IC0JCWRlYnVnX21h c2sgfD0gRURQX1BTUl9QT1NUX0VYSVQoc2hpZnQpIHwKPiA+ID4gLQkJCSAgICAgIEVEUF9QU1Jf UFJFX0VOVFJZKHNoaWZ0KTsKPiA+ID4gLQl9Cj4gPiA+ICsJbWFzayA9IEVEUF9QU1JfRVJST1Io dHJhbnMpOwo+ID4gPiArCWlmIChkZXZfcHJpdi0+cHNyLmRlYnVnICYgSTkxNV9QU1JfREVCVUdf SVJRKQo+ID4gPiArCQltYXNrIHw9IEVEUF9QU1JfUE9TVF9FWElUKHRyYW5zKSB8IEVEUF9QU1Jf UFJFX0VOVFJZKHRyYW5zKTsKPiA+ID4gCj4gPiA+IC0JaWYgKGRlYnVnICYgSTkxNV9QU1JfREVC VUdfSVJRKQo+ID4gPiAtCQltYXNrIHw9IGRlYnVnX21hc2s7Cj4gPiA+IC0KPiA+ID4gLQlJOTE1 X1dSSVRFKEVEUF9QU1JfSU1SLCB+bWFzayk7Cj4gPiA+ICsJLyoKPiA+ID4gKwkgKiBUT0RPOiB3 aGVuIGhhbmRsaW5nIG11bHRpcGxlIFBTUiBpbnN0YW5jZXMgYSBnbG9iYWwgc3BpbmxvY2sgd2ls bCBiZQo+ID4gPiArCSAqIG5lZWRlZCB0byBzeW5jaHJvbml6ZSB0aGUgdmFsdWUgb2Ygc2hhcmVk IHJlZ2lzdGVyCj4gPiA+ICsJICovCj4gPiA+ICsJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1JfSU1S KTsKPiA+ID4gKwl2YWwgJj0gfkVEUF9QU1JfVFJBTlNfTUFTSyh0cmFucyk7Cj4gPiA+ICsJdmFs IHw9IH5tYXNrOwo+ID4gPiArCUk5MTVfV1JJVEUoRURQX1BTUl9JTVIsIHZhbCk7Cj4gPiA+ICB9 Cj4gPiA+IAo+ID4gPiAgc3RhdGljIHZvaWQgcHNyX2V2ZW50X3ByaW50KHUzMiB2YWwsIGJvb2wg cHNyMl9lbmFibGVkKQo+ID4gPiBAQCAtMTcxLDYzICsxNDYsNTQgQEAgc3RhdGljIHZvaWQgcHNy X2V2ZW50X3ByaW50KHUzMiB2YWwsIGJvb2wgcHNyMl9lbmFibGVkKQo+ID4gPiAKPiA+ID4gIHZv aWQgaW50ZWxfcHNyX2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgdTMyIHBzcl9paXIpCj4gPiA+ICB7Cj4gPiA+IC0JdTMyIHRyYW5zY29kZXJzID0gQklUKFRS QU5TQ09ERVJfRURQKTsKPiA+ID4gLQllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXI7Cj4g PiA+ICsJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gZGV2X3ByaXYtPnBzci50cmFu c2NvZGVyOwo+ID4gPiAgCWt0aW1lX3QgdGltZV9ucyA9ICBrdGltZV9nZXQoKTsKPiA+ID4gLQl1 MzIgbWFzayA9IDA7Cj4gPiA+IAo+ID4gPiAtCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDgp Cj4gPiA+IC0JCXRyYW5zY29kZXJzIHw9IEJJVChUUkFOU0NPREVSX0EpIHwKPiA+ID4gLQkJCSAg ICAgICBCSVQoVFJBTlNDT0RFUl9CKSB8Cj4gPiA+IC0JCQkgICAgICAgQklUKFRSQU5TQ09ERVJf Qyk7Cj4gPiA+ICsJaWYgKHBzcl9paXIgJiBFRFBfUFNSX0VSUk9SKGNwdV90cmFuc2NvZGVyKSkg ewo+ID4gPiArCQl1MzIgdmFsOwo+ID4gPiAKPiA+ID4gLQlmb3JfZWFjaF9jcHVfdHJhbnNjb2Rl cl9tYXNrZWQoZGV2X3ByaXYsIGNwdV90cmFuc2NvZGVyLCB0cmFuc2NvZGVycykgewo+ID4gCj4g PiBJIHRoaW5rIHdlIHNob3VsZCBzdGlsbCBjYXRjaCBhbGwgaW50ZXJydXB0cywgbG9nIHRoZSB1 bmV4cGVjdGVkIG9uZXMKPiA+IGFuZCByZWFjdCBvbmx5IG9uIHRoZSBleHBlY3RlZCBvbmUgaW4g aW50ZWxfcHNyX3dvcmsoKS4KPiAKPiBjb3VsZCB5b3UgZXhwYW5kIG1vcmUgb24gdGhpcz8gdGhl cmUgaXMgb25seSBvbmUgUFNSIGluc3RhbmNlIGhlbmNlIG9ubHkKPiBvbmUgcG9zc2libGUgdHJh bnNjb2RlciBjb21pbmcgZnJvbSBkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIuIExvb3BpbmcgaGVy ZSBqdXN0IHRvCj4gd2FybiBzZWVtcyB3YXN0ZWZ1bC4KCkkgdGhpbmsgd2Ugc2hvdWxkIGRvIHdo YXQgdGhlIEhXIHRlbGxzIHVzIGFuZCBtYWtlIHN1cmUgd2UgY2xlYXIgYWxsIHRoZQppbnRlcnJ1 cHRzIHRoYXQgbWF5IGhhdmUgaGFwcGVuZWQgcmF0aGVyIHRoYW4gYXNzdW1lIHRoYXQgdGhlIGlu dGVycnVwdAp0aGF0IGhhcHBlbmVkIHdhcyB0aGUgb25lIGNvcnJlc3BvbmRpbmcgdG8gcHNyLnRy YW5zY29kZXIuCnBzci50cmFuc2NvZGVyIGlzIGFsc28gb25seSBwcm90ZWN0ZWQgYnkgYSBtdXRl eCwgc28gd2UgY2FuJ3QgdXNlIGl0cwp2YWx1ZSBpbiB0aGUgaW50ZXJydXB0IGhhbmRsZXIuCgpJ dCdzIHdlaXJkIHRoYXQgdGhlcmUgaXMgbm8gcGVyLVBTUiBpbnN0YW5jZSBJSVJzIGluIHRoZSBt aXNjIGludGVycnVwdApyZWdpc3Rlci4gQmVjYXVzZSBvZiB0aGF0IHdlJ2QgbmVlZCBhIFBTUiBz b2Z0d2FyZSBJUlEgbWFzayB0aGF0IGNvdWxkCmJlIHNldCBmcm9tIHBzcl9pcnFfY29udHJvbCgp LiBXZSBhbHNvIGhhdmUgdG8gbWFrZSBzdXJlIHRvIGNsZWFyL21hc2sgYQp0cmFuc2NvZGVyJ3Mg UFNSIGludGVydXB0cyBhbmQgc3luYyBhZ2FpbnN0IHRoZSBpbnRlcnJ1cHQgaGFuZGxlciB3aGVu CnR1cm5pbmcgb2ZmIHRoZSB0cmFuc2NvZGVyIHBvd2VyIHdlbGwuIEl0IGxvb2tzIGxpa2UgdGhl IHRyYW5zY29kZXIKcG93ZXIgd2VsbCBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mIHRoZSB0cmFuc2Nv ZGVyJ3MgcGlwZSBwb3dlciB3ZWxsLCBzbwp3ZSBjb3VsZCBkbyB0aGlzIGluIGdlbjhfaXJxX3Bv d2VyX3dlbGxfcHJlX2Rpc2FibGUoKS4KCkJ5IGRvaW5nIHRoZSBhYm92ZSAobm90IHVzZSBwc3Iu dHJhbnNjb2RlciBpbiB0aGUgaW50ZXJydXB0IGhhbmRsZXIsCnJhdGhlciB1c2UgYSBzZXBhcmF0 ZSBwc3JfaXJxIHNvZnR3YXJlIG1hc2spIHdlIGNvdWxkIGFsc28ga2VlcCB0aGUKaW50ZXJydXB0 IGhhbmRsaW5nIGluZGVwZW5kZW50IG9mIHRoZSBtb2Rlc2V0IGNvZGUgKHdoaWNoIGlzIHdoYXQg c2V0cwpwc3IudHJhbnNjb2RlcikuCgo+IAo+ID4gCj4gPiA+IC0JCWludCBzaGlmdCA9IGVkcF9w c3Jfc2hpZnQoY3B1X3RyYW5zY29kZXIpOwo+ID4gPiArCQlEUk1fV0FSTigiW3RyYW5zY29kZXIg JXNdIFBTUiBhdXggZXJyb3JcbiIsCj4gPiA+ICsJCQkgdHJhbnNjb2Rlcl9uYW1lKGNwdV90cmFu c2NvZGVyKSk7Cj4gPiA+IAo+ID4gPiAtCQlpZiAocHNyX2lpciAmIEVEUF9QU1JfRVJST1Ioc2hp ZnQpKSB7Cj4gPiA+IC0JCQlEUk1fV0FSTigiW3RyYW5zY29kZXIgJXNdIFBTUiBhdXggZXJyb3Jc biIsCj4gPiA+IC0JCQkJIHRyYW5zY29kZXJfbmFtZShjcHVfdHJhbnNjb2RlcikpOwo+ID4gPiAr CQlkZXZfcHJpdi0+cHNyLmlycV9hdXhfZXJyb3IgPSB0cnVlOwo+ID4gPiAKPiA+ID4gLQkJCWRl dl9wcml2LT5wc3IuaXJxX2F1eF9lcnJvciA9IHRydWU7Cj4gPiA+ICsJCS8qCj4gPiA+ICsJCSAq IElmIHRoaXMgaW50ZXJydXB0aW9uIGlzIG5vdCBtYXNrZWQgaXQgd2lsbCBrZWVwCj4gPiA+ICsJ CSAqIGludGVycnVwdGluZyBzbyBmYXN0IHRoYXQgaXQgcHJldmVudHMgdGhlIHNjaGVkdWxlZAo+ ID4gPiArCQkgKiB3b3JrIHRvIHJ1bi4KPiA+ID4gKwkJICogQWxzbyBhZnRlciBhIFBTUiBlcnJv ciwgd2UgZG9uJ3Qgd2FudCB0byBhcm0gUFNSCj4gPiA+ICsJCSAqIGFnYWluIHNvIHdlIGRvbid0 IGNhcmUgYWJvdXQgdW5tYXNrIHRoZSBpbnRlcnJ1cHRpb24KPiA+ID4gKwkJICogb3IgdW5zZXQg aXJxX2F1eF9lcnJvci4KPiA+ID4gKwkJICoKPiA+ID4gKwkJICogVE9ETzogd2hlbiBoYW5kbGlu ZyBtdWx0aXBsZSBQU1IgaW5zdGFuY2VzIGEgZ2xvYmFsIHNwaW5sb2NrCj4gPiA+ICsJCSAqIHdp bGwgYmUgbmVlZGVkIHRvIHN5bmNocm9uaXplIHRoZSB2YWx1ZSBvZiBzaGFyZWQgcmVnaXN0ZXIK PiAKPiBJJ20gbm90IHJlYWxseSBhIGZhbiBvZiB0aGVzZSBUT0RPIGZvciBtdWx0aXBsZSBQU1Ig aW5zdGFuY2VzLiBXaGVuL2lmCj4gd2UgYWRkIHRoZW0sIHdlIHdvbid0IHJlYWxseSBiZSBhYmxl IHRvIHJlbHkgb24gdGhlc2UgVE9ETyBjb21tZW50cyBhbmQKPiB3aWxsIHJhdGhlciBuZWVkIHRv IGV2YWx1YXRlIHRoZSB3aG9sZSBzY2VuYXJpby4KPiAKPiA+ID4gKwkJICovCj4gPiA+ICsJCXZh bCA9IEk5MTVfUkVBRChFRFBfUFNSX0lNUik7Cj4gPiA+ICsJCXZhbCB8PSBFRFBfUFNSX0VSUk9S KGNwdV90cmFuc2NvZGVyKTsKPiA+ID4gKwkJSTkxNV9XUklURShFRFBfUFNSX0lNUiwgdmFsKTsK PiA+ID4gCj4gPiA+IC0JCQkvKgo+ID4gPiAtCQkJICogSWYgdGhpcyBpbnRlcnJ1cHRpb24gaXMg bm90IG1hc2tlZCBpdCB3aWxsIGtlZXAKPiA+ID4gLQkJCSAqIGludGVycnVwdGluZyBzbyBmYXN0 IHRoYXQgaXQgcHJldmVudHMgdGhlIHNjaGVkdWxlZAo+ID4gPiAtCQkJICogd29yayB0byBydW4u Cj4gPiA+IC0JCQkgKiBBbHNvIGFmdGVyIGEgUFNSIGVycm9yLCB3ZSBkb24ndCB3YW50IHRvIGFy bSBQU1IKPiA+ID4gLQkJCSAqIGFnYWluIHNvIHdlIGRvbid0IGNhcmUgYWJvdXQgdW5tYXNrIHRo ZSBpbnRlcnJ1cHRpb24KPiA+ID4gLQkJCSAqIG9yIHVuc2V0IGlycV9hdXhfZXJyb3IuCj4gPiA+ IC0JCQkgKi8KPiA+ID4gLQkJCW1hc2sgfD0gRURQX1BTUl9FUlJPUihzaGlmdCk7Cj4gPiA+IC0J CX0KPiA+ID4gKwkJc2NoZWR1bGVfd29yaygmZGV2X3ByaXYtPnBzci53b3JrKTsKPiA+IAo+ID4g V291bGQgYmUgYmV0dGVyIG5vdCB0byByZW9yZGVyIGludGVsX3Bzcl93b3JrKCkgYW5kIHByaW50 aW5nIHRoZSBldmVudHMKPiA+IGJlbG93Lgo+ID4gCj4gPiA+ICsJfQo+ID4gPiAKPiA+ID4gLQkJ aWYgKHBzcl9paXIgJiBFRFBfUFNSX1BSRV9FTlRSWShzaGlmdCkpIHsKPiA+ID4gLQkJCWRldl9w cml2LT5wc3IubGFzdF9lbnRyeV9hdHRlbXB0ID0gdGltZV9uczsKPiA+ID4gLQkJCURSTV9ERUJV R19LTVMoIlt0cmFuc2NvZGVyICVzXSBQU1IgZW50cnkgYXR0ZW1wdCBpbiAyIHZibGFua3NcbiIs Cj4gPiA+IC0JCQkJICAgICAgdHJhbnNjb2Rlcl9uYW1lKGNwdV90cmFuc2NvZGVyKSk7Cj4gPiA+ IC0JCX0KPiA+ID4gKwlpZiAocHNyX2lpciAmIEVEUF9QU1JfUFJFX0VOVFJZKGNwdV90cmFuc2Nv ZGVyKSkgewo+ID4gPiArCQlkZXZfcHJpdi0+cHNyLmxhc3RfZW50cnlfYXR0ZW1wdCA9IHRpbWVf bnM7Cj4gPiA+ICsJCURSTV9ERUJVR19LTVMoIlt0cmFuc2NvZGVyICVzXSBQU1IgZW50cnkgYXR0 ZW1wdCBpbiAyIHZibGFua3NcbiIsCj4gPiA+ICsJCQkgICAgICB0cmFuc2NvZGVyX25hbWUoY3B1 X3RyYW5zY29kZXIpKTsKPiA+ID4gKwl9Cj4gPiA+IAo+ID4gPiAtCQlpZiAocHNyX2lpciAmIEVE UF9QU1JfUE9TVF9FWElUKHNoaWZ0KSkgewo+ID4gPiAtCQkJZGV2X3ByaXYtPnBzci5sYXN0X2V4 aXQgPSB0aW1lX25zOwo+ID4gPiAtCQkJRFJNX0RFQlVHX0tNUygiW3RyYW5zY29kZXIgJXNdIFBT UiBleGl0IGNvbXBsZXRlZFxuIiwKPiA+ID4gLQkJCQkgICAgICB0cmFuc2NvZGVyX25hbWUoY3B1 X3RyYW5zY29kZXIpKTsKPiA+ID4gKwlpZiAocHNyX2lpciAmIEVEUF9QU1JfUE9TVF9FWElUKGNw dV90cmFuc2NvZGVyKSkgewo+ID4gPiArCQlkZXZfcHJpdi0+cHNyLmxhc3RfZXhpdCA9IHRpbWVf bnM7Cj4gPiA+ICsJCURSTV9ERUJVR19LTVMoIlt0cmFuc2NvZGVyICVzXSBQU1IgZXhpdCBjb21w bGV0ZWRcbiIsCj4gPiA+ICsJCQkgICAgICB0cmFuc2NvZGVyX25hbWUoY3B1X3RyYW5zY29kZXIp KTsKPiA+ID4gCj4gPiA+IC0JCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7Cj4gPiA+ IC0JCQkJdTMyIHZhbCA9IEk5MTVfUkVBRChQU1JfRVZFTlQoY3B1X3RyYW5zY29kZXIpKTsKPiA+ ID4gLQkJCQlib29sIHBzcjJfZW5hYmxlZCA9IGRldl9wcml2LT5wc3IucHNyMl9lbmFibGVkOwo+ ID4gPiArCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7Cj4gPiA+ICsJCQl1MzIgdmFs ID0gSTkxNV9SRUFEKFBTUl9FVkVOVChjcHVfdHJhbnNjb2RlcikpOwo+ID4gPiArCQkJYm9vbCBw c3IyX2VuYWJsZWQgPSBkZXZfcHJpdi0+cHNyLnBzcjJfZW5hYmxlZDsKPiA+ID4gCj4gPiA+IC0J CQkJSTkxNV9XUklURShQU1JfRVZFTlQoY3B1X3RyYW5zY29kZXIpLCB2YWwpOwo+ID4gPiAtCQkJ CXBzcl9ldmVudF9wcmludCh2YWwsIHBzcjJfZW5hYmxlZCk7Cj4gPiA+IC0JCQl9Cj4gPiA+ICsJ CQlJOTE1X1dSSVRFKFBTUl9FVkVOVChjcHVfdHJhbnNjb2RlciksIHZhbCk7Cj4gPiA+ICsJCQlw c3JfZXZlbnRfcHJpbnQodmFsLCBwc3IyX2VuYWJsZWQpOwo+ID4gPiAgCQl9Cj4gPiA+ICAJfQo+ ID4gPiAtCj4gPiA+IC0JaWYgKG1hc2spIHsKPiA+ID4gLQkJbWFzayB8PSBJOTE1X1JFQUQoRURQ X1BTUl9JTVIpOwo+ID4gPiAtCQlJOTE1X1dSSVRFKEVEUF9QU1JfSU1SLCBtYXNrKTsKPiA+ID4g LQo+ID4gPiAtCQlzY2hlZHVsZV93b3JrKCZkZXZfcHJpdi0+cHNyLndvcmspOwo+ID4gPiAtCX0K PiA+ID4gIH0KPiA+ID4gCj4gPiA+ICBzdGF0aWMgYm9vbCBpbnRlbF9kcF9nZXRfYWxwbV9zdGF0 dXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ID4gQEAgLTczNyw3ICs3MDMsNyBAQCBz dGF0aWMgdm9pZCBpbnRlbF9wc3JfZW5hYmxlX3NvdXJjZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwLAo+ID4gPiAKPiA+ID4gIAlJOTE1X1dSSVRFKEVEUF9QU1JfREVCVUcoZGV2X3ByaXYtPnBz ci50cmFuc2NvZGVyKSwgbWFzayk7Cj4gPiA+IAo+ID4gPiAtCXBzcl9pcnFfY29udHJvbChkZXZf cHJpdiwgZGV2X3ByaXYtPnBzci5kZWJ1Zyk7Cj4gPiA+ICsJcHNyX2lycV9jb250cm9sKGRldl9w cml2KTsKPiA+ID4gIH0KPiA+ID4gCj4gPiA+ICBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfZW5hYmxl X2xvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+IEBAIC03NjIs NyArNzI4LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHNyX2VuYWJsZV9sb2NrZWQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiAgCSAqIHRvIGF2b2lkIGFueSByZW5kZXJp bmcgcHJvYmxlbXMuCj4gPiA+ICAJICovCj4gPiA+ICAJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1Jf SUlSKTsKPiA+ID4gLQl2YWwgJj0gRURQX1BTUl9FUlJPUihlZHBfcHNyX3NoaWZ0KGRldl9wcml2 LT5wc3IudHJhbnNjb2RlcikpOwo+ID4gPiArCXZhbCAmPSBFRFBfUFNSX0VSUk9SKGRldl9wcml2 LT5wc3IudHJhbnNjb2Rlcik7Cj4gPiA+ICAJaWYgKHZhbCkgewo+ID4gPiAgCQlkZXZfcHJpdi0+ cHNyLnNpbmtfbm90X3JlbGlhYmxlID0gdHJ1ZTsKPiA+ID4gIAkJRFJNX0RFQlVHX0tNUygiUFNS IGludGVycnVwdGlvbiBlcnJvciBzZXQsIG5vdCBlbmFibGluZyBQU1JcbiIpOwo+ID4gPiBAQCAt MTExMCw3ICsxMDc2LDcgQEAgaW50IGludGVsX3Bzcl9kZWJ1Z19zZXQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCB1NjQgdmFsKQo+ID4gPiAKPiA+ID4gIAlvbGRfbW9kZSA9IGRl dl9wcml2LT5wc3IuZGVidWcgJiBJOTE1X1BTUl9ERUJVR19NT0RFX01BU0s7Cj4gPiA+ICAJZGV2 X3ByaXYtPnBzci5kZWJ1ZyA9IHZhbDsKPiA+ID4gLQlwc3JfaXJxX2NvbnRyb2woZGV2X3ByaXYs IGRldl9wcml2LT5wc3IuZGVidWcpOwo+ID4gPiArCXBzcl9pcnFfY29udHJvbChkZXZfcHJpdik7 Cj4gPiA+IAo+ID4gPiAgCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPnBzci5sb2NrKTsKPiA+ID4g Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gPiBpbmRleCAwMmUxZWYxMGM0N2UuLjFj NmQ5OTk0NDYzMCAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaAo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiA+IEBA IC00MjI1LDEzICs0MjI1LDEyIEBAIGVudW0gewo+ID4gPiAgLyogQnNwZWMgY2xhaW1zIHRob3Nl IGFyZW4ndCBzaGlmdGVkIGJ1dCBzdGF5IGF0IDB4NjQ4MDAgKi8KPiA+ID4gICNkZWZpbmUgRURQ X1BTUl9JTVIJCQkJX01NSU8oMHg2NDgzNCkKPiA+ID4gICNkZWZpbmUgRURQX1BTUl9JSVIJCQkJ X01NSU8oMHg2NDgzOCkKPiA+ID4gLSNkZWZpbmUgICBFRFBfUFNSX0VSUk9SKHNoaWZ0KQkJCSgx IDw8ICgoc2hpZnQpICsgMikpCj4gPiA+IC0jZGVmaW5lICAgRURQX1BTUl9QT1NUX0VYSVQoc2hp ZnQpCQkoMSA8PCAoKHNoaWZ0KSArIDEpKQo+ID4gPiAtI2RlZmluZSAgIEVEUF9QU1JfUFJFX0VO VFJZKHNoaWZ0KQkJKDEgPDwgKHNoaWZ0KSkKPiA+ID4gLSNkZWZpbmUgICBFRFBfUFNSX1RSQU5T Q09ERVJfQ19TSElGVAkJMjQKPiA+ID4gLSNkZWZpbmUgICBFRFBfUFNSX1RSQU5TQ09ERVJfQl9T SElGVAkJMTYKPiA+ID4gLSNkZWZpbmUgICBFRFBfUFNSX1RSQU5TQ09ERVJfQV9TSElGVAkJOAo+ ID4gPiAtI2RlZmluZSAgIEVEUF9QU1JfVFJBTlNDT0RFUl9FRFBfU0hJRlQJCTAKPiA+ID4gKyNk ZWZpbmUgICBfRURQX1BTUl9UUkFOU19TSElGVCh0cmFucykJCSgodHJhbnMpID09IFRSQU5TQ09E RVJfRURQID8gXAo+ID4gPiArCQkJCQkJIDAgOiAoKHRyYW5zKSArIDEpICogOCkKPiA+IAo+ID4g KHRyYW5zIC0gVFJBTlNDT0RFUl9BKSArIDEKPiA+IAo+ID4gdG8gbm90IGRlcGVuZCBvbiB0aGUg ZW51bSB2YWx1ZSBvZiBUUkFOU0NPREVSX0EuCj4gCj4gYWdyZWVkCj4gCj4gdGhhbmtzCj4gTHVj YXMgRGUgTWFyY2hpCj4gCj4gPiAKPiA+ID4gKyNkZWZpbmUgICBFRFBfUFNSX1RSQU5TX01BU0so dHJhbnMpCQkoMHg3IDw8IF9FRFBfUFNSX1RSQU5TX1NISUZUKHRyYW5zKSkKPiA+ID4gKyNkZWZp bmUgICBFRFBfUFNSX0VSUk9SKHRyYW5zKQkJCSgweDQgPDwgX0VEUF9QU1JfVFJBTlNfU0hJRlQo dHJhbnMpKQo+ID4gPiArI2RlZmluZSAgIEVEUF9QU1JfUE9TVF9FWElUKHRyYW5zKQkJKDB4MiA8 PCBfRURQX1BTUl9UUkFOU19TSElGVCh0cmFucykpCj4gPiA+ICsjZGVmaW5lICAgRURQX1BTUl9Q UkVfRU5UUlkodHJhbnMpCQkoMHgxIDw8IF9FRFBfUFNSX1RSQU5TX1NISUZUKHRyYW5zKSkKPiA+ ID4gCj4gPiA+ICAjZGVmaW5lIF9TUkRfQVVYX0NUTF9BCQkJCTB4NjA4MTAKPiA+ID4gICNkZWZp bmUgX1NSRF9BVVhfQ1RMX0VEUAkJCTB4NmY4MTAKPiA+ID4gLS0KPiA+ID4gMi4yMy4wCj4gPiA+ IAo+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ ID4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiA+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPiA+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4