From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 17/42] drm/i915: Remove use of crtc->config from intel_pm.c Date: Mon, 11 May 2015 16:24:53 +0200 Message-ID: <1431354318-11995-18-git-send-email-maarten.lankhorst@linux.intel.com> References: <1431354318-11995-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTP id 916ED6E25C for ; Mon, 11 May 2015 07:25:44 -0700 (PDT) In-Reply-To: <1431354318-11995-1-git-send-email-maarten.lankhorst@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: Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org U2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4 LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIHwgOTYgKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0 NiBpbnNlcnRpb25zKCspLCA1MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpp bmRleCBhNzBiMmQxZmM4NDQuLjg2OWI1ODdmNDYzZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5j CkBAIC02NzgsNyArNjc4LDcgQEAgc3RhdGljIHZvaWQgcGluZXZpZXdfdXBkYXRlX3dtKHN0cnVj dCBkcm1fY3J0YyAqdW51c2VkX2NydGMpCiAJCWludCBwaXhlbF9zaXplID0gY3J0Yy0+cHJpbWFy eS0+c3RhdGUtPmZiLT5iaXRzX3Blcl9waXhlbCAvIDg7CiAJCWludCBjbG9jazsKIAotCQlhZGp1 c3RlZF9tb2RlID0gJnRvX2ludGVsX2NydGMoY3J0YyktPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9t b2RlOworCQlhZGp1c3RlZF9tb2RlID0gJmNydGMtPnN0YXRlLT5hZGp1c3RlZF9tb2RlOwogCQlj bG9jayA9IGFkanVzdGVkX21vZGUtPmNydGNfY2xvY2s7CiAKIAkJLyogRGlzcGxheSBTUiAqLwpA QCAtNzQ3LDEwICs3NDcsMTAgQEAgc3RhdGljIGJvb2wgZzR4X2NvbXB1dGVfd20wKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCiAJCXJldHVybiBmYWxzZTsKIAl9CiAKLQlhZGp1c3RlZF9tb2RlID0g JnRvX2ludGVsX2NydGMoY3J0YyktPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOworCWFkanVz dGVkX21vZGUgPSAmY3J0Yy0+c3RhdGUtPmFkanVzdGVkX21vZGU7CiAJY2xvY2sgPSBhZGp1c3Rl ZF9tb2RlLT5jcnRjX2Nsb2NrOwogCWh0b3RhbCA9IGFkanVzdGVkX21vZGUtPmNydGNfaHRvdGFs OwotCWhkaXNwbGF5ID0gdG9faW50ZWxfY3J0YyhjcnRjKS0+Y29uZmlnLT5waXBlX3NyY193Owor CWhkaXNwbGF5ID0gdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSktPnBpcGVfc3JjX3c7 CiAJcGl4ZWxfc2l6ZSA9IGNydGMtPnByaW1hcnktPnN0YXRlLT5mYi0+Yml0c19wZXJfcGl4ZWwg LyA4OwogCiAJLyogVXNlIHRoZSBzbWFsbCBidWZmZXIgbWV0aG9kIHRvIGNhbGN1bGF0ZSBwbGFu ZSB3YXRlcm1hcmsgKi8KQEAgLTgzNCwxMCArODM0LDEwIEBAIHN0YXRpYyBib29sIGc0eF9jb21w dXRlX3Nyd20oc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAl9CiAKIAljcnRjID0gaW50ZWxfZ2V0 X2NydGNfZm9yX3BsYW5lKGRldiwgcGxhbmUpOwotCWFkanVzdGVkX21vZGUgPSAmdG9faW50ZWxf Y3J0YyhjcnRjKS0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7CisJYWRqdXN0ZWRfbW9kZSA9 ICZjcnRjLT5zdGF0ZS0+YWRqdXN0ZWRfbW9kZTsKIAljbG9jayA9IGFkanVzdGVkX21vZGUtPmNy dGNfY2xvY2s7CiAJaHRvdGFsID0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y19odG90YWw7Ci0JaGRpc3Bs YXkgPSB0b19pbnRlbF9jcnRjKGNydGMpLT5jb25maWctPnBpcGVfc3JjX3c7CisJaGRpc3BsYXkg PSB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKS0+cGlwZV9zcmNfdzsKIAlwaXhlbF9z aXplID0gY3J0Yy0+cHJpbWFyeS0+c3RhdGUtPmZiLT5iaXRzX3Blcl9waXhlbCAvIDg7CiAKIAls aW5lX3RpbWVfdXMgPSBtYXgoaHRvdGFsICogMTAwMCAvIGNsb2NrLCAxKTsKQEAgLTkzNCwxNiAr OTM0LDExIEBAIHN0YXRpYyB1aW50OF90IHZsdl9jb21wdXRlX2RyYWluX2xhdGVuY3koc3RydWN0 IGRybV9jcnRjICpjcnRjLAogCQkJCQkgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCiB7CiAJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50 ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAJaW50IGVudHJpZXMsIHByZWNfbXVsdCwg ZHJhaW5fbGF0ZW5jeSwgcGl4ZWxfc2l6ZTsKLQlpbnQgY2xvY2sgPSBpbnRlbF9jcnRjLT5jb25m aWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2Nsb2NrOworCWludCBjbG9jayA9IGNydGMtPnN0 YXRlLT5hZGp1c3RlZF9tb2RlLmNydGNfY2xvY2s7CiAJY29uc3QgaW50IGhpZ2hfcHJlY2lzaW9u ID0gSVNfQ0hFUlJZVklFVyhkZXYpID8gMTYgOiA2NDsKIAotCS8qCi0JICogRklYTUUgdGhlIHBs YW5lIG1pZ2h0IGhhdmUgYW4gZmIKLQkgKiBidXQgYmUgaW52aXNpYmxlIChlZy4gZHVlIHRvIGNs aXBwaW5nKQotCSAqLwotCWlmICghaW50ZWxfY3J0Yy0+YWN0aXZlIHx8ICFwbGFuZS0+c3RhdGUt PmZiKQorCWlmICghY3J0Yy0+c3RhdGUtPmFjdGl2ZSB8fCAhdG9faW50ZWxfcGxhbmVfc3RhdGUo cGxhbmUtPnN0YXRlKS0+dmlzaWJsZSkKIAkJcmV0dXJuIDA7CiAKIAlpZiAoV0FSTihjbG9jayA9 PSAwLCAiUGl4ZWwgY2xvY2sgaXMgemVybyFcbiIpKQpAQCAtOTgxLDExICs5NzYsMTEgQEAgc3Rh dGljIGludCB2bHZfY29tcHV0ZV93bShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkgKiBGSVhN RSB0aGUgcGxhbmUgbWlnaHQgaGF2ZSBhbiBmYgogCSAqIGJ1dCBiZSBpbnZpc2libGUgKGVnLiBk dWUgdG8gY2xpcHBpbmcpCiAJICovCi0JaWYgKCFjcnRjLT5hY3RpdmUgfHwgIXBsYW5lLT5iYXNl LnN0YXRlLT5mYikKKwlpZiAoIWNydGMtPmJhc2Uuc3RhdGUtPmFjdGl2ZSB8fCAhcGxhbmUtPmJh c2Uuc3RhdGUtPmZiKQogCQlyZXR1cm4gMDsKIAogCXBpeGVsX3NpemUgPSBkcm1fZm9ybWF0X3Bs YW5lX2NwcChwbGFuZS0+YmFzZS5zdGF0ZS0+ZmItPnBpeGVsX2Zvcm1hdCwgMCk7Ci0JY2xvY2sg PSBjcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2Nsb2NrOworCWNsb2NrID0g Y3J0Yy0+YmFzZS5zdGF0ZS0+YWRqdXN0ZWRfbW9kZS5jcnRjX2Nsb2NrOwogCiAJZW50cmllcyA9 IERJVl9ST1VORF9VUChjbG9jaywgMTAwMCkgKiBwaXhlbF9zaXplOwogCkBAIC0xMjE3LDEwICsx MjEyLDEwIEBAIHN0YXRpYyB2b2lkIGk5NjVfdXBkYXRlX3dtKHN0cnVjdCBkcm1fY3J0YyAqdW51 c2VkX2NydGMpCiAJCS8qIHNlbGYtcmVmcmVzaCBoYXMgbXVjaCBoaWdoZXIgbGF0ZW5jeSAqLwog CQlzdGF0aWMgY29uc3QgaW50IHNyX2xhdGVuY3lfbnMgPSAxMjAwMDsKIAkJY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQotCQkJJnRvX2ludGVsX2NydGMoY3J0 YyktPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOworCQkJJmNydGMtPnN0YXRlLT5hZGp1c3Rl ZF9tb2RlOwogCQlpbnQgY2xvY2sgPSBhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrOwogCQlpbnQg aHRvdGFsID0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y19odG90YWw7Ci0JCWludCBoZGlzcGxheSA9IHRv X2ludGVsX2NydGMoY3J0YyktPmNvbmZpZy0+cGlwZV9zcmNfdzsKKwkJaW50IGhkaXNwbGF5ID0g dG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSktPnBpcGVfc3JjX3c7CiAJCWludCBwaXhl bF9zaXplID0gY3J0Yy0+cHJpbWFyeS0+c3RhdGUtPmZiLT5iaXRzX3Blcl9waXhlbCAvIDg7CiAJ CXVuc2lnbmVkIGxvbmcgbGluZV90aW1lX3VzOwogCQlpbnQgZW50cmllczsKQEAgLTEzMDQsNyAr MTI5OSw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX3dtKHN0cnVjdCBkcm1fY3J0YyAqdW51 c2VkX2NydGMpCiAJCWlmIChJU19HRU4yKGRldikpCiAJCQljcHAgPSA0OwogCi0JCWFkanVzdGVk X21vZGUgPSAmdG9faW50ZWxfY3J0YyhjcnRjKS0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7 CisJCWFkanVzdGVkX21vZGUgPSAmY3J0Yy0+c3RhdGUtPmFkanVzdGVkX21vZGU7CiAJCXBsYW5l YV93bSA9IGludGVsX2NhbGN1bGF0ZV93bShhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrLAogCQkJ CQkgICAgICAgd21faW5mbywgZmlmb19zaXplLCBjcHAsCiAJCQkJCSAgICAgICBwZXNzaW1hbF9s YXRlbmN5X25zKTsKQEAgLTEzMjYsNyArMTMyMSw3IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRl X3dtKHN0cnVjdCBkcm1fY3J0YyAqdW51c2VkX2NydGMpCiAJCWlmIChJU19HRU4yKGRldikpCiAJ CQljcHAgPSA0OwogCi0JCWFkanVzdGVkX21vZGUgPSAmdG9faW50ZWxfY3J0YyhjcnRjKS0+Y29u ZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7CisJCWFkanVzdGVkX21vZGUgPSAmY3J0Yy0+c3RhdGUt PmFkanVzdGVkX21vZGU7CiAJCXBsYW5lYl93bSA9IGludGVsX2NhbGN1bGF0ZV93bShhZGp1c3Rl ZF9tb2RlLT5jcnRjX2Nsb2NrLAogCQkJCQkgICAgICAgd21faW5mbywgZmlmb19zaXplLCBjcHAs CiAJCQkJCSAgICAgICBwZXNzaW1hbF9sYXRlbmN5X25zKTsKQEAgLTEzNjUsMTAgKzEzNjAsMTAg QEAgc3RhdGljIHZvaWQgaTl4eF91cGRhdGVfd20oc3RydWN0IGRybV9jcnRjICp1bnVzZWRfY3J0 YykKIAkJLyogc2VsZi1yZWZyZXNoIGhhcyBtdWNoIGhpZ2hlciBsYXRlbmN5ICovCiAJCXN0YXRp YyBjb25zdCBpbnQgc3JfbGF0ZW5jeV9ucyA9IDYwMDA7CiAJCWNvbnN0IHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0KLQkJCSZ0b19pbnRlbF9jcnRjKGVuYWJsZWQpLT5j b25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKKwkJCSZlbmFibGVkLT5zdGF0ZS0+YWRqdXN0ZWRf bW9kZTsKIAkJaW50IGNsb2NrID0gYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jazsKIAkJaW50IGh0 b3RhbCA9IGFkanVzdGVkX21vZGUtPmNydGNfaHRvdGFsOwotCQlpbnQgaGRpc3BsYXkgPSB0b19p bnRlbF9jcnRjKGVuYWJsZWQpLT5jb25maWctPnBpcGVfc3JjX3c7CisJCWludCBoZGlzcGxheSA9 IHRvX2ludGVsX2NydGNfc3RhdGUoZW5hYmxlZC0+c3RhdGUpLT5waXBlX3NyY193OwogCQlpbnQg cGl4ZWxfc2l6ZSA9IGVuYWJsZWQtPnByaW1hcnktPnN0YXRlLT5mYi0+Yml0c19wZXJfcGl4ZWwg LyA4OwogCQl1bnNpZ25lZCBsb25nIGxpbmVfdGltZV91czsKIAkJaW50IGVudHJpZXM7CkBAIC0x NDIxLDcgKzE0MTYsNyBAQCBzdGF0aWMgdm9pZCBpODQ1X3VwZGF0ZV93bShzdHJ1Y3QgZHJtX2Ny dGMgKnVudXNlZF9jcnRjKQogCWlmIChjcnRjID09IE5VTEwpCiAJCXJldHVybjsKIAotCWFkanVz dGVkX21vZGUgPSAmdG9faW50ZWxfY3J0YyhjcnRjKS0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21v ZGU7CisJYWRqdXN0ZWRfbW9kZSA9ICZjcnRjLT5zdGF0ZS0+YWRqdXN0ZWRfbW9kZTsKIAlwbGFu ZWFfd20gPSBpbnRlbF9jYWxjdWxhdGVfd20oYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jaywKIAkJ CQkgICAgICAgJmk4NDVfd21faW5mbywKIAkJCQkgICAgICAgZGV2X3ByaXYtPmRpc3BsYXkuZ2V0 X2ZpZm9fc2l6ZShkZXYsIDApLApAQCAtMTQzNywyMCArMTQzMiwyMCBAQCBzdGF0aWMgdm9pZCBp ODQ1X3VwZGF0ZV93bShzdHJ1Y3QgZHJtX2NydGMgKnVudXNlZF9jcnRjKQogc3RhdGljIHVpbnQz Ml90IGlsa19waXBlX3BpeGVsX3JhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgICAg c3RydWN0IGRybV9jcnRjICpjcnRjKQogewotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKLQl1aW50MzJfdCBwaXhlbF9yYXRlOwotCi0JcGl4ZWxf cmF0ZSA9IGludGVsX2NydGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfY2xvY2s7 CisJdWludDMyX3QgcGl4ZWxfcmF0ZSA9CisJCWNydGMtPnN0YXRlLT5hZGp1c3RlZF9tb2RlLmNy dGNfY2xvY2s7CisJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnID0KKwkJdG9f aW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSk7CiAKIAkvKiBXZSBvbmx5IHVzZSBJRi1JRCBp bnRlcmxhY2luZy4gSWYgd2UgZXZlciB1c2UgUEYtSUQgd2UnbGwgbmVlZCB0bwogCSAqIGFkanVz dCB0aGUgcGl4ZWxfcmF0ZSBoZXJlLiAqLwogCi0JaWYgKGludGVsX2NydGMtPmNvbmZpZy0+cGNo X3BmaXQuZW5hYmxlZCkgeworCWlmIChwaXBlX2NvbmZpZy0+cGNoX3BmaXQuZW5hYmxlZCkgewog CQl1aW50NjRfdCBwaXBlX3csIHBpcGVfaCwgcGZpdF93LCBwZml0X2g7Ci0JCXVpbnQzMl90IHBm aXRfc2l6ZSA9IGludGVsX2NydGMtPmNvbmZpZy0+cGNoX3BmaXQuc2l6ZTsKKwkJdWludDMyX3Qg cGZpdF9zaXplID0gcGlwZV9jb25maWctPnBjaF9wZml0LnNpemU7CiAKLQkJcGlwZV93ID0gaW50 ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY193OwotCQlwaXBlX2ggPSBpbnRlbF9jcnRjLT5jb25m aWctPnBpcGVfc3JjX2g7CisJCXBpcGVfdyA9IHBpcGVfY29uZmlnLT5waXBlX3NyY193OworCQlw aXBlX2ggPSBwaXBlX2NvbmZpZy0+cGlwZV9zcmNfaDsKIAkJcGZpdF93ID0gKHBmaXRfc2l6ZSA+ PiAxNikgJiAweEZGRkY7CiAJCXBmaXRfaCA9IHBmaXRfc2l6ZSAmIDB4RkZGRjsKIAkJaWYgKHBp cGVfdyA8IHBmaXRfdykKQEAgLTE4MDIsMTEgKzE3OTcsMTAgQEAgc3RhdGljIHVpbnQzMl90CiBo c3dfY29tcHV0ZV9saW5ldGltZV93bShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Yyk7Ci0Jc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmaW50ZWxfY3J0 Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7CisJc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUgPSAmY3J0Yy0+c3RhdGUtPmFkanVzdGVkX21vZGU7CiAJdTMyIGxpbmV0aW1lLCBpcHNf bGluZXRpbWU7CiAKLQlpZiAoIWludGVsX2NydGMtPmFjdGl2ZSkKKwlpZiAoIWNydGMtPnN0YXRl LT5hY3RpdmUpCiAJCXJldHVybiAwOwogCiAJLyogVGhlIFdNIGFyZSBjb21wdXRlZCB3aXRoIGJh c2Ugb24gaG93IGxvbmcgaXQgdGFrZXMgdG8gZmlsbCBhIHNpbmdsZQpAQCAtMjA2MSwxMSArMjA1 NSwxMSBAQCBzdGF0aWMgdm9pZCBpbGtfY29tcHV0ZV93bV9wYXJhbWV0ZXJzKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKIAllbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7CiAJc3RydWN0 IGRybV9wbGFuZSAqcGxhbmU7CiAKLQlpZiAoIWludGVsX2NydGMtPmFjdGl2ZSkKKwlpZiAoIWNy dGMtPnN0YXRlLT5hY3RpdmUpCiAJCXJldHVybjsKIAogCXAtPmFjdGl2ZSA9IHRydWU7Ci0JcC0+ cGlwZV9odG90YWwgPSBpbnRlbF9jcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRj X2h0b3RhbDsKKwlwLT5waXBlX2h0b3RhbCA9IGNydGMtPnN0YXRlLT5hZGp1c3RlZF9tb2RlLmNy dGNfaHRvdGFsOwogCXAtPnBpeGVsX3JhdGUgPSBpbGtfcGlwZV9waXhlbF9yYXRlKGRldiwgY3J0 Yyk7CiAKIAlpZiAoY3J0Yy0+cHJpbWFyeS0+c3RhdGUtPmZiKSB7CkBAIC0yMDg0LDggKzIwNzgs OCBAQCBzdGF0aWMgdm9pZCBpbGtfY29tcHV0ZV93bV9wYXJhbWV0ZXJzKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YywKIAkJcC0+Y3VyLmVuYWJsZWQgPSBmYWxzZTsKIAkJcC0+Y3VyLmJ5dGVzX3Blcl9w aXhlbCA9IDA7CiAJfQotCXAtPnByaS5ob3Jpel9waXhlbHMgPSBpbnRlbF9jcnRjLT5jb25maWct PnBpcGVfc3JjX3c7Ci0JcC0+Y3VyLmhvcml6X3BpeGVscyA9IGludGVsX2NydGMtPmJhc2UuY3Vy c29yLT5zdGF0ZS0+Y3J0Y193OworCXAtPnByaS5ob3Jpel9waXhlbHMgPSB0b19pbnRlbF9jcnRj X3N0YXRlKGNydGMtPnN0YXRlKS0+cGlwZV9zcmNfdzsKKwlwLT5jdXIuaG9yaXpfcGl4ZWxzID0g Y3J0Yy0+Y3Vyc29yLT5zdGF0ZS0+Y3J0Y193OwogCiAJZHJtX2Zvcl9lYWNoX2xlZ2FjeV9wbGFu ZShwbGFuZSwgJmRldi0+bW9kZV9jb25maWcucGxhbmVfbGlzdCkgewogCQlzdHJ1Y3QgaW50ZWxf cGxhbmUgKmludGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOwpAQCAtMjU4OSw3ICsy NTgzLDcgQEAgc2tsX2RkYl9nZXRfcGlwZV9hbGxvY2F0aW9uX2xpbWl0cyhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCiAJbnRoX2FjdGl2ZV9waXBlID0gMDsKIAlmb3JfZWFjaF9jcnRjKGRldiwg Y3J0YykgewotCQlpZiAoIXRvX2ludGVsX2NydGMoY3J0YyktPmFjdGl2ZSkKKwkJaWYgKCFjcnRj LT5zdGF0ZS0+YWN0aXZlKQogCQkJY29udGludWU7CiAKIAkJaWYgKGNydGMgPT0gZm9yX2NydGMp CkBAIC0yODYyLDcgKzI4NTYsNyBAQCBzdGF0aWMgdm9pZCBza2xfY29tcHV0ZV93bV9nbG9iYWxf cGFyYW1ldGVycyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lOwogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShjcnRjLCAmZGV2LT5tb2RlX2NvbmZpZy5jcnRj X2xpc3QsIGhlYWQpCi0JCWNvbmZpZy0+bnVtX3BpcGVzX2FjdGl2ZSArPSB0b19pbnRlbF9jcnRj KGNydGMpLT5hY3RpdmU7CisJCWNvbmZpZy0+bnVtX3BpcGVzX2FjdGl2ZSArPSBjcnRjLT5zdGF0 ZS0+YWN0aXZlOwogCiAJLyogRklYTUU6IEkgZG9uJ3QgdGhpbmsgd2UgbmVlZCB0aG9zZSB0d28g Z2xvYmFsIHBhcmFtZXRlcnMgb24gU0tMICovCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShwbGFuZSwg JmRldi0+bW9kZV9jb25maWcucGxhbmVfbGlzdCwgaGVhZCkgewpAQCAtMjg4MSwxMiArMjg3NSwx NCBAQCBzdGF0aWMgdm9pZCBza2xfY29tcHV0ZV93bV9waXBlX3BhcmFtZXRlcnMoc3RydWN0IGRy bV9jcnRjICpjcnRjLAogCWVudW0gcGlwZSBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKIAlzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZTsKIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsKKwlzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWc7CiAJaW50IGkgPSAxOyAvKiBJbmRleCBm b3Igc3ByaXRlIHBsYW5lcyBzdGFydCAqLwogCi0JcC0+YWN0aXZlID0gaW50ZWxfY3J0Yy0+YWN0 aXZlOworCXBpcGVfY29uZmlnID0gdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSk7CisJ cC0+YWN0aXZlID0gY3J0Yy0+c3RhdGUtPmFjdGl2ZTsKIAlpZiAocC0+YWN0aXZlKSB7Ci0JCXAt PnBpcGVfaHRvdGFsID0gaW50ZWxfY3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUuY3J0 Y19odG90YWw7Ci0JCXAtPnBpeGVsX3JhdGUgPSBza2xfcGlwZV9waXhlbF9yYXRlKGludGVsX2Ny dGMtPmNvbmZpZyk7CisJCXAtPnBpcGVfaHRvdGFsID0gcGlwZV9jb25maWctPmJhc2UuYWRqdXN0 ZWRfbW9kZS5jcnRjX2h0b3RhbDsKKwkJcC0+cGl4ZWxfcmF0ZSA9IHNrbF9waXBlX3BpeGVsX3Jh dGUocGlwZV9jb25maWcpOwogCiAJCWZiID0gY3J0Yy0+cHJpbWFyeS0+c3RhdGUtPmZiOwogCQkv KiBGb3IgcGxhbmFyOiBCcHAgaXMgZm9yIHV2IHBsYW5lLCB5X0JwcCBpcyBmb3IgeSBwbGFuZSAq LwpAQCAtMjkwMyw4ICsyODk5LDggQEAgc3RhdGljIHZvaWQgc2tsX2NvbXB1dGVfd21fcGlwZV9w YXJhbWV0ZXJzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCXAtPnBsYW5lWzBdLnlfYnl0ZXNf cGVyX3BpeGVsID0gMDsKIAkJCXAtPnBsYW5lWzBdLnRpbGluZyA9IERSTV9GT1JNQVRfTU9EX05P TkU7CiAJCX0KLQkJcC0+cGxhbmVbMF0uaG9yaXpfcGl4ZWxzID0gaW50ZWxfY3J0Yy0+Y29uZmln LT5waXBlX3NyY193OwotCQlwLT5wbGFuZVswXS52ZXJ0X3BpeGVscyA9IGludGVsX2NydGMtPmNv bmZpZy0+cGlwZV9zcmNfaDsKKwkJcC0+cGxhbmVbMF0uaG9yaXpfcGl4ZWxzID0gcGlwZV9jb25m aWctPnBpcGVfc3JjX3c7CisJCXAtPnBsYW5lWzBdLnZlcnRfcGl4ZWxzID0gcGlwZV9jb25maWct PnBpcGVfc3JjX2g7CiAJCXAtPnBsYW5lWzBdLnJvdGF0aW9uID0gY3J0Yy0+cHJpbWFyeS0+c3Rh dGUtPnJvdGF0aW9uOwogCiAJCWZiID0gY3J0Yy0+Y3Vyc29yLT5zdGF0ZS0+ZmI7CkBAIC0zMDQy LDcgKzMwMzgsNyBAQCBzdGF0aWMgdm9pZCBza2xfY29tcHV0ZV93bV9sZXZlbChjb25zdCBzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiBzdGF0aWMgdWludDMyX3QKIHNrbF9jb21w dXRlX2xpbmV0aW1lX3dtKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yywgc3RydWN0IHNrbF9waXBlX3dt X3BhcmFtZXRlcnMgKnApCiB7Ci0JaWYgKCF0b19pbnRlbF9jcnRjKGNydGMpLT5hY3RpdmUpCisJ aWYgKCFjcnRjLT5zdGF0ZS0+YWN0aXZlKQogCQlyZXR1cm4gMDsKIAogCXJldHVybiBESVZfUk9V TkRfVVAoOCAqIHAtPnBpcGVfaHRvdGFsICogMTAwMCwgcC0+cGl4ZWxfcmF0ZSk7CkBAIC0zMjY2 LDcgKzMyNjIsNyBAQCBzdGF0aWMgdm9pZCBza2xfZmx1c2hfd21fdmFsdWVzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkgKiByZS1hbGxvY2F0ZSB0aGUgZnJlZWQgc3BhY2Ug d2l0aG91dCB0aGlzIHBpcGUgZmV0Y2hpbmcgZnJvbSBpdC4KIAkgKi8KIAlmb3JfZWFjaF9pbnRl bF9jcnRjKGRldiwgY3J0YykgewotCQlpZiAoIWNydGMtPmFjdGl2ZSkKKwkJaWYgKCFjcnRjLT5i YXNlLnN0YXRlLT5hY3RpdmUpCiAJCQljb250aW51ZTsKIAogCQlwaXBlID0gY3J0Yy0+cGlwZTsK QEAgLTMyODksNyArMzI4NSw3IEBAIHN0YXRpYyB2b2lkIHNrbF9mbHVzaF93bV92YWx1ZXMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCSAqIHNwYWNlIGlzIG5vdCB1c2VkIGFu eW1vcmUuCiAJICovCiAJZm9yX2VhY2hfaW50ZWxfY3J0YyhkZXYsIGNydGMpIHsKLQkJaWYgKCFj cnRjLT5hY3RpdmUpCisJCWlmICghY3J0Yy0+YmFzZS5zdGF0ZS0+YWN0aXZlKQogCQkJY29udGlu dWU7CiAKIAkJcGlwZSA9IGNydGMtPnBpcGU7CkBAIC0zMzEyLDcgKzMzMDgsNyBAQCBzdGF0aWMg dm9pZCBza2xfZmx1c2hfd21fdmFsdWVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKIAkgKiB3aWxsIGp1c3QgZ2V0IG1vcmUgRERCIHNwYWNlIHdpdGggdGhlIGNvcnJlY3QgV00g dmFsdWVzLgogCSAqLwogCWZvcl9lYWNoX2ludGVsX2NydGMoZGV2LCBjcnRjKSB7Ci0JCWlmICgh Y3J0Yy0+YWN0aXZlKQorCQlpZiAoIWNydGMtPmJhc2Uuc3RhdGUtPmFjdGl2ZSkKIAkJCWNvbnRp bnVlOwogCiAJCXBpcGUgPSBjcnRjLT5waXBlOwpAQCAtMzM3OCw3ICszMzc0LDcgQEAgc3RhdGlj IHZvaWQgc2tsX3VwZGF0ZV9vdGhlcl9waXBlX3dtKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJ CWlmICh0aGlzX2NydGMtPnBpcGUgPT0gaW50ZWxfY3J0Yy0+cGlwZSkKIAkJCWNvbnRpbnVlOwog Ci0JCWlmICghaW50ZWxfY3J0Yy0+YWN0aXZlKQorCQlpZiAoIWludGVsX2NydGMtPmJhc2Uuc3Rh dGUtPmFjdGl2ZSkKIAkJCWNvbnRpbnVlOwogCiAJCXdtX2NoYW5nZWQgPSBza2xfdXBkYXRlX3Bp cGVfd20oJmludGVsX2NydGMtPmJhc2UsCkBAIC0zNjAzLDcgKzM1OTksNyBAQCBzdGF0aWMgdm9p ZCBza2xfcGlwZV93bV9nZXRfaHdfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCQlody0+ cGxhbmVfdHJhbnNbcGlwZV1baV0gPSBJOTE1X1JFQUQoUExBTkVfV01fVFJBTlMocGlwZSwgaSkp OwogCWh3LT5jdXJzb3JfdHJhbnNbcGlwZV0gPSBJOTE1X1JFQUQoQ1VSX1dNX1RSQU5TKHBpcGUp KTsKIAotCWlmICghaW50ZWxfY3J0Yy0+YWN0aXZlKQorCWlmICghY3J0Yy0+c3RhdGUtPmFjdGl2 ZSkKIAkJcmV0dXJuOwogCiAJaHctPmRpcnR5W3BpcGVdID0gdHJ1ZTsKQEAgLTM2NTgsNyArMzY1 NCw3IEBAIHN0YXRpYyB2b2lkIGlsa19waXBlX3dtX2dldF9od19zdGF0ZShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCiAJaWYgKElTX0hBU1dFTEwoZGV2KSB8fCBJU19CUk9BRFdFTEwoZGV2KSkKIAkJ aHctPndtX2xpbmV0aW1lW3BpcGVdID0gSTkxNV9SRUFEKFBJUEVfV01fTElORVRJTUUocGlwZSkp OwogCi0JYWN0aXZlLT5waXBlX2VuYWJsZWQgPSBpbnRlbF9jcnRjLT5hY3RpdmU7CisJYWN0aXZl LT5waXBlX2VuYWJsZWQgPSBjcnRjLT5zdGF0ZS0+YWN0aXZlOwogCiAJaWYgKGFjdGl2ZS0+cGlw ZV9lbmFibGVkKSB7CiAJCXUzMiB0bXAgPSBody0+d21fcGlwZVtwaXBlXTsKLS0gCjIuMS4wCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=