From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH 02/20] drm/amd/display: Introduce DC VM interface Date: Tue, 22 Jan 2019 13:28:48 -0500 Message-ID: <1548181746-23783-3-git-send-email-sunpeng.li@amd.com> References: <1548181746-23783-1-git-send-email-sunpeng.li@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1548181746-23783-1-git-send-email-sunpeng.li-5C7GfCeVMHo@public.gmane.org> 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: Eryk Brol RnJvbTogRXJ5ayBCcm9sIDxlcnlrLmJyb2xAYW1kLmNvbT4KClZpcnR1YWwgbWVtb3J5IGFsbG93 cyBkaXNwbGF5IHRvIHN1cHBvcnQgZmxpcHBpbmcgdG8gc3VyZmFjZXMgd2hpY2gKYXJlIG5vdCBh bGxvY2F0ZWQgY29udGlndW91c2x5IGluIG1lbW9yeSB3aXRoIHBoeXNpY2FsIGFkZHJlc3NlcywK aW5zdGVhZCBhIDEtNCBsZXZlbCBwYWdlIHRhYmxlIGlzIHVzZWQuCgpUaGlzIGlzIGJlbmVmaWNp YWwgYmVjYXVzZSBpdCBhbGxvd3MgdGhlIHNjYXR0ZXJpbmcgb2YgbGFyZ2Ugc3VyZmFjZXMKdG8g aW1wcm92ZSBtZW1vcnkgZWZmaWNpZW5jeSBhbmQgc2VjdXJpdHkuCgpTaWduZWQtb2ZmLWJ5OiBF cnlrIEJyb2wgPGVyeWsuYnJvbEBhbWQuY29tPgpSZXZpZXdlZC1ieTogSnVuIExlaSA8SnVuLkxl aUBhbWQuY29tPgpBY2tlZC1ieTogTGVvIExpIDxzdW5wZW5nLmxpQGFtZC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL01ha2VmaWxlICAgICAgICAgICAgfCAgIDMgKy0K IGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX3ZtX2hlbHBlci5jIHwgMTI3 ICsrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Rj X2h3X3R5cGVzLmggICAgICAgfCAgIDIgKwogLi4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNu MTAvZGNuMTBfaHViYnViLmggICAgfCAgMTQgKystCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvZGNuMTAvZGNuMTBfaHVicC5jICB8ICAgMyArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2RjbjEwL2RjbjEwX2h1YnAuaCAgfCAgIDUgLQogLi4uL2RybS9hbWQvZGlzcGxh eS9kYy9kY24xMC9kY24xMF9od19zZXF1ZW5jZXIuYyAgfCAgIDMgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9pbmMvaHcvaHVicC5oICAgICAgIHwgICAzICstCiBkcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3L3ZtaWQuaCAgICAgICB8ICA0OSArKysrKysrKwog ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy92bV9oZWxwZXIuaCAgICAgfCAgNTUg KysrKysrKysrCiAxMCBmaWxlcyBjaGFuZ2VkLCAyNTQgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRp b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2NvcmUvZGNfdm1faGVscGVyLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvaW5jL2h3L3ZtaWQuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvdm1faGVscGVyLmgKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvTWFrZWZpbGUKaW5kZXggZmEyNGU0Yy4uYjhkZGI0YSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9NYWtlZmlsZQpAQCAtNDEsNyArNDEsOCBAQCBBTURfREMgPSAk KGFkZHN1ZmZpeCAvTWFrZWZpbGUsICQoYWRkcHJlZml4ICQoRlVMTF9BTURfRElTUExBWV9QQVRI KS9kYy8sJChEQ19MSQogaW5jbHVkZSAkKEFNRF9EQykKIAogRElTUExBWV9DT1JFID0gZGMubyBk Y19saW5rLm8gZGNfcmVzb3VyY2UubyBkY19od19zZXF1ZW5jZXIubyBkY19zaW5rLm8gXAotZGNf c3VyZmFjZS5vIGRjX2xpbmtfaHdzcy5vIGRjX2xpbmtfZHAubyBkY19saW5rX2RkYy5vIGRjX2Rl YnVnLm8gZGNfc3RyZWFtLm8KK2RjX3N1cmZhY2UubyBkY19saW5rX2h3c3MubyBkY19saW5rX2Rw Lm8gZGNfbGlua19kZGMubyBkY19kZWJ1Zy5vIGRjX3N0cmVhbS5vIFwKK2RjX3ZtX2hlbHBlci5v CiAKIEFNRF9ESVNQTEFZX0NPUkUgPSAkKGFkZHByZWZpeCAkKEFNRERBTFBBVEgpL2RjL2NvcmUv LCQoRElTUExBWV9DT1JFKSkKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2NvcmUvZGNfdm1faGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvY29yZS9kY192bV9oZWxwZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li5lNTRiOGFjCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2NvcmUvZGNfdm1faGVscGVyLmMKQEAgLTAsMCArMSwxMjcgQEAKKy8qCisgKiBDb3B5cmln aHQgMjAxOCBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisgKgorICogUGVybWlzc2lvbiBp cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n IGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9u IGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRo b3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmln aHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3Vi bGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBw ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRv IHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJv dmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBp bmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg U29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElO RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAor ICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4g IElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBPUiBBVVRIT1Io UykgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IKKyAqIE9USEVSIExJQUJJTElU WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAor ICogQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FS RSBPUiBUSEUgVVNFIE9SCisgKiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgor ICogQXV0aG9yczogQU1ECisgKgorICovCisKKyNpbmNsdWRlICJ2bV9oZWxwZXIuaCIKKworc3Rh dGljIHZvaWQgbWFya192bWlkX3VzZWQoc3RydWN0IHZtX2hlbHBlciAqdm1faGVscGVyLCB1bnNp Z25lZCBpbnQgcG9zLCB1aW50OF90IGh1YnBfaWR4KQoreworCXN0cnVjdCB2bWlkX3VzYWdlIHZt aWRzID0gdm1faGVscGVyLT5odWJwX3ZtaWRfdXNhZ2VbaHVicF9pZHhdOworCisJdm1pZHMudm1p ZF91c2FnZVswXSA9IHZtaWRzLnZtaWRfdXNhZ2VbMV07CisJdm1pZHMudm1pZF91c2FnZVsxXSA9 IDEgPDwgcG9zOworfQorCitzdGF0aWMgdm9pZCBhZGRfcHRiX3RvX3RhYmxlKHN0cnVjdCB2bV9o ZWxwZXIgKnZtX2hlbHBlciwgdW5zaWduZWQgaW50IHZtaWQsIHVpbnQ2NF90IHB0YikKK3sKKwl2 bV9oZWxwZXItPnB0Yl9hc3NpZ25lZF90b192bWlkW3ZtaWRdID0gcHRiOworCXZtX2hlbHBlci0+ bnVtX3ZtaWRzX2F2YWlsYWJsZS0tOworfQorCitzdGF0aWMgdm9pZCBjbGVhcl9lbnRyeV9mcm9t X3ZtaWRfdGFibGUoc3RydWN0IHZtX2hlbHBlciAqdm1faGVscGVyLCB1bnNpZ25lZCBpbnQgdm1p ZCkKK3sKKwl2bV9oZWxwZXItPnB0Yl9hc3NpZ25lZF90b192bWlkW3ZtaWRdID0gMDsKKwl2bV9o ZWxwZXItPm51bV92bWlkc19hdmFpbGFibGUrKzsKK30KKworc3RhdGljIHZvaWQgZXZpY3Rfdm1p ZHMoc3RydWN0IHZtX2hlbHBlciAqdm1faGVscGVyKQoreworCWludCBpOworCXVpbnQxNl90IG9y ZCA9IDA7CisKKwlmb3IgKGkgPSAwOyBpIDwgdm1faGVscGVyLT5udW1fdm1pZDsgaSsrKQorCQlv cmQgfD0gdm1faGVscGVyLT5odWJwX3ZtaWRfdXNhZ2VbaV0udm1pZF91c2FnZVswXSB8IHZtX2hl bHBlci0+aHVicF92bWlkX3VzYWdlW2ldLnZtaWRfdXNhZ2VbMV07CisKKwkvLyBBdCB0aGlzIHBv aW50IGFueSBwb3NpdGlvbnMgd2l0aCB2YWx1ZSAwIGFyZSB1bnVzZWQgdm1pZHMsIGV2aWN0IHRo ZW0KKwlmb3IgKGkgPSAxOyBpIDwgdm1faGVscGVyLT5udW1fdm1pZDsgaSsrKSB7CisJCWlmIChv cmQgJiAoMXUgPDwgaSkpCisJCQljbGVhcl9lbnRyeV9mcm9tX3ZtaWRfdGFibGUodm1faGVscGVy LCBpKTsKKwl9Cit9CisKKy8vIFJldHVybiB2YWx1ZSBvZiAtMSBpbmRpY2F0ZXMgdm1pZCB0YWJs ZSB1bml0aWFsaXplZCBvciBwdGIgZG5lIGluIHRoZSB0YWJsZQorc3RhdGljIGludCBnZXRfZXhp c3Rpbmdfdm1pZF9mb3JfcHRiKHN0cnVjdCB2bV9oZWxwZXIgKnZtX2hlbHBlciwgdWludDY0X3Qg cHRiKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IHZtX2hlbHBlci0+bnVtX3ZtaWQ7 IGkrKykgeworCQlpZiAodm1faGVscGVyLT5wdGJfYXNzaWduZWRfdG9fdm1pZFtpXSA9PSBwdGIp CisJCQlyZXR1cm4gaTsKKwl9CisKKwlyZXR1cm4gLTE7Cit9CisKKy8vIEV4cGVjdGVkIHRvIGJl IGNhbGxlZCBvbmx5IHdoZW4gdGhlcmUncyBhbiBhdmFpbGFibGUgdm1pZAorc3RhdGljIGludCBn ZXRfbmV4dF9hdmFpbGFibGVfdm1pZChzdHJ1Y3Qgdm1faGVscGVyICp2bV9oZWxwZXIpCit7CisJ aW50IGk7CisKKwlmb3IgKGkgPSAxOyBpIDwgdm1faGVscGVyLT5udW1fdm1pZDsgaSsrKSB7CisJ CWlmICh2bV9oZWxwZXItPnB0Yl9hc3NpZ25lZF90b192bWlkW2ldID09IDApCisJCQlyZXR1cm4g aTsKKwl9CisKKwlyZXR1cm4gLTE7Cit9CisKK3VpbnQ4X3QgZ2V0X3ZtaWRfZm9yX3B0YihzdHJ1 Y3Qgdm1faGVscGVyICp2bV9oZWxwZXIsIGludDY0X3QgcHRiLCB1aW50OF90IGh1YnBfaWR4KQor eworCXVuc2lnbmVkIGludCB2bWlkID0gMDsKKwlpbnQgdm1pZF9leGlzdHMgPSAtMTsKKworCS8v IFBoeXNpY2FsIGFkZHJlc3MgZ2V0cyB2bWlkIDAKKwlpZiAocHRiID09IDApCisJCXJldHVybiAw OworCisJdm1pZF9leGlzdHMgPSBnZXRfZXhpc3Rpbmdfdm1pZF9mb3JfcHRiKHZtX2hlbHBlciwg cHRiKTsKKworCWlmICh2bWlkX2V4aXN0cyAhPSAtMSkgeworCQltYXJrX3ZtaWRfdXNlZCh2bV9o ZWxwZXIsIHZtaWRfZXhpc3RzLCBodWJwX2lkeCk7CisJCXZtaWQgPSB2bWlkX2V4aXN0czsKKwl9 IGVsc2UgeworCQlpZiAodm1faGVscGVyLT5udW1fdm1pZHNfYXZhaWxhYmxlID09IDApCisJCQll dmljdF92bWlkcyh2bV9oZWxwZXIpOworCisJCXZtaWQgPSBnZXRfbmV4dF9hdmFpbGFibGVfdm1p ZCh2bV9oZWxwZXIpOworCQltYXJrX3ZtaWRfdXNlZCh2bV9oZWxwZXIsIHZtaWQsIGh1YnBfaWR4 KTsKKwkJYWRkX3B0Yl90b190YWJsZSh2bV9oZWxwZXIsIHZtaWQsIHB0Yik7CisJfQorCisJcmV0 dXJuIHZtaWQ7Cit9CisKK3N0cnVjdCB2bV9oZWxwZXIgaW5pdF92bV9oZWxwZXIodW5zaWduZWQg aW50IG51bV92bWlkLCB1bnNpZ25lZCBpbnQgbnVtX2h1YnApCit7CisJc3RhdGljIHVpbnQ2NF90 IHB0Yl9hc3NpZ25lZF90b192bWlkW01BWF9WTUlEXTsKKwlzdGF0aWMgc3RydWN0IHZtaWRfdXNh Z2UgaHVicF92bWlkX3VzYWdlW01BWF9IVUJQXTsKKworCXJldHVybiAoc3RydWN0IHZtX2hlbHBl cil7CisJCS5udW1fdm1pZCA9IG51bV92bWlkLAorCQkubnVtX2h1YnAgPSBudW1faHVicCwKKwkJ Lm51bV92bWlkc19hdmFpbGFibGUgPSBudW1fdm1pZCAtIDEsCisJCS5wdGJfYXNzaWduZWRfdG9f dm1pZCA9IHB0Yl9hc3NpZ25lZF90b192bWlkLAorCQkuaHVicF92bWlkX3VzYWdlID0gaHVicF92 bWlkX3VzYWdlCisJfTsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9kY19od190eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjX2h3 X3R5cGVzLmgKaW5kZXggMDRmMjc5YS4uZGE1NWQ2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2RjX2h3X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2RjX2h3X3R5cGVzLmgKQEAgLTk3LDYgKzk3LDggQEAgc3RydWN0IGRjX3Bs YW5lX2FkZHJlc3MgewogCQkJdW5pb24gbGFyZ2VfaW50ZWdlciBjaHJvbWFfZGNjX2NvbnN0X2Nv bG9yOwogCQl9IHZpZGVvX3Byb2dyZXNzaXZlOwogCX07CisKKwl1bmlvbiBsYXJnZV9pbnRlZ2Vy IHBhZ2VfdGFibGVfYmFzZTsKIH07CiAKIHN0cnVjdCBkY19zaXplIHsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9odWJidWIuaCBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9odWJidWIuaAppbmRleCAxNGUy M2UyLi5jNjgxZTFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv ZGNuMTAvZGNuMTBfaHViYnViLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2RjbjEwL2RjbjEwX2h1YmJ1Yi5oCkBAIC0xMTAsNiArMTEwLDEyIEBAIHN0cnVjdCBkY25faHVi YnViX3JlZ2lzdGVycyB7CiAJdWludDMyX3QgRENIVUJCVUJfU0RQSUZfQUdQX1RPUDsKIAl1aW50 MzJfdCBEQ0hVQkJVQl9DUkNfQ1RSTDsKIAl1aW50MzJfdCBEQ0hVQkJVQl9TT0ZUX1JFU0VUOwor CXVpbnQzMl90IERDTl9WTV9GQl9MT0NBVElPTl9CQVNFOworCXVpbnQzMl90IERDTl9WTV9GQl9M T0NBVElPTl9UT1A7CisJdWludDMyX3QgRENOX1ZNX0ZCX09GRlNFVDsKKwl1aW50MzJfdCBEQ05f Vk1fQUdQX0JPVDsKKwl1aW50MzJfdCBEQ05fVk1fQUdQX1RPUDsKKwl1aW50MzJfdCBEQ05fVk1f QUdQX0JBU0U7CiB9OwogCiAvKiBzZXQgZmllbGQgbmFtZSAqLwpAQCAtMTU1LDcgKzE2MSwxMyBA QCBzdHJ1Y3QgZGNuX2h1YmJ1Yl9yZWdpc3RlcnMgewogCQl0eXBlIFNEUElGX0ZCX09GRlNFVDtc CiAJCXR5cGUgU0RQSUZfQUdQX0JBU0U7XAogCQl0eXBlIFNEUElGX0FHUF9CT1Q7XAotCQl0eXBl IFNEUElGX0FHUF9UT1AKKwkJdHlwZSBTRFBJRl9BR1BfVE9QO1wKKwkJdHlwZSBGQl9CQVNFO1wK KwkJdHlwZSBGQl9UT1A7XAorCQl0eXBlIEZCX09GRlNFVDtcCisJCXR5cGUgQUdQX0JPVDtcCisJ CXR5cGUgQUdQX1RPUDtcCisJCXR5cGUgQUdQX0JBU0UKIAogCiBzdHJ1Y3QgZGNuX2h1YmJ1Yl9z aGlmdCB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAv ZGNuMTBfaHVicC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEw X2h1YnAuYwppbmRleCBmYWU2MjQ3Li4wYmE2OGQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfaHVicC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9odWJwLmMKQEAgLTMxNyw3ICszMTcsOCBAQCB2 b2lkIGh1YnAxX3Byb2dyYW1fcGl4ZWxfZm9ybWF0KAogYm9vbCBodWJwMV9wcm9ncmFtX3N1cmZh Y2VfZmxpcF9hbmRfYWRkcigKIAlzdHJ1Y3QgaHVicCAqaHVicCwKIAljb25zdCBzdHJ1Y3QgZGNf cGxhbmVfYWRkcmVzcyAqYWRkcmVzcywKLQlib29sIGZsaXBfaW1tZWRpYXRlKQorCWJvb2wgZmxp cF9pbW1lZGlhdGUsCisJdWludDhfdCB2bWlkKQogewogCXN0cnVjdCBkY24xMF9odWJwICpodWJw MSA9IFRPX0RDTjEwX0hVQlAoaHVicCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9odWJwLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvZGNuMTAvZGNuMTBfaHVicC5oCmluZGV4IGU4MmNhMTUuLmE2ZDZkZmUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9odWJwLmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2h1YnAuaApA QCAtNzA3LDExICs3MDcsNiBAQCB2b2lkIGh1YnAxX2RjY19jb250cm9sKHN0cnVjdCBodWJwICpo dWJwLAogCQlib29sIGVuYWJsZSwKIAkJYm9vbCBpbmRlcGVuZGVudF82NGJfYmxrcyk7CiAKLWJv b2wgaHVicDFfcHJvZ3JhbV9zdXJmYWNlX2ZsaXBfYW5kX2FkZHIoCi0Jc3RydWN0IGh1YnAgKmh1 YnAsCi0JY29uc3Qgc3RydWN0IGRjX3BsYW5lX2FkZHJlc3MgKmFkZHJlc3MsCi0JYm9vbCBmbGlw X2ltbWVkaWF0ZSk7Ci0KIGJvb2wgaHVicDFfaXNfZmxpcF9wZW5kaW5nKHN0cnVjdCBodWJwICpo dWJwKTsKIAogdm9pZCBodWJwMV9jdXJzb3Jfc2V0X2F0dHJpYnV0ZXMoCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfaHdfc2VxdWVuY2VyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfaHdfc2VxdWVuY2Vy LmMKaW5kZXggODE0ZjU5Ny4uOWNkZTI0ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2h3X3NlcXVlbmNlci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9od19zZXF1ZW5jZXIuYwpAQCAtMTIwMiw3 ICsxMjAyLDggQEAgc3RhdGljIHZvaWQgZGNuMTBfdXBkYXRlX3BsYW5lX2FkZHIoY29uc3Qgc3Ry dWN0IGRjICpkYywgc3RydWN0IHBpcGVfY3R4ICpwaXBlX2MKIAlwaXBlX2N0eC0+cGxhbmVfcmVz Lmh1YnAtPmZ1bmNzLT5odWJwX3Byb2dyYW1fc3VyZmFjZV9mbGlwX2FuZF9hZGRyKAogCQkJcGlw ZV9jdHgtPnBsYW5lX3Jlcy5odWJwLAogCQkJJnBsYW5lX3N0YXRlLT5hZGRyZXNzLAotCQkJcGxh bmVfc3RhdGUtPmZsaXBfaW1tZWRpYXRlKTsKKwkJCXBsYW5lX3N0YXRlLT5mbGlwX2ltbWVkaWF0 ZSwKKwkJCTApOwogCiAJcGxhbmVfc3RhdGUtPnN0YXR1cy5yZXF1ZXN0ZWRfYWRkcmVzcyA9IHBs YW5lX3N0YXRlLT5hZGRyZXNzOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvaW5jL2h3L2h1YnAuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9p bmMvaHcvaHVicC5oCmluZGV4IDA0YzY5ODkuLjFjZDA3ZTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvaHcvaHVicC5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9pbmMvaHcvaHVicC5oCkBAIC03OCw3ICs3OCw4IEBAIHN0cnVjdCBo dWJwX2Z1bmNzIHsKIAlib29sICgqaHVicF9wcm9ncmFtX3N1cmZhY2VfZmxpcF9hbmRfYWRkciko CiAJCXN0cnVjdCBodWJwICpodWJwLAogCQljb25zdCBzdHJ1Y3QgZGNfcGxhbmVfYWRkcmVzcyAq YWRkcmVzcywKLQkJYm9vbCBmbGlwX2ltbWVkaWF0ZSk7CisJCWJvb2wgZmxpcF9pbW1lZGlhdGUs CisJCXVpbnQ4X3Qgdm1pZCk7CiAKIAl2b2lkICgqaHVicF9wcm9ncmFtX3B0ZV92bSkoCiAJCXN0 cnVjdCBodWJwICpodWJwLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2luYy9ody92bWlkLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3 L3ZtaWQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzdiZWIwCi0tLSAv ZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9ody92bWlk LmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE4IEFkdmFuY2VkIE1pY3Jv IERldmljZXMsIEluYy4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29weSBvZiB0aGlzIHNv ZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUi KSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1 ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp ZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5kL29yIHNl bGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20g dGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZv bGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBhbGwgY29w aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUg U09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO RCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU SEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAq IFRIRSBDT1BZUklHSFQgSE9MREVSKFMpIE9SIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWSBD TEFJTSwgREFNQUdFUyBPUgorICogT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP TiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsCisgKiBBUklTSU5HIEZST00sIE9VVCBP RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKKyAqIE9U SEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBBdXRob3JzOiBBTUQKKyAqCisg Ki8KKworI2lmbmRlZiBEQUxfRENfSU5DX0hXX1ZNSURfSF8KKyNkZWZpbmUgREFMX0RDX0lOQ19I V19WTUlEX0hfCisKKyNpbmNsdWRlICJjb3JlX3R5cGVzLmgiCisjaW5jbHVkZSAiZGNodWJidWIu aCIKKworc3RydWN0IGRjbl92bWlkX3JlZ2lzdGVycyB7CisJdWludDMyX3QgQ05UTDsKKwl1aW50 MzJfdCBQQUdFX1RBQkxFX0JBU0VfQUREUl9ISTMyOworCXVpbnQzMl90IFBBR0VfVEFCTEVfQkFT RV9BRERSX0xPMzI7CisJdWludDMyX3QgUEFHRV9UQUJMRV9TVEFSVF9BRERSX0hJMzI7CisJdWlu dDMyX3QgUEFHRV9UQUJMRV9TVEFSVF9BRERSX0xPMzI7CisJdWludDMyX3QgUEFHRV9UQUJMRV9F TkRfQUREUl9ISTMyOworCXVpbnQzMl90IFBBR0VfVEFCTEVfRU5EX0FERFJfTE8zMjsKK307CisK K3N0cnVjdCBkY25fdm1pZF9wYWdlX3RhYmxlX2NvbmZpZyB7CisJdWludDY0X3QJcGFnZV90YWJs ZV9zdGFydF9hZGRyOworCXVpbnQ2NF90CXBhZ2VfdGFibGVfZW5kX2FkZHI7CisJZW51bSBkY25f aHViYnViX3BhZ2VfdGFibGVfZGVwdGgJZGVwdGg7CisJZW51bSBkY25faHViYnViX3BhZ2VfdGFi bGVfYmxvY2tfc2l6ZQlibG9ja19zaXplOworfTsKKworI2VuZGlmIC8qIERBTF9EQ19JTkNfSFdf Vk1JRF9IXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2lu Yy92bV9oZWxwZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvdm1faGVs cGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTIwMjIwNgotLS0gL2Rl di9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvdm1faGVscGVy LmgKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE4IEFkdmFuY2VkIE1pY3Jv IERldmljZXMsIEluYy4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29weSBvZiB0aGlzIHNv ZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUi KSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1 ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp ZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5kL29yIHNl bGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20g dGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZv bGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBhbGwgY29w aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUg U09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO RCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBU SEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAq IFRIRSBDT1BZUklHSFQgSE9MREVSKFMpIE9SIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWSBD TEFJTSwgREFNQUdFUyBPUgorICogT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP TiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsCisgKiBBUklTSU5HIEZST00sIE9VVCBP RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKKyAqIE9U SEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBBdXRob3JzOiBBTUQKKyAqCisg Ki8KKworI2lmbmRlZiBEQ19JTkNfVk1fSEVMUEVSX0hfCisjZGVmaW5lIERDX0lOQ19WTV9IRUxQ RVJfSF8KKworI2luY2x1ZGUgImRjX3R5cGVzLmgiCisKKyNkZWZpbmUgTUFYX1ZNSUQgMTYKKyNk ZWZpbmUgTUFYX0hVQlAgNgorCitzdHJ1Y3Qgdm1pZF91c2FnZSB7CisJdWludDE2X3Qgdm1pZF91 c2FnZVsyXTsKK307CisKK3N0cnVjdCB2bV9oZWxwZXIgeworCXVuc2lnbmVkIGludCBudW1fdm1p ZDsKKwl1bnNpZ25lZCBpbnQgbnVtX2h1YnA7CisJdW5zaWduZWQgaW50IG51bV92bWlkc19hdmFp bGFibGU7CisJdWludDY0X3QgKnB0Yl9hc3NpZ25lZF90b192bWlkOworCXN0cnVjdCB2bWlkX3Vz YWdlICpodWJwX3ZtaWRfdXNhZ2U7Cit9OworCit1aW50OF90IGdldF92bWlkX2Zvcl9wdGIoCisJ CXN0cnVjdCB2bV9oZWxwZXIgKnZtX2hlbHBlciwKKwkJaW50NjRfdCBwdGIsCisJCXVpbnQ4X3Qg cGlwZV9pZHgpOworCitzdHJ1Y3Qgdm1faGVscGVyIGluaXRfdm1faGVscGVyKAorCXVuc2lnbmVk IGludCBudW1fdm1pZCwKKwl1bnNpZ25lZCBpbnQgbnVtX2h1YnApOworCisjZW5kaWYgLyogRENf SU5DX1ZNX0hFTFBFUl9IXyAqLwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vYW1kLWdmeAo=