From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 07/16] drm/i915: Setup DPLL/DPLLMD for DSI too on VLV/CHV Date: Tue, 15 Mar 2016 16:40:00 +0200 Message-ID: <1458052809-23426-8-git-send-email-ville.syrjala@linux.intel.com> References: <1458052809-23426-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id B4A116E75C for ; Tue, 15 Mar 2016 14:41:02 +0000 (UTC) In-Reply-To: <1458052809-23426-1-git-send-email-ville.syrjala@linux.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: Deepak M List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClNl dCB1cCBEUExMIGFuZCBEUExMX01EIGV2ZW4gd2hlbiBkcml2aW5nIERTSSBvdXRwdXQgb24gVkxW L0NIVi4gV2hpbGUKdGhlIERQTEwgaXNuJ3QgdXNlZCB0byBwcm92aWRlIHRoZSBjbG9jayB3ZSBz dGlsbCBuZWVkIHRoZSByZWZjbG9jaywgYW5kCml0IGFwcGVhcnMgdGhhdCB0aGUgcGl4ZWwgcmVw ZWF0IGZhY3RvciBhbHNvIGhhcyBhbiBlZmZlY3Qgb24gRFNJCm91dHB1dC4gU28gc2V0IHVwIGV2 ZXlyaGluZyBpbiBEUExMIGFuZCBEUExMX01EIGFzIHdlIHdvdWxkIGRvIGZvcgpEUC9IRE1JL1ZH QSwgYnV0IGRvbid0IGFjdHVhbGx5IGVuYWJsZSB0aGUgRFBMTCBvciBjb25maWd1cmUgdGhlCmRp dmlkZXJzIHZpYSBEUElPLgoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgfCAxMTcgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jICAgICB8ICAyOCArKystLS0tLS0KIDIgZmlsZXMg Y2hhbmdlZCwgODAgaW5zZXJ0aW9ucygrKSwgNjUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IGM4NWI3N2MxMTg4ZC4uOThhYWUzOTE0ZTllIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0xNTY3LDQ1ICsxNTY3LDQ3IEBAIHN0 YXRpYyB2b2lkIGFzc2VydF9wY2hfcG9ydHNfZGlzYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogCWFzc2VydF9wY2hfaGRtaV9kaXNhYmxlZChkZXZfcHJpdiwgcGlwZSwg UENIX0hETUlEKTsKIH0KIAorc3RhdGljIHZvaWQgX3Zsdl9lbmFibGVfcGxsKHN0cnVjdCBpbnRl bF9jcnRjICpjcnRjLAorCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBl X2NvbmZpZykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNydGMtPmJhc2UuZGV2KTsKKwllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CisKKwlJOTE1 X1dSSVRFKERQTEwocGlwZSksIHBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlLmRwbGwpOworCVBP U1RJTkdfUkVBRChEUExMKHBpcGUpKTsKKwl1ZGVsYXkoMTUwKTsKKworCWlmICh3YWl0X2Zvcigo KEk5MTVfUkVBRChEUExMKHBpcGUpKSAmIERQTExfTE9DS19WTFYpID09IERQTExfTE9DS19WTFYp LCAxKSkKKwkJRFJNX0VSUk9SKCJEUExMICVkIGZhaWxlZCB0byBsb2NrXG4iLCBwaXBlKTsKK30K Kwogc3RhdGljIHZvaWQgdmx2X2VuYWJsZV9wbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJ CQkgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCiB7Ci0Jc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2OwotCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBp cGUgPSBjcnRjLT5waXBlOwotCWk5MTVfcmVnX3QgcmVnID0gRFBMTChwaXBlKTsKLQl1MzIgZHBs bCA9IHBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlLmRwbGw7CiAKIAlhc3NlcnRfcGlwZV9kaXNh YmxlZChkZXZfcHJpdiwgcGlwZSk7CiAKIAkvKiBQTEwgaXMgcHJvdGVjdGVkIGJ5IHBhbmVsLCBt YWtlIHN1cmUgd2UgY2FuIHdyaXRlIGl0ICovCiAJYXNzZXJ0X3BhbmVsX3VubG9ja2VkKGRldl9w cml2LCBwaXBlKTsKIAotCUk5MTVfV1JJVEUocmVnLCBkcGxsKTsKLQlQT1NUSU5HX1JFQUQocmVn KTsKLQl1ZGVsYXkoMTUwKTsKLQotCWlmICh3YWl0X2ZvcigoKEk5MTVfUkVBRChyZWcpICYgRFBM TF9MT0NLX1ZMVikgPT0gRFBMTF9MT0NLX1ZMViksIDEpKQotCQlEUk1fRVJST1IoIkRQTEwgJWQg ZmFpbGVkIHRvIGxvY2tcbiIsIHBpcGUpOworCWlmIChwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0 ZS5kcGxsICYgRFBMTF9WQ09fRU5BQkxFKQorCQlfdmx2X2VuYWJsZV9wbGwoY3J0YywgcGlwZV9j b25maWcpOwogCiAJSTkxNV9XUklURShEUExMX01EKHBpcGUpLCBwaXBlX2NvbmZpZy0+ZHBsbF9o d19zdGF0ZS5kcGxsX21kKTsKIAlQT1NUSU5HX1JFQUQoRFBMTF9NRChwaXBlKSk7CiB9CiAKLXN0 YXRpYyB2b2lkIGNodl9lbmFibGVfcGxsKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAotCQkJICAg Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQorCitzdGF0aWMgdm9p ZCBfY2h2X2VuYWJsZV9wbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMsCisJCQkgICAgY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQogewotCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+ cGlwZTsKIAllbnVtIGRwaW9fY2hhbm5lbCBwb3J0ID0gdmx2X3BpcGVfdG9fY2hhbm5lbChwaXBl KTsKIAl1MzIgdG1wOwogCi0JYXNzZXJ0X3BpcGVfZGlzYWJsZWQoZGV2X3ByaXYsIHBpcGUpOwot Ci0JLyogUExMIGlzIHByb3RlY3RlZCBieSBwYW5lbCwgbWFrZSBzdXJlIHdlIGNhbiB3cml0ZSBp dCAqLwotCWFzc2VydF9wYW5lbF91bmxvY2tlZChkZXZfcHJpdiwgcGlwZSk7Ci0KIAltdXRleF9s b2NrKCZkZXZfcHJpdi0+c2JfbG9jayk7CiAKIAkvKiBFbmFibGUgYmFjayB0aGUgMTBiaXQgY2xv Y2sgdG8gZGlzcGxheSBjb250cm9sbGVyICovCkBAIC0xNjI2LDYgKzE2MjgsMjEgQEAgc3RhdGlj IHZvaWQgY2h2X2VuYWJsZV9wbGwoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJLyogQ2hlY2sg UExMIGlzIGxvY2tlZCAqLwogCWlmICh3YWl0X2ZvcigoKEk5MTVfUkVBRChEUExMKHBpcGUpKSAm IERQTExfTE9DS19WTFYpID09IERQTExfTE9DS19WTFYpLCAxKSkKIAkJRFJNX0VSUk9SKCJQTEwg JWQgZmFpbGVkIHRvIGxvY2tcbiIsIHBpcGUpOworfQorCitzdGF0aWMgdm9pZCBjaHZfZW5hYmxl X3BsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKKwkJCSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpwaXBlX2NvbmZpZykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKKwllbnVtIHBpcGUgcGlwZSA9IGNydGMt PnBpcGU7CisKKwlhc3NlcnRfcGlwZV9kaXNhYmxlZChkZXZfcHJpdiwgcGlwZSk7CisKKwkvKiBQ TEwgaXMgcHJvdGVjdGVkIGJ5IHBhbmVsLCBtYWtlIHN1cmUgd2UgY2FuIHdyaXRlIGl0ICovCisJ YXNzZXJ0X3BhbmVsX3VubG9ja2VkKGRldl9wcml2LCBwaXBlKTsKKworCWlmIChwaXBlX2NvbmZp Zy0+ZHBsbF9od19zdGF0ZS5kcGxsICYgRFBMTF9WQ09fRU5BQkxFKQorCQlfY2h2X2VuYWJsZV9w bGwoY3J0YywgcGlwZV9jb25maWcpOwogCiAJaWYgKHBpcGUgIT0gUElQRV9BKSB7CiAJCS8qCkBA IC02MTI1LDE0ICs2MTQyLDEyIEBAIHN0YXRpYyB2b2lkIHZhbGxleXZpZXdfY3J0Y19lbmFibGUo c3RydWN0IGRybV9jcnRjICpjcnRjKQogCQlpZiAoZW5jb2Rlci0+cHJlX3BsbF9lbmFibGUpCiAJ CQllbmNvZGVyLT5wcmVfcGxsX2VuYWJsZShlbmNvZGVyKTsKIAotCWlmICghaW50ZWxfY3J0Yy0+ Y29uZmlnLT5oYXNfZHNpX2VuY29kZXIpIHsKLQkJaWYgKElTX0NIRVJSWVZJRVcoZGV2KSkgewot CQkJY2h2X3ByZXBhcmVfcGxsKGludGVsX2NydGMsIGludGVsX2NydGMtPmNvbmZpZyk7Ci0JCQlj aHZfZW5hYmxlX3BsbChpbnRlbF9jcnRjLCBpbnRlbF9jcnRjLT5jb25maWcpOwotCQl9IGVsc2Ug ewotCQkJdmx2X3ByZXBhcmVfcGxsKGludGVsX2NydGMsIGludGVsX2NydGMtPmNvbmZpZyk7Ci0J CQl2bHZfZW5hYmxlX3BsbChpbnRlbF9jcnRjLCBpbnRlbF9jcnRjLT5jb25maWcpOwotCQl9CisJ aWYgKElTX0NIRVJSWVZJRVcoZGV2KSkgeworCQljaHZfcHJlcGFyZV9wbGwoaW50ZWxfY3J0Yywg aW50ZWxfY3J0Yy0+Y29uZmlnKTsKKwkJY2h2X2VuYWJsZV9wbGwoaW50ZWxfY3J0YywgaW50ZWxf Y3J0Yy0+Y29uZmlnKTsKKwl9IGVsc2UgeworCQl2bHZfcHJlcGFyZV9wbGwoaW50ZWxfY3J0Yywg aW50ZWxfY3J0Yy0+Y29uZmlnKTsKKwkJdmx2X2VuYWJsZV9wbGwoaW50ZWxfY3J0YywgaW50ZWxf Y3J0Yy0+Y29uZmlnKTsKIAl9CiAKIAlmb3JfZWFjaF9lbmNvZGVyX29uX2NydGMoZGV2LCBjcnRj LCBlbmNvZGVyKQpAQCAtNjE2OCw3ICs2MTgzLDcgQEAgc3RhdGljIHZvaWQgaTl4eF9jcnRjX2Vu YWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjKTsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKLQlp bnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7CisJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9jcnRj LT5waXBlOwogCiAJaWYgKFdBUk5fT04oaW50ZWxfY3J0Yy0+YWN0aXZlKSkKIAkJcmV0dXJuOwpA QCAtNzI0OCwxMSArNzI2MywxNSBAQCBzdGF0aWMgdm9pZCB2bHZfY29tcHV0ZV9kcGxsKHN0cnVj dCBpbnRlbF9jcnRjICpjcnRjLAogCQkJICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlw ZV9jb25maWcpCiB7CiAJcGlwZV9jb25maWctPmRwbGxfaHdfc3RhdGUuZHBsbCA9IERQTExfSU5U RUdSQVRFRF9SRUZfQ0xLX1ZMViB8Ci0JCURQTExfUkVGX0NMS19FTkFCTEVfVkxWIHwgRFBMTF9W R0FfTU9ERV9ESVMgfAotCQlEUExMX1ZDT19FTkFCTEUgfCBEUExMX0VYVF9CVUZGRVJfRU5BQkxF X1ZMVjsKKwkJRFBMTF9SRUZfQ0xLX0VOQUJMRV9WTFYgfCBEUExMX1ZHQV9NT0RFX0RJUzsKIAlp ZiAoY3J0Yy0+cGlwZSAhPSBQSVBFX0EpCiAJCXBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlLmRw bGwgfD0gRFBMTF9JTlRFR1JBVEVEX0NSSV9DTEtfVkxWOwogCisJLyogRFBMTCBub3QgdXNlZCB3 aXRoIERTSSwgYnV0IHN0aWxsIG5lZWQgdGhlIHJlc3Qgc2V0IHVwICovCisJaWYgKCFpbnRlbF9w aXBlX3dpbGxfaGF2ZV90eXBlKHBpcGVfY29uZmlnLCBJTlRFTF9PVVRQVVRfRFNJKSkKKwkJcGlw ZV9jb25maWctPmRwbGxfaHdfc3RhdGUuZHBsbCB8PSBEUExMX1ZDT19FTkFCTEUgfAorCQkJRFBM TF9FWFRfQlVGRkVSX0VOQUJMRV9WTFY7CisKIAlwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZS5k cGxsX21kID0KIAkJKHBpcGVfY29uZmlnLT5waXhlbF9tdWx0aXBsaWVyIC0gMSkgPDwgRFBMTF9N RF9VRElfTVVMVElQTElFUl9TSElGVDsKIH0KQEAgLTcyNjEsMTEgKzcyODAsMTQgQEAgc3RhdGlj IHZvaWQgY2h2X2NvbXB1dGVfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkJCSAgICAg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQogewogCXBpcGVfY29uZmlnLT5k cGxsX2h3X3N0YXRlLmRwbGwgPSBEUExMX1NTQ19SRUZfQ0xLX0NIViB8Ci0JCURQTExfUkVGX0NM S19FTkFCTEVfVkxWIHwgRFBMTF9WR0FfTU9ERV9ESVMgfAotCQlEUExMX1ZDT19FTkFCTEU7CisJ CURQTExfUkVGX0NMS19FTkFCTEVfVkxWIHwgRFBMTF9WR0FfTU9ERV9ESVM7CiAJaWYgKGNydGMt PnBpcGUgIT0gUElQRV9BKQogCQlwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZS5kcGxsIHw9IERQ TExfSU5URUdSQVRFRF9DUklfQ0xLX1ZMVjsKIAorCS8qIERQTEwgbm90IHVzZWQgd2l0aCBEU0ks IGJ1dCBzdGlsbCBuZWVkIHRoZSByZXN0IHNldCB1cCAqLworCWlmICghaW50ZWxfcGlwZV93aWxs X2hhdmVfdHlwZShwaXBlX2NvbmZpZywgSU5URUxfT1VUUFVUX0RTSSkpCisJCXBpcGVfY29uZmln LT5kcGxsX2h3X3N0YXRlLmRwbGwgfD0gRFBMTF9WQ09fRU5BQkxFOworCiAJcGlwZV9jb25maWct PmRwbGxfaHdfc3RhdGUuZHBsbF9tZCA9CiAJCShwaXBlX2NvbmZpZy0+cGl4ZWxfbXVsdGlwbGll ciAtIDEpIDw8IERQTExfTURfVURJX01VTFRJUExJRVJfU0hJRlQ7CiB9CkBAIC03Mjc1LDExICs3 Mjk3LDIwIEBAIHN0YXRpYyB2b2lkIHZsdl9wcmVwYXJlX3BsbChzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YywKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlpbnQg cGlwZSA9IGNydGMtPnBpcGU7CisJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOwogCXUzMiBt ZGl2OwogCXUzMiBiZXN0biwgYmVzdG0xLCBiZXN0bTIsIGJlc3RwMSwgYmVzdHAyOwogCXUzMiBj b3JlY2xrLCByZWdfdmFsOwogCisJLyogRW5hYmxlIFJlZmNsayAqLworCUk5MTVfV1JJVEUoRFBM TChwaXBlKSwKKwkJICAgcGlwZV9jb25maWctPmRwbGxfaHdfc3RhdGUuZHBsbCAmCisJCSAgIH4o RFBMTF9WQ09fRU5BQkxFIHwgRFBMTF9FWFRfQlVGRkVSX0VOQUJMRV9WTFYpKTsKKworCS8qIE5v IG5lZWQgdG8gYWN0dWFsbHkgc2V0IHVwIHRoZSBEUExMIHdpdGggRFNJICovCisJaWYgKChwaXBl X2NvbmZpZy0+ZHBsbF9od19zdGF0ZS5kcGxsICYgRFBMTF9WQ09fRU5BQkxFKSA9PSAwKQorCQly ZXR1cm47CisKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+c2JfbG9jayk7CiAKIAliZXN0biA9IHBp cGVfY29uZmlnLT5kcGxsLm47CkBAIC03MzY2LDE0ICs3Mzk3LDIxIEBAIHN0YXRpYyB2b2lkIGNo dl9wcmVwYXJlX3BsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIHsKIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlpbnQgcGlwZSA9IGNydGMtPnBpcGU7Ci0JaTkx NV9yZWdfdCBkcGxsX3JlZyA9IERQTEwoY3J0Yy0+cGlwZSk7CisJZW51bSBwaXBlIHBpcGUgPSBj cnRjLT5waXBlOwogCWVudW0gZHBpb19jaGFubmVsIHBvcnQgPSB2bHZfcGlwZV90b19jaGFubmVs KHBpcGUpOwogCXUzMiBsb29wZmlsdGVyLCB0cmlidWZfY2FsY250cjsKIAl1MzIgYmVzdG4sIGJl c3RtMSwgYmVzdG0yLCBiZXN0cDEsIGJlc3RwMiwgYmVzdG0yX2ZyYWM7CiAJdTMyIGRwaW9fdmFs OwogCWludCB2Y287CiAKKwkvKiBFbmFibGUgUmVmY2xrIGFuZCBTU0MgKi8KKwlJOTE1X1dSSVRF KERQTEwocGlwZSksCisJCSAgIHBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlLmRwbGwgJiB+RFBM TF9WQ09fRU5BQkxFKTsKKworCS8qIE5vIG5lZWQgdG8gYWN0dWFsbHkgc2V0IHVwIHRoZSBEUExM IHdpdGggRFNJICovCisJaWYgKChwaXBlX2NvbmZpZy0+ZHBsbF9od19zdGF0ZS5kcGxsICYgRFBM TF9WQ09fRU5BQkxFKSA9PSAwKQorCQlyZXR1cm47CisKIAliZXN0biA9IHBpcGVfY29uZmlnLT5k cGxsLm47CiAJYmVzdG0yX2ZyYWMgPSBwaXBlX2NvbmZpZy0+ZHBsbC5tMiAmIDB4M2ZmZmZmOwog CWJlc3RtMSA9IHBpcGVfY29uZmlnLT5kcGxsLm0xOwpAQCAtNzM4NCwxMiArNzQyMiw2IEBAIHN0 YXRpYyB2b2lkIGNodl9wcmVwYXJlX3BsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAlkcGlv X3ZhbCA9IDA7CiAJbG9vcGZpbHRlciA9IDA7CiAKLQkvKgotCSAqIEVuYWJsZSBSZWZjbGsgYW5k IFNTQwotCSAqLwotCUk5MTVfV1JJVEUoZHBsbF9yZWcsCi0JCSAgIHBpcGVfY29uZmlnLT5kcGxs X2h3X3N0YXRlLmRwbGwgJiB+RFBMTF9WQ09fRU5BQkxFKTsKLQogCW11dGV4X2xvY2soJmRldl9w cml2LT5zYl9sb2NrKTsKIAogCS8qIHAxIGFuZCBwMiBkaXZpZGVyICovCkBAIC03ODUxLDkgKzc4 ODMsNiBAQCBzdGF0aWMgaW50IGk5eHhfY3J0Y19jb21wdXRlX2Nsb2NrKHN0cnVjdCBpbnRlbF9j cnRjICpjcnRjLAogCW1lbXNldCgmY3J0Y19zdGF0ZS0+ZHBsbF9od19zdGF0ZSwgMCwKIAkgICAg ICAgc2l6ZW9mKGNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUpKTsKIAotCWlmIChjcnRjX3N0YXRl LT5oYXNfZHNpX2VuY29kZXIpCi0JCXJldHVybiAwOwotCiAJZm9yX2VhY2hfY29ubmVjdG9yX2lu X3N0YXRlKHN0YXRlLCBjb25uZWN0b3IsIGNvbm5lY3Rvcl9zdGF0ZSwgaSkgewogCQlpZiAoY29u bmVjdG9yX3N0YXRlLT5jcnRjID09ICZjcnRjLT5iYXNlKQogCQkJbnVtX2Nvbm5lY3RvcnMrKzsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKaW5kZXggMDFiOGU5ZjRjMjcyLi40MDIzYjZiZmZhNDcg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCkBAIC0yODQsNiArMjg0LDEyIEBAIHN0YXRpYyBi b29sIGludGVsX2RzaV9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKIAkvKiBEU0kgdXNlcyBzaG9ydCBwYWNrZXRzIGZvciBzeW5jIGV2ZW50cywgc28gY2xlYXIg bW9kZSBmbGFncyBmb3IgRFNJICovCiAJYWRqdXN0ZWRfbW9kZS0+ZmxhZ3MgPSAwOwogCisJLyoK KwkgKiBGSVhNRSBtb3ZlIHRoZSBEU0kgUExMIGNhbGMgZnJvbSB2bHZfZW5hYmxlX2RzaV9wbGwo KQorCSAqIHRvIC5jb21wdXRlX2NvbmZpZygpLgorCSAqLworCXBpcGVfY29uZmlnLT5jbG9ja19z ZXQgPSB0cnVlOworCiAJcmV0dXJuIHRydWU7CiB9CiAKQEAgLTQ3MSw4ICs0NzcsNiBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9kc2lfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl cikKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3Qg aW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsK LQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+ YmFzZS5jcnRjKTsKLQllbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7CiAJZW51bSBw b3J0IHBvcnQ7CiAJdTMyIHRtcDsKIApAQCAtNDg4LDE5ICs0OTIsNyBAQCBzdGF0aWMgdm9pZCBp bnRlbF9kc2lfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAltc2xl ZXAoaW50ZWxfZHNpLT5wYW5lbF9vbl9kZWxheSk7CiAKIAlpZiAoSVNfVkFMTEVZVklFVyhkZXYp IHx8IElTX0NIRVJSWVZJRVcoZGV2KSkgewotCQkvKgotCQkgKiBEaXNhYmxlIERQT3VuaXQgY2xv Y2sgZ2F0aW5nLCBjYW4gc3RhbGwgcGlwZQotCQkgKiBhbmQgd2UgbmVlZCBEUExMIFJFRkEgYWx3 YXlzIGVuYWJsZWQKLQkJICovCi0JCXRtcCA9IEk5MTVfUkVBRChEUExMKHBpcGUpKTsKLQkJdG1w IHw9IERQTExfUkVGX0NMS19FTkFCTEVfVkxWOwotCQlJOTE1X1dSSVRFKERQTEwocGlwZSksIHRt cCk7Ci0KLQkJLyogdXBkYXRlIHRoZSBodyBzdGF0ZSBmb3IgRFBMTCAqLwotCQlpbnRlbF9jcnRj LT5jb25maWctPmRwbGxfaHdfc3RhdGUuZHBsbCA9Ci0JCQkJRFBMTF9JTlRFR1JBVEVEX1JFRl9D TEtfVkxWIHwKLQkJCQkJRFBMTF9SRUZfQ0xLX0VOQUJMRV9WTFYgfCBEUExMX1ZHQV9NT0RFX0RJ UzsKLQorCQkvKiBEaXNhYmxlIERQT3VuaXQgY2xvY2sgZ2F0aW5nLCBjYW4gc3RhbGwgcGlwZSAq LwogCQl0bXAgPSBJOTE1X1JFQUQoRFNQQ0xLX0dBVEVfRCk7CiAJCXRtcCB8PSBEUE9VTklUX0NM T0NLX0dBVEVfRElTQUJMRTsKIAkJSTkxNV9XUklURShEU1BDTEtfR0FURV9ELCB0bXApOwpAQCAt NzE3LDEyICs3MDksNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfZ2V0X2NvbmZpZyhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAogCXBpcGVfY29uZmlnLT5oYXNfZHNpX2VuY29kZXIg PSB0cnVlOwogCi0JLyoKLQkgKiBEUExMX01EIGlzIG5vdCB1c2VkIGluIGNhc2Ugb2YgRFNJLCBy ZWFkaW5nIHdpbGwgZ2V0IHNvbWUgZGVmYXVsdCB2YWx1ZQotCSAqIHNldCBkcGxsX21kID0gMAot CSAqLwotCXBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlLmRwbGxfbWQgPSAwOwotCiAJcGNsayA9 IGludGVsX2RzaV9nZXRfcGNsayhlbmNvZGVyLCBwaXBlX2NvbmZpZy0+cGlwZV9icHApOwogCWlm ICghcGNsaykKIAkJcmV0dXJuOwotLSAKMi40LjEwCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK