From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH 13/14] drm/i915: Calculate watermark configuration during atomic check (v2) Date: Mon, 14 Sep 2015 19:19:29 -0700 Message-ID: <1442283570-26824-14-git-send-email-matthew.d.roper@intel.com> References: <1442283570-26824-1-git-send-email-matthew.d.roper@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 731C26E97F for ; Mon, 14 Sep 2015 19:20:07 -0700 (PDT) In-Reply-To: <1442283570-26824-1-git-send-email-matthew.d.roper@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 List-Id: intel-gfx@lists.freedesktop.org djI6IERvbid0IGZvcmdldCB0byBhY3R1YWxseSBjaGVjayB0aGUgY3N0YXRlLT5hY3RpdmUgdmFs dWUgd2hlbgogICAgdGFsbHlpbmcgdXAgdGhlIG51bWJlciBvZiBhY3RpdmUgQ1JUQydzLiAgKEFu ZGVyKQoKU2lnbmVkLW9mZi1ieTogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAxMCArKysrKysK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDUyICsrKysrKysrKysrKysr KysrKysrKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAg MSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgfCA2NCArKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9u cygrKSwgNTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMjY5NjUy Mi4uZThlZjMyOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0xNjk5LDYgKzE2OTksMTMg QEAgc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgewogCXN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAgICAgKnJlcXVlc3Q7CiB9OwogCisvKiB1c2VkIGluIGNvbXB1dGluZyB0aGUgbmV3 IHdhdGVybWFya3Mgc3RhdGUgKi8KK3N0cnVjdCBpbnRlbF93bV9jb25maWcgeworCXVuc2lnbmVk IGludCBudW1fcGlwZXNfYWN0aXZlOworCWJvb2wgc3ByaXRlc19lbmFibGVkOworCWJvb2wgc3By aXRlc19zY2FsZWQ7Cit9OworCiBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7CiAJc3RydWN0IGRy bV9kZXZpY2UgKmRldjsKIAlzdHJ1Y3Qga21lbV9jYWNoZSAqb2JqZWN0czsKQEAgLTE5MTgsNiAr MTkyNSw5IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAkJICovCiAJCXVpbnQxNl90IHNr bF9sYXRlbmN5WzhdOwogCisJCS8qIENvbW1pdHRlZCB3bSBjb25maWcgKi8KKwkJc3RydWN0IGlu dGVsX3dtX2NvbmZpZyBjb25maWc7CisKIAkJLyoKIAkJICogVGhlIHNrbF93bV92YWx1ZXMgc3Ry dWN0dXJlIGlzIGEgYml0IHRvbyBiaWcgZm9yIHN0YWNrCiAJCSAqIGFsbG9jYXRpb24sIHNvIHdl IGtlZXAgdGhlIHN0YWdpbmcgc3RydWN0IHdoZXJlIHdlIHN0b3JlCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKaW5kZXggMzZlZWU0YS4uM2Q0MTFjMiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTI5NzksNiArMTI5NzksNDUgQEAgc3RhdGljIGludCBpbnRl bF9tb2Rlc2V0X2NoZWNrcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJcmV0dXJu IDA7CiB9CiAKKy8qCisgKiBIYW5kbGUgY2FsY3VsYXRpb24gb2YgdmFyaW91cyB3YXRlcm1hcmsg ZGF0YSBhdCB0aGUgZW5kIG9mIHRoZSBhdG9taWMgY2hlY2sKKyAqIHBoYXNlLiAgVGhlIGNvZGUg aGVyZSBzaG91bGQgYmUgcnVuIGFmdGVyIHRoZSBwZXItY3J0YyBhbmQgcGVyLXBsYW5lICdjaGVj aycKKyAqIGhhbmRsZXJzIHRvIGVuc3VyZSB0aGF0IGFsbCBkZXJpdmVkIHN0YXRlIGhhcyBiZWVu IHVwZGF0ZWQuCisgKi8KK3N0YXRpYyB2b2lkIGNhbGNfd2F0ZXJtYXJrX2RhdGEoc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBzdGF0 ZS0+ZGV2OworCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKmludGVsX3N0YXRlID0gdG9faW50 ZWxfYXRvbWljX3N0YXRlKHN0YXRlKTsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CisJc3RydWN0 IGRybV9jcnRjX3N0YXRlICpjc3RhdGU7CisJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7CisJc3Ry dWN0IGRybV9wbGFuZV9zdGF0ZSAqcHN0YXRlOworCisJLyoKKwkgKiBDYWxjdWxhdGUgd2F0ZXJt YXJrIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBub3cgdGhhdCBkZXJpdmVkCisJICogcGxhbmUvY3J0 YyBzdGF0ZSBpcyBhbGwgcHJvcGVybHkgdXBkYXRlZC4KKwkgKi8KKwlkcm1fZm9yX2VhY2hfY3J0 YyhjcnRjLCBkZXYpIHsKKwkJY3N0YXRlID0gZHJtX2F0b21pY19nZXRfZXhpc3RpbmdfY3J0Y19z dGF0ZShzdGF0ZSwgY3J0YykgPzoKKwkJCWNydGMtPnN0YXRlOworCisJCWlmIChjc3RhdGUtPmFj dGl2ZSkKKwkJCWludGVsX3N0YXRlLT53bV9jb25maWcubnVtX3BpcGVzX2FjdGl2ZSsrOworCX0K Kwlkcm1fZm9yX2VhY2hfbGVnYWN5X3BsYW5lKHBsYW5lLCBkZXYpIHsKKwkJcHN0YXRlID0gZHJt X2F0b21pY19nZXRfZXhpc3RpbmdfcGxhbmVfc3RhdGUoc3RhdGUsIHBsYW5lKSA/OgorCQkJcGxh bmUtPnN0YXRlOworCisJCWlmICghdG9faW50ZWxfcGxhbmVfc3RhdGUocHN0YXRlKS0+dmlzaWJs ZSkKKwkJCWNvbnRpbnVlOworCisJCWludGVsX3N0YXRlLT53bV9jb25maWcuc3ByaXRlc19lbmFi bGVkID0gdHJ1ZTsKKwkJaWYgKHBzdGF0ZS0+Y3J0Y193ICE9IHBzdGF0ZS0+c3JjX3cgPj4gMTYg fHwKKwkJICAgIHBzdGF0ZS0+Y3J0Y19oICE9IHBzdGF0ZS0+c3JjX2ggPj4gMTYpCisJCQlpbnRl bF9zdGF0ZS0+d21fY29uZmlnLnNwcml0ZXNfc2NhbGVkID0gdHJ1ZTsKKwl9Cit9CisKIC8qKgog ICogaW50ZWxfYXRvbWljX2NoZWNrIC0gdmFsaWRhdGUgc3RhdGUgb2JqZWN0CiAgKiBAZGV2OiBk cm0gZGV2aWNlCkBAIC0xMjk4Nyw2ICsxMzAyNiw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfbW9kZXNl dF9jaGVja3Moc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogc3RhdGljIGludCBpbnRl bF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCSAgICAgIHN0cnVjdCBk cm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIHsKKwlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpp bnRlbF9zdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShzdGF0ZSk7CiAJc3RydWN0IGRybV9j cnRjICpjcnRjOwogCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKIAlpbnQgcmV0 LCBpOwpAQCAtMTMwNTAsMTAgKzEzMDkwLDE1IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2No ZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0Owog CX0gZWxzZQotCQl0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpLT5jZGNsayA9Ci0JCQl0b19p OTE1KHN0YXRlLT5kZXYpLT5jZGNsa19mcmVxOworCQlpbnRlbF9zdGF0ZS0+Y2RjbGsgPSB0b19p OTE1KHN0YXRlLT5kZXYpLT5jZGNsa19mcmVxOwogCi0JcmV0dXJuIGRybV9hdG9taWNfaGVscGVy X2NoZWNrX3BsYW5lcyhzdGF0ZS0+ZGV2LCBzdGF0ZSk7CisJcmV0ID0gZHJtX2F0b21pY19oZWxw ZXJfY2hlY2tfcGxhbmVzKHN0YXRlLT5kZXYsIHN0YXRlKTsKKwlpZiAocmV0KQorCQlyZXR1cm4g cmV0OworCisJY2FsY193YXRlcm1hcmtfZGF0YShzdGF0ZSk7CisKKwlyZXR1cm4gMDsKIH0KIAog LyoqCkBAIC0xMzA5Myw2ICsxMzEzOCw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NvbW1p dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlyZXR1cm4gcmV0OwogCiAJZHJtX2F0b21pY19o ZWxwZXJfc3dhcF9zdGF0ZShkZXYsIHN0YXRlKTsKKwlkZXZfcHJpdi0+d20uY29uZmlnID0gdG9f aW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKS0+d21fY29uZmlnOwogCiAJZm9yX2VhY2hfY3J0Y19p bl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgewogCQlzdHJ1Y3QgaW50ZWxfY3J0 YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oCmluZGV4IDZkNmIyNzUuLmM0MGIwNzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBA IC0yNDAsNiArMjQwLDcgQEAgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSB7CiAJdW5zaWduZWQg aW50IGNkY2xrOwogCWJvb2wgZHBsbF9zZXQ7CiAJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsX2Nv bmZpZyBzaGFyZWRfZHBsbFtJOTE1X05VTV9QTExTXTsKKwlzdHJ1Y3QgaW50ZWxfd21fY29uZmln IHdtX2NvbmZpZzsKIH07CiAKIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSB7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcG0uYwppbmRleCAzYzY3YjVmLi5lYWQwMzU5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bt LmMKQEAgLTE3OTQsMTMgKzE3OTQsNiBAQCBzdHJ1Y3QgaWxrX3dtX21heGltdW1zIHsKIAl1aW50 MTZfdCBmYmM7CiB9OwogCi0vKiB1c2VkIGluIGNvbXB1dGluZyB0aGUgbmV3IHdhdGVybWFya3Mg c3RhdGUgKi8KLXN0cnVjdCBpbnRlbF93bV9jb25maWcgewotCXVuc2lnbmVkIGludCBudW1fcGlw ZXNfYWN0aXZlOwotCWJvb2wgc3ByaXRlc19lbmFibGVkOwotCWJvb2wgc3ByaXRlc19zY2FsZWQ7 Ci19OwotCiAvKgogICogRm9yIGJvdGggV01fUElQRSBhbmQgV01fTFAuCiAgKiBtZW1fdmFsdWUg bXVzdCBiZSBpbiAwLjF1cyB1bml0cy4KQEAgLTIzMzAsMjQgKzIzMjMsNiBAQCBzdGF0aWMgdm9p ZCBza2xfc2V0dXBfd21fbGF0ZW5jeShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWludGVsX3By aW50X3dtX2xhdGVuY3koZGV2LCAiR2VuOSBQbGFuZSIsIGRldl9wcml2LT53bS5za2xfbGF0ZW5j eSk7CiB9CiAKLXN0YXRpYyB2b2lkIGlsa19jb21wdXRlX3dtX2NvbmZpZyhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAotCQkJCSAgc3RydWN0IGludGVsX3dtX2NvbmZpZyAqY29uZmlnKQotewotCXN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjOwotCi0JLyogQ29tcHV0ZSB0aGUgY3VycmVudGx5 IF9hY3RpdmVfIGNvbmZpZyAqLwotCWZvcl9lYWNoX2ludGVsX2NydGMoZGV2LCBpbnRlbF9jcnRj KSB7Ci0JCWNvbnN0IHN0cnVjdCBpbnRlbF9waXBlX3dtICp3bSA9ICZpbnRlbF9jcnRjLT53bS5h Y3RpdmUuaWxrOwotCi0JCWlmICghd20tPnBpcGVfZW5hYmxlZCkKLQkJCWNvbnRpbnVlOwotCi0J CWNvbmZpZy0+c3ByaXRlc19lbmFibGVkIHw9IHdtLT5zcHJpdGVzX2VuYWJsZWQ7Ci0JCWNvbmZp Zy0+c3ByaXRlc19zY2FsZWQgfD0gd20tPnNwcml0ZXNfc2NhbGVkOwotCQljb25maWctPm51bV9w aXBlc19hY3RpdmUrKzsKLQl9Ci19Ci0KIC8qIENvbXB1dGUgbmV3IHdhdGVybWFya3MgZm9yIHRo ZSBwaXBlICovCiBzdGF0aWMgaW50IGlsa19jb21wdXRlX3BpcGVfd20oc3RydWN0IGludGVsX2Ny dGMgKmludGVsX2NydGMsCiAJCQkgICAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl KQpAQCAtMjk5MywxMSArMjk2OCwxMiBAQCBza2xfZ2V0X3RvdGFsX3JlbGF0aXZlX2RhdGFfcmF0 ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlKQogCiBzdGF0aWMgdm9pZAog c2tsX2FsbG9jYXRlX3BpcGVfZGRiKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCi0J CSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF93bV9jb25maWcgKmNvbmZpZywKIAkJICAgICAgc3Ry dWN0IHNrbF9kZGJfYWxsb2NhdGlvbiAqZGRiIC8qIG91dCAqLykKIHsKIAlzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMgPSBjc3RhdGUtPmJhc2UuY3J0YzsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g Y3J0Yy0+ZGV2OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfd21fY29uZmlnICpjb25maWcgPSAmZGV2X3ByaXYtPndtLmNv bmZpZzsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Yyk7CiAJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZTsKIAllbnVtIHBpcGUgcGlwZSA9 IGludGVsX2NydGMtPnBpcGU7CkBAIC0zMTcyLDE1ICszMTQ4LDYgQEAgc3RhdGljIGJvb2wgc2ts X2RkYl9hbGxvY2F0aW9uX2NoYW5nZWQoY29uc3Qgc3RydWN0IHNrbF9kZGJfYWxsb2NhdGlvbiAq bmV3X2RkYiwKIAlyZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyB2b2lkIHNrbF9jb21wdXRlX3dt X2dsb2JhbF9wYXJhbWV0ZXJzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCi0JCQkJCSAgICAgc3Ry dWN0IGludGVsX3dtX2NvbmZpZyAqY29uZmlnKQotewotCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsK LQotCWxpc3RfZm9yX2VhY2hfZW50cnkoY3J0YywgJmRldi0+bW9kZV9jb25maWcuY3J0Y19saXN0 LCBoZWFkKQotCQljb25maWctPm51bV9waXBlc19hY3RpdmUgKz0gdG9faW50ZWxfY3J0YyhjcnRj KS0+YWN0aXZlOwotfQotCiBzdGF0aWMgYm9vbCBza2xfY29tcHV0ZV9wbGFuZV93bShjb25zdCBz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJIHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjc3RhdGUsCiAJCQkJIHN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUsCkBA IC0zNTg1LDE0ICszNTUyLDEzIEBAIHN0YXRpYyB2b2lkIHNrbF9mbHVzaF93bV92YWx1ZXMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogfQogCiBzdGF0aWMgYm9vbCBza2xfdXBk YXRlX3BpcGVfd20oc3RydWN0IGRybV9jcnRjICpjcnRjLAotCQkJICAgICAgIHN0cnVjdCBpbnRl bF93bV9jb25maWcgKmNvbmZpZywKIAkJCSAgICAgICBzdHJ1Y3Qgc2tsX2RkYl9hbGxvY2F0aW9u ICpkZGIsIC8qIG91dCAqLwogCQkJICAgICAgIHN0cnVjdCBza2xfcGlwZV93bSAqcGlwZV93bSAv KiBvdXQgKi8pCiB7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9j cnRjKGNydGMpOwogCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUgPSB0b19pbnRlbF9j cnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKIAotCXNrbF9hbGxvY2F0ZV9waXBlX2RkYihjc3RhdGUs IGNvbmZpZywgZGRiKTsKKwlza2xfYWxsb2NhdGVfcGlwZV9kZGIoY3N0YXRlLCBkZGIpOwogCXNr bF9jb21wdXRlX3BpcGVfd20oY3N0YXRlLCBkZGIsIHBpcGVfd20pOwogCiAJaWYgKCFtZW1jbXAo JmludGVsX2NydGMtPndtLmFjdGl2ZS5za2wsIHBpcGVfd20sIHNpemVvZigqcGlwZV93bSkpKQpA QCAtMzYwNSw3ICszNTcxLDYgQEAgc3RhdGljIGJvb2wgc2tsX3VwZGF0ZV9waXBlX3dtKHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKIAogc3RhdGljIHZvaWQgc2tsX3VwZGF0ZV9vdGhlcl9waXBlX3dt KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJICAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMs Ci0JCQkJICAgICBzdHJ1Y3QgaW50ZWxfd21fY29uZmlnICpjb25maWcsCiAJCQkJICAgICBzdHJ1 Y3Qgc2tsX3dtX3ZhbHVlcyAqcikKIHsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YzsK QEAgLTM2MzUsNyArMzYwMCw3IEBAIHN0YXRpYyB2b2lkIHNrbF91cGRhdGVfb3RoZXJfcGlwZV93 bShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlpZiAoIWludGVsX2NydGMtPmFjdGl2ZSkKIAkJ CWNvbnRpbnVlOwogCi0JCXdtX2NoYW5nZWQgPSBza2xfdXBkYXRlX3BpcGVfd20oJmludGVsX2Ny dGMtPmJhc2UsIGNvbmZpZywKKwkJd21fY2hhbmdlZCA9IHNrbF91cGRhdGVfcGlwZV93bSgmaW50 ZWxfY3J0Yy0+YmFzZSwKIAkJCQkJCSZyLT5kZGIsICZwaXBlX3dtKTsKIAogCQkvKgpAQCAtMzY1 OCwxOSArMzYyMywxNiBAQCBzdGF0aWMgdm9pZCBza2xfdXBkYXRlX3dtKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKIAlzdHJ1Y3Qgc2tsX3dtX3ZhbHVlcyAqcmVzdWx0cyA9ICZkZXZfcHJpdi0+d20u c2tsX3Jlc3VsdHM7CiAJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSA9IHRvX2ludGVs X2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwogCXN0cnVjdCBza2xfcGlwZV93bSAqcGlwZV93bSA9 ICZjc3RhdGUtPndtLm9wdGltYWwuc2tsOwotCXN0cnVjdCBpbnRlbF93bV9jb25maWcgY29uZmln ID0ge307CiAKIAltZW1zZXQocmVzdWx0cywgMCwgc2l6ZW9mKCpyZXN1bHRzKSk7CiAKLQlza2xf Y29tcHV0ZV93bV9nbG9iYWxfcGFyYW1ldGVycyhkZXYsICZjb25maWcpOwotCi0JaWYgKCFza2xf dXBkYXRlX3BpcGVfd20oY3J0YywgJmNvbmZpZywgJnJlc3VsdHMtPmRkYiwgcGlwZV93bSkpCisJ aWYgKCFza2xfdXBkYXRlX3BpcGVfd20oY3J0YywgJnJlc3VsdHMtPmRkYiwgcGlwZV93bSkpCiAJ CXJldHVybjsKIAogCXNrbF9jb21wdXRlX3dtX3Jlc3VsdHMoZGV2LCBwaXBlX3dtLCByZXN1bHRz LCBpbnRlbF9jcnRjKTsKIAlyZXN1bHRzLT5kaXJ0eVtpbnRlbF9jcnRjLT5waXBlXSA9IHRydWU7 CiAKLQlza2xfdXBkYXRlX290aGVyX3BpcGVfd20oZGV2LCBjcnRjLCAmY29uZmlnLCByZXN1bHRz KTsKKwlza2xfdXBkYXRlX290aGVyX3BpcGVfd20oZGV2LCBjcnRjLCByZXN1bHRzKTsKIAlza2xf d3JpdGVfd21fdmFsdWVzKGRldl9wcml2LCByZXN1bHRzKTsKIAlza2xfZmx1c2hfd21fdmFsdWVz KGRldl9wcml2LCByZXN1bHRzKTsKIApAQCAtMzY4MywyMCArMzY0NSwxOCBAQCBzdGF0aWMgdm9p ZCBpbGtfcHJvZ3JhbV93YXRlcm1hcmtzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGV2X3ByaXYtPmRldjsKIAlzdHJ1Y3QgaW50 ZWxfcGlwZV93bSBscF93bV8xXzIgPSB7fSwgbHBfd21fNV82ID0ge30sICpiZXN0X2xwX3dtOwog CXN0cnVjdCBpbGtfd21fbWF4aW11bXMgbWF4OwotCXN0cnVjdCBpbnRlbF93bV9jb25maWcgY29u ZmlnID0ge307CisJc3RydWN0IGludGVsX3dtX2NvbmZpZyAqY29uZmlnID0gJmRldl9wcml2LT53 bS5jb25maWc7CiAJc3RydWN0IGlsa193bV92YWx1ZXMgcmVzdWx0cyA9IHt9OwogCWVudW0gaW50 ZWxfZGRiX3BhcnRpdGlvbmluZyBwYXJ0aXRpb25pbmc7CiAKLQlpbGtfY29tcHV0ZV93bV9jb25m aWcoZGV2LCAmY29uZmlnKTsKLQotCWlsa19jb21wdXRlX3dtX21heGltdW1zKGRldiwgMSwgJmNv bmZpZywgSU5URUxfRERCX1BBUlRfMV8yLCAmbWF4KTsKLQlpbGtfd21fbWVyZ2UoZGV2LCAmY29u ZmlnLCAmbWF4LCAmbHBfd21fMV8yKTsKKwlpbGtfY29tcHV0ZV93bV9tYXhpbXVtcyhkZXYsIDEs IGNvbmZpZywgSU5URUxfRERCX1BBUlRfMV8yLCAmbWF4KTsKKwlpbGtfd21fbWVyZ2UoZGV2LCBj b25maWcsICZtYXgsICZscF93bV8xXzIpOwogCiAJLyogNS82IHNwbGl0IG9ubHkgaW4gc2luZ2xl IHBpcGUgY29uZmlnIG9uIElWQisgKi8KIAlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gNyAm JgotCSAgICBjb25maWcubnVtX3BpcGVzX2FjdGl2ZSA9PSAxICYmIGNvbmZpZy5zcHJpdGVzX2Vu YWJsZWQpIHsKLQkJaWxrX2NvbXB1dGVfd21fbWF4aW11bXMoZGV2LCAxLCAmY29uZmlnLCBJTlRF TF9EREJfUEFSVF81XzYsICZtYXgpOwotCQlpbGtfd21fbWVyZ2UoZGV2LCAmY29uZmlnLCAmbWF4 LCAmbHBfd21fNV82KTsKKwkgICAgY29uZmlnLT5udW1fcGlwZXNfYWN0aXZlID09IDEgJiYgY29u ZmlnLT5zcHJpdGVzX2VuYWJsZWQpIHsKKwkJaWxrX2NvbXB1dGVfd21fbWF4aW11bXMoZGV2LCAx LCBjb25maWcsIElOVEVMX0REQl9QQVJUXzVfNiwgJm1heCk7CisJCWlsa193bV9tZXJnZShkZXYs IGNvbmZpZywgJm1heCwgJmxwX3dtXzVfNik7CiAKIAkJYmVzdF9scF93bSA9IGlsa19maW5kX2Jl c3RfcmVzdWx0KGRldiwgJmxwX3dtXzFfMiwgJmxwX3dtXzVfNik7CiAJfSBlbHNlIHsKLS0gCjIu MS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=