From: Emily Deng Subject: [PATCH] drm/amd/amdgpu: For virtual display, enable multi crtcs. Date: Thu, 29 Sep 2016 14:11:21 +0800 Message-ID: <1475129481-2018-1-git-send-email-Emily.Deng@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Emily Deng RW5hYmxlIG11bHRpIGNydGNzIGZvciB2aXJ0dWFsIGRpc3BsYXksIHVzZXIgY2FuIHNldCB0aGUg bnVtYmVyIG9mIGNydGNzCmJ5IGFtZGdwdSBtb2R1bGUgcGFyYW1ldGVyICB2aXJ0dWFsX2Rpc3Bs YXkuCgpTaWduZWQtb2ZmLWJ5OiBFbWlseSBEZW5nIDxFbWlseS5EZW5nQGFtZC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvT2JqZWN0SUQuaCAgICAgIHwgIDI1ICsrKysrLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jIHwgIDI3ICsrKysrLS0K IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYyAgICB8ICAgMiArLQogZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3ZpcnR1YWwuYyAgIHwgMTE4ICsrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDE0MCBpbnNlcnRpb25zKCspLCAz MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9P YmplY3RJRC5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvT2JqZWN0SUQuaAppbmRleCBi OGQ2NjY3Li4zMDAyODM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9P YmplY3RJRC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L09iamVjdElELmgKQEAg LTE0OSw3ICsxNDksNiBAQAogI2RlZmluZSBHUkFQSF9PQkpFQ1RfRU5VTV9JRDUgICAgICAgICAg ICAgICAgICAgICAweDA1CiAjZGVmaW5lIEdSQVBIX09CSkVDVF9FTlVNX0lENiAgICAgICAgICAg ICAgICAgICAgIDB4MDYKICNkZWZpbmUgR1JBUEhfT0JKRUNUX0VOVU1fSUQ3ICAgICAgICAgICAg ICAgICAgICAgMHgwNwotI2RlZmluZSBHUkFQSF9PQkpFQ1RfRU5VTV9WSVJUVUFMICAgICAgICAg ICAgICAgICAweDA4CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqLwogLyogR3JhcGhpY3MgT2JqZWN0IElEIEJpdCBkZWZpbml0aW9uICAgICAg ICAgICAgICAgICovCkBAIC00MTEsOCArNDEwLDI4IEBACiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdSQVBIX09CSkVDVF9FTlVNX0lEMSA8PCBFTlVN X0lEX1NISUZUIHxcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEVOQ09ERVJfT0JKRUNUX0lEX0hETUlfQU5YOTgwNSA8PCBPQkpFQ1RfSURfU0hJRlQp CiAKLSNkZWZpbmUgRU5DT0RFUl9WSVJUVUFMX0VOVU1fVklSVFVBTCAgICAgICAgICAgICggR1JB UEhfT0JKRUNUX1RZUEVfRU5DT0RFUiA8PCBPQkpFQ1RfVFlQRV9TSElGVCB8XAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUkFQSF9PQkpFQ1RfRU5V TV9WSVJUVUFMIDw8IEVOVU1fSURfU0hJRlQgfFwKKyNkZWZpbmUgRU5DT0RFUl9WSVJUVUFMX0VO VU1fSUQxICAgICAgICAgICAgICAgICAoIEdSQVBIX09CSkVDVF9UWVBFX0VOQ09ERVIgPDwgT0JK RUNUX1RZUEVfU0hJRlQgfFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgR1JBUEhfT0JKRUNUX0VOVU1fSUQxIDw8IEVOVU1fSURfU0hJRlQgfFwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRU5DT0RFUl9P QkpFQ1RfSURfVklSVFVBTCA8PCBPQkpFQ1RfSURfU0hJRlQpCisKKyNkZWZpbmUgRU5DT0RFUl9W SVJUVUFMX0VOVU1fSUQyICAgICAgICAgICAgICAgICAoIEdSQVBIX09CSkVDVF9UWVBFX0VOQ09E RVIgPDwgT0JKRUNUX1RZUEVfU0hJRlQgfFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgR1JBUEhfT0JKRUNUX0VOVU1fSUQyIDw8IEVOVU1fSURfU0hJ RlQgfFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RU5DT0RFUl9PQkpFQ1RfSURfVklSVFVBTCA8PCBPQkpFQ1RfSURfU0hJRlQpCisKKyNkZWZpbmUg RU5DT0RFUl9WSVJUVUFMX0VOVU1fSUQzICAgICAgICAgICAgICAgICAoIEdSQVBIX09CSkVDVF9U WVBFX0VOQ09ERVIgPDwgT0JKRUNUX1RZUEVfU0hJRlQgfFwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1JBUEhfT0JKRUNUX0VOVU1fSUQzIDw8IEVO VU1fSURfU0hJRlQgfFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRU5DT0RFUl9PQkpFQ1RfSURfVklSVFVBTCA8PCBPQkpFQ1RfSURfU0hJRlQpCisK KyNkZWZpbmUgRU5DT0RFUl9WSVJUVUFMX0VOVU1fSUQ0ICAgICAgICAgICAgICAgICAoIEdSQVBI X09CSkVDVF9UWVBFX0VOQ09ERVIgPDwgT0JKRUNUX1RZUEVfU0hJRlQgfFwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1JBUEhfT0JKRUNUX0VOVU1f SUQ0IDw8IEVOVU1fSURfU0hJRlQgfFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRU5DT0RFUl9PQkpFQ1RfSURfVklSVFVBTCA8PCBPQkpFQ1RfSURf U0hJRlQpCisKKyNkZWZpbmUgRU5DT0RFUl9WSVJUVUFMX0VOVU1fSUQ1ICAgICAgICAgICAgICAg ICAoIEdSQVBIX09CSkVDVF9UWVBFX0VOQ09ERVIgPDwgT0JKRUNUX1RZUEVfU0hJRlQgfFwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1JBUEhfT0JK RUNUX0VOVU1fSUQ1IDw8IEVOVU1fSURfU0hJRlQgfFwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgRU5DT0RFUl9PQkpFQ1RfSURfVklSVFVBTCA8PCBP QkpFQ1RfSURfU0hJRlQpCisKKyNkZWZpbmUgRU5DT0RFUl9WSVJUVUFMX0VOVU1fSUQ2ICAgICAg ICAgICAgICAgICAoIEdSQVBIX09CSkVDVF9UWVBFX0VOQ09ERVIgPDwgT0JKRUNUX1RZUEVfU0hJ RlQgfFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg R1JBUEhfT0JKRUNUX0VOVU1fSUQ2IDw8IEVOVU1fSURfU0hJRlQgfFwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRU5DT0RFUl9PQkpFQ1RfSURfVklS VFVBTCA8PCBPQkpFQ1RfSURfU0hJRlQpCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2RldmljZS5jCmluZGV4IDdjZDlmNDkuLjJhMWY4MzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMKQEAgLTEyMzksMjAgKzEyMzksMzcgQEAgc3RhdGlj IHZvaWQgYW1kZ3B1X3doZXRoZXJfZW5hYmxlX3ZpcnR1YWxfZGlzcGxheShzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldikKIAlpZiAoYW1kZ3B1X3ZpcnR1YWxfZGlzcGxheSkgewogCQlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGRldiA9IGFkZXYtPmRkZXY7CiAJCWNvbnN0IGNoYXIgKnBjaV9hZGRyZXNz X25hbWUgPSBwY2lfbmFtZShkZGV2LT5wZGV2KTsKLQkJY2hhciAqcGNpYWRkc3RyLCAqcGNpYWRk c3RyX3RtcCwgKnBjaWFkZG5hbWU7CisJCWNoYXIgKnBjaWFkZHN0ciwgKnBjaWFkZHN0cl90bXAs ICpwY2lhZGRuYW1lX3RtcCwgKnBjaWFkZG5hbWU7CiAKIAkJcGNpYWRkc3RyID0ga3N0cmR1cChh bWRncHVfdmlydHVhbF9kaXNwbGF5LCBHRlBfS0VSTkVMKTsKIAkJcGNpYWRkc3RyX3RtcCA9IHBj aWFkZHN0cjsKLQkJd2hpbGUgKChwY2lhZGRuYW1lID0gc3Ryc2VwKCZwY2lhZGRzdHJfdG1wLCAi OyIpKSkgeworCQl3aGlsZSAoKHBjaWFkZG5hbWVfdG1wID0gc3Ryc2VwKCZwY2lhZGRzdHJfdG1w LCAiOyIpKSkgeworCQkJcGNpYWRkbmFtZSA9IHN0cnNlcCgmcGNpYWRkbmFtZV90bXAsICIsIik7 CiAJCQlpZiAoIXN0cmNtcChwY2lfYWRkcmVzc19uYW1lLCBwY2lhZGRuYW1lKSkgeworCQkJCWxv bmcgbnVtX2NydGM7CisJCQkJaW50IHJlcyA9IC0xOworCiAJCQkJYWRldi0+ZW5hYmxlX3ZpcnR1 YWxfZGlzcGxheSA9IHRydWU7CisKKwkJCQlpZiAocGNpYWRkbmFtZV90bXApCisJCQkJCXJlcyA9 IGtzdHJ0b2wocGNpYWRkbmFtZV90bXAsIDEwLAorCQkJCQkJJm51bV9jcnRjKTsKKworCQkJCWlm ICghcmVzKSB7CisJCQkJCWlmIChudW1fY3J0YyA8IDEpCisJCQkJCQludW1fY3J0YyA9IDE7CisJ CQkJCWlmIChudW1fY3J0YyA+IDYpCisJCQkJCQludW1fY3J0YyA9IDY7CisJCQkJCWFkZXYtPm1v ZGVfaW5mby5udW1fY3J0YyA9IG51bV9jcnRjOworCQkJCX0gZWxzZQorCQkJCQlhZGV2LT5tb2Rl X2luZm8ubnVtX2NydGMgPSAxOwogCQkJCWJyZWFrOwogCQkJfQogCQl9CiAKLQkJRFJNX0lORk8o InZpcnR1YWwgZGlzcGxheSBzdHJpbmc6JXMsICVzOnZpcnR1YWxfZGlzcGxheTolZFxuIiwKLQkJ CQkgYW1kZ3B1X3ZpcnR1YWxfZGlzcGxheSwgcGNpX2FkZHJlc3NfbmFtZSwKLQkJCQkgYWRldi0+ ZW5hYmxlX3ZpcnR1YWxfZGlzcGxheSk7CisJCURSTV9JTkZPKCJ2aXJ0dWFsIGRpc3BsYXkgc3Ry aW5nOiVzLCAlczp2aXJ0dWFsX2Rpc3BsYXk6JWQsIG51bV9jcnRjOiVkXG4iLAorCQkJYW1kZ3B1 X3ZpcnR1YWxfZGlzcGxheSwgcGNpX2FkZHJlc3NfbmFtZSwKKwkJCWFkZXYtPmVuYWJsZV92aXJ0 dWFsX2Rpc3BsYXksIGFkZXYtPm1vZGVfaW5mby5udW1fY3J0Yyk7CiAKIAkJa2ZyZWUocGNpYWRk c3RyKTsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf ZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMKaW5kZXggZTA1 OWJiMi4uNzQ4MDU5MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYwpA QCAtMjEzLDcgKzIxMyw3IEBAIG1vZHVsZV9wYXJhbV9uYW1lZChwZ19tYXNrLCBhbWRncHVfcGdf bWFzaywgdWludCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKGRpc2FibGVfY3UsICJEaXNhYmxl IENVcyAoc2Uuc2guY3UsLi4uKSIpOwogbW9kdWxlX3BhcmFtX25hbWVkKGRpc2FibGVfY3UsIGFt ZGdwdV9kaXNhYmxlX2N1LCBjaGFycCwgMDQ0NCk7CiAKLU1PRFVMRV9QQVJNX0RFU0ModmlydHVh bF9kaXNwbGF5LCAiRW5hYmxlIHZpcnR1YWwgZGlzcGxheSBmZWF0dXJlICh0aGUgdmlydHVhbF9k aXNwbGF5IHdpbGwgYmUgc2V0IGxpa2UgeHh4eDp4eDp4eC54O3h4eHg6eHg6eHgueCkiKTsKK01P RFVMRV9QQVJNX0RFU0ModmlydHVhbF9kaXNwbGF5LCAiRW5hYmxlIHZpcnR1YWwgZGlzcGxheSBm ZWF0dXJlICh0aGUgdmlydHVhbF9kaXNwbGF5IHdpbGwgYmUgc2V0IGxpa2UgeHh4eDp4eDp4eC54 LHg7eHh4eDp4eDp4eC54LHgpIik7CiBtb2R1bGVfcGFyYW1fbmFtZWQodmlydHVhbF9kaXNwbGF5 LCBhbWRncHVfdmlydHVhbF9kaXNwbGF5LCBjaGFycCwgMDQ0NCk7CiAKIHN0YXRpYyBjb25zdCBz dHJ1Y3QgcGNpX2RldmljZV9pZCBwY2lpZGxpc3RbXSA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92aXJ0dWFsLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9kY2VfdmlydHVhbC5jCmluZGV4IGM4NmViNzIuLjVlZTVhMjkgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92aXJ0dWFsLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvZGNlX3ZpcnR1YWwuYwpAQCAtMzUyLDcgKzM1Miw2IEBAIHN0YXRpYyBp bnQgZGNlX3ZpcnR1YWxfZWFybHlfaW5pdCh2b2lkICpoYW5kbGUpCiAJZGNlX3ZpcnR1YWxfc2V0 X2Rpc3BsYXlfZnVuY3MoYWRldik7CiAJZGNlX3ZpcnR1YWxfc2V0X2lycV9mdW5jcyhhZGV2KTsK IAotCWFkZXYtPm1vZGVfaW5mby5udW1fY3J0YyA9IDE7CiAJYWRldi0+bW9kZV9pbmZvLm51bV9o cGQgPSAxOwogCWFkZXYtPm1vZGVfaW5mby5udW1fZGlnID0gMTsKIAlyZXR1cm4gMDsKQEAgLTM2 Myw2ICszNjIsOSBAQCBzdGF0aWMgYm9vbCBkY2VfdmlydHVhbF9nZXRfY29ubmVjdG9yX2luZm8o c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJc3RydWN0IGFtZGdwdV9pMmNfYnVzX3JlYyBk ZGNfYnVzOwogCXN0cnVjdCBhbWRncHVfcm91dGVyIHJvdXRlcjsKIAlzdHJ1Y3QgYW1kZ3B1X2hw ZCBocGQ7CisJaW50IGkgPSAwOworCXVpbnQzMl90IGVuY29kZXJfZW51bSA9IEVOQ09ERVJfVklS VFVBTF9FTlVNX0lEMTsKKwl1aW50MzJfdCBzdXBwb3J0ZWRfZGV2aWNlID0gQVRPTV9ERVZJQ0Vf REZQMV9TVVBQT1JUOwogCiAJLyogbG9vayB1cCBncGlvIGZvciBkZGMsIGhwZCAqLwogCWRkY19i dXMudmFsaWQgPSBmYWxzZTsKQEAgLTM3MywxNyArMzc1LDQxIEBAIHN0YXRpYyBib29sIGRjZV92 aXJ0dWFsX2dldF9jb25uZWN0b3JfaW5mbyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAlt ZW1zZXQoJnJvdXRlciwgMCwgc2l6ZW9mKHJvdXRlcikpOwogCXJvdXRlci5kZGNfdmFsaWQgPSBm YWxzZTsKIAlyb3V0ZXIuY2RfdmFsaWQgPSBmYWxzZTsKLQlhbWRncHVfZGlzcGxheV9hZGRfY29u bmVjdG9yKGFkZXYsCi0JCQkJICAgICAgMCwKLQkJCQkgICAgICBBVE9NX0RFVklDRV9DUlQxX1NV UFBPUlQsCi0JCQkJICAgICAgRFJNX01PREVfQ09OTkVDVE9SX1ZJUlRVQUwsICZkZGNfYnVzLAot CQkJCSAgICAgIENPTk5FQ1RPUl9PQkpFQ1RfSURfVklSVFVBTCwKLQkJCQkgICAgICAmaHBkLAot CQkJCSAgICAgICZyb3V0ZXIpOwotCi0JYW1kZ3B1X2Rpc3BsYXlfYWRkX2VuY29kZXIoYWRldiwg RU5DT0RFUl9WSVJUVUFMX0VOVU1fVklSVFVBTCwKLQkJCQkJCQlBVE9NX0RFVklDRV9DUlQxX1NV UFBPUlQsCi0JCQkJCQkJMCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgYWRldi0+bW9kZV9pbmZvLm51 bV9jcnRjOyBpKyspIHsKKwkJc3dpdGNoIChpKSB7CisJCWNhc2UgMDoKKwkJCWVuY29kZXJfZW51 bSA9IEVOQ09ERVJfVklSVFVBTF9FTlVNX0lEMTsKKwkJCXN1cHBvcnRlZF9kZXZpY2UgPSBBVE9N X0RFVklDRV9ERlAxX1NVUFBPUlQ7CisJCQlicmVhazsKKwkJY2FzZSAxOgorCQkJZW5jb2Rlcl9l bnVtID0gRU5DT0RFUl9WSVJUVUFMX0VOVU1fSUQyOworCQkJc3VwcG9ydGVkX2RldmljZSA9IEFU T01fREVWSUNFX0RGUDJfU1VQUE9SVDsKKwkJCWJyZWFrOworCQljYXNlIDI6CisJCQllbmNvZGVy X2VudW0gPSBFTkNPREVSX1ZJUlRVQUxfRU5VTV9JRDM7CisJCQlzdXBwb3J0ZWRfZGV2aWNlID0g QVRPTV9ERVZJQ0VfREZQM19TVVBQT1JUOworCQkJYnJlYWs7CisJCWNhc2UgMzoKKwkJCWVuY29k ZXJfZW51bSA9IEVOQ09ERVJfVklSVFVBTF9FTlVNX0lENDsKKwkJCXN1cHBvcnRlZF9kZXZpY2Ug PSBBVE9NX0RFVklDRV9ERlA0X1NVUFBPUlQ7CisJCQlicmVhazsKKwkJY2FzZSA0OgorCQkJZW5j b2Rlcl9lbnVtID0gRU5DT0RFUl9WSVJUVUFMX0VOVU1fSUQ1OworCQkJc3VwcG9ydGVkX2Rldmlj ZSA9IEFUT01fREVWSUNFX0RGUDVfU1VQUE9SVDsKKwkJCWJyZWFrOworCQljYXNlIDU6CisJCQll bmNvZGVyX2VudW0gPSBFTkNPREVSX1ZJUlRVQUxfRU5VTV9JRDY7CisJCQlzdXBwb3J0ZWRfZGV2 aWNlID0gQVRPTV9ERVZJQ0VfREZQNl9TVVBQT1JUOworCQkJYnJlYWs7CisJCX0KKworCQlhbWRn cHVfZGlzcGxheV9hZGRfY29ubmVjdG9yKGFkZXYsIGksIHN1cHBvcnRlZF9kZXZpY2UsCisJCQkJ RFJNX01PREVfQ09OTkVDVE9SX1ZJUlRVQUwsICZkZGNfYnVzLAorCQkJCUNPTk5FQ1RPUl9PQkpF Q1RfSURfVklSVFVBTCwgJmhwZCwgJnJvdXRlcik7CisJCWFtZGdwdV9kaXNwbGF5X2FkZF9lbmNv ZGVyKGFkZXYsIGVuY29kZXJfZW51bSwKKwkJCQlzdXBwb3J0ZWRfZGV2aWNlLCAwKTsKKwl9CiAK IAlhbWRncHVfbGlua19lbmNvZGVyX2Nvbm5lY3RvcihhZGV2LT5kZGV2KTsKIApAQCAtNjAzLDcg KzYyOSwyOCBAQCBzdGF0aWMgdm9pZCBkY2VfdmlydHVhbF9lbmNvZGVyX2FkZChzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiwKIAkJcmV0dXJuOwogCiAJZW5jb2RlciA9ICZhbWRncHVfZW5jb2Rl ci0+YmFzZTsKLQllbmNvZGVyLT5wb3NzaWJsZV9jcnRjcyA9IDB4MTsKKworCXN3aXRjaCAoYWRl di0+bW9kZV9pbmZvLm51bV9jcnRjKSB7CisJY2FzZSAxOgorCQllbmNvZGVyLT5wb3NzaWJsZV9j cnRjcyA9IDB4MTsKKwkJYnJlYWs7CisJY2FzZSAyOgorCQllbmNvZGVyLT5wb3NzaWJsZV9jcnRj cyA9IDB4MzsKKwkJYnJlYWs7CisJY2FzZSAzOgorCQllbmNvZGVyLT5wb3NzaWJsZV9jcnRjcyA9 IDB4NzsKKwkJYnJlYWs7CisJY2FzZSA0OgorCQllbmNvZGVyLT5wb3NzaWJsZV9jcnRjcyA9IDB4 ZjsKKwkJYnJlYWs7CisJY2FzZSA1OgorCQllbmNvZGVyLT5wb3NzaWJsZV9jcnRjcyA9IDB4MWY7 CisJCWJyZWFrOworCWNhc2UgNjoKKwkJZW5jb2Rlci0+cG9zc2libGVfY3J0Y3MgPSAweDNmOwor CQlicmVhazsKKwl9CisKIAlhbWRncHVfZW5jb2Rlci0+ZW5jX3ByaXYgPSBOVUxMOwogCWFtZGdw dV9lbmNvZGVyLT5lbmNvZGVyX2VudW0gPSBlbmNvZGVyX2VudW07CiAJYW1kZ3B1X2VuY29kZXIt PmVuY29kZXJfaWQgPSAoZW5jb2Rlcl9lbnVtICYgT0JKRUNUX0lEX01BU0spID4+IE9CSkVDVF9J RF9TSElGVDsKQEAgLTY0Nyw5ICs2OTQsMTUgQEAgc3RhdGljIGVudW0gaHJ0aW1lcl9yZXN0YXJ0 IGRjZV92aXJ0dWFsX3ZibGFua190aW1lcl9oYW5kbGUoc3RydWN0IGhydGltZXIgKnZibGEKIHsK IAlzdHJ1Y3QgYW1kZ3B1X21vZGVfaW5mbyAqbW9kZV9pbmZvID0gY29udGFpbmVyX29mKHZibGFu a190aW1lciwgc3RydWN0IGFtZGdwdV9tb2RlX2luZm8gLHZibGFua190aW1lcik7CiAJc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBjb250YWluZXJfb2YobW9kZV9pbmZvLCBzdHJ1Y3QgYW1k Z3B1X2RldmljZSAsbW9kZV9pbmZvKTsKLQl1bnNpZ25lZCBjcnRjID0gMDsKLQlkcm1faGFuZGxl X3ZibGFuayhhZGV2LT5kZGV2LCBjcnRjKTsKLQlkY2VfdmlydHVhbF9wYWdlZmxpcF9pcnEoYWRl diwgTlVMTCwgTlVMTCk7CisJaW50IGk7CisJc3RydWN0IGFtZGdwdV9pdl9lbnRyeSBlbnRyeTsK KworCWZvciAoaSA9IDA7IGkgPCBhZGV2LT5tb2RlX2luZm8ubnVtX2NydGM7IGkrKykgeworCQll bnRyeS5zcmNfaWQgPSBpOworCQlkcm1faGFuZGxlX3ZibGFuayhhZGV2LT5kZGV2LCBpKTsKKwkJ ZGNlX3ZpcnR1YWxfcGFnZWZsaXBfaXJxKGFkZXYsIE5VTEwsICZlbnRyeSk7CisJfQorCiAJaHJ0 aW1lcl9zdGFydCh2YmxhbmtfdGltZXIsIGt0aW1lX3NldCgwLCBEQ0VfVklSVFVBTF9WQkxBTktf UEVSSU9EKSwgSFJUSU1FUl9NT0RFX1JFTCk7CiAJcmV0dXJuIEhSVElNRVJfTk9SRVNUQVJUOwog fQpAQCAtNjg4LDYgKzc0MSwyMSBAQCBzdGF0aWMgaW50IGRjZV92aXJ0dWFsX3NldF9jcnRjX2ly cV9zdGF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAljYXNlIEFNREdQVV9DUlRDX0lS UV9WQkxBTksxOgogCQlkY2VfdmlydHVhbF9zZXRfY3J0Y192YmxhbmtfaW50ZXJydXB0X3N0YXRl KGFkZXYsIDAsIHN0YXRlKTsKIAkJYnJlYWs7CisJY2FzZSBBTURHUFVfQ1JUQ19JUlFfVkJMQU5L MjoKKwkJZGNlX3ZpcnR1YWxfc2V0X2NydGNfdmJsYW5rX2ludGVycnVwdF9zdGF0ZShhZGV2LCAx LCBzdGF0ZSk7CisJCWJyZWFrOworCWNhc2UgQU1ER1BVX0NSVENfSVJRX1ZCTEFOSzM6CisJCWRj ZV92aXJ0dWFsX3NldF9jcnRjX3ZibGFua19pbnRlcnJ1cHRfc3RhdGUoYWRldiwgMiwgc3RhdGUp OworCQlicmVhazsKKwljYXNlIEFNREdQVV9DUlRDX0lSUV9WQkxBTks0OgorCQlkY2VfdmlydHVh bF9zZXRfY3J0Y192YmxhbmtfaW50ZXJydXB0X3N0YXRlKGFkZXYsIDMsIHN0YXRlKTsKKwkJYnJl YWs7CisJY2FzZSBBTURHUFVfQ1JUQ19JUlFfVkJMQU5LNToKKwkJZGNlX3ZpcnR1YWxfc2V0X2Ny dGNfdmJsYW5rX2ludGVycnVwdF9zdGF0ZShhZGV2LCA0LCBzdGF0ZSk7CisJCWJyZWFrOworCWNh c2UgQU1ER1BVX0NSVENfSVJRX1ZCTEFOSzY6CisJCWRjZV92aXJ0dWFsX3NldF9jcnRjX3ZibGFu a19pbnRlcnJ1cHRfc3RhdGUoYWRldiwgNSwgc3RhdGUpOworCQlicmVhazsKIAlkZWZhdWx0Ogog CQlicmVhazsKIAl9CkBAIC03MDcsMTYgKzc3NSwyMCBAQCBzdGF0aWMgaW50IGRjZV92aXJ0dWFs X2NydGNfaXJxKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCQkJICAgICAgc3RydWN0IGFt ZGdwdV9pcnFfc3JjICpzb3VyY2UsCiAJCQkgICAgICBzdHJ1Y3QgYW1kZ3B1X2l2X2VudHJ5ICpl bnRyeSkKIHsKLQl1bnNpZ25lZCBjcnRjID0gMDsKKwlpbnQgaTsKIAl1bnNpZ25lZCBpcnFfdHlw ZSA9IEFNREdQVV9DUlRDX0lSUV9WQkxBTksxOwogCi0JZGNlX3ZpcnR1YWxfY3J0Y192Ymxhbmtf aW50X2FjayhhZGV2LCBjcnRjKTsKKwlmb3IgKGkgPSAwOyBpIDwgYWRldi0+bW9kZV9pbmZvLm51 bV9jcnRjOyBpKyspIHsKKwkJaXJxX3R5cGUgPSBhbWRncHVfY3J0Y19pZHhfdG9faXJxX3R5cGUo YWRldiwgaSk7CisJCWVudHJ5LT5zcmNfaWQgPSBpOworCisJCWRjZV92aXJ0dWFsX2NydGNfdmJs YW5rX2ludF9hY2soYWRldiwgaSk7CisJCWlmIChhbWRncHVfaXJxX2VuYWJsZWQoYWRldiwgc291 cmNlLCBpcnFfdHlwZSkpCisJCQlkcm1faGFuZGxlX3ZibGFuayhhZGV2LT5kZGV2LCBpKTsKIAot CWlmIChhbWRncHVfaXJxX2VuYWJsZWQoYWRldiwgc291cmNlLCBpcnFfdHlwZSkpIHsKLQkJZHJt X2hhbmRsZV92YmxhbmsoYWRldi0+ZGRldiwgY3J0Yyk7CisJCWRjZV92aXJ0dWFsX3BhZ2VmbGlw X2lycShhZGV2LCBOVUxMLCBlbnRyeSk7CisJCURSTV9ERUJVRygiSUg6IEQlZCB2YmxhbmtcbiIs IGkgKyAxKTsKIAl9Ci0JZGNlX3ZpcnR1YWxfcGFnZWZsaXBfaXJxKGFkZXYsIE5VTEwsIE5VTEwp OwotCURSTV9ERUJVRygiSUg6IEQlZCB2YmxhbmtcbiIsIGNydGMgKyAxKTsKIAlyZXR1cm4gMDsK IH0KIApAQCAtNzQzLDcgKzgxNSw3IEBAIHN0YXRpYyBpbnQgZGNlX3ZpcnR1YWxfcGFnZWZsaXBf aXJxKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCXN0cnVjdCBhbWRncHVfY3J0YyAqYW1k Z3B1X2NydGM7CiAJc3RydWN0IGFtZGdwdV9mbGlwX3dvcmsgKndvcmtzOwogCi0JY3J0Y19pZCA9 IDA7CisJY3J0Y19pZCA9IGVudHJ5LT5zcmNfaWQ7CiAJYW1kZ3B1X2NydGMgPSBhZGV2LT5tb2Rl X2luZm8uY3J0Y3NbY3J0Y19pZF07CiAKIAlpZiAoY3J0Y19pZCA+PSBhZGV2LT5tb2RlX2luZm8u bnVtX2NydGMpIHsKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ft ZC1nZngK