From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: [RFC v5] drm/i915/psr: Kill scheduled work for Core platforms. Date: Tue, 13 Mar 2018 15:23:19 -0700 Message-ID: <20180313222319.2721-1-rodrigo.vivi@intel.com> References: <1520893121.4958.48.camel@dk-H97M-D3H> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 290DE6E2AE for ; Tue, 13 Mar 2018 22:23:25 +0000 (UTC) In-Reply-To: <1520893121.4958.48.camel@dk-H97M-D3H> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Dhinakaran Pandiyan , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org VGhlIGltbWVkaWF0ZSBlbmFibGluZyBpcyBhY3R1YWxseSBub3QgYW4gaXNzdWUgZm9yIHRoZQpI VyBwZXJzcGVjdGl2ZSBmb3IgY29yZSBwbGF0Zm9ybXMgdGhhdCBoYXZlIEhXIHRyYWNraW5nLgpI VyB3aWxsIHdhaXQgZmV3IGlkZW50aWNhbCBpZGxlIGZyYW1lcyBiZWZvcmUgdHJhbnNpdGlvbmlu Zwp0byBhY3R1YWwgcHNyIGFjdGl2ZSBhbnl3YXlzLgoKTm90ZSB0aGF0IHRoaXMgcGF0Y2ggYWxz byByZW1vdmUgdGhlIGRlbGF5ZWQgYWN0aXZhdGlvbgpvbiBIU1cgYW5kIEJEVyBpbnRyb2R1Y2Vk IGJ5IGNvbW1pdCAnZDBhYzg5NmE0NzdkCigiZHJtL2k5MTU6IERlbGF5IGZpcnN0IFBTUiBhY3Rp dmF0aW9uLiIpJy4gVGhpcyB3YXMKaW50cm9kdWNlZCB0byBmaXggYSBibGFuayBzY3JlZW4gb24g VkxWL0NIViBhbmQgYWxzbwptYXNrZWQgc29tZSBmcm96ZW4gc2NyZWVucyBvbiBvdGhlciBjb3Jl IHBsYXRmb3Jtcy4KUHJvYmFibHkgdGhlIHNhbWUgdGhhdCB3ZSBhcmUgbm93IHByb3Blcmx5IGh1 bnRpbmcgYW5kIGZpeGluZy4KCkZ1cnRoZXJtb3JlLCBpZiB3ZSBzdG9wIHVzaW5nIGRlbGF5ZWQg YWN0aXZhdGlvbiBvbiBjb3JlCnBsYXRmb3JtcyB3ZSB3aWxsIGJlIGFibGUsIG9uIGZvbGxvd2lu ZyB1cCBwYXRjaGVzLAp0byB1c2UgYXZhaWxhYmxlIHdvcmthcm91bmRzIHRvIG1ha2UgSFcgdHJh Y2tpbmcgcHJvcGVybHkKZXhpdCBQU1IgaW5zdGVhZCBvZiB0aGUgYmlnIG51a2Ugb2YgZGlzYWJs aW5nIHBzciBhbmQKcmUtZW5hYmxlIG9uIGV4aXQgYW5kIGFjdGl2YXRlIHJlc3BlY3RpdmVseS4K QXQgbGVhc3Qgb24gZmV3IHJlbGlhYmxlIGNhc2VzLgoKdjI6KERLKTogUmVtb3ZlIHVubmVjZXNz YXJ5IFdBUk5fT05zIGFuZCBtYWtlIHNvbWUgb3RoZXIKCSBWTFYgfCBDSFYgbW9yZSByZWFkYWJs ZS4KdjM6IERvIGl0IHJlZ2FyZGxlc3MgdGhlIHRpbWVyIHJld29yay4KdjQ6IChESy9DSSk6IEFk ZCBWTFYgfHwgQ0hWIGNoZWNrIG9uIGNhbmNlbCB3b3JrIGF0IHBzcl9kaXNhYmxlLgp2NTogS2ls bCByZW1haW5pbmcgaXRlbXMgYW5kIGZ1bGx5IHJld29yayBhY3RpdmF0aW9uIGZ1bmN0aW9ucy4K CkNjOiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4K U2lnbmVkLW9mZi1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIHwgIDIwICsrKy0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgfCAgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3Bzci5jICAgIHwgMTM0ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA2NSBpbnNlcnRpb25zKCspLCA5MiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCmluZGV4IDk3MjAxNGIyNDk3ZC4uN2RmYWRh ODYzZjljIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwpAQCAtMjU2NywxNSArMjU2 NywxNCBAQCBzdGF0aWMgaW50IGk5MTVfZWRwX3Bzcl9zdGF0dXMoc3RydWN0IHNlcV9maWxlICpt LCB2b2lkICpkYXRhKQogCXNlcV9wcmludGYobSwgIkVuYWJsZWQ6ICVzXG4iLCB5ZXNubygoYm9v bClkZXZfcHJpdi0+cHNyLmVuYWJsZWQpKTsKIAlzZXFfcHJpbnRmKG0sICJCdXN5IGZyb250YnVm ZmVyIGJpdHM6IDB4JTAzeFxuIiwKIAkJICAgZGV2X3ByaXYtPnBzci5idXN5X2Zyb250YnVmZmVy X2JpdHMpOwotCXNlcV9wcmludGYobSwgIlJlLWVuYWJsZSB3b3JrIHNjaGVkdWxlZDogJXNcbiIs Ci0JCSAgIHllc25vKHdvcmtfYnVzeSgmZGV2X3ByaXYtPnBzci53b3JrLndvcmspKSk7CiAKLQlp ZiAoSEFTX0RESShkZXZfcHJpdikpIHsKLQkJaWYgKGRldl9wcml2LT5wc3IucHNyMl9zdXBwb3J0 KQotCQkJZW5hYmxlZCA9IEk5MTVfUkVBRChFRFBfUFNSMl9DVEwpICYgRURQX1BTUjJfRU5BQkxF OwotCQllbHNlCi0JCQllbmFibGVkID0gSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKSAmIEVEUF9QU1Jf RU5BQkxFOwotCX0gZWxzZSB7CisJaWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElTX0NI RVJSWVZJRVcoZGV2X3ByaXYpKSB7CisJCWJvb2wgc2NoZWR1bGVkOworCisJCXNjaGVkdWxlZCA9 IHdvcmtfYnVzeSgmZGV2X3ByaXYtPnBzci52bHZfYWN0aXZhdGVfd29yay53b3JrKTsKKwkJc2Vx X3ByaW50ZihtLCAiUmUtZW5hYmxlIHdvcmsgc2NoZWR1bGVkOiAlc1xuIiwKKwkJCSAgIHllc25v KHNjaGVkdWxlZCkpOworCiAJCWZvcl9lYWNoX3BpcGUoZGV2X3ByaXYsIHBpcGUpIHsKIAkJCWVu dW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9CiAJCQkJaW50ZWxfcGlwZV90b19jcHVfdHJh bnNjb2RlcihkZXZfcHJpdiwgcGlwZSk7CkBAIC0yNTk0LDYgKzI1OTMsMTEgQEAgc3RhdGljIGlu dCBpOTE1X2VkcF9wc3Jfc3RhdHVzKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAog CQkJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIHBvd2VyX2RvbWFpbik7CiAJCX0K Kwl9IGVsc2UgeworCQlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQpCisJCQllbmFibGVk ID0gSTkxNV9SRUFEKEVEUF9QU1IyX0NUTCkgJiBFRFBfUFNSMl9FTkFCTEU7CisJCWVsc2UKKwkJ CWVuYWJsZWQgPSBJOTE1X1JFQUQoRURQX1BTUl9DVEwpICYgRURQX1BTUl9FTkFCTEU7CiAJfQog CiAJc2VxX3ByaW50ZihtLCAiTWFpbiBsaW5rIGluIHN0YW5kYnkgbW9kZTogJXNcbiIsCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAppbmRleCA3NGIwZTlkOGZmNjIuLjQwOTk5N2YyOWUwNyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCkBAIC01OTgsNyArNTk4LDcgQEAgc3RydWN0IGk5MTVfcHNyIHsK IAlib29sIHNpbmtfc3VwcG9ydDsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmVuYWJsZWQ7CiAJYm9vbCBh Y3RpdmU7Ci0Jc3RydWN0IGRlbGF5ZWRfd29yayB3b3JrOworCXN0cnVjdCBkZWxheWVkX3dvcmsg dmx2X2FjdGl2YXRlX3dvcms7CiAJdW5zaWduZWQgYnVzeV9mcm9udGJ1ZmZlcl9iaXRzOwogCWJv b2wgcHNyMl9zdXBwb3J0OwogCWJvb2wgYXV4X2ZyYW1lX3N5bmM7CkBAIC02MTMsNyArNjEzLDYg QEAgc3RydWN0IGk5MTVfcHNyIHsKIAl2b2lkICgqZGlzYWJsZV9zb3VyY2UpKHN0cnVjdCBpbnRl bF9kcCAqLAogCQkJICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICopOwogCXZv aWQgKCplbmFibGVfc2luaykoc3RydWN0IGludGVsX2RwICopOwotCXZvaWQgKCphY3RpdmF0ZSko c3RydWN0IGludGVsX2RwICopOwogCXZvaWQgKCpzZXR1cF92c2MpKHN0cnVjdCBpbnRlbF9kcCAq LCBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqKTsKIH07CiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcHNyLmMKaW5kZXggMzE3Y2I0YTEyNjkzLi5iYzdiOTRhMDY0MTcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3Bzci5jCkBAIC0zMTEsMjQgKzMxMSw2IEBAIHN0YXRpYyB2b2lkIHZsdl9wc3JfZW5h YmxlX3NvdXJjZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCQkgICBWTFZfRURQX1BTUl9F TkFCTEUpOwogfQogCi1zdGF0aWMgdm9pZCB2bHZfcHNyX2FjdGl2YXRlKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHApCi17Ci0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBk cF90b19kaWdfcG9ydChpbnRlbF9kcCk7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRpZ19w b3J0LT5iYXNlLmJhc2UuZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZGV2KTsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBkaWdfcG9ydC0+YmFzZS5i YXNlLmNydGM7Ci0JZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOwot Ci0JLyoKLQkgKiBMZXQncyBkbyB0aGUgdHJhbnNpdGlvbiBmcm9tIFBTUl9zdGF0ZSAxIChpbmFj dGl2ZSkgdG8KLQkgKiBQU1Jfc3RhdGUgMiAodHJhbnNpdGlvbiB0byBhY3RpdmUgLSBzdGF0aWMg ZnJhbWUgdHJhbnNtaXNzaW9uKS4KLQkgKiBUaGVuIEhhcmR3YXJlIGlzIHJlc3BvbnNpYmxlIGZv ciB0aGUgdHJhbnNpdGlvbiB0bwotCSAqIFBTUl9zdGF0ZSAzIChhY3RpdmUgLSBubyBSZW1vdGUg RnJhbWUgQnVmZmVyIChSRkIpIHVwZGF0ZSkuCi0JICovCi0JSTkxNV9XUklURShWTFZfUFNSQ1RM KHBpcGUpLCBJOTE1X1JFQUQoVkxWX1BTUkNUTChwaXBlKSkgfAotCQkgICBWTFZfRURQX1BTUl9B Q1RJVkVfRU5UUlkpOwotfQotCiBzdGF0aWMgdm9pZCBoc3dfYWN0aXZhdGVfcHNyMShzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKQogewogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19w b3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwpAQCAtNDM0LDE2ICs0MTYsMjUgQEAgc3Rh dGljIHZvaWQgaHN3X3Bzcl9hY3RpdmF0ZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkaWdfcG9ydC0+YmFzZS5iYXNlLmRldjsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAKKwlXQVJOX09OKGRl dl9wcml2LT5wc3IuYWN0aXZlKTsKKwlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+cHNy LmxvY2spOworCiAJLyogT24gSFNXKyBhZnRlciB3ZSBlbmFibGUgUFNSIG9uIHNvdXJjZSBpdCB3 aWxsIGFjdGl2YXRlIGl0CiAJICogYXMgc29vbiBhcyBpdCBtYXRjaCBjb25maWd1cmUgaWRsZV9m cmFtZSBjb3VudC4gU28KIAkgKiB3ZSBqdXN0IGFjdHVhbGx5IGVuYWJsZSBpdCBoZXJlIG9uIGFj dGl2YXRpb24gdGltZS4KIAkgKi8KKwlpZiAoZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQpCisJ CVdBUk5fT04oSTkxNV9SRUFEKEVEUF9QU1IyX0NUTCkgJiBFRFBfUFNSMl9FTkFCTEUpOworCWVs c2UKKwkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUl9DVEwpICYgRURQX1BTUl9FTkFCTEUpOwog CiAJLyogcHNyMSBhbmQgcHNyMiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiovCiAJaWYgKGRldl9w cml2LT5wc3IucHNyMl9zdXBwb3J0KQogCQloc3dfYWN0aXZhdGVfcHNyMihpbnRlbF9kcCk7CiAJ ZWxzZQogCQloc3dfYWN0aXZhdGVfcHNyMShpbnRlbF9kcCk7CisKKwlkZXZfcHJpdi0+cHNyLmFj dGl2ZSA9IHRydWU7CiB9CiAKIHN0YXRpYyBib29sIGludGVsX3BzcjJfY29uZmlnX3ZhbGlkKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCkBAIC01NjgsMTUgKzU1OSwyMCBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9wc3JfYWN0aXZhdGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXY7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCi0JaWYgKGRldl9w cml2LT5wc3IucHNyMl9zdXBwb3J0KQotCQlXQVJOX09OKEk5MTVfUkVBRChFRFBfUFNSMl9DVEwp ICYgRURQX1BTUjJfRU5BQkxFKTsKLQllbHNlCi0JCVdBUk5fT04oSTkxNV9SRUFEKEVEUF9QU1Jf Q1RMKSAmIEVEUF9QU1JfRU5BQkxFKTsKLQlXQVJOX09OKGRldl9wcml2LT5wc3IuYWN0aXZlKTsK LQlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+cHNyLmxvY2spOworCWlmIChJU19WQUxM RVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkgeworCQkvKgorCQkg KiBGSVhNRTogVkxWL0NIViBoYXMgbWFueSBwcm9ibGVtcywgYnV0IHdvcnN0IGJlaW5nIGJsYW5r CisJCSAqIHNjcmVlbnMgb24gZmlyc3QgYWN0aXZhdGlvbi4gTGV0J3MgcGljayB0aGUgd29yc3Qg Y2FzZQorCQkgKiBkZWxheSBmb3Igbm93LgorCQkgKi8KKwkJaW50IGRlbGF5ID0gMTUwMDsKIAot CWRldl9wcml2LT5wc3IuYWN0aXZhdGUoaW50ZWxfZHApOwotCWRldl9wcml2LT5wc3IuYWN0aXZl ID0gdHJ1ZTsKKwkJaWYgKCF3b3JrX2J1c3koJmRldl9wcml2LT5wc3Iudmx2X2FjdGl2YXRlX3dv cmsud29yaykpCisJCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmRldl9wcml2LT5wc3Iudmx2X2Fj dGl2YXRlX3dvcmssCisJCQkJCSAgICAgIG1zZWNzX3RvX2ppZmZpZXMoZGVsYXkpKTsKKwl9IGVs c2UgeworCQloc3dfcHNyX2FjdGl2YXRlKGludGVsX2RwKTsKKwl9CiB9CiAKIHN0YXRpYyB2b2lk IGhzd19wc3JfZW5hYmxlX3NvdXJjZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLApAQCAtNjUy LDIyICs2NDgsNyBAQCB2b2lkIGludGVsX3Bzcl9lbmFibGUoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCwKIAlkZXZfcHJpdi0+cHNyLmVuYWJsZV9zb3VyY2UoaW50ZWxfZHAsIGNydGNfc3RhdGUp OwogCWRldl9wcml2LT5wc3IuZW5hYmxlZCA9IGludGVsX2RwOwogCi0JaWYgKElOVEVMX0dFTihk ZXZfcHJpdikgPj0gOSkgewotCQlpbnRlbF9wc3JfYWN0aXZhdGUoaW50ZWxfZHApOwotCX0gZWxz ZSB7Ci0JCS8qCi0JCSAqIEZJWE1FOiBBY3RpdmF0aW9uIHNob3VsZCBoYXBwZW4gaW1tZWRpYXRl bHkgc2luY2UgdGhpcwotCQkgKiBmdW5jdGlvbiBpcyBqdXN0IGNhbGxlZCBhZnRlciBwaXBlIGlz IGZ1bGx5IHRyYWluZWQgYW5kCi0JCSAqIGVuYWJsZWQuCi0JCSAqIEhvd2V2ZXIgb24gc29tZSBw bGF0Zm9ybXMgd2UgZmFjZSBpc3N1ZXMgd2hlbiBmaXJzdAotCQkgKiBhY3RpdmF0aW9uIGZvbGxv d3MgYSBtb2Rlc2V0IHNvIHF1aWNrbHkuCi0JCSAqICAgICAtIE9uIFZMVi9DSFYgd2UgZ2V0IGJh bmsgc2NyZWVuIG9uIGZpcnN0IGFjdGl2YXRpb24KLQkJICogICAgIC0gT24gSFNXL0JEVyB3ZSBn ZXQgYSByZWNvdmVyYWJsZSBmcm96ZW4gc2NyZWVuIHVudGlsCi0JCSAqICAgICAgIG5leHQgZXhp dC1hY3RpdmF0ZSBzZXF1ZW5jZS4KLQkJICovCi0JCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmZGV2 X3ByaXYtPnBzci53b3JrLAotCQkJCSAgICAgIG1zZWNzX3RvX2ppZmZpZXMoaW50ZWxfZHAtPnBh bmVsX3Bvd2VyX2N5Y2xlX2RlbGF5ICogNSkpOwotCX0KKwlpbnRlbF9wc3JfYWN0aXZhdGUoaW50 ZWxfZHApOwogCiB1bmxvY2s6CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cHNyLmxvY2spOwpA QCAtNzg2LDEzICs3NjcsMTQgQEAgdm9pZCBpbnRlbF9wc3JfZGlzYWJsZShzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwLAogCWRldl9wcml2LT5wc3IuZW5hYmxlZCA9IE5VTEw7CiAJbXV0ZXhfdW5s b2NrKCZkZXZfcHJpdi0+cHNyLmxvY2spOwogCi0JY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZk ZXZfcHJpdi0+cHNyLndvcmspOworCWlmIChJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19D SEVSUllWSUVXKGRldl9wcml2KSkKKwkJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZkZXZfcHJp di0+cHNyLnZsdl9hY3RpdmF0ZV93b3JrKTsKIH0KIAotc3RhdGljIHZvaWQgaW50ZWxfcHNyX3dv cmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQorc3RhdGljIHZvaWQgdmx2X3Bzcl9hY3RpdmF0 ZV93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPQotCQljb250YWluZXJfb2Yod29yaywgdHlwZW9mKCpkZXZfcHJpdiks IHBzci53b3JrLndvcmspOworCSAgICAgIGNvbnRhaW5lcl9vZih3b3JrLCB0eXBlb2YoKmRldl9w cml2KSwgcHNyLnZsdl9hY3RpdmF0ZV93b3JrLndvcmspOwogCXN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHAgPSBkZXZfcHJpdi0+cHNyLmVuYWJsZWQ7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjID0g ZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5iYXNlLmJhc2UuY3J0YzsKIAllbnVtIHBpcGUgcGlw ZSA9IHRvX2ludGVsX2NydGMoY3J0YyktPnBpcGU7CkBAIC04MDIsMzUgKzc4NCwxMyBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9wc3Jfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJICogUFNS IG1pZ2h0IHRha2Ugc29tZSB0aW1lIHRvIGdldCBmdWxseSBkaXNhYmxlZAogCSAqIGFuZCBiZSBy ZWFkeSBmb3IgcmUtZW5hYmxlLgogCSAqLwotCWlmIChIQVNfRERJKGRldl9wcml2KSkgewotCQlp ZiAoZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQpIHsKLQkJCWlmIChpbnRlbF93YWl0X2Zvcl9y ZWdpc3RlcihkZXZfcHJpdiwKLQkJCQkJCSAgICBFRFBfUFNSMl9TVEFUVVMsCi0JCQkJCQkgICAg RURQX1BTUjJfU1RBVFVTX1NUQVRFX01BU0ssCi0JCQkJCQkgICAgMCwKLQkJCQkJCSAgICA1MCkp IHsKLQkJCQlEUk1fRVJST1IoIlRpbWVkIG91dCB3YWl0aW5nIGZvciBQU1IyIElkbGUgZm9yIHJl LWVuYWJsZVxuIik7Ci0JCQkJcmV0dXJuOwotCQkJfQotCQl9IGVsc2UgewotCQkJaWYgKGludGVs X3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LAotCQkJCQkJICAgIEVEUF9QU1JfU1RBVFVTLAot CQkJCQkJICAgIEVEUF9QU1JfU1RBVFVTX1NUQVRFX01BU0ssCi0JCQkJCQkgICAgMCwKLQkJCQkJ CSAgICA1MCkpIHsKLQkJCQlEUk1fRVJST1IoIlRpbWVkIG91dCB3YWl0aW5nIGZvciBQU1IgSWRs ZSBmb3IgcmUtZW5hYmxlXG4iKTsKLQkJCQlyZXR1cm47Ci0JCQl9Ci0JCX0KLQl9IGVsc2Ugewot CQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsCi0JCQkJCSAgICBWTFZfUFNS U1RBVChwaXBlKSwKLQkJCQkJICAgIFZMVl9FRFBfUFNSX0lOX1RSQU5TLAotCQkJCQkgICAgMCwK LQkJCQkJICAgIDEpKSB7Ci0JCQlEUk1fRVJST1IoIlRpbWVkIG91dCB3YWl0aW5nIGZvciBQU1Ig SWRsZSBmb3IgcmUtZW5hYmxlXG4iKTsKLQkJCXJldHVybjsKLQkJfQorCWlmIChpbnRlbF93YWl0 X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKKwkJCQkgICAgVkxWX1BTUlNUQVQocGlwZSksCisJCQkJ ICAgIFZMVl9FRFBfUFNSX0lOX1RSQU5TLAorCQkJCSAgICAwLAorCQkJCSAgICAxKSkgeworCQlE Uk1fRVJST1IoIlRpbWVkIG91dCB3YWl0aW5nIGZvciBQU1IgSWRsZSBmb3IgcmUtZW5hYmxlXG4i KTsKKwkJcmV0dXJuOwogCX0KIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+cHNyLmxvY2spOwogCWlu dGVsX2RwID0gZGV2X3ByaXYtPnBzci5lbmFibGVkOwpAQCAtODQ2LDggKzgwNiwxNyBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9wc3Jfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJaWYgKGRl dl9wcml2LT5wc3IuYnVzeV9mcm9udGJ1ZmZlcl9iaXRzKQogCQlnb3RvIHVubG9jazsKIAotCWlu dGVsX3Bzcl9hY3RpdmF0ZShpbnRlbF9kcCk7Ci11bmxvY2s6CisJLyoKKwkgKiBMZXQncyBkbyB0 aGUgdHJhbnNpdGlvbiBmcm9tIFBTUl9zdGF0ZSAxIChpbmFjdGl2ZSkgdG8KKwkgKiBQU1Jfc3Rh dGUgMiAodHJhbnNpdGlvbiB0byBhY3RpdmUgLSBzdGF0aWMgZnJhbWUgdHJhbnNtaXNzaW9uKS4K KwkgKiBUaGVuIEhhcmR3YXJlIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgdHJhbnNpdGlvbiB0bwor CSAqIFBTUl9zdGF0ZSAzIChhY3RpdmUgLSBubyBSZW1vdGUgRnJhbWUgQnVmZmVyIChSRkIpIHVw ZGF0ZSkuCisJICovCisJSTkxNV9XUklURShWTFZfUFNSQ1RMKHBpcGUpLCBJOTE1X1JFQUQoVkxW X1BTUkNUTChwaXBlKSkgfAorCQkgICBWTFZfRURQX1BTUl9BQ1RJVkVfRU5UUlkpOworCWRldl9w cml2LT5wc3IuYWN0aXZlID0gdHJ1ZTsKKworIHVubG9jazoKIAltdXRleF91bmxvY2soJmRldl9w cml2LT5wc3IubG9jayk7CiB9CiAKQEAgLTEwMjEsNiArOTkwLDkgQEAgdm9pZCBpbnRlbF9wc3Jf Zmx1c2goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCWlmIChkZXZfcHJpdi0+ cHNyLmhhc19od190cmFja2luZyAmJiBvcmlnaW4gPT0gT1JJR0lOX0ZMSVApCiAJCXJldHVybjsK IAorCWlmIChJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2 KSkKKwkJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZkZXZfcHJpdi0+cHNyLnZsdl9hY3RpdmF0 ZV93b3JrKTsKKwogCW11dGV4X2xvY2soJmRldl9wcml2LT5wc3IubG9jayk7CiAJaWYgKCFkZXZf cHJpdi0+cHNyLmVuYWJsZWQpIHsKIAkJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cHNyLmxvY2sp OwpAQCAtMTA1Myw5ICsxMDI1LDggQEAgdm9pZCBpbnRlbF9wc3JfZmx1c2goc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogCX0KIAogCWlmICghZGV2X3ByaXYtPnBzci5hY3RpdmUg JiYgIWRldl9wcml2LT5wc3IuYnVzeV9mcm9udGJ1ZmZlcl9iaXRzKQotCQlpZiAoIXdvcmtfYnVz eSgmZGV2X3ByaXYtPnBzci53b3JrLndvcmspKQotCQkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZk ZXZfcHJpdi0+cHNyLndvcmssCi0JCQkJCSAgICAgIG1zZWNzX3RvX2ppZmZpZXMoMTAwKSk7CisJ CWludGVsX3Bzcl9hY3RpdmF0ZShkZXZfcHJpdi0+cHNyLmVuYWJsZWQpOworCiAJbXV0ZXhfdW5s b2NrKCZkZXZfcHJpdi0+cHNyLmxvY2spOwogfQogCkBAIC0xMTAyLDIxICsxMDczLDIwIEBAIHZv aWQgaW50ZWxfcHNyX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQlk ZXZfcHJpdi0+cHNyLmxpbmtfc3RhbmRieSA9IGZhbHNlOwogCX0KIAotCUlOSVRfREVMQVlFRF9X T1JLKCZkZXZfcHJpdi0+cHNyLndvcmssIGludGVsX3Bzcl93b3JrKTsKIAltdXRleF9pbml0KCZk ZXZfcHJpdi0+cHNyLmxvY2spOwogCiAJaWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8IElT X0NIRVJSWVZJRVcoZGV2X3ByaXYpKSB7CisJCUlOSVRfREVMQVlFRF9XT1JLKCZkZXZfcHJpdi0+ cHNyLnZsdl9hY3RpdmF0ZV93b3JrLAorCQkJCSAgdmx2X3Bzcl9hY3RpdmF0ZV93b3JrKTsKIAkJ ZGV2X3ByaXYtPnBzci5lbmFibGVfc291cmNlID0gdmx2X3Bzcl9lbmFibGVfc291cmNlOwogCQlk ZXZfcHJpdi0+cHNyLmRpc2FibGVfc291cmNlID0gdmx2X3Bzcl9kaXNhYmxlOwogCQlkZXZfcHJp di0+cHNyLmVuYWJsZV9zaW5rID0gdmx2X3Bzcl9lbmFibGVfc2luazsKLQkJZGV2X3ByaXYtPnBz ci5hY3RpdmF0ZSA9IHZsdl9wc3JfYWN0aXZhdGU7CiAJCWRldl9wcml2LT5wc3Iuc2V0dXBfdnNj ID0gdmx2X3Bzcl9zZXR1cF92c2M7CiAJfSBlbHNlIHsKIAkJZGV2X3ByaXYtPnBzci5oYXNfaHdf dHJhY2tpbmcgPSB0cnVlOwogCQlkZXZfcHJpdi0+cHNyLmVuYWJsZV9zb3VyY2UgPSBoc3dfcHNy X2VuYWJsZV9zb3VyY2U7CiAJCWRldl9wcml2LT5wc3IuZGlzYWJsZV9zb3VyY2UgPSBoc3dfcHNy X2Rpc2FibGU7CiAJCWRldl9wcml2LT5wc3IuZW5hYmxlX3NpbmsgPSBoc3dfcHNyX2VuYWJsZV9z aW5rOwotCQlkZXZfcHJpdi0+cHNyLmFjdGl2YXRlID0gaHN3X3Bzcl9hY3RpdmF0ZTsKIAkJZGV2 X3ByaXYtPnBzci5zZXR1cF92c2MgPSBoc3dfcHNyX3NldHVwX3ZzYzsKIAl9CiB9Ci0tIAoyLjEz LjYKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=