From mboxrd@z Thu Jan 1 00:00:00 1970 From: Animesh Manna Subject: [PATCH 3/8] drm/i915/skl: Add DC5 Trigger Sequence. Date: Wed, 1 Apr 2015 16:22:22 +0530 Message-ID: <1427885547-8834-3-git-send-email-animesh.manna@intel.com> References: <1427885382-8753-1-git-send-email-animesh.manna@intel.com> <1427885547-8834-1-git-send-email-animesh.manna@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 3469E72113 for ; Wed, 1 Apr 2015 03:56:34 -0700 (PDT) In-Reply-To: <1427885547-8834-1-git-send-email-animesh.manna@intel.com> 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: Suketu Shah , Animesh Manna List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU3VrZXR1IFNoYWggPHN1a2V0dS5qLnNoYWhAaW50ZWwuY29tPgoKQWRkIHRyaWdnZXJz IGFzIHBlciBleHBlY3RhdGlvbnMgbWVudGlvbmVkIGluIGdlbjlfZW5hYmxlX2RjNQphbmQgZ2Vu OV9kaXNhYmxlX2RjNSBwYXRjaC4KCkFsc28gY2FsbCBQT1NUSU5HX1JFQUQgZm9yIGV2ZXJ5IHdy aXRlIHRvIGEgcmVnaXN0ZXIgdG8gZW5zdXJlIHRoYXQKaXRzIHdyaXR0ZW4gaW1tZWRpYXRlbHku Cgp2MTogUmVtb3ZlIFBPU1RJTkdfUkVBRCBjYWxscyBhcyB0aGV5J3ZlIGFscmVhZHkgYmVlbiBh ZGRlZCBpbiBwcmV2aW91cyBwYXRjaGVzLgoKdjI6IFJlYmFzZSB0byBtb3ZlIGFsbCBydW50aW1l IHBtIHNwZWNpZmljIGNoYW5nZXMgdG8gaW50ZWxfcnVudGltZV9wbS5jIGZpbGUuCgpNb2RpZmll ZCBhcyBwZXIgcmV2aWV3IGNvbW1lbnRzIGZyb20gSW1yZToKMV0gQ2hhbmdlIHZhcmlhYmxlIG5h bWUgJ2RjNV9hbGxvd2VkJyB0byAnZGM1X2VuYWJsZWQnIHRvIGNvcnJlc3BvbmQgdG8gcmVsZXZh bnQKICAgZnVuY3Rpb25zLgoyXSBNb3ZlIHRoZSBjaGVjayBkYzVfZW5hYmxlZCBpbiBza2xfc2V0 X3Bvd2VyX3dlbGwoKSB0byBkaXNhYmxlIERDNSBpbnRvCiAgIGdlbjlfZGlzYWJsZV9EQzUgd2hp Y2ggaXMgYSBtb3JlIGFwcHJvcHJpYXRlIHBsYWNlLgozXSBDb252ZXJ0IGNoZWNrcyBmb3IgJ3Bt LmRjNV9lbmFibGVkJyBhbmQgJ3BtLnN1c3BlbmRlZCcgaW4gc2tsX3NldF9wb3dlcl93ZWxsKCkK ICAgdG8gd2FybmluZ3MuIEhvd2V2ZXIsIHJlbW92aW5nIHRoZW0gZm9yIG5vdyBhcyB0aGV5J2xs IGJlIGluY2x1ZGVkIGluIGEgZnV0dXJlIHBhdGNoCiAgIGFzc2VydGluZyBEQy1zdGF0ZSBlbnRy eS9leGl0IGNyaXRlcmlhLgo0XSBFbmFibGUgREM1LCBvbmx5IHdoZW4gQ1NSIGZpcm13YXJlIGlz IHZlcmlmaWVkIHRvIGJlIGxvYWRlZC4gQ3JlYXRlIG5ldyBzdHJ1Y3R1cmUKICAgdG8gdHJhY2sg J2VuYWJsZWQnIGFuZCAnZGVmZXJyZWQnIHN0YXR1cyBvZiBEQzUuCjVdIEVuc3VyZSBydW50aW1l IFBNIHJlZmVyZW5jZSBpcyBvYnRhaW5lZCwgaWYgQ1NSIGlzIG5vdCBsb2FkZWQsIHRvIGF2b2lk IGVudGVyaW5nCiAgIHJ1bnRpbWUtc3VzcGVuZCBhbmQgcmVsZWFzZSBpdCB3aGVuIGl0J3MgbG9h ZGVkLgo2XSBQcm90ZWN0IG5lY2Vzc2FyeSBDU1ItcmVsYXRlZCBjb2RlIHdpdGggbG9ja3MuCjdd IE1vdmUgQ1NSLWxvYWRpbmcgY2FsbCB0byBydW50aW1lIFBNIGluaXRpYWxpemF0aW9uLCBhcyBw b3dlciBkb21haW5zIG5lZWRlZCB0byBiZQogICBhY2Nlc3NlZCBkdXJpbmcgZGVmZXJyZWQgREM1 LWVuYWJsaW5nLCBhcmUgbm90IGluaXRpYWxpemVkIGVhcmxpZXIuCgp2MzogUmViYXNlIHRvIGxh dGVzdC4KCk1vZGlmaWVkIGFzIHBlciByZXZpZXcgY29tbWVudHMgZnJvbSBJbXJlOgoxXSBVc2Ug YmxvY2tpbmcgd2FpdCBmb3IgQ1NSLWxvYWRpbmcgdG8gZmluaXNoIHRvIGVuYWJsZSBEQzUgIGZv ciBzaW1wbGljaXR5LCBpbnN0ZWFkIG9mCiAgIGRlZmVycmluZyBlbmFibGluZyBEQzUgdW50aWwg Q1NSIGlzIGxvYWRlZC4KMl0gT2J0YWluIHJ1bnRpbWUgUE0gcmVmZXJlbmNlIGR1cmluZyBDU1It bG9hZGluZyBpbml0aWFsaXphdGlvbiBpdHNlbGYgYXMgZGVmZXJyZWQgREM1LQogICBlbmFibGlu ZyBpcyByZW1vdmVkIGFuZCByZWxlYXNlIGl0IGF0IHRoZSBlbmQgb2YgQ1NSLWxvYWRpbmcgZnVu Y3Rpb25hbGl0eS4KM10gUmV2ZXJ0IGNhbGxpbmcgQ1NSLWxvYWRpbmcgZnVuY3Rpb25hbGl0eSB0 byB0aGUgYmVnaW5uaW5nIG9mIGk5MTUgZHJpdmVyLWxvYWQKICAgZnVuY3Rpb25hbGl0eSB0byBh dm9pZCBhbnkgZGVsYXkgaW4gbG9hZGluZy4KNF0gRGVmaW5lIGFub3RoZXIgdmFyaWFibGUgdG8g dHJhY2sgd2hldGhlciBDU1ItbG9hZGluZyBmYWlsZWQgYW5kIHVzZSBpdCB0byBhdm9pZCBlbmFi bGluZwogICBEQzUgaWYgaXQncyB0cnVlLgo1XSBEZWZpbmUgQ1NSLWxvYWQtc3RhdHVzIGFjY2Vz c29yIGZ1bmN0aW9ucyBmb3IgdXNlIGxhdGVyLgoKdjQ6CjFdIERpc2FibGUgREM1IGJlZm9yZSBl bmFibGluZyBQRzIgaW5zdGVhZCBvZiBhZnRlciBpdC4KMl0gREM1IHdhcyBiZWluZyBtaXN0YWtl biBlbmFibGVkIGV2ZW4gd2hlbiBDU1ItbG9hZGluZyB0aW1lZC1vdXQuIEZpeCB0aGF0LgozXSBF bmFibGUgREM1LXJlbGF0ZWQgZnVuY3Rpb25hbGl0eSB1c2luZyBhIG1hY3JvLgo0XSBSZW1vdmUg ZGM1X2VuYWJsZWQgdHJhY2tpbmcgdmFyaWFibGUgYW5kIGl0cyB1c2UgYXMgaXQncyBub3QgbmVl ZGVkIG5vdy4KCnY1OgoxXSBNYXJrIENTUiBmYWlsZWQgdG8gbG9hZCB3aGVyZSBuZWNlc3Nhcnkg aW4gZmluaXNoX2Nzcl9sb2FkIGZ1bmN0aW9uLgoyXSBVc2UgbXV0ZXgtcHJvdGVjdGVkIGFjY2Vz c29yIGZ1bmN0aW9uIHRvIGNoZWNrIGlmIENTUiBsb2FkZWQgaW5zdGVhZCBvZiBkaXJlY3RseQog ICBhY2Nlc3NpbmcgdGhlIHZhcmlhYmxlLgozXSBQcmVmaXggY3NyX2xvYWRfc3RhdHVzX2dldC9z ZXQgZnVuY3Rpb24gbmFtZXMgd2l0aCBpbnRlbF8uCgp2NjogcmViYXNlIHRvIGxhdGVzdC4Kdjc6 IFJlYmFzZSBvbiB0b3Agb2YgbmlnaHRseSAoRGFtaWVuKQp2ODogU3F1YXNoZWQgdGhlIHBhdGNo IGZyb20gSW1yZSAtIGFkZGVkIGNzciBoZWxwZXIgcG9pbnRlcnMgdG8gc2ltcGxpZnkgdGhlIGNv ZGUuIChJbXJlKQp2OTogQWZ0ZXIgYWRkaW5nIGRtYyB2ZXIgMS4wIHN1cHBvcnQgcmViYXNlZCBv biB0b3Agb2YgbmlnaHRseS4gKEFuaW1lc2gpCgpJc3N1ZTogVklaLTI4MTkKU2lnbmVkLW9mZi1i eTogQS5TdW5pbCBLYW1hdGggPHN1bmlsLmthbWF0aEBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6 IFN1a2V0dSBTaGFoIDxzdWtldHUuai5zaGFoQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGFt aWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogSW1y ZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbmltZXNoIE1hbm5h IDxhbmltZXNoLm1hbm5hQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oICAgICAgICAgfCAgMiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3NyLmMg ICAgICAgIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgICAgfCAgMiArKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcnVudGltZV9wbS5jIHwgMzEgKysrKysrKysrKysrKysrKysrKysKIDQgZmlsZXMg Y2hhbmdlZCwgODQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCmluZGV4IGRkNTcyYTAuLjMzMjBmYjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApA QCAtNjY5LDYgKzY2OSw4IEBAIHN0cnVjdCBpbnRlbF91bmNvcmUgewogc3RydWN0IGludGVsX2Nz ciB7CiAJaW50IGNzcl9zaXplOwogCXU4ICpjc3JfYnVmOworCWJvb2wgbG9hZGVkOworCWJvb2wg ZmFpbGVkOwogCWNvbnN0IGNoYXIgKmZ3X3BhdGg7CiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9jc3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Nz ci5jCmluZGV4IGY0NGYxY2QuLjg3ZDM5M2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Nzci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Nzci5jCkBA IC02MCw2ICs2MCwyNSBAQCBjaGFyIGludGVsX2dldF9zdWJzdGVwcGluZyhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogCWVsc2UKIAkJcmV0dXJuIC1FTk9EQVRBOwogfQorCitib29sIGludGVsX2Nz cl9sb2FkX3N0YXR1c19nZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQorewor CWJvb2wgdmFsID0gZmFsc2U7CisKKwltdXRleF9sb2NrKCZkZXZfcHJpdi0+Y3NyX2xvY2spOwor CXZhbCA9IGRldl9wcml2LT5jc3IubG9hZGVkOworCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmNz cl9sb2NrKTsKKworCXJldHVybiB2YWw7Cit9CisKK3ZvaWQgaW50ZWxfY3NyX2xvYWRfc3RhdHVz X3NldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGJvb2wgdmFsKQoreworCW11 dGV4X2xvY2soJmRldl9wcml2LT5jc3JfbG9jayk7CisJZGV2X3ByaXYtPmNzci5sb2FkZWQgPSB2 YWw7CisJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+Y3NyX2xvY2spOworfQorCiB2b2lkIGludGVs X2Nzcl9sb2FkX3Byb2dyYW0oc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwpAQCAtOTEsNiArMTEw LDggQEAgdm9pZCBpbnRlbF9jc3JfbG9hZF9wcm9ncmFtKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp CiAJCUk5MTVfV1JJVEUoZGV2X3ByaXYtPmRtY19pbmZvLm1taW9hZGRyW2ldLAogCQkJZGV2X3By aXYtPmRtY19pbmZvLm1taW9kYXRhW2ldKTsKIAl9CisKKwlkZXZfcHJpdi0+Y3NyLmxvYWRlZCA9 IHRydWU7CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+Y3NyX2xvY2spOwogfQogCkBAIC0xMTAs MTEgKzEzMSwxMyBAQCBzdGF0aWMgdm9pZCBmaW5pc2hfY3NyX2xvYWQoY29uc3Qgc3RydWN0IGZp cm13YXJlICpmdywgdm9pZCAqY29udGV4dCkKIAogCWlmICghZncpIHsKIAkJaTkxNV9maXJtd2Fy ZV9sb2FkX2Vycm9yX3ByaW50KGNzci0+ZndfcGF0aCwgMCk7CisJCWNzci0+ZmFpbGVkID0gdHJ1 ZTsKIAkJZ290byBvdXQ7CiAJfQogCiAJaWYgKChzdGVwcGluZyA9PSAtRU5PREFUQSkgfHwgKHN1 YnN0ZXBwaW5nID09IC1FTk9EQVRBKSkgewogCQlEUk1fRVJST1IoIlVua25vd24gc3RlcHBpbmcg aW5mbywgZmlybXdhcmUgbG9hZGluZyBmYWlsZWRcbiIpOworCQljc3ItPmZhaWxlZCA9IHRydWU7 CiAJCWdvdG8gb3V0OwogCX0KIApAQCAtMTMxLDYgKzE1NCw3IEBAIHN0YXRpYyB2b2lkIGZpbmlz aF9jc3JfbG9hZChjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KQogCQko Y3NzX2hlYWRlci0+aGVhZGVyX2xlbiAqIDQpKSB7CiAJCURSTV9FUlJPUigiRmlybXdhcmUgaGFz IHdyb25nIENTUyBoZWFkZXIgbGVuZ3RoICV1IGJ5dGVzXG4iLAogCQkJKGNzc19oZWFkZXItPmhl YWRlcl9sZW4gKiA0KSk7CisJCWNzci0+ZmFpbGVkID0gdHJ1ZTsKIAkJZ290byBvdXQ7CiAJfQog CXJlYWRjb3VudCArPSBzaXplb2Yoc3RydWN0IGludGVsX2Nzc19oZWFkZXIpOwpAQCAtMTQyLDYg KzE2Niw3IEBAIHN0YXRpYyB2b2lkIGZpbmlzaF9jc3JfbG9hZChjb25zdCBzdHJ1Y3QgZmlybXdh cmUgKmZ3LCB2b2lkICpjb250ZXh0KQogCQkocGFja2FnZV9oZWFkZXItPmhlYWRlcl9sZW4gKiA0 KSkgewogCQlEUk1fRVJST1IoIkZpcm13YXJlIGhhcyB3cm9uZyBwYWNrYWdlIGhlYWRlciBsZW5n dGggJXUgYnl0ZXNcbiIsCiAJCQkocGFja2FnZV9oZWFkZXItPmhlYWRlcl9sZW4gKiA0KSk7CisJ CWNzci0+ZmFpbGVkID0gdHJ1ZTsKIAkJZ290byBvdXQ7CiAJfQogCXJlYWRjb3VudCArPSBzaXpl b2Yoc3RydWN0IGludGVsX3BhY2thZ2VfaGVhZGVyKTsKQEAgLTE2Miw2ICsxODcsNyBAQCBzdGF0 aWMgdm9pZCBmaW5pc2hfY3NyX2xvYWQoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdywgdm9pZCAq Y29udGV4dCkKIAl9CiAJaWYgKGRtY19vZmZzZXQgPT0gQ1NSX0RFRkFVTFRfRldfT0ZGU0VUKSB7 CiAJCURSTV9FUlJPUigiRmlybXdhcmUgbm90IHN1cHBvcnRlZCBmb3IgJWMgc3RlcHBpbmdcbiIs IHN0ZXBwaW5nKTsKKwkJY3NyLT5mYWlsZWQgPSB0cnVlOwogCQlnb3RvIG91dDsKIAl9CiAJcmVh ZGNvdW50ICs9IGRtY19vZmZzZXQ7CkBAIC0xNzEsNiArMTk3LDcgQEAgc3RhdGljIHZvaWQgZmlu aXNoX2Nzcl9sb2FkKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncsIHZvaWQgKmNvbnRleHQpCiAJ aWYgKHNpemVvZihzdHJ1Y3QgaW50ZWxfZG1jX2hlYWRlcikgIT0gKGRtY19oZWFkZXItPmhlYWRl cl9sZW4pKSB7CiAJCURSTV9FUlJPUigiRmlybXdhcmUgaGFzIHdyb25nIGRtYyBoZWFkZXIgbGVu Z3RoICV1IGJ5dGVzXG4iLAogCQkJCShkbWNfaGVhZGVyLT5oZWFkZXJfbGVuKSk7CisJCWNzci0+ ZmFpbGVkID0gdHJ1ZTsKIAkJZ290byBvdXQ7CiAJfQogCXJlYWRjb3VudCArPSBzaXplb2Yoc3Ry dWN0IGludGVsX2RtY19oZWFkZXIpOwpAQCAtMTc5LDYgKzIwNiw3IEBAIHN0YXRpYyB2b2lkIGZp bmlzaF9jc3JfbG9hZChjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KQog CWlmIChkbWNfaGVhZGVyLT5tbWlvX2NvdW50ID4gQ1NSX01BWF9NTUlPX0NPVU5UKSB7CiAJCURS TV9FUlJPUigiRmlybXdhcmUgaGFzIHdyb25nIG1taW8gY291bnQgJXVcbiIsCiAJCQkJCQlkbWNf aGVhZGVyLT5tbWlvX2NvdW50KTsKKwkJY3NyLT5mYWlsZWQgPSB0cnVlOwogCQlnb3RvIG91dDsK IAl9CiAJZGV2X3ByaXYtPmRtY19pbmZvLm1taW9fY291bnQgPSBkbWNfaGVhZGVyLT5tbWlvX2Nv dW50OwpAQCAtMTg3LDYgKzIxNSw3IEBAIHN0YXRpYyB2b2lkIGZpbmlzaF9jc3JfbG9hZChjb25z dCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KQogCQkJZG1jX2hlYWRlci0+bW1p b2FkZHJbaV0gPD0gQ1NSX01NSU9fRU5EX1JBTkdFKSB7CiAJCQlEUk1fRVJST1IoIiBGaXJtd2Fy ZSBoYXMgd3JvbmcgbW1pbyBhZGRyZXNzIDB4JXhcbiIsCiAJCQkJCQlkbWNfaGVhZGVyLT5tbWlv YWRkcltpXSk7CisJCQljc3ItPmZhaWxlZCA9IHRydWU7CiAJCQlnb3RvIG91dDsKIAkJfQogCQlk ZXZfcHJpdi0+ZG1jX2luZm8ubW1pb2FkZHJbaV0gPSBkbWNfaGVhZGVyLT5tbWlvYWRkcltpXTsK QEAgLTE5NywxMSArMjI2LDEzIEBAIHN0YXRpYyB2b2lkIGZpbmlzaF9jc3JfbG9hZChjb25zdCBz dHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KQogCW5ieXRlcyA9IGRtY19oZWFkZXIt PmZ3X3NpemUgKiA0OwogCWlmIChuYnl0ZXMgPiBDU1JfTUFYX0ZXX1NJWkUpIHsKIAkJRFJNX0VS Uk9SKCJDU1IgZmlybXdhcmUgdG9vIGJpZyAoJXUpIGJ5dGVzXG4iLCBuYnl0ZXMpOworCQljc3It PmZhaWxlZCA9IHRydWU7CiAJCWdvdG8gb3V0OwogCX0KIAlkZXZfcHJpdi0+ZG1jX2luZm8uZG1j X3BheWxvYWQgPSBrbWFsbG9jKG5ieXRlcywgR0ZQX0tFUk5FTCk7CiAJaWYgKCFkZXZfcHJpdi0+ ZG1jX2luZm8uZG1jX3BheWxvYWQpIHsKIAkJRFJNX0VSUk9SKCJNZW1vcnkgYWxsb2NhdGlvbiBm YWlsZWQgZm9yIGRtYyBwYXlsb2FkXG4iKTsKKwkJY3NyLT5mYWlsZWQgPSB0cnVlOwogCQlnb3Rv IG91dDsKIAl9CiAKQEAgLTIxOCw3ICsyNDksMTQgQEAgc3RhdGljIHZvaWQgZmluaXNoX2Nzcl9s b2FkKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncsIHZvaWQgKmNvbnRleHQpCiAKIAkvKiBsb2Fk IGNzciBwcm9ncmFtIGR1cmluZyBzeXN0ZW0gYm9vdCwgYXMgbmVlZGVkIGZvciBEQyBzdGF0ZXMg Ki8KIAlpbnRlbF9jc3JfbG9hZF9wcm9ncmFtKGRldik7CisKIG91dDoKKwkvKgorCSAqIFJlbGVh c2UgdGhlIHJ1bnRpbWUgcG0gcmVmZXJlbmNlIG9idGFpbmVkIHdoZW4KKwkgKiBDU1Igd2Fzbid0 IGxvYWRlZC4KKwkgKi8KKwlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7CisKIAlrZnJl ZShjc3ItPmNzcl9idWYpOwogCWNzci0+Y3NyX2J1ZiA9IE5VTEw7CiB9CkBAIC0yMzYsMTYgKzI3 NCwyNSBAQCBpbnQgaW50ZWxfY3NyX3Vjb2RlX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikK IAkJY3NyLT5md19wYXRoID0gSTkxNV9DU1JfU0tMOwogCWVsc2UgewogCQlEUk1fRVJST1IoIlVu ZXhwZWN0ZWQ6IG5vIGtub3duIENTUiBmaXJtd2FyZSBmb3IgcGxhdGZvcm1cbiIpOworCQljc3It PmZhaWxlZCA9IHRydWU7CiAJCXJldHVybiAwOwogCX0KIAorCS8qCisJICogT2J0YWluIGEgcnVu dGltZSBwbSByZWZlcmVuY2UsIHVudGlsIENTUiBpcyBsb2FkZWQsCisJICogdG8gYXZvaWQgZW50 ZXJpbmcgcnVudGltZS1zdXNwZW5kLgorCSAqLworCWludGVsX3J1bnRpbWVfcG1fZ2V0KGRldl9w cml2KTsKKwogCS8qIENTUiBzdXBwb3J0ZWQgZm9yIHBsYXRmb3JtLCBsb2FkIGZpcm13YXJlICov CiAJcmV0ID0gcmVxdWVzdF9maXJtd2FyZV9ub3dhaXQoVEhJU19NT0RVTEUsIHRydWUsIGNzci0+ ZndfcGF0aCwKIAkJCQkmZGV2X3ByaXYtPmRldi0+cGRldi0+ZGV2LAogCQkJCUdGUF9LRVJORUws IGRldl9wcml2LAogCQkJCWZpbmlzaF9jc3JfbG9hZCk7Ci0JaWYgKHJldCkKKwlpZiAocmV0KSB7 CiAJCWk5MTVfZmlybXdhcmVfbG9hZF9lcnJvcl9wcmludChjc3ItPmZ3X3BhdGgsIHJldCk7CisJ CWNzci0+ZmFpbGVkID0gdHJ1ZTsKKwl9CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtMjU3LDYgKzMw NCw3IEBAIHZvaWQgaW50ZWxfY3NyX3Vjb2RlX2Zpbmkoc3RydWN0IGRybV9kZXZpY2UgKmRldikK IAlpZiAoIUhBU19DU1IoZGV2KSkKIAkJcmV0dXJuOwogCisJaW50ZWxfY3NyX2xvYWRfc3RhdHVz X3NldChkZXZfcHJpdiwgZmFsc2UpOwogCWtmcmVlKGRldl9wcml2LT5kbWNfaW5mby5kbWNfcGF5 bG9hZCk7CiAJbWVtc2V0KCZkZXZfcHJpdi0+ZG1jX2luZm8sIDAsIHNpemVvZihzdHJ1Y3QgaW50 ZWxfZG1jX2luZm8pKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggY2QyMGI2YS4u MzljYjJkYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTEwNjEsNiArMTA2MSw4IEBA IHVuc2lnbmVkIGxvbmcgaW50ZWxfcGxhbmVfb2JqX29mZnNldChzdHJ1Y3QgaW50ZWxfcGxhbmUg KmludGVsX3BsYW5lLAogCiAvKiBpbnRlbF9jc3IuYyAqLwogaW50IGludGVsX2Nzcl91Y29kZV9p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOworYm9vbCBpbnRlbF9jc3JfbG9hZF9zdGF0dXNf Z2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cit2b2lkIGludGVsX2Nzcl9s b2FkX3N0YXR1c19zZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBib29sIHZh bCk7CiB2b2lkIGludGVsX2Nzcl9sb2FkX3Byb2dyYW0oc3RydWN0IGRybV9kZXZpY2UgKmRldik7 CiB2b2lkIGludGVsX2Nzcl91Y29kZV9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKaW5kZXggYmM2Y2VlOS4uOGI5MTdl MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwpAQCAtNDksNiArNDks OCBAQAogICogcHJlc2VudCBmb3IgYSBnaXZlbiBwbGF0Zm9ybS4KICAqLwogCisjZGVmaW5lIEdF TjlfRU5BQkxFX0RDNShkZXYpIChJU19TS1lMQUtFKGRldikpCisKICNkZWZpbmUgZm9yX2VhY2hf cG93ZXJfd2VsbChpLCBwb3dlcl93ZWxsLCBkb21haW5fbWFzaywgcG93ZXJfZG9tYWlucykJXAog CWZvciAoaSA9IDA7CQkJCQkJCVwKIAkgICAgIGkgPCAocG93ZXJfZG9tYWlucyktPnBvd2VyX3dl bGxfY291bnQgJiYJCQlcCkBAIC0zNjksNiArMzcxLDcgQEAgc3RhdGljIHZvaWQgZ2VuOV9kaXNh YmxlX2RjNShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiBzdGF0aWMgdm9pZCBz a2xfc2V0X3Bvd2VyX3dlbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJ c3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJfd2VsbCwgYm9vbCBlbmFibGUpCiB7CisJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9wcml2LT5kZXY7CiAJdWludDMyX3QgdG1wLCBmdXNl X3N0YXR1czsKIAl1aW50MzJfdCByZXFfbWFzaywgc3RhdGVfbWFzazsKIAlib29sIGlzX2VuYWJs ZWQsIGVuYWJsZV9yZXF1ZXN0ZWQsIGNoZWNrX2Z1c2Vfc3RhdHVzID0gZmFsc2U7CkBAIC00MDgs NiArNDExLDEzIEBAIHN0YXRpYyB2b2lkIHNrbF9zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAlpZiAoZW5hYmxlKSB7CiAJCWlmICghZW5hYmxlX3Jl cXVlc3RlZCkgeworCQkJV0FSTigodG1wICYgc3RhdGVfbWFzaykgJiYKKwkJCQkhSTkxNV9SRUFE KEhTV19QV1JfV0VMTF9CSU9TKSwgIkludmFsaWQgZm9yIFwKKwkJCQkgcG93ZXIgd2VsbCBzdGF0 dXMgdG8gYmUgZW5hYmxlZCwgdW5sZXNzIGRvbmUgXAorCQkJCSBieSB0aGUgQklPUywgd2hlbiBy ZXF1ZXN0IGlzIHRvIGRpc2FibGUhXG4iKTsKKwkJCWlmIChHRU45X0VOQUJMRV9EQzUoZGV2KSAm JgorCQkJCXBvd2VyX3dlbGwtPmRhdGEgPT0gU0tMX0RJU1BfUFdfMikKKwkJCQlnZW45X2Rpc2Fi bGVfZGM1KGRldl9wcml2KTsKIAkJCUk5MTVfV1JJVEUoSFNXX1BXUl9XRUxMX0RSSVZFUiwgdG1w IHwgcmVxX21hc2spOwogCQl9CiAKQEAgLTQyNCw2ICs0MzQsMjcgQEAgc3RhdGljIHZvaWQgc2ts X3NldF9wb3dlcl93ZWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCUk5 MTVfV1JJVEUoSFNXX1BXUl9XRUxMX0RSSVZFUiwJdG1wICYgfnJlcV9tYXNrKTsKIAkJCVBPU1RJ TkdfUkVBRChIU1dfUFdSX1dFTExfRFJJVkVSKTsKIAkJCURSTV9ERUJVR19LTVMoIkRpc2FibGlu ZyAlc1xuIiwgcG93ZXJfd2VsbC0+bmFtZSk7CisKKwkJCWlmIChHRU45X0VOQUJMRV9EQzUoZGV2 KSAmJgorCQkJCXBvd2VyX3dlbGwtPmRhdGEgPT0gU0tMX0RJU1BfUFdfMikgeworCQkJCWlmICgh ZGV2X3ByaXYtPmNzci5mYWlsZWQpIHsKKwkJCQkJLyoKKwkJCQkJKiBUT0RPOiB3YWl0IGZvciBh IGNvbXBsZXRpb24gZXZlbnQgb3IKKwkJCQkJKiBzaW1pbGFyIGhlcmUgaW5zdGVhZCBvZiBidXN5 CisJCQkJCSogd2FpdGluZyB1c2luZyB3YWl0X2ZvciBmdW5jdGlvbi4KKwkJCQkJKi8KKwkJCQkJ aWYgKHdhaXRfZm9yKAorCQkJCQkJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX2dldCgKKwkJCQkJCQlk ZXZfcHJpdiksIDEwMDApKQorCQkJCQkJRFJNX0VSUk9SKCJUaW1lZCBvdXQgd2FpdGluZyBcCisJ CQkJCQkJZm9yIENTUiB0byBiZSBsb2FkZWQhIik7CisJCQkJCWVsc2UKKwkJCQkJCWdlbjlfZW5h YmxlX2RjNShkZXZfcHJpdik7CisJCQkJfSBlbHNlIHsKKwkJCQkJRFJNX0VSUk9SKCJDYW5ub3Qg ZW5hYmxlIERDNSBhcyBDU1IgXAorCQkJCQkJCWZhaWxlZCB0byBsb2FkISIpOworCQkJCX0KKwkJ CX0KIAkJfQogCX0KIAotLSAKMi4wLjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==