From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [PATCH v2 2/9] drm/i915: Remove ddi_pll_sel from intel_crtc_state Date: Mon, 8 Aug 2016 19:33:11 -0700 Message-ID: <1470709998-10751-3-git-send-email-manasi.d.navare@intel.com> References: <1470709998-10751-1-git-send-email-manasi.d.navare@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 BA6AD6E238 for ; Tue, 9 Aug 2016 02:20:21 +0000 (UTC) In-Reply-To: <1470709998-10751-1-git-send-email-manasi.d.navare@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: Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQW5kZXIgQ29uc2VsdmFuIGRlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2YW4uZGUub2xp dmVpcmFAaW50ZWwuY29tPgoKVGhlIHZhbHVlIG9mIGRkaV9wbGxfc2VsIGlzIGRlcml2ZWQgZnJv bSB0aGUgc2VsZWN0aW9uIG9mIHNoYXJlZCBkcGxsLApzbyBqdXN0IGNhbGN1bGF0ZSB0aGUgZmlu YWwgdmFsdWUgd2hlbiBuZWNlc3NhcnkuCgp2MjogQWN0dWFsbHkgcmVtb3ZlIGl0IGZyb20gY3J0 YyBzdGF0ZSBhbmQgZGVsZXRlIHJlbWFpbmluZyB1c2FnZXMuIChDSSkKClJldmlld2VkLWJ5OiBE dXJnYWRvc3MgUiA8ZHVyZ2Fkb3NzLnJAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbmRlciBD b25zZWx2YW4gZGUgT2xpdmVpcmEgPGFuZGVyLmNvbnNlbHZhbi5kZS5vbGl2ZWlyYUBpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgICB8IDQ1ICsrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgIHwgNDMgKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyAgIHwgIDMgKystCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcGxsX21nci5jIHwgMjcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgIHwgIDggKy0tLS0tLQogNSBmaWxlcyBj aGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCA4MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RkaS5jCmluZGV4IDUzMGVlOWYuLjhjODdkMjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RkaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rk aS5jCkBAIC01NDYsNiArNTQ2LDI3IEBAIHN0YXRpYyB2b2lkIGludGVsX3dhaXRfZGRpX2J1Zl9p ZGxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlEUk1fRVJST1IoIlRpbWVv dXQgd2FpdGluZyBmb3IgRERJIEJVRiAlYyBpZGxlIGJpdFxuIiwgcG9ydF9uYW1lKHBvcnQpKTsK IH0KIAorc3RhdGljIHVpbnQzMl90IGhzd19wbGxfdG9fZGRpX3BsbF9zZWwoc3RydWN0IGludGVs X3NoYXJlZF9kcGxsICpwbGwpCit7CisJc3dpdGNoIChwbGwtPmlkKSB7CisJY2FzZSBEUExMX0lE X1dSUExMMToKKwkJcmV0dXJuIFBPUlRfQ0xLX1NFTF9XUlBMTDE7CisJY2FzZSBEUExMX0lEX1dS UExMMjoKKwkJcmV0dXJuIFBPUlRfQ0xLX1NFTF9XUlBMTDI7CisJY2FzZSBEUExMX0lEX1NQTEw6 CisJCXJldHVybiBQT1JUX0NMS19TRUxfU1BMTDsKKwljYXNlIERQTExfSURfTENQTExfODEwOgor CQlyZXR1cm4gUE9SVF9DTEtfU0VMX0xDUExMXzgxMDsKKwljYXNlIERQTExfSURfTENQTExfMTM1 MDoKKwkJcmV0dXJuIFBPUlRfQ0xLX1NFTF9MQ1BMTF8xMzUwOworCWNhc2UgRFBMTF9JRF9MQ1BM TF8yNzAwOgorCQlyZXR1cm4gUE9SVF9DTEtfU0VMX0xDUExMXzI3MDA7CisJZGVmYXVsdDoKKwkJ TUlTU0lOR19DQVNFKHBsbC0+aWQpOworCQlyZXR1cm4gUE9SVF9DTEtfU0VMX05PTkU7CisJfQor fQorCiAvKiBTdGFydGluZyB3aXRoIEhhc3dlbGwsIGRpZmZlcmVudCBEREkgcG9ydHMgY2FuIHdv cmsgaW4gRkRJIG1vZGUgZm9yCiAgKiBjb25uZWN0aW9uIHRvIHRoZSBQQ0gtbG9jYXRlZCBjb25u ZWN0b3JzLiBGb3IgdGhpcywgaXQgaXMgbmVjZXNzYXJ5IHRvIHRyYWluCiAgKiBib3RoIHRoZSBE REkgcG9ydCBhbmQgUENIIHJlY2VpdmVyIGZvciB0aGUgZGVzaXJlZCBEREkgYnVmZmVyIHNldHRp bmdzLgpAQCAtNTYxLDcgKzU4Miw3IEBAIHZvaWQgaHN3X2ZkaV9saW5rX3RyYWluKHN0cnVjdCBk cm1fY3J0YyAqY3J0YykKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGRldik7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRj KGNydGMpOwogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyOwotCXUzMiB0ZW1wLCBpLCBy eF9jdGxfdmFsOworCXUzMiB0ZW1wLCBpLCByeF9jdGxfdmFsLCBkZGlfcGxsX3NlbDsKIAogCWZv cl9lYWNoX2VuY29kZXJfb25fY3J0YyhkZXYsIGNydGMsIGVuY29kZXIpIHsKIAkJV0FSTl9PTihl bmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9BTkFMT0cpOwpAQCAtNTkyLDggKzYxMyw5IEBA IHZvaWQgaHN3X2ZkaV9saW5rX3RyYWluKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlJOTE1X1dS SVRFKEZESV9SWF9DVEwoUElQRV9BKSwgcnhfY3RsX3ZhbCk7CiAKIAkvKiBDb25maWd1cmUgUG9y dCBDbG9jayBTZWxlY3QgKi8KLQlJOTE1X1dSSVRFKFBPUlRfQ0xLX1NFTChQT1JUX0UpLCBpbnRl bF9jcnRjLT5jb25maWctPmRkaV9wbGxfc2VsKTsKLQlXQVJOX09OKGludGVsX2NydGMtPmNvbmZp Zy0+ZGRpX3BsbF9zZWwgIT0gUE9SVF9DTEtfU0VMX1NQTEwpOworCWRkaV9wbGxfc2VsID0gaHN3 X3BsbF90b19kZGlfcGxsX3NlbChpbnRlbF9jcnRjLT5jb25maWctPnNoYXJlZF9kcGxsKTsKKwlJ OTE1X1dSSVRFKFBPUlRfQ0xLX1NFTChQT1JUX0UpLCBkZGlfcGxsX3NlbCk7CisJV0FSTl9PTihk ZGlfcGxsX3NlbCAhPSBQT1JUX0NMS19TRUxfU1BMTCk7CiAKIAkvKiBTdGFydCB0aGUgdHJhaW5p bmcgaXRlcmF0aW5nIHRocm91Z2ggYXZhaWxhYmxlIHZvbHRhZ2VzIGFuZCBlbXBoYXNpcywKIAkg KiB0ZXN0aW5nIGVhY2ggdmFsdWUgdHdpY2UuICovCkBAIC04NzAsNyArODkyLDcgQEAgc3RhdGlj IHZvaWQgc2tsX2RkaV9jbG9ja19nZXQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJ aW50IGxpbmtfY2xvY2sgPSAwOwogCXVpbnQzMl90IGRwbGxfY3RsMSwgZHBsbDsKIAotCWRwbGwg PSBwaXBlX2NvbmZpZy0+ZGRpX3BsbF9zZWw7CisJZHBsbCA9IGludGVsX2dldF9zaGFyZWRfZHBs bF9pZChkZXZfcHJpdiwgcGlwZV9jb25maWctPnNoYXJlZF9kcGxsKTsKIAogCWRwbGxfY3RsMSA9 IEk5MTVfUkVBRChEUExMX0NUUkwxKTsKIApAQCAtOTE4LDcgKzk0MCw3IEBAIHN0YXRpYyB2b2lk IGhzd19kZGlfY2xvY2tfZ2V0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCWludCBs aW5rX2Nsb2NrID0gMDsKIAl1MzIgdmFsLCBwbGw7CiAKLQl2YWwgPSBwaXBlX2NvbmZpZy0+ZGRp X3BsbF9zZWw7CisJdmFsID0gaHN3X3BsbF90b19kZGlfcGxsX3NlbChwaXBlX2NvbmZpZy0+c2hh cmVkX2RwbGwpOwogCXN3aXRjaCAodmFsICYgUE9SVF9DTEtfU0VMX01BU0spIHsKIAljYXNlIFBP UlRfQ0xLX1NFTF9MQ1BMTF84MTA6CiAJCWxpbmtfY2xvY2sgPSA4MTAwMDsKQEAgLTE1ODYsMTMg KzE2MDgsMTUgQEAgdWludDMyX3QgZGRpX3NpZ25hbF9sZXZlbHMoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKIH0KIAogdm9pZCBpbnRlbF9kZGlfY2xrX3NlbGVjdChzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciwKLQkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVf Y29uZmlnKQorCQkJICBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbCkKIHsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsK IAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0KGVuY29kZXIpOwog CisJaWYgKFdBUk5fT04oIXBsbCkpCisJCXJldHVybjsKKwogCWlmIChJU19TS1lMQUtFKGRldl9w cml2KSB8fCBJU19LQUJZTEFLRShkZXZfcHJpdikpIHsKLQkJdWludDMyX3QgZHBsbCA9IHBpcGVf Y29uZmlnLT5kZGlfcGxsX3NlbDsKIAkJdWludDMyX3QgdmFsOwogCiAJCS8qIERESSAtPiBQTEwg bWFwcGluZyAgKi8KQEAgLTE2MDAsMTQgKzE2MjQsMTMgQEAgdm9pZCBpbnRlbF9kZGlfY2xrX3Nl bGVjdChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAogCQl2YWwgJj0gfihEUExMX0NU UkwyX0RESV9DTEtfT0ZGKHBvcnQpIHwKIAkJCURQTExfQ1RSTDJfRERJX0NMS19TRUxfTUFTSyhw b3J0KSk7Ci0JCXZhbCB8PSAoRFBMTF9DVFJMMl9ERElfQ0xLX1NFTChkcGxsLCBwb3J0KSB8CisJ CXZhbCB8PSAoRFBMTF9DVFJMMl9ERElfQ0xLX1NFTChwbGwtPmlkLCBwb3J0KSB8CiAJCQlEUExM X0NUUkwyX0RESV9TRUxfT1ZFUlJJREUocG9ydCkpOwogCiAJCUk5MTVfV1JJVEUoRFBMTF9DVFJM MiwgdmFsKTsKIAogCX0gZWxzZSBpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA8IDkpIHsK LQkJV0FSTl9PTihwaXBlX2NvbmZpZy0+ZGRpX3BsbF9zZWwgPT0gUE9SVF9DTEtfU0VMX05PTkUp OwotCQlJOTE1X1dSSVRFKFBPUlRfQ0xLX1NFTChwb3J0KSwgcGlwZV9jb25maWctPmRkaV9wbGxf c2VsKTsKKwkJSTkxNV9XUklURShQT1JUX0NMS19TRUwocG9ydCksIGhzd19wbGxfdG9fZGRpX3Bs bF9zZWwocGxsKSk7CiAJfQogfQogCkBAIC0xNjMwLDcgKzE2NTMsNyBAQCBzdGF0aWMgdm9pZCBp bnRlbF9kZGlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikK IAkJaW50ZWxfZWRwX3BhbmVsX29uKGludGVsX2RwKTsKIAl9CiAKLQlpbnRlbF9kZGlfY2xrX3Nl bGVjdChpbnRlbF9lbmNvZGVyLCBjcnRjLT5jb25maWcpOworCWludGVsX2RkaV9jbGtfc2VsZWN0 KGludGVsX2VuY29kZXIsIGNydGMtPmNvbmZpZy0+c2hhcmVkX2RwbGwpOwogCiAJaWYgKHR5cGUg PT0gSU5URUxfT1VUUFVUX0RQIHx8IHR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkgewogCQlzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDhlOTg3MmUuLjIwNWNkMjggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTk4NTgsMTUgKzk4NTgsMTIgQEAgc3RhdGlj IHZvaWQgYnh0X2dldF9kZGlfcGxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK IAogCXN3aXRjaCAocG9ydCkgewogCWNhc2UgUE9SVF9BOgotCQlwaXBlX2NvbmZpZy0+ZGRpX3Bs bF9zZWwgPSBTS0xfRFBMTDA7CiAJCWlkID0gRFBMTF9JRF9TS0xfRFBMTDA7CiAJCWJyZWFrOwog CWNhc2UgUE9SVF9COgotCQlwaXBlX2NvbmZpZy0+ZGRpX3BsbF9zZWwgPSBTS0xfRFBMTDE7CiAJ CWlkID0gRFBMTF9JRF9TS0xfRFBMTDE7CiAJCWJyZWFrOwogCWNhc2UgUE9SVF9DOgotCQlwaXBl X2NvbmZpZy0+ZGRpX3BsbF9zZWwgPSBTS0xfRFBMTDI7CiAJCWlkID0gRFBMTF9JRF9TS0xfRFBM TDI7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CkBAIC05ODg1LDI1ICs5ODgyLDEwIEBAIHN0YXRpYyB2 b2lkIHNreWxha2VfZ2V0X2RkaV9wbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCXUzMiB0ZW1wOwogCiAJdGVtcCA9IEk5MTVfUkVBRChEUExMX0NUUkwyKSAmIERQTExfQ1RS TDJfRERJX0NMS19TRUxfTUFTSyhwb3J0KTsKLQlwaXBlX2NvbmZpZy0+ZGRpX3BsbF9zZWwgPSB0 ZW1wID4+IChwb3J0ICogMyArIDEpOworCWlkID0gdGVtcCA+PiAocG9ydCAqIDMgKyAxKTsKIAot CXN3aXRjaCAocGlwZV9jb25maWctPmRkaV9wbGxfc2VsKSB7Ci0JY2FzZSBTS0xfRFBMTDA6Ci0J CWlkID0gRFBMTF9JRF9TS0xfRFBMTDA7Ci0JCWJyZWFrOwotCWNhc2UgU0tMX0RQTEwxOgotCQlp ZCA9IERQTExfSURfU0tMX0RQTEwxOwotCQlicmVhazsKLQljYXNlIFNLTF9EUExMMjoKLQkJaWQg PSBEUExMX0lEX1NLTF9EUExMMjsKLQkJYnJlYWs7Ci0JY2FzZSBTS0xfRFBMTDM6Ci0JCWlkID0g RFBMTF9JRF9TS0xfRFBMTDM7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCU1JU1NJTkdfQ0FTRShw aXBlX2NvbmZpZy0+ZGRpX3BsbF9zZWwpOworCWlmIChXQVJOX09OKGlkIDwgU0tMX0RQTEwwIHx8 IGlkID4gU0tMX0RQTEwzKSkKIAkJcmV0dXJuOwotCX0KIAogCXBpcGVfY29uZmlnLT5zaGFyZWRf ZHBsbCA9IGludGVsX2dldF9zaGFyZWRfZHBsbF9ieV9pZChkZXZfcHJpdiwgaWQpOwogfQpAQCAt OTkxMywxMCArOTg5NSw5IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfZ2V0X2RkaV9wbGwoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpwaXBlX2NvbmZpZykKIHsKIAllbnVtIGludGVsX2RwbGxfaWQgaWQ7CisJdWludDMyX3QgZGRp X3BsbF9zZWwgPSBJOTE1X1JFQUQoUE9SVF9DTEtfU0VMKHBvcnQpKTsKIAotCXBpcGVfY29uZmln LT5kZGlfcGxsX3NlbCA9IEk5MTVfUkVBRChQT1JUX0NMS19TRUwocG9ydCkpOwotCi0Jc3dpdGNo IChwaXBlX2NvbmZpZy0+ZGRpX3BsbF9zZWwpIHsKKwlzd2l0Y2ggKGRkaV9wbGxfc2VsKSB7CiAJ Y2FzZSBQT1JUX0NMS19TRUxfV1JQTEwxOgogCQlpZCA9IERQTExfSURfV1JQTEwxOwogCQlicmVh azsKQEAgLTk5MzYsNyArOTkxNyw3IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfZ2V0X2RkaV9wbGwo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQlpZCA9IERQTExfSURfTENQTExf MjcwMDsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJTUlTU0lOR19DQVNFKHBpcGVfY29uZmlnLT5k ZGlfcGxsX3NlbCk7CisJCU1JU1NJTkdfQ0FTRShkZGlfcGxsX3NlbCk7CiAJCS8qIGZhbGwgdGhy b3VnaCAqLwogCWNhc2UgUE9SVF9DTEtfU0VMX05PTkU6CiAJCXJldHVybjsKQEAgLTEyMjMwLDEw ICsxMjIxMSw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2R1bXBfcGlwZV9jb25maWcoc3RydWN0IGlu dGVsX2NydGMgKmNydGMsCiAJRFJNX0RFQlVHX0tNUygiZG91YmxlIHdpZGU6ICVpXG4iLCBwaXBl X2NvbmZpZy0+ZG91YmxlX3dpZGUpOwogCiAJaWYgKElTX0JST1hUT04oZGV2KSkgewotCQlEUk1f REVCVUdfS01TKCJkZGlfcGxsX3NlbDogJXU7IGRwbGxfaHdfc3RhdGU6IGViYjA6IDB4JXgsIGVi YjQ6IDB4JXgsIgorCQlEUk1fREVCVUdfS01TKCJkcGxsX2h3X3N0YXRlOiBlYmIwOiAweCV4LCBl YmI0OiAweCV4LCIKIAkJCSAgICAgICJwbGwwOiAweCV4LCBwbGwxOiAweCV4LCBwbGwyOiAweCV4 LCBwbGwzOiAweCV4LCAiCiAJCQkgICAgICAicGxsNjogMHgleCwgcGxsODogMHgleCwgcGxsOTog MHgleCwgcGxsMTA6IDB4JXgsIHBjc2R3MTI6IDB4JXhcbiIsCi0JCQkgICAgICBwaXBlX2NvbmZp Zy0+ZGRpX3BsbF9zZWwsCiAJCQkgICAgICBwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZS5lYmIw LAogCQkJICAgICAgcGlwZV9jb25maWctPmRwbGxfaHdfc3RhdGUuZWJiNCwKIAkJCSAgICAgIHBp cGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlLnBsbDAsCkBAIC0xMjI0NiwxNSArMTIyMjYsMTMgQEAg c3RhdGljIHZvaWQgaW50ZWxfZHVtcF9waXBlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YywKIAkJCSAgICAgIHBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlLnBsbDEwLAogCQkJICAgICAg cGlwZV9jb25maWctPmRwbGxfaHdfc3RhdGUucGNzZHcxMik7CiAJfSBlbHNlIGlmIChJU19TS1lM QUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2KSkgewotCQlEUk1fREVCVUdfS01TKCJkZGlfcGxs X3NlbDogJXU7IGRwbGxfaHdfc3RhdGU6ICIKKwkJRFJNX0RFQlVHX0tNUygiZHBsbF9od19zdGF0 ZTogIgogCQkJICAgICAgImN0cmwxOiAweCV4LCBjZmdjcjE6IDB4JXgsIGNmZ2NyMjogMHgleFxu IiwKLQkJCSAgICAgIHBpcGVfY29uZmlnLT5kZGlfcGxsX3NlbCwKIAkJCSAgICAgIHBpcGVfY29u ZmlnLT5kcGxsX2h3X3N0YXRlLmN0cmwxLAogCQkJICAgICAgcGlwZV9jb25maWctPmRwbGxfaHdf c3RhdGUuY2ZnY3IxLAogCQkJICAgICAgcGlwZV9jb25maWctPmRwbGxfaHdfc3RhdGUuY2ZnY3Iy KTsKIAl9IGVsc2UgaWYgKEhBU19EREkoZGV2KSkgewotCQlEUk1fREVCVUdfS01TKCJkZGlfcGxs X3NlbDogMHgleDsgZHBsbF9od19zdGF0ZTogd3JwbGw6IDB4JXggc3BsbDogMHgleFxuIiwKLQkJ CSAgICAgIHBpcGVfY29uZmlnLT5kZGlfcGxsX3NlbCwKKwkJRFJNX0RFQlVHX0tNUygiZHBsbF9o d19zdGF0ZTogd3JwbGw6IDB4JXggc3BsbDogMHgleFxuIiwKIAkJCSAgICAgIHBpcGVfY29uZmln LT5kcGxsX2h3X3N0YXRlLndycGxsLAogCQkJICAgICAgcGlwZV9jb25maWctPmRwbGxfaHdfc3Rh dGUuc3BsbCk7CiAJfSBlbHNlIHsKQEAgLTEyMzYzLDcgKzEyMzQxLDYgQEAgY2xlYXJfaW50ZWxf Y3J0Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAlzdHJ1Y3Qg aW50ZWxfY3J0Y19zY2FsZXJfc3RhdGUgc2NhbGVyX3N0YXRlOwogCXN0cnVjdCBpbnRlbF9kcGxs X2h3X3N0YXRlIGRwbGxfaHdfc3RhdGU7CiAJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpzaGFy ZWRfZHBsbDsKLQl1aW50MzJfdCBkZGlfcGxsX3NlbDsKIAlib29sIGZvcmNlX3RocnU7CiAKIAkv KiBGSVhNRTogYmVmb3JlIHRoZSBzd2l0Y2ggdG8gYXRvbWljIHN0YXJ0ZWQsIGEgbmV3IHBpcGVf Y29uZmlnIHdhcwpAQCAtMTIzNzUsNyArMTIzNTIsNiBAQCBjbGVhcl9pbnRlbF9jcnRjX3N0YXRl KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCXNjYWxlcl9zdGF0ZSA9IGNy dGNfc3RhdGUtPnNjYWxlcl9zdGF0ZTsKIAlzaGFyZWRfZHBsbCA9IGNydGNfc3RhdGUtPnNoYXJl ZF9kcGxsOwogCWRwbGxfaHdfc3RhdGUgPSBjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlOwotCWRk aV9wbGxfc2VsID0gY3J0Y19zdGF0ZS0+ZGRpX3BsbF9zZWw7CiAJZm9yY2VfdGhydSA9IGNydGNf c3RhdGUtPnBjaF9wZml0LmZvcmNlX3RocnU7CiAKIAltZW1zZXQoY3J0Y19zdGF0ZSwgMCwgc2l6 ZW9mICpjcnRjX3N0YXRlKTsKQEAgLTEyMzg0LDcgKzEyMzYwLDYgQEAgY2xlYXJfaW50ZWxfY3J0 Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAljcnRjX3N0YXRl LT5zY2FsZXJfc3RhdGUgPSBzY2FsZXJfc3RhdGU7CiAJY3J0Y19zdGF0ZS0+c2hhcmVkX2RwbGwg PSBzaGFyZWRfZHBsbDsKIAljcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlID0gZHBsbF9od19zdGF0 ZTsKLQljcnRjX3N0YXRlLT5kZGlfcGxsX3NlbCA9IGRkaV9wbGxfc2VsOwogCWNydGNfc3RhdGUt PnBjaF9wZml0LmZvcmNlX3RocnUgPSBmb3JjZV90aHJ1OwogfQogCkBAIC0xMjgxMyw4ICsxMjc4 OCw2IEBAIGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAogCVBJUEVfQ09ORl9DSEVDS19JKGRvdWJsZV93aWRlKTsKIAotCVBJUEVfQ09ORl9DSEVDS19Y KGRkaV9wbGxfc2VsKTsKLQogCVBJUEVfQ09ORl9DSEVDS19QKHNoYXJlZF9kcGxsKTsKIAlQSVBF X0NPTkZfQ0hFQ0tfWChkcGxsX2h3X3N0YXRlLmRwbGwpOwogCVBJUEVfQ09ORl9DSEVDS19YKGRw bGxfaHdfc3RhdGUuZHBsbF9tZCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcF9tc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCmluZGV4 IGU2NTRmZWEuLjEzMTg4MWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwX21zdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCkBAIC0x NzAsNyArMTcwLDggQEAgc3RhdGljIHZvaWQgaW50ZWxfbXN0X3ByZV9lbmFibGVfZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJaW50ZWxfbXN0LT5jb25uZWN0b3IgPSBmb3VuZDsK IAogCWlmIChpbnRlbF9kcC0+YWN0aXZlX21zdF9saW5rcyA9PSAwKSB7Ci0JCWludGVsX2RkaV9j bGtfc2VsZWN0KCZpbnRlbF9kaWdfcG9ydC0+YmFzZSwgaW50ZWxfY3J0Yy0+Y29uZmlnKTsKKwkJ aW50ZWxfZGRpX2Nsa19zZWxlY3QoJmludGVsX2RpZ19wb3J0LT5iYXNlLAorCQkJCSAgICAgaW50 ZWxfY3J0Yy0+Y29uZmlnLT5zaGFyZWRfZHBsbCk7CiAKIAkJaW50ZWxfcHJlcGFyZV9kcF9kZGlf YnVmZmVycygmaW50ZWxfZGlnX3BvcnQtPmJhc2UpOwogCQlpbnRlbF9kcF9zZXRfbGlua19wYXJh bXMoaW50ZWxfZHAsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxs X21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYwppbmRleCA1YzFm MmQyLi4wZTFhZjRkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxs X21nci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMKQEAgLTQ1 MiwyNiArNDUyLDYgQEAgc3RhdGljIGJvb2wgaHN3X2RkaV9zcGxsX2dldF9od19zdGF0ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJcmV0dXJuIHZhbCAmIFNQTExfUExMX0VO QUJMRTsKIH0KIAotc3RhdGljIHVpbnQzMl90IGhzd19wbGxfdG9fZGRpX3BsbF9zZWwoc3RydWN0 IGludGVsX3NoYXJlZF9kcGxsICpwbGwpCi17Ci0Jc3dpdGNoIChwbGwtPmlkKSB7Ci0JY2FzZSBE UExMX0lEX1dSUExMMToKLQkJcmV0dXJuIFBPUlRfQ0xLX1NFTF9XUlBMTDE7Ci0JY2FzZSBEUExM X0lEX1dSUExMMjoKLQkJcmV0dXJuIFBPUlRfQ0xLX1NFTF9XUlBMTDI7Ci0JY2FzZSBEUExMX0lE X1NQTEw6Ci0JCXJldHVybiBQT1JUX0NMS19TRUxfU1BMTDsKLQljYXNlIERQTExfSURfTENQTExf ODEwOgotCQlyZXR1cm4gUE9SVF9DTEtfU0VMX0xDUExMXzgxMDsKLQljYXNlIERQTExfSURfTENQ TExfMTM1MDoKLQkJcmV0dXJuIFBPUlRfQ0xLX1NFTF9MQ1BMTF8xMzUwOwotCWNhc2UgRFBMTF9J RF9MQ1BMTF8yNzAwOgotCQlyZXR1cm4gUE9SVF9DTEtfU0VMX0xDUExMXzI3MDA7Ci0JZGVmYXVs dDoKLQkJcmV0dXJuIFBPUlRfQ0xLX1NFTF9OT05FOwotCX0KLX0KLQogI2RlZmluZSBMQ19GUkVR IDI3MDAKICNkZWZpbmUgTENfRlJFUV8ySyBVNjRfQyhMQ19GUkVRICogMjAwMCkKIApAQCAtNzUx LDggKzczMSw2IEBAIGhzd19nZXRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yywgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJaWYgKCFwbGwpCiAJCXJldHVybiBOVUxM OwogCi0JY3J0Y19zdGF0ZS0+ZGRpX3BsbF9zZWwgPSBoc3dfcGxsX3RvX2RkaV9wbGxfc2VsKHBs bCk7Ci0KIAlpbnRlbF9yZWZlcmVuY2Vfc2hhcmVkX2RwbGwocGxsLCBjcnRjX3N0YXRlKTsKIAog CXJldHVybiBwbGw7CkBAIC0xMjc0LDggKzEyNTIsNiBAQCBza2xfZ2V0X2RwbGwoc3RydWN0IGlu dGVsX2NydGMgKmNydGMsIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCWlm ICghcGxsKQogCQlyZXR1cm4gTlVMTDsKIAotCWNydGNfc3RhdGUtPmRkaV9wbGxfc2VsID0gcGxs LT5pZDsKLQogCWludGVsX3JlZmVyZW5jZV9zaGFyZWRfZHBsbChwbGwsIGNydGNfc3RhdGUpOwog CiAJcmV0dXJuIHBsbDsKQEAgLTE2MjIsOSArMTU5OCw2IEBAIGJ4dF9nZXRfZHBsbChzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0Yywgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAK IAlpbnRlbF9yZWZlcmVuY2Vfc2hhcmVkX2RwbGwocGxsLCBjcnRjX3N0YXRlKTsKIAotCS8qIHNo YXJlZCBEUExMIGlkIDAgaXMgRFBMTCBBICovCi0JY3J0Y19zdGF0ZS0+ZGRpX3BsbF9zZWwgPSBw bGwtPmlkOwotCiAJcmV0dXJuIHBsbDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRl eCA4NmQyNDNlLi42MjMzNDg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtNTU4LDEy ICs1NTgsNiBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7CiAJLyogU2VsZWN0ZWQgZHBsbCB3 aGVuIHNoYXJlZCBvciBOVUxMLiAqLwogCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqc2hhcmVk X2RwbGw7CiAKLQkvKgotCSAqIC0gUE9SVF9DTEtfU0VMIGZvciBEREkgcG9ydHMgb24gSFNXL0JE Vy4KLQkgKiAtIGVudW0gc2tsX2RwbGwgb24gU0tMCi0JICovCi0JdWludDMyX3QgZGRpX3BsbF9z ZWw7Ci0KIAkvKiBBY3R1YWwgcmVnaXN0ZXIgc3RhdGUgb2YgdGhlIGRwbGwsIGZvciBzaGFyZWQg ZHBsbCBjcm9zcy1jaGVja2luZy4gKi8KIAlzdHJ1Y3QgaW50ZWxfZHBsbF9od19zdGF0ZSBkcGxs X2h3X3N0YXRlOwogCkBAIC0xMTA0LDcgKzEwOTgsNyBAQCB2b2lkIGludGVsX2NydF9yZXNldChz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpOwogCiAvKiBpbnRlbF9kZGkuYyAqLwogdm9pZCBp bnRlbF9kZGlfY2xrX3NlbGVjdChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKLQkJCSAg Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKKwkJCSAgc3RydWN0 IGludGVsX3NoYXJlZF9kcGxsICpwbGwpOwogdm9pZCBpbnRlbF9wcmVwYXJlX2RwX2RkaV9idWZm ZXJzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKTsKIHZvaWQgaHN3X2ZkaV9saW5rX3Ry YWluKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CiB2b2lkIGludGVsX2RkaV9pbml0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIGVudW0gcG9ydCBwb3J0KTsKLS0gCjEuOS4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK