From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 30/39] drm/i915: Added debug state dump facilities to scheduler Date: Mon, 23 Nov 2015 11:39:25 +0000 Message-ID: <1448278774-31376-31-git-send-email-John.C.Harrison@Intel.com> References: <1448278774-31376-1-git-send-email-John.C.Harrison@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 216FE6E519 for ; Mon, 23 Nov 2015 03:40:10 -0800 (PST) In-Reply-To: <1448278774-31376-1-git-send-email-John.C.Harrison@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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KCldoZW4gZGVi dWdnaW5nIGJhdGNoIGJ1ZmZlciBzdWJtaXNzaW9uIGlzc3VlcywgaXQgaXMgdXNlZnVsIHRvIGJl IGFibGUgdG8gc2VlCndoYXQgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHNjaGVkdWxlciBpcy4g VGhpcyBjaGFuZ2UgYWRkcyBmdW5jdGlvbnMgZm9yCmRlY29kaW5nIHRoZSBpbnRlcm5hbCBzY2hl ZHVsZXIgc3RhdGUgYW5kIHJlcG9ydGluZyBpdC4KCkNoYW5nZS1JZDogSTA2MzQxNjhlM2YzNDY1 ZmYwMjNmNWE2NzMxNjVjOTBiMDdlNTM1YjYKRm9yOiBWSVotMTU4NwpTaWduZWQtb2ZmLWJ5OiBK b2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMgfCAyNzYgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuaCB8ICAxNCAr KwogMiBmaWxlcyBjaGFuZ2VkLCAyOTAgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3NjaGVkdWxlci5jCmluZGV4IGZmNjQ2MGUuLjVlZWMyMTcgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9zY2hlZHVsZXIuYwpAQCAtMzYsNiArMzYsOSBAQCBzdGF0aWMgaW50ICAgICAgICAg aTkxNV9zY2hlZHVsZXJfc3VibWl0X21heF9wcmlvcml0eShzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaQogCQkJCQkJICAgICAgYm9vbCBpc19sb2NrZWQpOwogc3RhdGljIHVpbnQzMl90ICAgIGk5 MTVfc2NoZWR1bGVyX2NvdW50X2ZseWluZyhzdHJ1Y3QgaTkxNV9zY2hlZHVsZXIgKnNjaGVkdWxl ciwKIAkJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOworc3RhdGljIGlu dCAgICAgICAgIGk5MTVfc2NoZWR1bGVyX2R1bXBfbG9ja2VkKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcsCisJCQkJCSAgICAgIGNvbnN0IGNoYXIgKm1zZyk7CitzdGF0aWMgaW50ICAgICAg ICAgaTkxNV9zY2hlZHVsZXJfZHVtcF9hbGxfbG9ja2VkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IGNvbnN0IGNoYXIgKm1zZyk7CiBzdGF0aWMgdm9pZCAgICAgICAgaTkxNV9zY2hlZHVsZXJfcHJp b3JpdHlfYnVtcF9jbGVhcihzdHJ1Y3QgaTkxNV9zY2hlZHVsZXIgKnNjaGVkdWxlcik7CiBzdGF0 aWMgaW50ICAgICAgICAgaTkxNV9zY2hlZHVsZXJfcHJpb3JpdHlfYnVtcChzdHJ1Y3QgaTkxNV9z Y2hlZHVsZXIgKnNjaGVkdWxlciwKIAkJCQkJCXN0cnVjdCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9l bnRyeSAqdGFyZ2V0LApAQCAtNTMsNiArNTYsMTE2IEBAIGJvb2wgaTkxNV9zY2hlZHVsZXJfaXNf ZW5hYmxlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCXJldHVybiBkZXZfcHJpdi0+c2NoZWR1 bGVyICE9IE5VTEw7CiB9CiAKK2NvbnN0IGNoYXIgKmk5MTVfcWVfc3RhdGVfc3RyKHN0cnVjdCBp OTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRyeSAqbm9kZSkKK3sKKwlzdGF0aWMgY2hhcglzdHJbNTBd OworCWNoYXIJCSpwdHIgPSBzdHI7CisKKwkqKHB0cisrKSA9IG5vZGUtPmJ1bXBlZCA/ICdCJyA6 ICctJywKKwkqKHB0cisrKSA9IGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKG5vZGUtPnBhcmFt cy5yZXF1ZXN0KSA/ICdDJyA6ICctJzsKKworCSpwdHIgPSAwOworCisJcmV0dXJuIHN0cjsKK30K KworY2hhciBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9zdGF0dXNfY2hyKGVudW0gaTkxNV9zY2hlZHVs ZXJfcXVldWVfc3RhdHVzIHN0YXR1cykKK3sKKwlzd2l0Y2ggKHN0YXR1cykgeworCWNhc2UgaTkx NV9zcXNfbm9uZToKKwlyZXR1cm4gJ04nOworCisJY2FzZSBpOTE1X3Nxc19xdWV1ZWQ6CisJcmV0 dXJuICdRJzsKKworCWNhc2UgaTkxNV9zcXNfcG9wcGVkOgorCXJldHVybiAnWCc7CisKKwljYXNl IGk5MTVfc3FzX2ZseWluZzoKKwlyZXR1cm4gJ0YnOworCisJY2FzZSBpOTE1X3Nxc19jb21wbGV0 ZToKKwlyZXR1cm4gJ0MnOworCisJY2FzZSBpOTE1X3Nxc19kZWFkOgorCXJldHVybiAnRCc7CisK KwlkZWZhdWx0OgorCWJyZWFrOworCX0KKworCXJldHVybiAnPyc7Cit9CisKK2NvbnN0IGNoYXIg Kmk5MTVfc2NoZWR1bGVyX3F1ZXVlX3N0YXR1c19zdHIoCisJCQkJZW51bSBpOTE1X3NjaGVkdWxl cl9xdWV1ZV9zdGF0dXMgc3RhdHVzKQoreworCXN0YXRpYyBjaGFyCXN0cls1MF07CisKKwlzd2l0 Y2ggKHN0YXR1cykgeworCWNhc2UgaTkxNV9zcXNfbm9uZToKKwlyZXR1cm4gIk5vbmUiOworCisJ Y2FzZSBpOTE1X3Nxc19xdWV1ZWQ6CisJcmV0dXJuICJRdWV1ZWQiOworCisJY2FzZSBpOTE1X3Nx c19wb3BwZWQ6CisJcmV0dXJuICJQb3BwZWQiOworCisJY2FzZSBpOTE1X3Nxc19mbHlpbmc6CisJ cmV0dXJuICJGbHlpbmciOworCisJY2FzZSBpOTE1X3Nxc19jb21wbGV0ZToKKwlyZXR1cm4gIkNv bXBsZXRlIjsKKworCWNhc2UgaTkxNV9zcXNfZGVhZDoKKwlyZXR1cm4gIkRlYWQiOworCisJZGVm YXVsdDoKKwlicmVhazsKKwl9CisKKwlzcHJpbnRmKHN0ciwgIltVbmtub3duXyVkIV0iLCBzdGF0 dXMpOworCXJldHVybiBzdHI7Cit9CisKK2NvbnN0IGNoYXIgKmk5MTVfc2NoZWR1bGVyX2ZsYWdf c3RyKHVpbnQzMl90IGZsYWdzKQoreworCXN0YXRpYyBjaGFyICAgICBzdHJbMTAwXTsKKwljaGFy ICAgICAgICAgICAqcHRyID0gc3RyOworCisJKnB0ciA9IDA7CisKKyNkZWZpbmUgVEVTVF9GTEFH KGZsYWcsIG1zZykJCQkJCQlcCisJZG8gewkJCQkJCQkJXAorCQlpZiAoZmxhZ3MgJiAoZmxhZykp IHsJCQkJCVwKKwkJCXN0cmNweShwdHIsIG1zZyk7CQkJCVwKKwkJCXB0ciArPSBzdHJsZW4ocHRy KTsJCQkJXAorCQkJZmxhZ3MgJj0gfihmbGFnKTsJCQkJXAorCQl9CQkJCQkJCVwKKwl9IHdoaWxl ICgwKQorCisJVEVTVF9GTEFHKGk5MTVfc2ZfaW50ZXJydXB0c19lbmFibGVkLCAiSW50T258Iik7 CisJVEVTVF9GTEFHKGk5MTVfc2Zfc3VibWl0dGluZywgICAgICAgICAiU3VibWl0dGluZ3wiKTsK KwlURVNUX0ZMQUcoaTkxNV9zZl9kdW1wX2ZvcmNlLCAgICAgICAgICJEdW1wRm9yY2V8Iik7CisJ VEVTVF9GTEFHKGk5MTVfc2ZfZHVtcF9kZXRhaWxzLCAgICAgICAiRHVtcERldGFpbHN8Iik7CisJ VEVTVF9GTEFHKGk5MTVfc2ZfZHVtcF9kZXBlbmRlbmNpZXMsICAiRHVtcERlcHN8Iik7CisKKyN1 bmRlZiBURVNUX0ZMQUcKKworCWlmIChmbGFncykgeworCQlzcHJpbnRmKHB0ciwgIlVua25vd25f MHglWCEiLCBmbGFncyk7CisJCXB0ciArPSBzdHJsZW4ocHRyKTsKKwl9CisKKwlpZiAocHRyID09 IHN0cikKKwkJc3RyY3B5KHN0ciwgIi0iKTsKKwllbHNlCisJCXB0clstMV0gPSAwOworCisJcmV0 dXJuIHN0cjsKK307CisKIGludCBpOTE1X3NjaGVkdWxlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKQEAgLTYwMyw2ICs3MTYsMTY5IEBAIHZvaWQgaTkxNV9nZW1fc2NoZWR1bGVyX3dv cmtfaGFuZGxlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJfQogfQogCitpbnQgaTkxNV9z Y2hlZHVsZXJfZHVtcF9hbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgY29uc3QgY2hhciAqbXNn KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7CisJc3RydWN0IGk5MTVfc2NoZWR1bGVyICAgKnNjaGVkdWxlciA9IGRldl9wcml2LT5zY2hl ZHVsZXI7CisJdW5zaWduZWQgbG9uZyAgIGZsYWdzOworCWludCAgICAgICAgICAgICByZXQ7CisK KwlzcGluX2xvY2tfaXJxc2F2ZSgmc2NoZWR1bGVyLT5sb2NrLCBmbGFncyk7CisJcmV0ID0gaTkx NV9zY2hlZHVsZXJfZHVtcF9hbGxfbG9ja2VkKGRldiwgbXNnKTsKKwlzcGluX3VubG9ja19pcnFy ZXN0b3JlKCZzY2hlZHVsZXItPmxvY2ssIGZsYWdzKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0 YXRpYyBpbnQgaTkxNV9zY2hlZHVsZXJfZHVtcF9hbGxfbG9ja2VkKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIGNvbnN0IGNoYXIgKm1zZykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBpOTE1X3NjaGVkdWxlciAgICpzY2hl ZHVsZXIgPSBkZXZfcHJpdi0+c2NoZWR1bGVyOworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgICpy aW5nOworCWludCAgICAgICAgICAgICAgICAgICAgIGksIHIsIHJldCA9IDA7CisKKwlmb3JfZWFj aF9yaW5nKHJpbmcsIGRldl9wcml2LCBpKSB7CisJCXNjaGVkdWxlci0+ZmxhZ3NbcmluZy0+aWRd IHw9IGk5MTVfc2ZfZHVtcF9mb3JjZSAgIHwKKwkJCQkJICAgICAgaTkxNV9zZl9kdW1wX2RldGFp bHMgfAorCQkJCQkgICAgICBpOTE1X3NmX2R1bXBfZGVwZW5kZW5jaWVzOworCQlyID0gaTkxNV9z Y2hlZHVsZXJfZHVtcF9sb2NrZWQocmluZywgbXNnKTsKKwkJaWYgKHJldCA9PSAwKQorCQkJcmV0 ID0gcjsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorCitpbnQgaTkxNV9zY2hlZHVsZXJfZHVtcChz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLCBjb25zdCBjaGFyICptc2cpCit7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gcmluZy0+ZGV2LT5kZXZfcHJpdmF0ZTsKKwlz dHJ1Y3QgaTkxNV9zY2hlZHVsZXIgICAqc2NoZWR1bGVyID0gZGV2X3ByaXYtPnNjaGVkdWxlcjsK Kwl1bnNpZ25lZCBsb25nICAgZmxhZ3M7CisJaW50ICAgICAgICAgICAgIHJldDsKKworCXNwaW5f bG9ja19pcnFzYXZlKCZzY2hlZHVsZXItPmxvY2ssIGZsYWdzKTsKKwlyZXQgPSBpOTE1X3NjaGVk dWxlcl9kdW1wX2xvY2tlZChyaW5nLCBtc2cpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNj aGVkdWxlci0+bG9jaywgZmxhZ3MpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBp OTE1X3NjaGVkdWxlcl9kdW1wX2xvY2tlZChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLCBj b25zdCBjaGFyICptc2cpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g cmluZy0+ZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgaTkxNV9zY2hlZHVsZXIgICAqc2NoZWR1 bGVyID0gZGV2X3ByaXYtPnNjaGVkdWxlcjsKKwlzdHJ1Y3QgaTkxNV9zY2hlZHVsZXJfcXVldWVf ZW50cnkgICpub2RlOworCWludCAgICAgICAgICAgICAgICAgZmx5aW5nID0gMCwgcXVldWVkID0g MCwgY29tcGxldGUgPSAwLCBvdGhlciA9IDA7CisJc3RhdGljIGludCAgICAgICAgICBvbGRfZmx5 aW5nID0gLTEsIG9sZF9xdWV1ZWQgPSAtMSwgb2xkX2NvbXBsZXRlID0gLTE7CisJYm9vbCAgICAg ICAgICAgICAgICBiX2R1bXA7CisJY2hhciAgICAgICAgICAgICAgICBicmt0WzJdID0geyAnPCcs ICc+JyB9OworCisJaWYgKCFyaW5nKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWxpc3RfZm9yX2Vh Y2hfZW50cnkobm9kZSwgJnNjaGVkdWxlci0+bm9kZV9xdWV1ZVtyaW5nLT5pZF0sIGxpbmspIHsK KwkJaWYgKEk5MTVfU1FTX0lTX1FVRVVFRChub2RlKSkKKwkJCXF1ZXVlZCsrOworCQllbHNlIGlm IChJOTE1X1NRU19JU19GTFlJTkcobm9kZSkpCisJCQlmbHlpbmcrKzsKKwkJZWxzZSBpZiAoSTkx NV9TUVNfSVNfQ09NUExFVEUobm9kZSkpCisJCQljb21wbGV0ZSsrOworCQllbHNlCisJCQlvdGhl cisrOworCX0KKworCWJfZHVtcCA9IChmbHlpbmcgIT0gb2xkX2ZseWluZykgfHwKKwkJIChxdWV1 ZWQgIT0gb2xkX3F1ZXVlZCkgfHwKKwkJIChjb21wbGV0ZSAhPSBvbGRfY29tcGxldGUpOworCWlm IChzY2hlZHVsZXItPmZsYWdzW3JpbmctPmlkXSAmIGk5MTVfc2ZfZHVtcF9mb3JjZSkgeworCQlp ZiAoIWJfZHVtcCkgeworCQkJYl9kdW1wID0gdHJ1ZTsKKwkJCWJya3RbMF0gPSAneyc7CisJCQli cmt0WzFdID0gJ30nOworCQl9CisKKwkJc2NoZWR1bGVyLT5mbGFnc1tyaW5nLT5pZF0gJj0gfmk5 MTVfc2ZfZHVtcF9mb3JjZTsKKwl9CisKKwlpZiAoYl9kdW1wKSB7CisJCW9sZF9mbHlpbmcgICA9 IGZseWluZzsKKwkJb2xkX3F1ZXVlZCAgID0gcXVldWVkOworCQlvbGRfY29tcGxldGUgPSBjb21w bGV0ZTsKKwkJRFJNX0RFQlVHX0RSSVZFUigiPCVzPiBROiUwMmQsIEY6JTAyZCwgQzolMDJkLCBP OiUwMmQsICIKKwkJCQkgIkZsYWdzID0gJXMsIE5leHQgPSAlZDolZCAlYyVzJWNcbiIsCisJCQkJ IHJpbmctPm5hbWUsIHF1ZXVlZCwgZmx5aW5nLCBjb21wbGV0ZSwgb3RoZXIsCisJCQkJIGk5MTVf c2NoZWR1bGVyX2ZsYWdfc3RyKHNjaGVkdWxlci0+ZmxhZ3NbcmluZy0+aWRdKSwKKwkJCQkgZGV2 X3ByaXYtPnJlcXVlc3RfdW5pcSwgZGV2X3ByaXYtPm5leHRfc2Vxbm8sCisJCQkJIGJya3RbMF0s IG1zZywgYnJrdFsxXSk7CisJfSBlbHNlIHsKKwkJLypEUk1fREVCVUdfRFJJVkVSKCI8JXM+IFE6 JTAyZCwgRjolMDJkLCBDOiUwMmQsIE86JTAyZCIKKwkJCQkgIiwgRmxhZ3MgPSAlcywgTmV4dCA9 ICVkOiVkIFslc11cbiIsCisJCQkJIHJpbmctPm5hbWUsCisJCQkJIHF1ZXVlZCwgZmx5aW5nLCBj b21wbGV0ZSwgb3RoZXIsCisJCQkJIGk5MTVfc2NoZWR1bGVyX2ZsYWdfc3RyKHNjaGVkdWxlci0+ ZmxhZ3NbcmluZy0+aWRdKSwKKwkJCQkgZGV2X3ByaXYtPnJlcXVlc3RfdW5pcSwgZGV2X3ByaXYt Pm5leHRfc2Vxbm8sIG1zZyk7ICovCisKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKHNjaGVkdWxl ci0+ZmxhZ3NbcmluZy0+aWRdICYgaTkxNV9zZl9kdW1wX2RldGFpbHMpIHsKKwkJaW50ICAgICAg ICAgaSwgZGVwczsKKwkJdWludDMyX3QgICAgY291bnQsIGNvdW50c1tpOTE1X3Nxc19NQVhdOwor CisJCW1lbXNldChjb3VudHMsIDB4MDAsIHNpemVvZihjb3VudHMpKTsKKworCQlsaXN0X2Zvcl9l YWNoX2VudHJ5KG5vZGUsICZzY2hlZHVsZXItPm5vZGVfcXVldWVbcmluZy0+aWRdLCBsaW5rKSB7 CisJCQlpZiAobm9kZS0+c3RhdHVzIDwgaTkxNV9zcXNfTUFYKSB7CisJCQkJY291bnQgPSBjb3Vu dHNbbm9kZS0+c3RhdHVzXSsrOworCQkJfSBlbHNlIHsKKwkJCQlEUk1fREVCVUdfRFJJVkVSKCI8 JXM+ICAgVW5rbm93biBzdGF0dXM6ICVkIVxuIiwKKwkJCQkJCSByaW5nLT5uYW1lLCBub2RlLT5z dGF0dXMpOworCQkJCWNvdW50ID0gLTE7CisJCQl9CisKKwkJCWRlcHMgPSAwOworCQkJZm9yIChp ID0gMDsgaSA8IG5vZGUtPm51bV9kZXBzOyBpKyspCisJCQkJaWYgKGk5MTVfc2NoZWR1bGVyX2lz X2RlcGVuZGVuY3lfdmFsaWQobm9kZSwgaSkpCisJCQkJCWRlcHMrKzsKKworCQkJRFJNX0RFQlVH X0RSSVZFUigiPCVzPiAgICVjOiUwMmQ+IHVuaXEgPSAlZCwgc2Vxbm8iCisJCQkJCSAiID0gJWQv JXMsIGRlcHMgPSAlZCAvICVkLCBmZW5jZSA9ICVwLyVkLCAlcyBbcHJpID0gIgorCQkJCQkgIiU0 ZF1cbiIsIHJpbmctPm5hbWUsCisJCQkJCSBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9zdGF0dXNfY2hy KG5vZGUtPnN0YXR1cyksCisJCQkJCSBjb3VudCwKKwkJCQkJIG5vZGUtPnBhcmFtcy5yZXF1ZXN0 LT51bmlxLAorCQkJCQkgbm9kZS0+cGFyYW1zLnJlcXVlc3QtPnNlcW5vLAorCQkJCQkgbm9kZS0+ cGFyYW1zLnJpbmctPm5hbWUsCisJCQkJCSBkZXBzLCBub2RlLT5udW1fZGVwcywKKwkJCQkJIG5v ZGUtPnBhcmFtcy5mZW5jZV93YWl0LAorCQkJCQkgbm9kZS0+cGFyYW1zLmZlbmNlX3dhaXQgPyBz eW5jX2ZlbmNlX2lzX3NpZ25hbGVkKG5vZGUtPnBhcmFtcy5mZW5jZV93YWl0KSA6IDAsCisJCQkJ CSBpOTE1X3FlX3N0YXRlX3N0cihub2RlKSwKKwkJCQkJIG5vZGUtPnByaW9yaXR5KTsKKworCQkJ aWYgKChzY2hlZHVsZXItPmZsYWdzW3JpbmctPmlkXSAmIGk5MTVfc2ZfZHVtcF9kZXBlbmRlbmNp ZXMpCisJCQkJPT0gMCkKKwkJCQljb250aW51ZTsKKworCQkJZm9yIChpID0gMDsgaSA8IG5vZGUt Pm51bV9kZXBzOyBpKyspCisJCQkJaWYgKG5vZGUtPmRlcF9saXN0W2ldKQorCQkJCQlEUk1fREVC VUdfRFJJVkVSKCI8JXM+ICAgICAgIHwtJWM6IgorCQkJCQkJIiUwMmQlYyB1bmlxID0gJWQsIHNl cW5vID0gJWQvJXMsICVzIFtwcmkgPSAlNGRdXG4iLAorCQkJCQkJcmluZy0+bmFtZSwKKwkJCQkJ CWk5MTVfc2NoZWR1bGVyX3F1ZXVlX3N0YXR1c19jaHIobm9kZS0+ZGVwX2xpc3RbaV0tPnN0YXR1 cyksCisJCQkJCQlpLAorCQkJCQkJaTkxNV9zY2hlZHVsZXJfaXNfZGVwZW5kZW5jeV92YWxpZChu b2RlLCBpKQorCQkJCQkJCT8gJz4nIDogJyMnLAorCQkJCQkJbm9kZS0+ZGVwX2xpc3RbaV0tPnBh cmFtcy5yZXF1ZXN0LT51bmlxLAorCQkJCQkJbm9kZS0+ZGVwX2xpc3RbaV0tPnBhcmFtcy5yZXF1 ZXN0LT5zZXFubywKKwkJCQkJCW5vZGUtPmRlcF9saXN0W2ldLT5wYXJhbXMucmluZy0+bmFtZSwK KwkJCQkJCWk5MTVfcWVfc3RhdGVfc3RyKG5vZGUtPmRlcF9saXN0W2ldKSwKKwkJCQkJCW5vZGUt PmRlcF9saXN0W2ldLT5wcmlvcml0eSk7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKwogaW50 IGk5MTVfc2NoZWR1bGVyX2ZsdXNoX3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXEsCiAJCQkJIGJvb2wgaXNfbG9ja2VkKQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2No ZWR1bGVyLmgKaW5kZXggNzRkNzMyMS4uYjU1MThiNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3NjaGVkdWxlci5oCkBAIC00MSw2ICs0MSw5IEBAIGVudW0gaTkxNV9zY2hlZHVsZXJfcXVldWVf c3RhdHVzIHsKIAkvKiBMaW1pdCB2YWx1ZSBmb3IgdXNlIHdpdGggYXJyYXlzL2xvb3BzICovCiAJ aTkxNV9zcXNfTUFYCiB9OworY2hhciBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9zdGF0dXNfY2hyKGVu dW0gaTkxNV9zY2hlZHVsZXJfcXVldWVfc3RhdHVzIHN0YXR1cyk7Citjb25zdCBjaGFyICppOTE1 X3NjaGVkdWxlcl9xdWV1ZV9zdGF0dXNfc3RyKAorCQkJCWVudW0gaTkxNV9zY2hlZHVsZXJfcXVl dWVfc3RhdHVzIHN0YXR1cyk7CiAKICNkZWZpbmUgSTkxNV9TUVNfSVNfUVVFVUVEKG5vZGUpCSgo KG5vZGUpLT5zdGF0dXMgPT0gaTkxNV9zcXNfcXVldWVkKSkKICNkZWZpbmUgSTkxNV9TUVNfSVNf RkxZSU5HKG5vZGUpCSgoKG5vZGUpLT5zdGF0dXMgPT0gaTkxNV9zcXNfZmx5aW5nKSkKQEAgLTcw LDYgKzczLDcgQEAgc3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5IHsKIAlzdHJ1Y3Qg bGlzdF9oZWFkICAgICAgICAgICAgICAgICAgICBsaW5rOwogCXVpbnQzMl90ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGZsYWdzOwogfTsKK2NvbnN0IGNoYXIgKmk5MTVfcWVfc3RhdGVfc3Ry KHN0cnVjdCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRyeSAqbm9kZSk7CiAKIHN0cnVjdCBpOTE1 X3NjaGVkdWxlciB7CiAJc3RydWN0IGxpc3RfaGVhZCAgICBub2RlX3F1ZXVlW0k5MTVfTlVNX1JJ TkdTXTsKQEAgLTg2LDkgKzkwLDE2IEBAIHN0cnVjdCBpOTE1X3NjaGVkdWxlciB7CiAKIC8qIEZs YWcgYml0cyBmb3IgaTkxNV9zY2hlZHVsZXI6OmZsYWdzICovCiBlbnVtIHsKKwkvKiBJbnRlcm5h bCBzdGF0ZSAqLwogCWk5MTVfc2ZfaW50ZXJydXB0c19lbmFibGVkICA9ICgxIDw8IDApLAogCWk5 MTVfc2Zfc3VibWl0dGluZyAgICAgICAgICA9ICgxIDw8IDEpLAorCisJLyogRHVtcC9kZWJ1ZyBm bGFncyAqLworCWk5MTVfc2ZfZHVtcF9mb3JjZSAgICAgICAgICA9ICgxIDw8IDgpLAorCWk5MTVf c2ZfZHVtcF9kZXRhaWxzICAgICAgICA9ICgxIDw8IDkpLAorCWk5MTVfc2ZfZHVtcF9kZXBlbmRl bmNpZXMgICA9ICgxIDw8IDEwKSwKIH07Citjb25zdCBjaGFyICppOTE1X3NjaGVkdWxlcl9mbGFn X3N0cih1aW50MzJfdCBmbGFncyk7CiAKIC8qIE9wdGlvbnMgZm9yICdzY2hlZHVsZXJfb3ZlcnJp ZGUnIG1vZHVsZSBwYXJhbWV0ZXI6ICovCiBlbnVtIHsKQEAgLTExMCw2ICsxMjEsOSBAQCBpbnQg ICAgICAgICBpOTE1X3NjaGVkdWxlcl9mbHVzaF9zdGFtcChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nLAogCQkJCSAgICAgICB1bnNpZ25lZCBsb25nIHN0YW1wLCBib29sIGlzX2xvY2tlZCk7 CiBpbnQgICAgICAgICBpOTE1X3NjaGVkdWxlcl9mbHVzaF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcmVxLAogCQkJCQkgYm9vbCBpc19sb2NrZWQpOworaW50ICAgICAgICAg aTkxNV9zY2hlZHVsZXJfZHVtcChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAorCQkJCWNv bnN0IGNoYXIgKm1zZyk7CitpbnQgICAgICAgICBpOTE1X3NjaGVkdWxlcl9kdW1wX2FsbChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCBjb25zdCBjaGFyICptc2cpOwogYm9vbCAgICAgICAgaTkxNV9z Y2hlZHVsZXJfaXNfcmVxdWVzdF90cmFja2VkKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxLAogCQkJCQkgICAgICBib29sICpjb21wbGV0ZWQsIGJvb2wgKmJ1c3kpOwogYm9vbCAgICAg ICAgaTkxNV9zY2hlZHVsZXJfZmlsZV9xdWV1ZV9pc19mdWxsKHN0cnVjdCBkcm1fZmlsZSAqZmls ZSk7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK