From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Pandiyan, Dhinakaran" Subject: Re: [RFC v5] drm/i915/psr: Kill scheduled work for Core platforms. Date: Wed, 14 Mar 2018 20:24:13 +0000 Message-ID: <1521060493.4958.86.camel@dk-H97M-D3H> References: <1520893121.4958.48.camel@dk-H97M-D3H> <20180313222319.2721-1-rodrigo.vivi@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 42C446E17C for ; Wed, 14 Mar 2018 20:24:16 +0000 (UTC) In-Reply-To: <20180313222319.2721-1-rodrigo.vivi@intel.com> Content-Language: en-US Content-ID: <2164CBEC0441F54D9AEAB56B8DCECCC7@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Vivi, Rodrigo" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAyMDE4LTAzLTEzIGF0IDE1OjIzIC0wNzAwLCBSb2RyaWdvIFZpdmkgd3JvdGU6DQo+ IFRoZSBpbW1lZGlhdGUgZW5hYmxpbmcgaXMgYWN0dWFsbHkgbm90IGFuIGlzc3VlIGZvciB0aGUN Cj4gSFcgcGVyc3BlY3RpdmUgZm9yIGNvcmUgcGxhdGZvcm1zIHRoYXQgaGF2ZSBIVyB0cmFja2lu Zy4NCj4gSFcgd2lsbCB3YWl0IGZldyBpZGVudGljYWwgaWRsZSBmcmFtZXMgYmVmb3JlIHRyYW5z aXRpb25pbmcNCj4gdG8gYWN0dWFsIHBzciBhY3RpdmUgYW55d2F5cy4NCj4gDQo+IE5vdGUgdGhh dCB0aGlzIHBhdGNoIGFsc28gcmVtb3ZlIHRoZSBkZWxheWVkIGFjdGl2YXRpb24NCj4gb24gSFNX IGFuZCBCRFcgaW50cm9kdWNlZCBieSBjb21taXQgJ2QwYWM4OTZhNDc3ZA0KPiAoImRybS9pOTE1 OiBEZWxheSBmaXJzdCBQU1IgYWN0aXZhdGlvbi4iKScuIFRoaXMgd2FzDQo+IGludHJvZHVjZWQg dG8gZml4IGEgYmxhbmsgc2NyZWVuIG9uIFZMVi9DSFYgYW5kIGFsc28NCj4gbWFza2VkIHNvbWUg ZnJvemVuIHNjcmVlbnMgb24gb3RoZXIgY29yZSBwbGF0Zm9ybXMuDQo+IFByb2JhYmx5IHRoZSBz YW1lIHRoYXQgd2UgYXJlIG5vdyBwcm9wZXJseSBodW50aW5nIGFuZCBmaXhpbmcuDQo+IA0KPiBG dXJ0aGVybW9yZSwgaWYgd2Ugc3RvcCB1c2luZyBkZWxheWVkIGFjdGl2YXRpb24gb24gY29yZQ0K PiBwbGF0Zm9ybXMgd2Ugd2lsbCBiZSBhYmxlLCBvbiBmb2xsb3dpbmcgdXAgcGF0Y2hlcywNCj4g dG8gdXNlIGF2YWlsYWJsZSB3b3JrYXJvdW5kcyB0byBtYWtlIEhXIHRyYWNraW5nIHByb3Blcmx5 DQo+IGV4aXQgUFNSIGluc3RlYWQgb2YgdGhlIGJpZyBudWtlIG9mIGRpc2FibGluZyBwc3IgYW5k DQo+IHJlLWVuYWJsZSBvbiBleGl0IGFuZCBhY3RpdmF0ZSByZXNwZWN0aXZlbHkuDQo+IEF0IGxl YXN0IG9uIGZldyByZWxpYWJsZSBjYXNlcy4NCj4gDQo+IHYyOihESyk6IFJlbW92ZSB1bm5lY2Vz c2FyeSBXQVJOX09OcyBhbmQgbWFrZSBzb21lIG90aGVyDQo+IAkgVkxWIHwgQ0hWIG1vcmUgcmVh ZGFibGUuDQo+IHYzOiBEbyBpdCByZWdhcmRsZXNzIHRoZSB0aW1lciByZXdvcmsuDQo+IHY0OiAo REsvQ0kpOiBBZGQgVkxWIHx8IENIViBjaGVjayBvbiBjYW5jZWwgd29yayBhdCBwc3JfZGlzYWJs ZS4NCj4gdjU6IEtpbGwgcmVtYWluaW5nIGl0ZW1zIGFuZCBmdWxseSByZXdvcmsgYWN0aXZhdGlv biBmdW5jdGlvbnMuDQo+IA0KPiBDYzogRGhpbmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5w YW5kaXlhbkBpbnRlbC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IFJvZHJpZ28gVml2aSA8cm9kcmln by52aXZpQGludGVsLmNvbT4NCj4gLS0tDQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYyB8ICAyMCArKystLS0NCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg ICAgIHwgICAzICstDQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYyAgICB8IDEz NCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gIDMgZmlsZXMgY2hhbmdl ZCwgNjUgaW5zZXJ0aW9ucygrKSwgOTIgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYw0KPiBpbmRleCA5NzIwMTRiMjQ5N2QuLjdkZmFkYTg2M2Y5YyAxMDA2 NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMNCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMNCj4gQEAgLTI1NjcsMTUgKzI1Njcs MTQgQEAgc3RhdGljIGludCBpOTE1X2VkcF9wc3Jfc3RhdHVzKHN0cnVjdCBzZXFfZmlsZSAqbSwg dm9pZCAqZGF0YSkNCj4gIAlzZXFfcHJpbnRmKG0sICJFbmFibGVkOiAlc1xuIiwgeWVzbm8oKGJv b2wpZGV2X3ByaXYtPnBzci5lbmFibGVkKSk7DQo+ICAJc2VxX3ByaW50ZihtLCAiQnVzeSBmcm9u dGJ1ZmZlciBiaXRzOiAweCUwM3hcbiIsDQo+ICAJCSAgIGRldl9wcml2LT5wc3IuYnVzeV9mcm9u dGJ1ZmZlcl9iaXRzKTsNCj4gLQlzZXFfcHJpbnRmKG0sICJSZS1lbmFibGUgd29yayBzY2hlZHVs ZWQ6ICVzXG4iLA0KPiAtCQkgICB5ZXNubyh3b3JrX2J1c3koJmRldl9wcml2LT5wc3Iud29yay53 b3JrKSkpOw0KPiAgDQo+IC0JaWYgKEhBU19EREkoZGV2X3ByaXYpKSB7DQo+IC0JCWlmIChkZXZf cHJpdi0+cHNyLnBzcjJfc3VwcG9ydCkNCj4gLQkJCWVuYWJsZWQgPSBJOTE1X1JFQUQoRURQX1BT UjJfQ1RMKSAmIEVEUF9QU1IyX0VOQUJMRTsNCj4gLQkJZWxzZQ0KPiAtCQkJZW5hYmxlZCA9IEk5 MTVfUkVBRChFRFBfUFNSX0NUTCkgJiBFRFBfUFNSX0VOQUJMRTsNCj4gLQl9IGVsc2Ugew0KPiAr CWlmIChJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkg ew0KPiArCQlib29sIHNjaGVkdWxlZDsNCj4gKw0KPiArCQlzY2hlZHVsZWQgPSB3b3JrX2J1c3ko JmRldl9wcml2LT5wc3Iudmx2X2FjdGl2YXRlX3dvcmsud29yayk7DQo+ICsJCXNlcV9wcmludGYo bSwgIlJlLWVuYWJsZSB3b3JrIHNjaGVkdWxlZDogJXNcbiIsDQo+ICsJCQkgICB5ZXNubyhzY2hl ZHVsZWQpKTsNCj4gKw0KPiAgCQlmb3JfZWFjaF9waXBlKGRldl9wcml2LCBwaXBlKSB7DQo+ICAJ CQllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPQ0KPiAgCQkJCWludGVsX3BpcGVfdG9f Y3B1X3RyYW5zY29kZXIoZGV2X3ByaXYsIHBpcGUpOw0KPiBAQCAtMjU5NCw2ICsyNTkzLDExIEBA IHN0YXRpYyBpbnQgaTkxNV9lZHBfcHNyX3N0YXR1cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQg KmRhdGEpDQo+ICANCj4gIAkJCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBwb3dl cl9kb21haW4pOw0KPiAgCQl9DQo+ICsJfSBlbHNlIHsNCj4gKwkJaWYgKGRldl9wcml2LT5wc3Iu cHNyMl9zdXBwb3J0KQ0KPiArCQkJZW5hYmxlZCA9IEk5MTVfUkVBRChFRFBfUFNSMl9DVEwpICYg RURQX1BTUjJfRU5BQkxFOw0KPiArCQllbHNlDQo+ICsJCQllbmFibGVkID0gSTkxNV9SRUFEKEVE UF9QU1JfQ1RMKSAmIEVEUF9QU1JfRU5BQkxFOw0KPiAgCX0NCj4gIA0KPiAgCXNlcV9wcmludGYo bSwgIk1haW4gbGluayBpbiBzdGFuZGJ5IG1vZGU6ICVzXG4iLA0KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgNCj4gaW5kZXggNzRiMGU5ZDhmZjYyLi40MDk5OTdmMjllMDcgMTAwNjQ0DQo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaA0KPiBAQCAtNTk4LDcgKzU5OCw3IEBAIHN0cnVjdCBpOTE1X3BzciB7 DQo+ICAJYm9vbCBzaW5rX3N1cHBvcnQ7DQo+ICAJc3RydWN0IGludGVsX2RwICplbmFibGVkOw0K PiAgCWJvb2wgYWN0aXZlOw0KPiAtCXN0cnVjdCBkZWxheWVkX3dvcmsgd29yazsNCj4gKwlzdHJ1 Y3QgZGVsYXllZF93b3JrIHZsdl9hY3RpdmF0ZV93b3JrOw0KPiAgCXVuc2lnbmVkIGJ1c3lfZnJv bnRidWZmZXJfYml0czsNCj4gIAlib29sIHBzcjJfc3VwcG9ydDsNCj4gIAlib29sIGF1eF9mcmFt ZV9zeW5jOw0KPiBAQCAtNjEzLDcgKzYxMyw2IEBAIHN0cnVjdCBpOTE1X3BzciB7DQo+ICAJdm9p ZCAoKmRpc2FibGVfc291cmNlKShzdHJ1Y3QgaW50ZWxfZHAgKiwNCj4gIAkJCSAgICAgICBjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqKTsNCj4gIAl2b2lkICgqZW5hYmxlX3NpbmspKHN0 cnVjdCBpbnRlbF9kcCAqKTsNCj4gLQl2b2lkICgqYWN0aXZhdGUpKHN0cnVjdCBpbnRlbF9kcCAq KTsNCj4gIAl2b2lkICgqc2V0dXBfdnNjKShzdHJ1Y3QgaW50ZWxfZHAgKiwgY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKik7DQo+ICB9Ow0KPiAgDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bz ci5jDQo+IGluZGV4IDMxN2NiNGExMjY5My4uYmM3Yjk0YTA2NDE3IDEwMDY0NA0KPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wc3IuYw0KPiBAQCAtMzExLDI0ICszMTEsNiBAQCBzdGF0aWMgdm9pZCB2bHZf cHNyX2VuYWJsZV9zb3VyY2Uoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwNCj4gIAkJICAgVkxW X0VEUF9QU1JfRU5BQkxFKTsNCj4gIH0NCj4gIA0KPiAtc3RhdGljIHZvaWQgdmx2X3Bzcl9hY3Rp dmF0ZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQ0KPiAtew0KPiAtCXN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOw0KPiAtCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkaWdfcG9ydC0+YmFzZS5iYXNlLmRldjsNCj4gLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7DQo+IC0Jc3RydWN0 IGRybV9jcnRjICpjcnRjID0gZGlnX3BvcnQtPmJhc2UuYmFzZS5jcnRjOw0KPiAtCWVudW0gcGlw ZSBwaXBlID0gdG9faW50ZWxfY3J0YyhjcnRjKS0+cGlwZTsNCj4gLQ0KPiAtCS8qDQo+IC0JICog TGV0J3MgZG8gdGhlIHRyYW5zaXRpb24gZnJvbSBQU1Jfc3RhdGUgMSAoaW5hY3RpdmUpIHRvDQo+ IC0JICogUFNSX3N0YXRlIDIgKHRyYW5zaXRpb24gdG8gYWN0aXZlIC0gc3RhdGljIGZyYW1lIHRy YW5zbWlzc2lvbikuDQo+IC0JICogVGhlbiBIYXJkd2FyZSBpcyByZXNwb25zaWJsZSBmb3IgdGhl IHRyYW5zaXRpb24gdG8NCj4gLQkgKiBQU1Jfc3RhdGUgMyAoYWN0aXZlIC0gbm8gUmVtb3RlIEZy YW1lIEJ1ZmZlciAoUkZCKSB1cGRhdGUpLg0KPiAtCSAqLw0KPiAtCUk5MTVfV1JJVEUoVkxWX1BT UkNUTChwaXBlKSwgSTkxNV9SRUFEKFZMVl9QU1JDVEwocGlwZSkpIHwNCj4gLQkJICAgVkxWX0VE UF9QU1JfQUNUSVZFX0VOVFJZKTsNCj4gLX0NCj4gLQ0KPiAgc3RhdGljIHZvaWQgaHN3X2FjdGl2 YXRlX3BzcjEoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkNCj4gIHsNCj4gIAlzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsNCj4g QEAgLTQzNCwxNiArNDE2LDI1IEBAIHN0YXRpYyB2b2lkIGhzd19wc3JfYWN0aXZhdGUoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCkNCj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGlnX3Bv cnQtPmJhc2UuYmFzZS5kZXY7DQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShkZXYpOw0KPiAgDQo+ICsJV0FSTl9PTihkZXZfcHJpdi0+cHNyLmFjdGl2ZSk7 DQo+ICsJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBzci5sb2NrKTsNCj4gKw0KPiAg CS8qIE9uIEhTVysgYWZ0ZXIgd2UgZW5hYmxlIFBTUiBvbiBzb3VyY2UgaXQgd2lsbCBhY3RpdmF0 ZSBpdA0KPiAgCSAqIGFzIHNvb24gYXMgaXQgbWF0Y2ggY29uZmlndXJlIGlkbGVfZnJhbWUgY291 bnQuIFNvDQo+ICAJICogd2UganVzdCBhY3R1YWxseSBlbmFibGUgaXQgaGVyZSBvbiBhY3RpdmF0 aW9uIHRpbWUuDQo+ICAJICovDQo+ICsJaWYgKGRldl9wcml2LT5wc3IucHNyMl9zdXBwb3J0KQ0K PiArCQlXQVJOX09OKEk5MTVfUkVBRChFRFBfUFNSMl9DVEwpICYgRURQX1BTUjJfRU5BQkxFKTsN Cj4gKwllbHNlDQo+ICsJCVdBUk5fT04oSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKSAmIEVEUF9QU1Jf RU5BQkxFKTsNCj4gIA0KPiAgCS8qIHBzcjEgYW5kIHBzcjIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2 ZS4qLw0KPiAgCWlmIChkZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCkNCj4gIAkJaHN3X2FjdGl2 YXRlX3BzcjIoaW50ZWxfZHApOw0KPiAgCWVsc2UNCj4gIAkJaHN3X2FjdGl2YXRlX3BzcjEoaW50 ZWxfZHApOw0KDQpuaXQ6IFRoZSBicmFuY2hlcyBjYW4gYmUgZ3JvdXBlZCB0b2dldGhlci4NCg0K PiArDQo+ICsJZGV2X3ByaXYtPnBzci5hY3RpdmUgPSB0cnVlOw0KPiAgfQ0KPiAgDQo+ICBzdGF0 aWMgYm9vbCBpbnRlbF9wc3IyX2NvbmZpZ192YWxpZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw LA0KPiBAQCAtNTY4LDE1ICs1NTksMjAgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHNyX2FjdGl2YXRl KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApDQo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IGludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2UuZGV2Ow0KPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsNCj4gIA0KPiAtCWlmIChkZXZfcHJpdi0+cHNy LnBzcjJfc3VwcG9ydCkNCj4gLQkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUjJfQ1RMKSAmIEVE UF9QU1IyX0VOQUJMRSk7DQo+IC0JZWxzZQ0KPiAtCQlXQVJOX09OKEk5MTVfUkVBRChFRFBfUFNS X0NUTCkgJiBFRFBfUFNSX0VOQUJMRSk7DQo+IC0JV0FSTl9PTihkZXZfcHJpdi0+cHNyLmFjdGl2 ZSk7DQo+IC0JbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBzci5sb2NrKTsNCj4gKwlp ZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpIHsN Cj4gKwkJLyoNCj4gKwkJICogRklYTUU6IFZMVi9DSFYgaGFzIG1hbnkgcHJvYmxlbXMsIGJ1dCB3 b3JzdCBiZWluZyBibGFuaw0KPiArCQkgKiBzY3JlZW5zIG9uIGZpcnN0IGFjdGl2YXRpb24uIExl dCdzIHBpY2sgdGhlIHdvcnN0IGNhc2UNCj4gKwkJICogZGVsYXkgZm9yIG5vdy4NCj4gKwkJICov DQo+ICsJCWludCBkZWxheSA9IDE1MDA7DQo+ICANCj4gLQlkZXZfcHJpdi0+cHNyLmFjdGl2YXRl KGludGVsX2RwKTsNCj4gLQlkZXZfcHJpdi0+cHNyLmFjdGl2ZSA9IHRydWU7DQo+ICsJCWlmICgh d29ya19idXN5KCZkZXZfcHJpdi0+cHNyLnZsdl9hY3RpdmF0ZV93b3JrLndvcmspKQ0KDQpTaW5j ZSB0aGUgd29yayBpcyBhbHJlYWR5IGNhbmNlbGxlZCwgZG8gd2UgbmVlZCB0aGlzPw0KDQpUaGUg cGF0Y2ggbG9va3MgZ29vZCB0byBtZSwgZmV3ZXIgaW5kaXJlY3QgY2FsbHMgYW5kIGVhc2llciB0 byByZWFkLg0KDQoNCj4gKwkJCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmZGV2X3ByaXYtPnBzci52 bHZfYWN0aXZhdGVfd29yaywNCj4gKwkJCQkJICAgICAgbXNlY3NfdG9famlmZmllcyhkZWxheSkp Ow0KPiArCX0gZWxzZSB7DQo+ICsJCWhzd19wc3JfYWN0aXZhdGUoaW50ZWxfZHApOw0KPiArCX0N Cj4gIH0NCj4gIA0KPiAgc3RhdGljIHZvaWQgaHN3X3Bzcl9lbmFibGVfc291cmNlKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAsDQo+IEBAIC02NTIsMjIgKzY0OCw3IEBAIHZvaWQgaW50ZWxfcHNy X2VuYWJsZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLA0KPiAgCWRldl9wcml2LT5wc3IuZW5h YmxlX3NvdXJjZShpbnRlbF9kcCwgY3J0Y19zdGF0ZSk7DQo+ICAJZGV2X3ByaXYtPnBzci5lbmFi bGVkID0gaW50ZWxfZHA7DQo+ICANCj4gLQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7 DQo+IC0JCWludGVsX3Bzcl9hY3RpdmF0ZShpbnRlbF9kcCk7DQo+IC0JfSBlbHNlIHsNCj4gLQkJ LyoNCj4gLQkJICogRklYTUU6IEFjdGl2YXRpb24gc2hvdWxkIGhhcHBlbiBpbW1lZGlhdGVseSBz aW5jZSB0aGlzDQo+IC0JCSAqIGZ1bmN0aW9uIGlzIGp1c3QgY2FsbGVkIGFmdGVyIHBpcGUgaXMg ZnVsbHkgdHJhaW5lZCBhbmQNCj4gLQkJICogZW5hYmxlZC4NCj4gLQkJICogSG93ZXZlciBvbiBz b21lIHBsYXRmb3JtcyB3ZSBmYWNlIGlzc3VlcyB3aGVuIGZpcnN0DQo+IC0JCSAqIGFjdGl2YXRp b24gZm9sbG93cyBhIG1vZGVzZXQgc28gcXVpY2tseS4NCj4gLQkJICogICAgIC0gT24gVkxWL0NI ViB3ZSBnZXQgYmFuayBzY3JlZW4gb24gZmlyc3QgYWN0aXZhdGlvbg0KPiAtCQkgKiAgICAgLSBP biBIU1cvQkRXIHdlIGdldCBhIHJlY292ZXJhYmxlIGZyb3plbiBzY3JlZW4gdW50aWwNCj4gLQkJ ICogICAgICAgbmV4dCBleGl0LWFjdGl2YXRlIHNlcXVlbmNlLg0KPiAtCQkgKi8NCj4gLQkJc2No ZWR1bGVfZGVsYXllZF93b3JrKCZkZXZfcHJpdi0+cHNyLndvcmssDQo+IC0JCQkJICAgICAgbXNl Y3NfdG9famlmZmllcyhpbnRlbF9kcC0+cGFuZWxfcG93ZXJfY3ljbGVfZGVsYXkgKiA1KSk7DQo+ IC0JfQ0KPiArCWludGVsX3Bzcl9hY3RpdmF0ZShpbnRlbF9kcCk7DQo+ICANCj4gIHVubG9jazoN Cj4gIAltdXRleF91bmxvY2soJmRldl9wcml2LT5wc3IubG9jayk7DQo+IEBAIC03ODYsMTMgKzc2 NywxNCBAQCB2b2lkIGludGVsX3Bzcl9kaXNhYmxlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAs DQo+ICAJZGV2X3ByaXYtPnBzci5lbmFibGVkID0gTlVMTDsNCj4gIAltdXRleF91bmxvY2soJmRl dl9wcml2LT5wc3IubG9jayk7DQo+ICANCj4gLQljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmRl dl9wcml2LT5wc3Iud29yayk7DQo+ICsJaWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElT X0NIRVJSWVZJRVcoZGV2X3ByaXYpKQ0KPiArCQljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmRl dl9wcml2LT5wc3Iudmx2X2FjdGl2YXRlX3dvcmspOw0KPiAgfQ0KPiAgDQo+IC1zdGF0aWMgdm9p ZCBpbnRlbF9wc3Jfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspDQo+ICtzdGF0aWMgdm9p ZCB2bHZfcHNyX2FjdGl2YXRlX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQ0KPiAgew0K PiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9DQo+IC0JCWNvbnRhaW5lcl9v Zih3b3JrLCB0eXBlb2YoKmRldl9wcml2KSwgcHNyLndvcmsud29yayk7DQo+ICsJICAgICAgY29u dGFpbmVyX29mKHdvcmssIHR5cGVvZigqZGV2X3ByaXYpLCBwc3Iudmx2X2FjdGl2YXRlX3dvcmsu d29yayk7DQo+ICAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGRldl9wcml2LT5wc3IuZW5h YmxlZDsNCj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBkcF90b19kaWdfcG9ydChpbnRlbF9k cCktPmJhc2UuYmFzZS5jcnRjOw0KPiAgCWVudW0gcGlwZSBwaXBlID0gdG9faW50ZWxfY3J0Yyhj cnRjKS0+cGlwZTsNCj4gQEAgLTgwMiwzNSArNzg0LDEzIEBAIHN0YXRpYyB2b2lkIGludGVsX3Bz cl93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykNCj4gIAkgKiBQU1IgbWlnaHQgdGFrZSBz b21lIHRpbWUgdG8gZ2V0IGZ1bGx5IGRpc2FibGVkDQo+ICAJICogYW5kIGJlIHJlYWR5IGZvciBy ZS1lbmFibGUuDQo+ICAJICovDQo+IC0JaWYgKEhBU19EREkoZGV2X3ByaXYpKSB7DQo+IC0JCWlm IChkZXZfcHJpdi0+cHNyLnBzcjJfc3VwcG9ydCkgew0KPiAtCQkJaWYgKGludGVsX3dhaXRfZm9y X3JlZ2lzdGVyKGRldl9wcml2LA0KPiAtCQkJCQkJICAgIEVEUF9QU1IyX1NUQVRVUywNCj4gLQkJ CQkJCSAgICBFRFBfUFNSMl9TVEFUVVNfU1RBVEVfTUFTSywNCj4gLQkJCQkJCSAgICAwLA0KPiAt CQkJCQkJICAgIDUwKSkgew0KPiAtCQkJCURSTV9FUlJPUigiVGltZWQgb3V0IHdhaXRpbmcgZm9y IFBTUjIgSWRsZSBmb3IgcmUtZW5hYmxlXG4iKTsNCj4gLQkJCQlyZXR1cm47DQo+IC0JCQl9DQo+ IC0JCX0gZWxzZSB7DQo+IC0JCQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYs DQo+IC0JCQkJCQkgICAgRURQX1BTUl9TVEFUVVMsDQo+IC0JCQkJCQkgICAgRURQX1BTUl9TVEFU VVNfU1RBVEVfTUFTSywNCj4gLQkJCQkJCSAgICAwLA0KPiAtCQkJCQkJICAgIDUwKSkgew0KPiAt CQkJCURSTV9FUlJPUigiVGltZWQgb3V0IHdhaXRpbmcgZm9yIFBTUiBJZGxlIGZvciByZS1lbmFi bGVcbiIpOw0KPiAtCQkJCXJldHVybjsNCj4gLQkJCX0NCj4gLQkJfQ0KPiAtCX0gZWxzZSB7DQo+ IC0JCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwNCj4gLQkJCQkJICAgIFZM Vl9QU1JTVEFUKHBpcGUpLA0KPiAtCQkJCQkgICAgVkxWX0VEUF9QU1JfSU5fVFJBTlMsDQo+IC0J CQkJCSAgICAwLA0KPiAtCQkJCQkgICAgMSkpIHsNCj4gLQkJCURSTV9FUlJPUigiVGltZWQgb3V0 IHdhaXRpbmcgZm9yIFBTUiBJZGxlIGZvciByZS1lbmFibGVcbiIpOw0KPiAtCQkJcmV0dXJuOw0K PiAtCQl9DQo+ICsJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LA0KPiArCQkJ CSAgICBWTFZfUFNSU1RBVChwaXBlKSwNCj4gKwkJCQkgICAgVkxWX0VEUF9QU1JfSU5fVFJBTlMs DQo+ICsJCQkJICAgIDAsDQo+ICsJCQkJICAgIDEpKSB7DQo+ICsJCURSTV9FUlJPUigiVGltZWQg b3V0IHdhaXRpbmcgZm9yIFBTUiBJZGxlIGZvciByZS1lbmFibGVcbiIpOw0KPiArCQlyZXR1cm47 DQo+ICAJfQ0KPiAgCW11dGV4X2xvY2soJmRldl9wcml2LT5wc3IubG9jayk7DQo+ICAJaW50ZWxf ZHAgPSBkZXZfcHJpdi0+cHNyLmVuYWJsZWQ7DQo+IEBAIC04NDYsOCArODA2LDE3IEBAIHN0YXRp YyB2b2lkIGludGVsX3Bzcl93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykNCj4gIAlpZiAo ZGV2X3ByaXYtPnBzci5idXN5X2Zyb250YnVmZmVyX2JpdHMpDQo+ICAJCWdvdG8gdW5sb2NrOw0K PiAgDQo+IC0JaW50ZWxfcHNyX2FjdGl2YXRlKGludGVsX2RwKTsNCj4gLXVubG9jazoNCj4gKwkv Kg0KPiArCSAqIExldCdzIGRvIHRoZSB0cmFuc2l0aW9uIGZyb20gUFNSX3N0YXRlIDEgKGluYWN0 aXZlKSB0bw0KPiArCSAqIFBTUl9zdGF0ZSAyICh0cmFuc2l0aW9uIHRvIGFjdGl2ZSAtIHN0YXRp YyBmcmFtZSB0cmFuc21pc3Npb24pLg0KPiArCSAqIFRoZW4gSGFyZHdhcmUgaXMgcmVzcG9uc2li bGUgZm9yIHRoZSB0cmFuc2l0aW9uIHRvDQo+ICsJICogUFNSX3N0YXRlIDMgKGFjdGl2ZSAtIG5v IFJlbW90ZSBGcmFtZSBCdWZmZXIgKFJGQikgdXBkYXRlKS4NCj4gKwkgKi8NCj4gKwlJOTE1X1dS SVRFKFZMVl9QU1JDVEwocGlwZSksIEk5MTVfUkVBRChWTFZfUFNSQ1RMKHBpcGUpKSB8DQo+ICsJ CSAgIFZMVl9FRFBfUFNSX0FDVElWRV9FTlRSWSk7DQo+ICsJZGV2X3ByaXYtPnBzci5hY3RpdmUg PSB0cnVlOw0KPiArDQo+ICsgdW5sb2NrOg0KPiAgCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPnBz ci5sb2NrKTsNCj4gIH0NCj4gIA0KPiBAQCAtMTAyMSw2ICs5OTAsOSBAQCB2b2lkIGludGVsX3Bz cl9mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsDQo+ICAJaWYgKGRldl9w cml2LT5wc3IuaGFzX2h3X3RyYWNraW5nICYmIG9yaWdpbiA9PSBPUklHSU5fRkxJUCkNCj4gIAkJ cmV0dXJuOw0KPiAgDQo+ICsJaWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElTX0NIRVJS WVZJRVcoZGV2X3ByaXYpKQ0KPiArCQljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmRldl9wcml2 LT5wc3Iudmx2X2FjdGl2YXRlX3dvcmspOw0KDQpwc3JfaW52YWxpZGF0ZSgpIHdpbGwgYWxzbyBu ZWVkIGEgY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCkgSSB3b25kZXIgaWYNCnRoaXMgc2hvdWxk IG1vdmUgdG8gaW50ZWxfcHNyX2V4aXQoKSwgcmlnaHQgYmVmb3JlIHdyaXRpbmcgdG8NClZMVl9Q U1JDVEwuDQoNCg0KPiArDQo+ICAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPnBzci5sb2NrKTsNCj4g IAlpZiAoIWRldl9wcml2LT5wc3IuZW5hYmxlZCkgew0KPiAgCQltdXRleF91bmxvY2soJmRldl9w cml2LT5wc3IubG9jayk7DQo+IEBAIC0xMDUzLDkgKzEwMjUsOCBAQCB2b2lkIGludGVsX3Bzcl9m bHVzaChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsDQo+ICAJfQ0KPiAgDQo+ICAJ aWYgKCFkZXZfcHJpdi0+cHNyLmFjdGl2ZSAmJiAhZGV2X3ByaXYtPnBzci5idXN5X2Zyb250YnVm ZmVyX2JpdHMpDQo+IC0JCWlmICghd29ya19idXN5KCZkZXZfcHJpdi0+cHNyLndvcmsud29yaykp DQo+IC0JCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmRldl9wcml2LT5wc3Iud29yaywNCj4gLQkJ CQkJICAgICAgbXNlY3NfdG9famlmZmllcygxMDApKTsNCj4gKwkJaW50ZWxfcHNyX2FjdGl2YXRl KGRldl9wcml2LT5wc3IuZW5hYmxlZCk7DQo+ICsNCj4gIAltdXRleF91bmxvY2soJmRldl9wcml2 LT5wc3IubG9jayk7DQo+ICB9DQo+ICANCj4gQEAgLTExMDIsMjEgKzEwNzMsMjAgQEAgdm9pZCBp bnRlbF9wc3JfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpDQo+ICAJCWRl dl9wcml2LT5wc3IubGlua19zdGFuZGJ5ID0gZmFsc2U7DQo+ICAJfQ0KPiAgDQo+IC0JSU5JVF9E RUxBWUVEX1dPUksoJmRldl9wcml2LT5wc3Iud29yaywgaW50ZWxfcHNyX3dvcmspOw0KPiAgCW11 dGV4X2luaXQoJmRldl9wcml2LT5wc3IubG9jayk7DQo+ICANCj4gIAlpZiAoSVNfVkFMTEVZVklF VyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpIHsNCj4gKwkJSU5JVF9ERUxB WUVEX1dPUksoJmRldl9wcml2LT5wc3Iudmx2X2FjdGl2YXRlX3dvcmssDQo+ICsJCQkJICB2bHZf cHNyX2FjdGl2YXRlX3dvcmspOw0KPiAgCQlkZXZfcHJpdi0+cHNyLmVuYWJsZV9zb3VyY2UgPSB2 bHZfcHNyX2VuYWJsZV9zb3VyY2U7DQo+ICAJCWRldl9wcml2LT5wc3IuZGlzYWJsZV9zb3VyY2Ug PSB2bHZfcHNyX2Rpc2FibGU7DQo+ICAJCWRldl9wcml2LT5wc3IuZW5hYmxlX3NpbmsgPSB2bHZf cHNyX2VuYWJsZV9zaW5rOw0KPiAtCQlkZXZfcHJpdi0+cHNyLmFjdGl2YXRlID0gdmx2X3Bzcl9h Y3RpdmF0ZTsNCj4gIAkJZGV2X3ByaXYtPnBzci5zZXR1cF92c2MgPSB2bHZfcHNyX3NldHVwX3Zz YzsNCj4gIAl9IGVsc2Ugew0KPiAgCQlkZXZfcHJpdi0+cHNyLmhhc19od190cmFja2luZyA9IHRy dWU7DQo+ICAJCWRldl9wcml2LT5wc3IuZW5hYmxlX3NvdXJjZSA9IGhzd19wc3JfZW5hYmxlX3Nv dXJjZTsNCj4gIAkJZGV2X3ByaXYtPnBzci5kaXNhYmxlX3NvdXJjZSA9IGhzd19wc3JfZGlzYWJs ZTsNCj4gIAkJZGV2X3ByaXYtPnBzci5lbmFibGVfc2luayA9IGhzd19wc3JfZW5hYmxlX3Npbms7 DQoNCldlIG1pZ2h0IGJlIGFibGUgdG8gcmVtb3ZlIGVuYWJsZV9zaW5rIGFsc28gaWYgbXkgYXV4 IHBhdGNoIGdvZXMNCnRocm91Z2guIGVuYWJsZV8qc2luayogcmVxdWlyZWQgcGxhdGZvcm0gc3Bl Y2lmaWMgaG9va3MgaXMgYSBiaXQgb2RkDQpJTU8uDQoNCg0KPiAtCQlkZXZfcHJpdi0+cHNyLmFj dGl2YXRlID0gaHN3X3Bzcl9hY3RpdmF0ZTsNCj4gIAkJZGV2X3ByaXYtPnBzci5zZXR1cF92c2Mg PSBoc3dfcHNyX3NldHVwX3ZzYzsNCj4gIAl9DQo+ICB9DQpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK