From mboxrd@z Thu Jan 1 00:00:00 1970 From: Monk Liu Subject: [PATCH] drm/amdgpu:implement CONTEXT_CONTROL (v3) Date: Thu, 1 Sep 2016 16:00:57 +0800 Message-ID: <1472716857-13765-1-git-send-email-Monk.Liu@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: Monk Liu djE6CmZvciBnZng4LCB1c2UgQ09OVEVYVF9DT05UUk9MIHBhY2thZ2UgdG8gZHluYW1pY2FsbHkK c2tpcCBwcmVhbWJsZSBDRUlCIGFuZCBvdGhlciBsb2FkX3h4eCBjb21tYW5kIGluIHNlcXVlbmNl LgoKdjI6CnN1cHBvcnQgR0ZYNyBhcyB3ZWxsLCBhbmQgYnVtcCB1cCB2ZXJzaW9uLgpyZW1vdmUg Y250eGNudGwgaW4gY29tcHV0ZSByaW5nIGZ1bmNzIGJlY2F1c2UgQ1BDIGRvZXNuJ3QKc3VwcG9y dCB0aGlzIHBhY2tldC4KCnYzOiBmaXggcmVkdW50YW50IGp1ZGdlbWVudCBpbiBjbnR4Y250bC4K djQ6IHNvbWUgY2xlYW51cHMsIGRvbid0IGNoYW5nZSBjc19zdWJtaXQoKQoKQ2hhbmdlLUlkOiBJ N2IyYWRjMTVlYTgzZmQ2YzRkMjUyMWQ3NTY2MmJmMzk1ODc4OThkNQpTaWduZWQtb2ZmLWJ5OiBN b25rIExpdSA8TW9uay5MaXVAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHUuaCAgICAgfCAgOCArKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2NzLmMgIHwgIDggKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9kcnYuYyB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2li LmMgIHwgMTYgKysrKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4 X3Y3XzAuYyAgIHwgMjAgKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2dmeF92OF8wLmMgICB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog NiBmaWxlcyBjaGFuZ2VkLCA3NyBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKaW5kZXggMTI1NDQxMC4uMGE5ODUzMSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKQEAgLTMyMSw2ICszMjEsNyBAQCBzdHJ1Y3QgYW1kZ3B1 X3JpbmdfZnVuY3MgewogCXZvaWQgKCpiZWdpbl91c2UpKHN0cnVjdCBhbWRncHVfcmluZyAqcmlu Zyk7CiAJdm9pZCAoKmVuZF91c2UpKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZyk7CiAJdm9pZCAo KmVtaXRfc3dpdGNoX2J1ZmZlcikgKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZyk7CisJdm9pZCAo KmVtaXRfY250eGNudGwpIChzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsIHVpbnQzMl90IGZsYWdz KTsKIH07CiAKIC8qCkBAIC05NjUsNiArOTY2LDcgQEAgc3RydWN0IGFtZGdwdV9jdHggewogCXNw aW5sb2NrX3QJCXJpbmdfbG9jazsKIAlzdHJ1Y3QgZmVuY2UgICAgICAgICAgICAqKmZlbmNlczsK IAlzdHJ1Y3QgYW1kZ3B1X2N0eF9yaW5nCXJpbmdzW0FNREdQVV9NQVhfUklOR1NdOworCWJvb2wg cHJlYW1ibGVfcHJlc2VudGVkOwogfTsKIAogc3RydWN0IGFtZGdwdV9jdHhfbWdyIHsKQEAgLTEy MjksNiArMTIzMSwxMCBAQCBzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciB7CiAJc3RydWN0IGFtZGdw dV9ib19saXN0X2VudHJ5CXVmX2VudHJ5OwogfTsKIAorI2RlZmluZSBQUkVBTUJMRV9JQl9QUkVT RU5UIAkJKDEgPDwgMCkgLyogYml0IHNldCBtZWFucyBjb21tYW5kIHN1Ym1pdCBpbnZvbHZlcyBh IHByZWFtYmxlIElCICovCisjZGVmaW5lIFBSRUFNQkxFX0lCX1BSRVNFTlRfRklSU1QJKDEgPDwg MSkgLyogYml0IHNldCBtZWFucyBwcmVhbWJsZSBJQiBpcyBmaXJzdCBwcmVzZW50ZWQgaW4gYmVs b25naW5nIGNvbnRleHQgKi8KKyNkZWZpbmUgSEFWRV9DVFhfU1dJVENICQkoMSA8PCAyKSAvKiBi aXQgc2V0IG1lYW5zIGNvbnRleHQgc3dpdGNoIG9jY3VyZWQgKi8KKwogc3RydWN0IGFtZGdwdV9q b2IgewogCXN0cnVjdCBhbWRfc2NoZWRfam9iICAgIGJhc2U7CiAJc3RydWN0IGFtZGdwdV9kZXZp Y2UJKmFkZXY7CkBAIC0xMjM3LDYgKzEyNDMsNyBAQCBzdHJ1Y3QgYW1kZ3B1X2pvYiB7CiAJc3Ry dWN0IGFtZGdwdV9zeW5jCXN5bmM7CiAJc3RydWN0IGFtZGdwdV9pYgkqaWJzOwogCXN0cnVjdCBm ZW5jZQkJKmZlbmNlOyAvKiB0aGUgaHcgZmVuY2UgKi8KKwl1aW50MzJfdAkJcHJlYW1ibGVfc3Rh dHVzOwogCXVpbnQzMl90CQludW1faWJzOwogCXZvaWQJCQkqb3duZXI7CiAJdWludDY0X3QJCWZl bmNlX2N0eDsgLyogdGhlIGZlbmNlX2NvbnRleHQgdGhpcyBqb2IgdXNlcyAqLwpAQCAtMjI2NCw2 ICsyMjcxLDcgQEAgYW1kZ3B1X2dldF9zZG1hX2luc3RhbmNlKHN0cnVjdCBhbWRncHVfcmluZyAq cmluZykKICNkZWZpbmUgYW1kZ3B1X3JpbmdfZW1pdF9oZHBfZmx1c2gocikgKHIpLT5mdW5jcy0+ ZW1pdF9oZHBfZmx1c2goKHIpKQogI2RlZmluZSBhbWRncHVfcmluZ19lbWl0X2hkcF9pbnZhbGlk YXRlKHIpIChyKS0+ZnVuY3MtPmVtaXRfaGRwX2ludmFsaWRhdGUoKHIpKQogI2RlZmluZSBhbWRn cHVfcmluZ19lbWl0X3N3aXRjaF9idWZmZXIocikgKHIpLT5mdW5jcy0+ZW1pdF9zd2l0Y2hfYnVm ZmVyKChyKSkKKyNkZWZpbmUgYW1kZ3B1X3JpbmdfZW1pdF9jbnR4Y250bChyLCBkKSAociktPmZ1 bmNzLT5lbWl0X2NudHhjbnRsKChyKSwgKGQpKQogI2RlZmluZSBhbWRncHVfcmluZ19wYWRfaWIo ciwgaWIpICgociktPmZ1bmNzLT5wYWRfaWIoKHIpLCAoaWIpKSkKICNkZWZpbmUgYW1kZ3B1X3Jp bmdfaW5pdF9jb25kX2V4ZWMocikgKHIpLT5mdW5jcy0+aW5pdF9jb25kX2V4ZWMoKHIpKQogI2Rl ZmluZSBhbWRncHVfcmluZ19wYXRjaF9jb25kX2V4ZWMocixvKSAociktPmZ1bmNzLT5wYXRjaF9j b25kX2V4ZWMoKHIpLChvKSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMKaW5k ZXggMmQ0ZTAwNS4uYWUzNTMxOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2NzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Nz LmMKQEAgLTc5Miw2ICs3OTIsMTQgQEAgc3RhdGljIGludCBhbWRncHVfY3NfaWJfZmlsbChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkJaWYgKHIpCiAJCQlyZXR1cm4gcjsKIAorCQlpZiAo aWItPmZsYWdzICYgQU1ER1BVX0lCX0ZMQUdfUFJFQU1CTEUpIHsKKwkJCXBhcnNlci0+am9iLT5w cmVhbWJsZV9zdGF0dXMgfD0gUFJFQU1CTEVfSUJfUFJFU0VOVDsKKwkJCWlmICghcGFyc2VyLT5j dHgtPnByZWFtYmxlX3ByZXNlbnRlZCkgeworCQkJCXBhcnNlci0+am9iLT5wcmVhbWJsZV9zdGF0 dXMgfD0gUFJFQU1CTEVfSUJfUFJFU0VOVF9GSVJTVDsKKwkJCQlwYXJzZXItPmN0eC0+cHJlYW1i bGVfcHJlc2VudGVkID0gdHJ1ZTsKKwkJCX0KKwkJfQorCiAJCWlmIChwYXJzZXItPmpvYi0+cmlu ZyAmJiBwYXJzZXItPmpvYi0+cmluZyAhPSByaW5nKQogCQkJcmV0dXJuIC1FSU5WQUw7CiAKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYwppbmRleCA1NmM4NWU2Li40NGRiMGFi IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jCkBAIC01NSw5ICs1NSwx MCBAQAogICogLSAzLjMuMCAtIEFkZCBWTSBzdXBwb3J0IGZvciBVVkQgb24gc3VwcG9ydGVkIGhh cmR3YXJlLgogICogLSAzLjQuMCAtIEFkZCBBTURHUFVfSU5GT19OVU1fRVZJQ1RJT05TLgogICog LSAzLjUuMCAtIEFkZCBzdXBwb3J0IGZvciBuZXcgVVZEX05PX09QIHJlZ2lzdGVyLgorICogLSAz LjYuMCAtIFVNRCBkb2Vzbid0L3Nob3VsZG4ndCBuZWVkIHRvIHVzZSBDT05URVhUX0NPTlRST0wg aW4gSUIsIEtNRCBzaG91bGQgZG8gaXQKICAqLwogI2RlZmluZSBLTVNfRFJJVkVSX01BSk9SCTMK LSNkZWZpbmUgS01TX0RSSVZFUl9NSU5PUgk1CisjZGVmaW5lIEtNU19EUklWRVJfTUlOT1IJNgog I2RlZmluZSBLTVNfRFJJVkVSX1BBVENITEVWRUwJMAogCiBpbnQgYW1kZ3B1X3ZyYW1fbGltaXQg PSAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2liLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaWIuYwppbmRleCAwNDI2M2YwLi5i MTJiNWJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaWIu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaWIuYwpAQCAtMTIxLDEw ICsxMjEsMTEgQEAgaW50IGFtZGdwdV9pYl9zY2hlZHVsZShzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJp bmcsIHVuc2lnbmVkIG51bV9pYnMsCiB7CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBy aW5nLT5hZGV2OwogCXN0cnVjdCBhbWRncHVfaWIgKmliID0gJmlic1swXTsKLQlib29sIHNraXBf cHJlYW1ibGUsIG5lZWRfY3R4X3N3aXRjaDsKKwlib29sIG5lZWRfY3R4X3N3aXRjaDsKIAl1bnNp Z25lZCBwYXRjaF9vZmZzZXQgPSB+MDsKIAlzdHJ1Y3QgYW1kZ3B1X3ZtICp2bTsKIAl1aW50NjRf dCBmZW5jZV9jdHg7CisJdWludDMyX3Qgc3RhdHVzID0gMDsKIAogCXVuc2lnbmVkIGk7CiAJaW50 IHIgPSAwOwpAQCAtMTc0LDE1ICsxNzUsMTYgQEAgaW50IGFtZGdwdV9pYl9zY2hlZHVsZShzdHJ1 Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsIHVuc2lnbmVkIG51bV9pYnMsCiAJLyogYWx3YXlzIHNldCBj b25kX2V4ZWNfcG9sbGluZyB0byBDT05USU5VRSAqLwogCSpyaW5nLT5jb25kX2V4ZV9jcHVfYWRk ciA9IDE7CiAKLQlza2lwX3ByZWFtYmxlID0gcmluZy0+Y3VycmVudF9jdHggPT0gZmVuY2VfY3R4 OwogCW5lZWRfY3R4X3N3aXRjaCA9IHJpbmctPmN1cnJlbnRfY3R4ICE9IGZlbmNlX2N0eDsKKwlp ZiAoam9iICYmIHJpbmctPmZ1bmNzLT5lbWl0X2NudHhjbnRsKSB7CisJCWlmIChuZWVkX2N0eF9z d2l0Y2gpCisJCQlzdGF0dXMgfD0gSEFWRV9DVFhfU1dJVENIOworCQlzdGF0dXMgfD0gam9iLT5w cmVhbWJsZV9zdGF0dXM7CisJCWFtZGdwdV9yaW5nX2VtaXRfY250eGNudGwocmluZywgc3RhdHVz KTsKKwl9CisKIAlmb3IgKGkgPSAwOyBpIDwgbnVtX2liczsgKytpKSB7CiAJCWliID0gJmlic1tp XTsKLQotCQkvKiBkcm9wIHByZWFtYmxlIElCcyBpZiB3ZSBkb24ndCBoYXZlIGEgY29udGV4dCBz d2l0Y2ggKi8KLQkJaWYgKChpYi0+ZmxhZ3MgJiBBTURHUFVfSUJfRkxBR19QUkVBTUJMRSkgJiYg c2tpcF9wcmVhbWJsZSkKLQkJCWNvbnRpbnVlOwotCiAJCWFtZGdwdV9yaW5nX2VtaXRfaWIocmlu ZywgaWIsIGpvYiA/IGpvYi0+dm1faWQgOiAwLAogCQkJCSAgICBuZWVkX2N0eF9zd2l0Y2gpOwog CQluZWVkX2N0eF9zd2l0Y2ggPSBmYWxzZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2dmeF92N18wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjdf MC5jCmluZGV4IGYwNTVkNDkuLjBkNWFkZGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2dmeF92N18wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4 X3Y3XzAuYwpAQCAtMjA5Niw2ICsyMDk2LDI1IEBAIHN0YXRpYyB2b2lkIGdmeF92N18wX3Jpbmdf ZW1pdF9pYl9jb21wdXRlKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywKIAlhbWRncHVfcmluZ193 cml0ZShyaW5nLCBjb250cm9sKTsKIH0KIAorc3RhdGljIHZvaWQgZ2Z4X3Y3X3JpbmdfZW1pdF9j bnR4Y250bChzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsIHVpbnQzMl90IGZsYWdzKQoreworCXVp bnQzMl90IGR3MiA9IDA7CisKKwlkdzIgfD0gMHg4MDAwMDAwMDsgLyogc2V0IGxvYWRfZW5hYmxl IG90aGVyd2lzZSB0aGlzIHBhY2thZ2UgaXMganVzdCBOT1BzICovCisJaWYgKGZsYWdzICYgSEFW RV9DVFhfU1dJVENIKSB7CisJCS8qIHNldCBsb2FkX2dsb2JhbF9jb25maWcgJiBsb2FkX2dsb2Jh bF91Y29uZmlnICovCisJCWR3MiB8PSAweDgwMDE7CisJCS8qIHNldCBsb2FkX2NzX3NoX3JlZ3Mg Ki8KKwkJZHcyIHw9IDB4MDEwMDAwMDA7CisJCS8qIHNldCBsb2FkX3Blcl9jb250ZXh0X3N0YXRl ICYgbG9hZF9nZnhfc2hfcmVncyAqLworCQlkdzIgfD0gMHgxMDAwMjsKKwl9CisKKwlhbWRncHVf cmluZ193cml0ZShyaW5nLCBQQUNLRVQzKFBBQ0tFVDNfQ09OVEVYVF9DT05UUk9MLCAxKSk7CisJ YW1kZ3B1X3Jpbmdfd3JpdGUocmluZywgZHcyKTsKKwlhbWRncHVfcmluZ193cml0ZShyaW5nLCAw KTsKK30KKwogLyoqCiAgKiBnZnhfdjdfMF9yaW5nX3Rlc3RfaWIgLSBiYXNpYyByaW5nIElCIHRl c3QKICAqCkBAIC00OTI5LDYgKzQ5NDgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9y aW5nX2Z1bmNzIGdmeF92N18wX3JpbmdfZnVuY3NfZ2Z4ID0gewogCS50ZXN0X2liID0gZ2Z4X3Y3 XzBfcmluZ190ZXN0X2liLAogCS5pbnNlcnRfbm9wID0gYW1kZ3B1X3JpbmdfaW5zZXJ0X25vcCwK IAkucGFkX2liID0gYW1kZ3B1X3JpbmdfZ2VuZXJpY19wYWRfaWIsCisJLmVtaXRfY250eGNudGwg PSBnZnhfdjdfcmluZ19lbWl0X2NudHhjbnRsLAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBh bWRncHVfcmluZ19mdW5jcyBnZnhfdjdfMF9yaW5nX2Z1bmNzX2NvbXB1dGUgPSB7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYwppbmRleCA4YmE4ZTQyLi43M2Y2ZmZhIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OF8wLmMKQEAgLTYwODUsNiArNjA4NSwzNSBAQCBzdGF0 aWMgdm9pZCBnZnhfdjhfcmluZ19lbWl0X3NiKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZykKIAlh bWRncHVfcmluZ193cml0ZShyaW5nLCAwKTsKIH0KIAorc3RhdGljIHZvaWQgZ2Z4X3Y4X3Jpbmdf ZW1pdF9jbnR4Y250bChzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsIHVpbnQzMl90IGZsYWdzKQor eworCXVpbnQzMl90IGR3MiA9IDA7CisKKwlkdzIgfD0gMHg4MDAwMDAwMDsgLyogc2V0IGxvYWRf ZW5hYmxlIG90aGVyd2lzZSB0aGlzIHBhY2thZ2UgaXMganVzdCBOT1BzICovCisJaWYgKGZsYWdz ICYgSEFWRV9DVFhfU1dJVENIKSB7CisJCS8qIHNldCBsb2FkX2dsb2JhbF9jb25maWcgJiBsb2Fk X2dsb2JhbF91Y29uZmlnICovCisJCWR3MiB8PSAweDgwMDE7CisJCS8qIHNldCBsb2FkX2NzX3No X3JlZ3MgKi8KKwkJZHcyIHw9IDB4MDEwMDAwMDA7CisJCS8qIHNldCBsb2FkX3Blcl9jb250ZXh0 X3N0YXRlICYgbG9hZF9nZnhfc2hfcmVncyBmb3IgR0ZYICovCisJCWR3MiB8PSAweDEwMDAyOwor CisJCS8qIHNldCBsb2FkX2NlX3JhbSBpZiBwcmVhbWJsZSBwcmVzZW50ZWQgKi8KKwkJaWYgKFBS RUFNQkxFX0lCX1BSRVNFTlQgJiBmbGFncykKKwkJCWR3MiB8PSAweDEwMDAwMDAwOworCX0gZWxz ZSB7CisJCS8qIHN0aWxsIGxvYWRfY2VfcmFtIGlmIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgcHJl YW1ibGUgcHJlc2VudGVkCisJCSAqIGFsdGhvdWdoIHRoZXJlIGlzIG5vIGNvbnRleHQgc3dpdGNo IGhhcHBlbnMuCisJCSAqLworCQlpZiAoUFJFQU1CTEVfSUJfUFJFU0VOVF9GSVJTVCAmIGZsYWdz KQorCQkJZHcyIHw9IDB4MTAwMDAwMDA7CisJfQorCisJYW1kZ3B1X3Jpbmdfd3JpdGUocmluZywg UEFDS0VUMyhQQUNLRVQzX0NPTlRFWFRfQ09OVFJPTCwgMSkpOworCWFtZGdwdV9yaW5nX3dyaXRl KHJpbmcsIGR3Mik7CisJYW1kZ3B1X3Jpbmdfd3JpdGUocmluZywgMCk7Cit9CisKIHN0YXRpYyB2 b2lkIGdmeF92OF8wX3NldF9nZnhfZW9wX2ludGVycnVwdF9zdGF0ZShzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldiwKIAkJCQkJCSBlbnVtIGFtZGdwdV9pbnRlcnJ1cHRfc3RhdGUgc3RhdGUpCiB7 CkBAIC02MjY3LDYgKzYyOTYsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9yaW5nX2Z1 bmNzIGdmeF92OF8wX3JpbmdfZnVuY3NfZ2Z4ID0gewogCS5pbnNlcnRfbm9wID0gYW1kZ3B1X3Jp bmdfaW5zZXJ0X25vcCwKIAkucGFkX2liID0gYW1kZ3B1X3JpbmdfZ2VuZXJpY19wYWRfaWIsCiAJ LmVtaXRfc3dpdGNoX2J1ZmZlciA9IGdmeF92OF9yaW5nX2VtaXRfc2IsCisJLmVtaXRfY250eGNu dGwgPSBnZnhfdjhfcmluZ19lbWl0X2NudHhjbnRsLAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVj dCBhbWRncHVfcmluZ19mdW5jcyBnZnhfdjhfMF9yaW5nX2Z1bmNzX2NvbXB1dGUgPSB7Ci0tIAox LjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1k LWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==