From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [RFC 32/39] drm/i915: Added debug state dump facilities to scheduler Date: Fri, 17 Jul 2015 15:33:41 +0100 Message-ID: <1437143628-6329-33-git-send-email-John.C.Harrison@Intel.com> References: <1437143628-6329-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 93B0C6ED74 for ; Fri, 17 Jul 2015 07:34:28 -0700 (PDT) In-Reply-To: <1437143628-6329-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 OTE1X3NjaGVkdWxlci5jCmluZGV4IGYwYzk5YWQuLmUyMmY2YjggMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9zY2hlZHVsZXIuYwpAQCAtMzYsNiArMzYsOSBAQCBzdGF0aWMgaW50ICAgICAgICAg aTkxNV9zY2hlZHVsZXJfc3VibWl0X21heF9wcmlvcml0eShzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaQogCQkJCQkgICAgICAgYm9vbCBpc19sb2NrZWQpOwogc3RhdGljIHVpbnQzMl90ICAgIGk5 MTVfc2NoZWR1bGVyX2NvdW50X2ZseWluZyhzdHJ1Y3QgaTkxNV9zY2hlZHVsZXIgKnNjaGVkdWxl ciwKIAkJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOworc3RhdGljIGlu dCAgICAgICAgIGk5MTVfc2NoZWR1bGVyX2R1bXBfbG9ja2VkKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcsCisJCQkJCSAgICAgIGNvbnN0IGNoYXIgKm1zZyk7CitzdGF0aWMgaW50ICAgICAg ICAgaTkxNV9zY2hlZHVsZXJfZHVtcF9hbGxfbG9ja2VkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IGNvbnN0IGNoYXIgKm1zZyk7CiBzdGF0aWMgdm9pZCAgICAgICAgaTkxNV9zY2hlZHVsZXJfcHJp b3JpdHlfYnVtcF9jbGVhcihzdHJ1Y3QgaTkxNV9zY2hlZHVsZXIgKnNjaGVkdWxlcik7CiBzdGF0 aWMgaW50ICAgICAgICAgaTkxNV9zY2hlZHVsZXJfcHJpb3JpdHlfYnVtcChzdHJ1Y3QgaTkxNV9z Y2hlZHVsZXIgKnNjaGVkdWxlciwKIAkJCQkJCXN0cnVjdCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9l bnRyeSAqdGFyZ2V0LApAQCAtNTMsNiArNTYsMTE1IEBAIGJvb2wgaTkxNV9zY2hlZHVsZXJfaXNf ZW5hYmxlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCXJldHVybiBkZXZfcHJpdi0+c2NoZWR1 bGVyICE9IE5VTEw7CiB9CiAKK2NvbnN0IGNoYXIgKmk5MTVfcWVfc3RhdGVfc3RyKHN0cnVjdCBp OTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRyeSAqbm9kZSkKK3sKKwlzdGF0aWMgY2hhcglzdHJbNTBd OworCWNoYXIJCSpwdHIgPSBzdHI7CisKKwkqKHB0cisrKSA9IG5vZGUtPmJ1bXBlZCA/ICdCJyA6 ICctJywKKworCSpwdHIgPSAwOworCisJcmV0dXJuIHN0cjsKK30KKworY2hhciBpOTE1X3NjaGVk dWxlcl9xdWV1ZV9zdGF0dXNfY2hyKGVudW0gaTkxNV9zY2hlZHVsZXJfcXVldWVfc3RhdHVzIHN0 YXR1cykKK3sKKwlzd2l0Y2ggKHN0YXR1cykgeworCWNhc2UgaTkxNV9zcXNfbm9uZToKKwlyZXR1 cm4gJ04nOworCisJY2FzZSBpOTE1X3Nxc19xdWV1ZWQ6CisJcmV0dXJuICdRJzsKKworCWNhc2Ug aTkxNV9zcXNfcG9wcGVkOgorCXJldHVybiAnWCc7CisKKwljYXNlIGk5MTVfc3FzX2ZseWluZzoK KwlyZXR1cm4gJ0YnOworCisJY2FzZSBpOTE1X3Nxc19jb21wbGV0ZToKKwlyZXR1cm4gJ0MnOwor CisJY2FzZSBpOTE1X3Nxc19kZWFkOgorCXJldHVybiAnRCc7CisKKwlkZWZhdWx0OgorCWJyZWFr OworCX0KKworCXJldHVybiAnPyc7Cit9CisKK2NvbnN0IGNoYXIgKmk5MTVfc2NoZWR1bGVyX3F1 ZXVlX3N0YXR1c19zdHIoCisJCQkJZW51bSBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9zdGF0dXMgc3Rh dHVzKQoreworCXN0YXRpYyBjaGFyCXN0cls1MF07CisKKwlzd2l0Y2ggKHN0YXR1cykgeworCWNh c2UgaTkxNV9zcXNfbm9uZToKKwlyZXR1cm4gIk5vbmUiOworCisJY2FzZSBpOTE1X3Nxc19xdWV1 ZWQ6CisJcmV0dXJuICJRdWV1ZWQiOworCisJY2FzZSBpOTE1X3Nxc19wb3BwZWQ6CisJcmV0dXJu ICJQb3BwZWQiOworCisJY2FzZSBpOTE1X3Nxc19mbHlpbmc6CisJcmV0dXJuICJGbHlpbmciOwor CisJY2FzZSBpOTE1X3Nxc19jb21wbGV0ZToKKwlyZXR1cm4gIkNvbXBsZXRlIjsKKworCWNhc2Ug aTkxNV9zcXNfZGVhZDoKKwlyZXR1cm4gIkRlYWQiOworCisJZGVmYXVsdDoKKwlicmVhazsKKwl9 CisKKwlzcHJpbnRmKHN0ciwgIltVbmtub3duXyVkIV0iLCBzdGF0dXMpOworCXJldHVybiBzdHI7 Cit9CisKK2NvbnN0IGNoYXIgKmk5MTVfc2NoZWR1bGVyX2ZsYWdfc3RyKHVpbnQzMl90IGZsYWdz KQoreworCXN0YXRpYyBjaGFyICAgICBzdHJbMTAwXTsKKwljaGFyICAgICAgICAgICAqcHRyID0g c3RyOworCisJKnB0ciA9IDA7CisKKyNkZWZpbmUgVEVTVF9GTEFHKGZsYWcsIG1zZykJCQkJCQlc CisJZG8gewkJCQkJCQkJXAorCQlpZiAoZmxhZ3MgJiAoZmxhZykpIHsJCQkJCVwKKwkJCXN0cmNw eShwdHIsIG1zZyk7CQkJCVwKKwkJCXB0ciArPSBzdHJsZW4ocHRyKTsJCQkJXAorCQkJZmxhZ3Mg Jj0gfihmbGFnKTsJCQkJXAorCQl9CQkJCQkJCVwKKwl9IHdoaWxlICgwKQorCisJVEVTVF9GTEFH KGk5MTVfc2ZfaW50ZXJydXB0c19lbmFibGVkLCAiSW50T258Iik7CisJVEVTVF9GTEFHKGk5MTVf c2Zfc3VibWl0dGluZywgICAgICAgICAiU3VibWl0dGluZ3wiKTsKKwlURVNUX0ZMQUcoaTkxNV9z Zl9kdW1wX2ZvcmNlLCAgICAgICAgICJEdW1wRm9yY2V8Iik7CisJVEVTVF9GTEFHKGk5MTVfc2Zf ZHVtcF9kZXRhaWxzLCAgICAgICAiRHVtcERldGFpbHN8Iik7CisJVEVTVF9GTEFHKGk5MTVfc2Zf ZHVtcF9kZXBlbmRlbmNpZXMsICAiRHVtcERlcHN8Iik7CisKKyN1bmRlZiBURVNUX0ZMQUcKKwor CWlmIChmbGFncykgeworCQlzcHJpbnRmKHB0ciwgIlVua25vd25fMHglWCEiLCBmbGFncyk7CisJ CXB0ciArPSBzdHJsZW4ocHRyKTsKKwl9CisKKwlpZiAocHRyID09IHN0cikKKwkJc3RyY3B5KHN0 ciwgIi0iKTsKKwllbHNlCisJCXB0clstMV0gPSAwOworCisJcmV0dXJuIHN0cjsKK307CisKIGlu dCBpOTE1X3NjaGVkdWxlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKQEAgLTcwOSw2 ICs4MjEsMTcwIEBAIHZvaWQgaTkxNV9nZW1fc2NoZWR1bGVyX3dvcmtfaGFuZGxlcihzdHJ1Y3Qg d29ya19zdHJ1Y3QgKndvcmspCiAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CiB9 CiAKK2ludCBpOTE1X3NjaGVkdWxlcl9kdW1wX2FsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBj b25zdCBjaGFyICptc2cpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgaTkxNV9zY2hlZHVsZXIgICAqc2NoZWR1bGVyID0g ZGV2X3ByaXYtPnNjaGVkdWxlcjsKKwl1bnNpZ25lZCBsb25nICAgZmxhZ3M7CisJaW50ICAgICAg ICAgICAgIHJldDsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZzY2hlZHVsZXItPmxvY2ssIGZsYWdz KTsKKwlyZXQgPSBpOTE1X3NjaGVkdWxlcl9kdW1wX2FsbF9sb2NrZWQoZGV2LCBtc2cpOworCXNw aW5fdW5sb2NrX2lycXJlc3RvcmUoJnNjaGVkdWxlci0+bG9jaywgZmxhZ3MpOworCisJcmV0dXJu IHJldDsKK30KKworc3RhdGljIGludCBpOTE1X3NjaGVkdWxlcl9kdW1wX2FsbF9sb2NrZWQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgY29uc3QgY2hhciAqbXNnKQoreworCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGk5MTVfc2No ZWR1bGVyICAgKnNjaGVkdWxlciA9IGRldl9wcml2LT5zY2hlZHVsZXI7CisJc3RydWN0IGludGVs X2VuZ2luZV9jcyAgKnJpbmc7CisJaW50ICAgICAgICAgICAgICAgICAgICAgaSwgciwgcmV0ID0g MDsKKworCWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3ByaXYsIGkpIHsKKwkJc2NoZWR1bGVyLT5m bGFnc1tyaW5nLT5pZF0gfD0gaTkxNV9zZl9kdW1wX2ZvcmNlICAgfAorCQkJCQkgICAgICBpOTE1 X3NmX2R1bXBfZGV0YWlscyB8CisJCQkJCSAgICAgIGk5MTVfc2ZfZHVtcF9kZXBlbmRlbmNpZXM7 CisJCXIgPSBpOTE1X3NjaGVkdWxlcl9kdW1wX2xvY2tlZChyaW5nLCBtc2cpOworCQlpZiAocmV0 ID09IDApCisJCQlyZXQgPSByOworCX0KKworCXJldHVybiByZXQ7Cit9CisKK2ludCBpOTE1X3Nj aGVkdWxlcl9kdW1wKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIGNvbnN0IGNoYXIgKm1z ZykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSByaW5nLT5kZXYtPmRl dl9wcml2YXRlOworCXN0cnVjdCBpOTE1X3NjaGVkdWxlciAgICpzY2hlZHVsZXIgPSBkZXZfcHJp di0+c2NoZWR1bGVyOworCXVuc2lnbmVkIGxvbmcgICBmbGFnczsKKwlpbnQgICAgICAgICAgICAg cmV0OworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnNjaGVkdWxlci0+bG9jaywgZmxhZ3MpOworCXJl dCA9IGk5MTVfc2NoZWR1bGVyX2R1bXBfbG9ja2VkKHJpbmcsIG1zZyk7CisJc3Bpbl91bmxvY2tf aXJxcmVzdG9yZSgmc2NoZWR1bGVyLT5sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gcmV0OworfQor CitzdGF0aWMgaW50IGk5MTVfc2NoZWR1bGVyX2R1bXBfbG9ja2VkKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcsIGNvbnN0IGNoYXIgKm1zZykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSByaW5nLT5kZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBpOTE1X3NjaGVk dWxlciAgICpzY2hlZHVsZXIgPSBkZXZfcHJpdi0+c2NoZWR1bGVyOworCXN0cnVjdCBpOTE1X3Nj aGVkdWxlcl9xdWV1ZV9lbnRyeSAgKm5vZGU7CisJaW50ICAgICAgICAgICAgICAgICBmbHlpbmcg PSAwLCBxdWV1ZWQgPSAwLCBjb21wbGV0ZSA9IDAsIG90aGVyID0gMDsKKwlzdGF0aWMgaW50ICAg ICAgICAgIG9sZF9mbHlpbmcgPSAtMSwgb2xkX3F1ZXVlZCA9IC0xLCBvbGRfY29tcGxldGUgPSAt MTsKKwlib29sICAgICAgICAgICAgICAgIGJfZHVtcDsKKwljaGFyICAgICAgICAgICAgICAgIGJy a3RbMl0gPSB7ICc8JywgJz4nIH07CisKKwlpZiAoIXJpbmcpCisJCXJldHVybiAtRUlOVkFMOwor CisJbGlzdF9mb3JfZWFjaF9lbnRyeShub2RlLCAmc2NoZWR1bGVyLT5ub2RlX3F1ZXVlW3Jpbmct PmlkXSwgbGluaykgeworCQlpZiAoSTkxNV9TUVNfSVNfUVVFVUVEKG5vZGUpKQorCQkJcXVldWVk Kys7CisJCWVsc2UgaWYgKEk5MTVfU1FTX0lTX0ZMWUlORyhub2RlKSkKKwkJCWZseWluZysrOwor CQllbHNlIGlmIChJOTE1X1NRU19JU19DT01QTEVURShub2RlKSkKKwkJCWNvbXBsZXRlKys7CisJ CWVsc2UKKwkJCW90aGVyKys7CisJfQorCisJYl9kdW1wID0gKGZseWluZyAhPSBvbGRfZmx5aW5n KSB8fAorCQkgKHF1ZXVlZCAhPSBvbGRfcXVldWVkKSB8fAorCQkgKGNvbXBsZXRlICE9IG9sZF9j b21wbGV0ZSk7CisJaWYgKHNjaGVkdWxlci0+ZmxhZ3NbcmluZy0+aWRdICYgaTkxNV9zZl9kdW1w X2ZvcmNlKSB7CisJCWlmICghYl9kdW1wKSB7CisJCQliX2R1bXAgPSB0cnVlOworCQkJYnJrdFsw XSA9ICd7JzsKKwkJCWJya3RbMV0gPSAnfSc7CisJCX0KKworCQlzY2hlZHVsZXItPmZsYWdzW3Jp bmctPmlkXSAmPSB+aTkxNV9zZl9kdW1wX2ZvcmNlOworCX0KKworCWlmIChiX2R1bXApIHsKKwkJ b2xkX2ZseWluZyAgID0gZmx5aW5nOworCQlvbGRfcXVldWVkICAgPSBxdWV1ZWQ7CisJCW9sZF9j b21wbGV0ZSA9IGNvbXBsZXRlOworCQlEUk1fREVCVUdfRFJJVkVSKCI8JXM+IFE6JTAyZCwgRjol MDJkLCBDOiUwMmQsIE86JTAyZCwgIgorCQkJCSAiRmxhZ3MgPSAlcywgTmV4dCA9ICVkOiVkICVj JXMlY1xuIiwKKwkJCQkgcmluZy0+bmFtZSwgcXVldWVkLCBmbHlpbmcsIGNvbXBsZXRlLCBvdGhl ciwKKwkJCQkgaTkxNV9zY2hlZHVsZXJfZmxhZ19zdHIoc2NoZWR1bGVyLT5mbGFnc1tyaW5nLT5p ZF0pLAorCQkJCSBkZXZfcHJpdi0+cmVxdWVzdF91bmlxLCBkZXZfcHJpdi0+bmV4dF9zZXFubywK KwkJCQkgYnJrdFswXSwgbXNnLCBicmt0WzFdKTsKKwl9IGVsc2UgeworCQkvKkRSTV9ERUJVR19E UklWRVIoIjwlcz4gUTolMDJkLCBGOiUwMmQsIEM6JTAyZCwgTzolMDJkIgorCQkJCSAiLCBGbGFn cyA9ICVzLCBOZXh0ID0gJWQ6JWQgWyVzXVxuIiwKKwkJCQkgcmluZy0+bmFtZSwKKwkJCQkgcXVl dWVkLCBmbHlpbmcsIGNvbXBsZXRlLCBvdGhlciwKKwkJCQkgaTkxNV9zY2hlZHVsZXJfZmxhZ19z dHIoc2NoZWR1bGVyLT5mbGFnc1tyaW5nLT5pZF0pLAorCQkJCSBkZXZfcHJpdi0+cmVxdWVzdF91 bmlxLCBkZXZfcHJpdi0+bmV4dF9zZXFubywgbXNnKTsgKi8KKworCQlyZXR1cm4gMDsKKwl9CisK KwlpZiAoc2NoZWR1bGVyLT5mbGFnc1tyaW5nLT5pZF0gJiBpOTE1X3NmX2R1bXBfZGV0YWlscykg eworCQlpbnQgICAgICAgICBpLCBkZXBzOworCQl1aW50MzJfdCAgICBjb3VudCwgY291bnRzW2k5 MTVfc3FzX01BWF07CisKKwkJbWVtc2V0KGNvdW50cywgMHgwMCwgc2l6ZW9mKGNvdW50cykpOwor CisJCWxpc3RfZm9yX2VhY2hfZW50cnkobm9kZSwgJnNjaGVkdWxlci0+bm9kZV9xdWV1ZVtyaW5n LT5pZF0sIGxpbmspIHsKKwkJCWlmIChub2RlLT5zdGF0dXMgPCBpOTE1X3Nxc19NQVgpIHsKKwkJ CQljb3VudCA9IGNvdW50c1tub2RlLT5zdGF0dXNdKys7CisJCQl9IGVsc2UgeworCQkJCURSTV9E RUJVR19EUklWRVIoIjwlcz4gICBVbmtub3duIHN0YXR1czogJWQhXG4iLAorCQkJCQkJIHJpbmct Pm5hbWUsIG5vZGUtPnN0YXR1cyk7CisJCQkJY291bnQgPSAtMTsKKwkJCX0KKworCQkJZGVwcyA9 IDA7CisJCQlmb3IgKGkgPSAwOyBpIDwgbm9kZS0+bnVtX2RlcHM7IGkrKykKKwkJCQlpZiAoaTkx NV9zY2hlZHVsZXJfaXNfZGVwZW5kZW5jeV92YWxpZChub2RlLCBpKSkKKwkJCQkJZGVwcysrOwor CisJCQlEUk1fREVCVUdfRFJJVkVSKCI8JXM+ICAgJWM6JTAyZD4gaW5kZXggPSAlZCwgdW5pcSA9 ICVkLCBzZXFubyIKKwkJCQkJICIgPSAlZC8lcywgZGVwcyA9ICVkIC8gJWQsIGZlbmNlID0gJXAv JWQsICVzIFtwcmkgPSAiCisJCQkJCSAiJTRkXVxuIiwgcmluZy0+bmFtZSwKKwkJCQkJIGk5MTVf c2NoZWR1bGVyX3F1ZXVlX3N0YXR1c19jaHIobm9kZS0+c3RhdHVzKSwKKwkJCQkJIGNvdW50LAor CQkJCQkgbm9kZS0+c2NoZWR1bGVyX2luZGV4LAorCQkJCQkgbm9kZS0+cGFyYW1zLnJlcXVlc3Qt PnVuaXEsCisJCQkJCSBub2RlLT5wYXJhbXMucmVxdWVzdC0+c2Vxbm8sCisJCQkJCSBub2RlLT5w YXJhbXMucmluZy0+bmFtZSwKKwkJCQkJIGRlcHMsIG5vZGUtPm51bV9kZXBzLAorCQkJCQkgbm9k ZS0+cGFyYW1zLmZlbmNlX3dhaXQsCisJCQkJCSBub2RlLT5wYXJhbXMuZmVuY2Vfd2FpdCA/IGF0 b21pY19yZWFkKCZub2RlLT5wYXJhbXMuZmVuY2Vfd2FpdC0+c3RhdHVzKSA6IDAsCisJCQkJCSBp OTE1X3FlX3N0YXRlX3N0cihub2RlKSwKKwkJCQkJIG5vZGUtPnByaW9yaXR5KTsKKworCQkJaWYg KChzY2hlZHVsZXItPmZsYWdzW3JpbmctPmlkXSAmIGk5MTVfc2ZfZHVtcF9kZXBlbmRlbmNpZXMp CisJCQkJPT0gMCkKKwkJCQljb250aW51ZTsKKworCQkJZm9yIChpID0gMDsgaSA8IG5vZGUtPm51 bV9kZXBzOyBpKyspCisJCQkJaWYgKG5vZGUtPmRlcF9saXN0W2ldKQorCQkJCQlEUk1fREVCVUdf RFJJVkVSKCI8JXM+ICAgICAgIHwtJWM6IgorCQkJCQkJIiUwMmQlYyB1bmlxID0gJWQsIHNlcW5v ID0gJWQvJXMsICVzIFtwcmkgPSAlNGRdXG4iLAorCQkJCQkJcmluZy0+bmFtZSwKKwkJCQkJCWk5 MTVfc2NoZWR1bGVyX3F1ZXVlX3N0YXR1c19jaHIobm9kZS0+ZGVwX2xpc3RbaV0tPnN0YXR1cyks CisJCQkJCQlpLAorCQkJCQkJaTkxNV9zY2hlZHVsZXJfaXNfZGVwZW5kZW5jeV92YWxpZChub2Rl LCBpKQorCQkJCQkJCT8gJz4nIDogJyMnLAorCQkJCQkJbm9kZS0+ZGVwX2xpc3RbaV0tPnBhcmFt cy5yZXF1ZXN0LT51bmlxLAorCQkJCQkJbm9kZS0+ZGVwX2xpc3RbaV0tPnBhcmFtcy5yZXF1ZXN0 LT5zZXFubywKKwkJCQkJCW5vZGUtPmRlcF9saXN0W2ldLT5wYXJhbXMucmluZy0+bmFtZSwKKwkJ CQkJCWk5MTVfcWVfc3RhdGVfc3RyKG5vZGUtPmRlcF9saXN0W2ldKSwKKwkJCQkJCW5vZGUtPmRl cF9saXN0W2ldLT5wcmlvcml0eSk7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKwogaW50IGk5 MTVfc2NoZWR1bGVyX2ZsdXNoX3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXEsCiAJCQkJIGJvb2wgaXNfbG9ja2VkKQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9zY2hlZHVsZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1 bGVyLmgKaW5kZXggMzAxYzU2Ny4uM2U2ODE5ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9zY2hlZHVsZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Nj aGVkdWxlci5oCkBAIC00MSw2ICs0MSw5IEBAIGVudW0gaTkxNV9zY2hlZHVsZXJfcXVldWVfc3Rh dHVzIHsKIAkvKiBMaW1pdCB2YWx1ZSBmb3IgdXNlIHdpdGggYXJyYXlzL2xvb3BzICovCiAJaTkx NV9zcXNfTUFYCiB9OworY2hhciBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9zdGF0dXNfY2hyKGVudW0g aTkxNV9zY2hlZHVsZXJfcXVldWVfc3RhdHVzIHN0YXR1cyk7Citjb25zdCBjaGFyICppOTE1X3Nj aGVkdWxlcl9xdWV1ZV9zdGF0dXNfc3RyKAorCQkJCWVudW0gaTkxNV9zY2hlZHVsZXJfcXVldWVf c3RhdHVzIHN0YXR1cyk7CiAKICNkZWZpbmUgSTkxNV9TUVNfSVNfUVVFVUVEKG5vZGUpCSgoKG5v ZGUpLT5zdGF0dXMgPT0gaTkxNV9zcXNfcXVldWVkKSkKICNkZWZpbmUgSTkxNV9TUVNfSVNfRkxZ SU5HKG5vZGUpCSgoKG5vZGUpLT5zdGF0dXMgPT0gaTkxNV9zcXNfZmx5aW5nKSkKQEAgLTc1LDYg Kzc4LDcgQEAgc3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5IHsKIAl1aW50MzJfdCAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzY2hlZHVsZXJfaW5kZXg7CiAJdWludDMyX3QgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3M7CiB9OworY29uc3QgY2hhciAqaTkxNV9xZV9z dGF0ZV9zdHIoc3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5ICpub2RlKTsKIAogc3Ry dWN0IGk5MTVfc2NoZWR1bGVyIHsKIAlzdHJ1Y3QgbGlzdF9oZWFkICAgIG5vZGVfcXVldWVbSTkx NV9OVU1fUklOR1NdOwpAQCAtOTIsOSArOTYsMTYgQEAgc3RydWN0IGk5MTVfc2NoZWR1bGVyIHsK IAogLyogRmxhZyBiaXRzIGZvciBpOTE1X3NjaGVkdWxlcjo6ZmxhZ3MgKi8KIGVudW0geworCS8q IEludGVybmFsIHN0YXRlICovCiAJaTkxNV9zZl9pbnRlcnJ1cHRzX2VuYWJsZWQgID0gKDEgPDwg MCksCiAJaTkxNV9zZl9zdWJtaXR0aW5nICAgICAgICAgID0gKDEgPDwgMSksCisKKwkvKiBEdW1w L2RlYnVnIGZsYWdzICovCisJaTkxNV9zZl9kdW1wX2ZvcmNlICAgICAgICAgID0gKDEgPDwgOCks CisJaTkxNV9zZl9kdW1wX2RldGFpbHMgICAgICAgID0gKDEgPDwgOSksCisJaTkxNV9zZl9kdW1w X2RlcGVuZGVuY2llcyAgID0gKDEgPDwgMTApLAogfTsKK2NvbnN0IGNoYXIgKmk5MTVfc2NoZWR1 bGVyX2ZsYWdfc3RyKHVpbnQzMl90IGZsYWdzKTsKIAogLyogT3B0aW9ucyBmb3IgJ3NjaGVkdWxl cl9vdmVycmlkZScgbW9kdWxlIHBhcmFtZXRlcjogKi8KIGVudW0gewpAQCAtMTE5LDYgKzEzMCw5 IEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqaTkxNV9zY2hlZHVsZXJfZmluZF9ieV9z eW5jX3ZhbHVlKHN0cnVjdCBpbnRlbF9lbmdpCiBpbnQgICAgICAgICBpOTE1X3NjaGVkdWxlcl9m bHVzaChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLCBib29sIGlzX2xvY2tlZCk7CiBpbnQg ICAgICAgICBpOTE1X3NjaGVkdWxlcl9mbHVzaF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxLAogCQkJCQkgYm9vbCBpc19sb2NrZWQpOworaW50ICAgICAgICAgaTkxNV9z Y2hlZHVsZXJfZHVtcChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAorCQkJCWNvbnN0IGNo YXIgKm1zZyk7CitpbnQgICAgICAgICBpOTE1X3NjaGVkdWxlcl9kdW1wX2FsbChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBjb25zdCBjaGFyICptc2cpOwogYm9vbCAgICAgICAgaTkxNV9zY2hlZHVs ZXJfaXNfcmVxdWVzdF90cmFja2VkKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAog CQkJCQkgICAgICBib29sICpjb21wbGV0ZWQsIGJvb2wgKmJ1c3kpOwogYm9vbCAgICAgICAgaTkx NV9zY2hlZHVsZXJfZmlsZV9xdWV1ZV9pc19mdWxsKHN0cnVjdCBkcm1fZmlsZSAqZmlsZSk7Ci0t IAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK