From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Francis Subject: [PATCH] drm/amd: Query and use ACPI backlight caps Date: Tue, 20 Nov 2018 10:16:19 -0500 Message-ID: <20181120151619.11126-1-David.Francis@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: David Francis QUNQSSBBVElGIGhhcyBhIGZ1bmN0aW9uIGNhbGxlZCBxdWVyeQpiYWNrbGlnaHQgdHJhbnNmZXIg Y2hhcmFjdGVyaXN0aWNzLiAgQW1vbmcgdGhlCmluZm9ybWF0aW9uIHJldHVybmVkIGJ5IHRoaXMg ZnVuY3Rpb24gaXMKdGhlIG1pbmltdW0gYW5kIG1heGltdW0gaW5wdXQgc2lnbmFscyBmb3IgdGhl CmJhY2tsaWdodAoKQ2FsbCB0aGF0IGZ1bmN0aW9uIG9uIEFDUEkgaW5pdC4gIFdoZW4gRE0KYmFj a2xpZ2h0IGRldmljZSBpcyB1cGRhdGVkLCBjb3B5IG92ZXIgdGhlCmJhY2tsaWdodCBjYXBzIGlu dG8gRE0sIGJ1dCBvbmx5IG9uY2UuICBVc2UKdGhlIGJhY2tsaWdodCBjYXBzIGluIHRoZSBiYWNr bGlnaHQtdG8tZGMKY2FsY3VsYXRpb24uCgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBGcmFuY2lzIDxE YXZpZC5GcmFuY2lzQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1LmggICAgICAgICAgIHwgIDMgKwogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2FjcGkuYyAgICAgIHwgODMgKysrKysrKysrKysrKysrKysrKwogLi4uL2dwdS9kcm0vYW1kL2Rp c3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jIHwgNTkgKysrKysrKysrKy0tLQogLi4uL2dwdS9k cm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5oIHwgMTMgKysrCiBkcml2ZXJzL2dw dS9kcm0vYW1kL2luY2x1ZGUvYW1kX2FjcGkuaCAgICAgICAgfCAyNCArKysrKysKIDUgZmlsZXMg Y2hhbmdlZCwgMTcwIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1LmgKaW5kZXggMmM4MDQ1M2NhMzUwLi5hZGJhZDBlMmQ0ZWEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCkBAIC0xMjU1LDYgKzEyNTUsOSBAQCBib29sIGFt ZGdwdV9hY3BpX2lzX3BjaWVfcGVyZm9ybWFuY2VfcmVxdWVzdF9zdXBwb3J0ZWQoc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZQogaW50IGFtZGdwdV9hY3BpX3BjaWVfcGVyZm9ybWFuY2VfcmVxdWVz dChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkJCQkJCXU4IHBlcmZfcmVxLCBib29sIGFk dmVydGlzZSk7CiBpbnQgYW1kZ3B1X2FjcGlfcGNpZV9ub3RpZnlfZGV2aWNlX3JlYWR5KHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2KTsKKwordm9pZCBhbWRncHVfYWNwaV9nZXRfYmFja2xpZ2h0 X2NhcHMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCisJCXN0cnVjdCBhbWRncHVfZG1fYmFj a2xpZ2h0X2NhcHMgKmNhcHMpOwogI2Vsc2UKIHN0YXRpYyBpbmxpbmUgaW50IGFtZGdwdV9hY3Bp X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpIHsgcmV0dXJuIDA7IH0KIHN0YXRpYyBp bmxpbmUgdm9pZCBhbWRncHVfYWNwaV9maW5pKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KSB7 IH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hY3BpLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYWNwaS5jCmluZGV4IDQ3MTI2Njkw MWQxYi4uNDdkYjY1OTI2ZDcxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfYWNwaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9h Y3BpLmMKQEAgLTY1LDYgKzY1LDcgQEAgc3RydWN0IGFtZGdwdV9hdGlmIHsKIAlzdHJ1Y3QgYW1k Z3B1X2F0aWZfZnVuY3Rpb25zIGZ1bmN0aW9uczsKIAlzdHJ1Y3QgYW1kZ3B1X2F0aWZfbm90aWZp Y2F0aW9uX2NmZyBub3RpZmljYXRpb25fY2ZnOwogCXN0cnVjdCBhbWRncHVfZW5jb2RlciAqZW5j b2Rlcl9mb3JfYmw7CisJc3RydWN0IGFtZGdwdV9kbV9iYWNrbGlnaHRfY2FwcyBiYWNrbGlnaHRf Y2FwczsKIH07CiAKIC8qIENhbGwgdGhlIEFUSUYgbWV0aG9kCkBAIC0yOTcsNiArMjk4LDY1IEBA IHN0YXRpYyBpbnQgYW1kZ3B1X2F0aWZfZ2V0X25vdGlmaWNhdGlvbl9wYXJhbXMoc3RydWN0IGFt ZGdwdV9hdGlmICphdGlmKQogCXJldHVybiBlcnI7CiB9CiAKKy8qKgorICogYW1kZ3B1X2F0aWZf cXVlcnlfYmFja2xpZ2h0X2NhcHMgLSBnZXQgbWluIGFuZCBtYXggYmFja2xpZ2h0IGlucHV0IHNp Z25hbAorICoKKyAqIEBoYW5kbGU6IGFjcGkgaGFuZGxlCisgKgorICogRXhlY3V0ZSB0aGUgUVVF UllfQlJJR0hUTkVTU19UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1MgQVRJRiBmdW5jdGlvbgorICog dG8gZGV0ZXJtaW5lIHRoZSBhY2NlcHRhYmxlIHJhbmdlIG9mIGJhY2tsaWdodCB2YWx1ZXMKKyAq CisgKiBCYWNrbGlnaHRfY2Fwcy5jYXBzX3ZhbGlkIHdpbGwgYmUgc2V0IHRvIHRydWUgaWYgdGhl IHF1ZXJ5IGlzIHN1Y2Nlc3NmdWwKKyAqCisgKiBUaGUgaW5wdXQgc2lnbmFscyBhcmUgaW4gcmFu Z2UgMC0yNTUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGFzc3VtZXMgdGhlIGRpc3BsYXkgd2l0aCBi YWNrbGlnaHQgaXMgdGhlIGZpcnN0IExDRAorICoKKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBl cnJvciBvbiBmYWlsdXJlLgorICovCitzdGF0aWMgaW50IGFtZGdwdV9hdGlmX3F1ZXJ5X2JhY2ts aWdodF9jYXBzKHN0cnVjdCBhbWRncHVfYXRpZiAqYXRpZikKK3sKKwl1bmlvbiBhY3BpX29iamVj dCAqaW5mbzsKKwlzdHJ1Y3QgYXRpZl9xYnRjX291dHB1dCBjaGFyYWN0ZXJpc3RpY3M7CisJc3Ry dWN0IGF0aWZfcWJ0Y19hcmd1bWVudHMgYXJndW1lbnRzOworCXN0cnVjdCBhY3BpX2J1ZmZlciBw YXJhbXM7CisJc2l6ZV90IHNpemU7CisJaW50IGVyciA9IDA7CisKKwlhcmd1bWVudHMuc2l6ZSA9 IHNpemVvZihhcmd1bWVudHMpOworCWFyZ3VtZW50cy5yZXF1ZXN0ZWRfZGlzcGxheSA9IEFUSUZf UUJUQ19SRVFVRVNUX0xDRDE7CisKKwlwYXJhbXMubGVuZ3RoID0gc2l6ZW9mKGFyZ3VtZW50cyk7 CisJcGFyYW1zLnBvaW50ZXIgPSAodm9pZCAqKSZhcmd1bWVudHM7CisKKwlpbmZvID0gYW1kZ3B1 X2F0aWZfY2FsbChhdGlmLAorCQlBVElGX0ZVTkNUSU9OX1FVRVJZX0JSSUdIVE5FU1NfVFJBTlNG RVJfQ0hBUkFDVEVSSVNUSUNTLAorCQkmcGFyYW1zKTsKKwlpZiAoIWluZm8pIHsKKwkJZXJyID0g LUVJTzsKKwkJZ290byBvdXQ7CisJfQorCisJc2l6ZSA9ICoodTE2ICopIGluZm8tPmJ1ZmZlci5w b2ludGVyOworCWlmIChzaXplIDwgMTApIHsKKwkJZXJyID0gLUVJTlZBTDsKKwkJZ290byBvdXQ7 CisJfQorCisJbWVtc2V0KCZjaGFyYWN0ZXJpc3RpY3MsIDAsIHNpemVvZihjaGFyYWN0ZXJpc3Rp Y3MpKTsKKwlzaXplID0gbWluKHNpemVvZihjaGFyYWN0ZXJpc3RpY3MpLCBzaXplKTsKKwltZW1j cHkoJmNoYXJhY3RlcmlzdGljcywgaW5mby0+YnVmZmVyLnBvaW50ZXIsIHNpemUpOworCisJYXRp Zi0+YmFja2xpZ2h0X2NhcHMuY2Fwc192YWxpZCA9IHRydWU7CisJYXRpZi0+YmFja2xpZ2h0X2Nh cHMubWluX2lucHV0X3NpZ25hbCA9CisJCQljaGFyYWN0ZXJpc3RpY3MubWluX2lucHV0X3NpZ25h bDsKKwlhdGlmLT5iYWNrbGlnaHRfY2Fwcy5tYXhfaW5wdXRfc2lnbmFsID0KKwkJCWNoYXJhY3Rl cmlzdGljcy5tYXhfaW5wdXRfc2lnbmFsOworb3V0OgorCWtmcmVlKGluZm8pOworCXJldHVybiBl cnI7Cit9CisKIC8qKgogICogYW1kZ3B1X2F0aWZfZ2V0X3NiaW9zX3JlcXVlc3RzIC0gZ2V0IHJl cXVlc3RlZCBzYmlvcyBldmVudAogICoKQEAgLTc4Niw2ICs4NDYsMTcgQEAgaW50IGFtZGdwdV9h Y3BpX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJCX0KIAl9CiAKKwlpZiAoYXRp Zi0+ZnVuY3Rpb25zLnF1ZXJ5X2JhY2tsaWdodF90cmFuc2Zlcl9jaGFyYWN0ZXJpc3RpY3MpIHsK KwkJcmV0ID0gYW1kZ3B1X2F0aWZfcXVlcnlfYmFja2xpZ2h0X2NhcHMoYXRpZik7CisJCWlmIChy ZXQpIHsKKwkJCURSTV9ERUJVR19EUklWRVIoIkNhbGwgdG8gUVVFUllfQkFDS0xJR0hUX1RSQU5T RkVSX0NIQVJBQ1RFUklTVElDUyBmYWlsZWQ6ICVkXG4iLAorCQkJCQlyZXQpOworCQkJYXRpZi0+ YmFja2xpZ2h0X2NhcHMuY2Fwc192YWxpZCA9IGZhbHNlOworCQl9CisJfSBlbHNlIHsKKwkJYXRp Zi0+YmFja2xpZ2h0X2NhcHMuY2Fwc192YWxpZCA9IGZhbHNlOworCX0KKwogb3V0OgogCWFkZXYt PmFjcGlfbmIubm90aWZpZXJfY2FsbCA9IGFtZGdwdV9hY3BpX2V2ZW50OwogCXJlZ2lzdGVyX2Fj cGlfbm90aWZpZXIoJmFkZXYtPmFjcGlfbmIpOwpAQCAtNzkzLDYgKzg2NCwxOCBAQCBpbnQgYW1k Z3B1X2FjcGlfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAlyZXR1cm4gcmV0Owog fQogCit2b2lkIGFtZGdwdV9hY3BpX2dldF9iYWNrbGlnaHRfY2FwcyhzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldiwKKwkJc3RydWN0IGFtZGdwdV9kbV9iYWNrbGlnaHRfY2FwcyAqY2FwcykKK3sK KwlpZiAoIWFkZXYtPmF0aWYpIHsKKwkJY2Fwcy0+Y2Fwc192YWxpZCA9IGZhbHNlOworCQlyZXR1 cm47CisJfQorCWNhcHMtPmNhcHNfdmFsaWQgPSBhZGV2LT5hdGlmLT5iYWNrbGlnaHRfY2Fwcy5j YXBzX3ZhbGlkOworCWNhcHMtPm1pbl9pbnB1dF9zaWduYWwgPSBhZGV2LT5hdGlmLT5iYWNrbGln aHRfY2Fwcy5taW5faW5wdXRfc2lnbmFsOworCWNhcHMtPm1heF9pbnB1dF9zaWduYWwgPSBhZGV2 LT5hdGlmLT5iYWNrbGlnaHRfY2Fwcy5tYXhfaW5wdXRfc2lnbmFsOworfQorCiAvKioKICAqIGFt ZGdwdV9hY3BpX2ZpbmkgLSB0ZWFyIGRvd24gZHJpdmVyIGFjcGkgc3VwcG9ydAogICoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCmluZGV4 IDA5MGE2MDJmMzAxNC4uMGJjY2VhMDczZjlkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMKQEAgLTE1OTAsMjcgKzE1OTAsNjAgQEAg c3RhdGljIGludCBhbWRncHVfZG1fbW9kZV9jb25maWdfaW5pdChzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldikKIAlyZXR1cm4gMDsKIH0KIAorI2RlZmluZSBBTURHUFVfRE1fREVGQVVMVF9NSU5f QkFDS0xJR0hUIDEyCisjZGVmaW5lIEFNREdQVV9ETV9ERUZBVUxUX01BWF9CQUNLTElHSFQgMjU1 CisKICNpZiBkZWZpbmVkKENPTkZJR19CQUNLTElHSFRfQ0xBU1NfREVWSUNFKSB8fFwKIAlkZWZp bmVkKENPTkZJR19CQUNLTElHSFRfQ0xBU1NfREVWSUNFX01PRFVMRSkKIAorc3RhdGljIHZvaWQg YW1kZ3B1X2RtX3VwZGF0ZV9iYWNrbGlnaHRfY2FwcyhzdHJ1Y3QgYW1kZ3B1X2Rpc3BsYXlfbWFu YWdlciAqZG0pCit7CisjaWYgZGVmaW5lZChDT05GSUdfQUNQSSkKKwlzdHJ1Y3QgYW1kZ3B1X2Rt X2JhY2tsaWdodF9jYXBzIGNhcHM7CisKKwlpZiAoZG0tPmJhY2tsaWdodF9jYXBzLmNhcHNfdmFs aWQpCisJCXJldHVybjsKKworCWFtZGdwdV9hY3BpX2dldF9iYWNrbGlnaHRfY2FwcyhkbS0+YWRl diwgJmNhcHMpOworCWlmIChjYXBzLmNhcHNfdmFsaWQpIHsKKwkJZG0tPmJhY2tsaWdodF9jYXBz Lm1pbl9pbnB1dF9zaWduYWwgPSBjYXBzLm1pbl9pbnB1dF9zaWduYWw7CisJCWRtLT5iYWNrbGln aHRfY2Fwcy5tYXhfaW5wdXRfc2lnbmFsID0gY2Fwcy5tYXhfaW5wdXRfc2lnbmFsOworCQlkbS0+ YmFja2xpZ2h0X2NhcHMuY2Fwc192YWxpZCA9IHRydWU7CisJfSBlbHNlIHsKKwkJZG0tPmJhY2ts aWdodF9jYXBzLm1pbl9pbnB1dF9zaWduYWwgPQorCQkJCUFNREdQVV9ETV9ERUZBVUxUX01JTl9C QUNLTElHSFQ7CisJCWRtLT5iYWNrbGlnaHRfY2Fwcy5tYXhfaW5wdXRfc2lnbmFsID0KKwkJCQlB TURHUFVfRE1fREVGQVVMVF9NQVhfQkFDS0xJR0hUOworCX0KKyNlbHNlCisJZG0tPmJhY2tsaWdo dF9taW5faW5wdXRfc2lnbmFsID0gQU1ER1BVX0RNX0RFRkFVTFRfTUlOX0JBQ0tMSUdIVDsKKwlk bS0+YmFja2xpZ2h0X21heF9pbnB1dF9zaWduYWwgPSBBTURHUFVfRE1fREVGQVVMVF9NQVhfQkFD S0xJR0hUOworI2VuZGlmCit9CisKIHN0YXRpYyBpbnQgYW1kZ3B1X2RtX2JhY2tsaWdodF91cGRh dGVfc3RhdHVzKHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpiZCkKIHsKIAlzdHJ1Y3QgYW1kZ3B1 X2Rpc3BsYXlfbWFuYWdlciAqZG0gPSBibF9nZXRfZGF0YShiZCk7CisJc3RydWN0IGFtZGdwdV9k bV9iYWNrbGlnaHRfY2FwcyBjYXBzOworCXVpbnQzMl90IGJyaWdodG5lc3MgPSBiZC0+cHJvcHMu YnJpZ2h0bmVzczsKIAotCS8qIGJhY2tsaWdodF9wd21fdTE2XzE2IHBhcmFtZXRlciBpcyBpbiB1 bnNpZ25lZCAzMiBiaXQsIDE2IGJpdCBpbnRlZ2VyCi0JICogYW5kIDE2IGJpdCBmcmFjdGlvbmFs LCB3aGVyZSAxLjAgaXMgbWF4IGJhY2tsaWdodCB2YWx1ZS4KLQkgKiBiZC0+cHJvcHMuYnJpZ2h0 bmVzcyBpcyA4IGJpdCBmb3JtYXQgYW5kIG5lZWRzIHRvIGJlIGNvbnZlcnRlZCBieQotCSAqIHNj YWxpbmcgdmlhIGNvcHkgbG93ZXIgYnl0ZSB0byB1cHBlciBieXRlIG9mIDE2IGJpdCB2YWx1ZS4K LQkgKi8KLQl1aW50MzJfdCBicmlnaHRuZXNzID0gYmQtPnByb3BzLmJyaWdodG5lc3MgKiAweDEw MTsKLQorCWFtZGdwdV9kbV91cGRhdGVfYmFja2xpZ2h0X2NhcHMoZG0pOworCWNhcHMgPSBkbS0+ YmFja2xpZ2h0X2NhcHM7CiAJLyoKLQkgKiBQV00gaW50ZXJwZXJ0cyAwIGFzIDEwMCUgcmF0aGVy IHRoYW4gMCUgYmVjYXVzZSBvZiBIVwotCSAqIGxpbWl0YXRpb24gZm9yIGxldmVsIDAuICBTbyBs aW1pdGluZyBtaW5pbXVtIGJyaWdodG5lc3MgbGV2ZWwKLQkgKiB0byAxLgorCSAqIFRoZSBicmln aHRuZXNzIGlucHV0IGlzIGluIHRoZSByYW5nZSAwLTI1NQorCSAqIEl0IG5lZWRzIHRvIGJlIHJl c2NhbGVkIHRvIGJlIGJldHdlZW4gdGhlCisJICogcmVxdWVzdGVkIG1pbiBhbmQgbWF4IGlucHV0 IHNpZ25hbAorCSAqCisJICogSXQgYWxzbyBuZWVkcyB0byBiZSBzY2FsZWQgdXAgYnkgMHgxMDEg dG8KKwkgKiBtYXRjaCB0aGUgREMgaW50ZXJmYWNlIHdoaWNoIGhhcyBhIHJhbmdlIG9mCisJICog MCB0byAweGZmZmYKIAkgKi8KLQlpZiAoYmQtPnByb3BzLmJyaWdodG5lc3MgPCAxKQotCQlicmln aHRuZXNzID0gMHgxMDE7CisJYnJpZ2h0bmVzcyA9CisJCWJyaWdodG5lc3MKKwkJKiAweDEwMQor CQkqIChjYXBzLm1heF9pbnB1dF9zaWduYWwgLSBjYXBzLm1pbl9pbnB1dF9zaWduYWwpCisJCS8g QU1ER1BVX01BWF9CTF9MRVZFTAorCQkrIGNhcHMubWluX2lucHV0X3NpZ25hbCAqIDB4MTAxOwog CiAJaWYgKGRjX2xpbmtfc2V0X2JhY2tsaWdodF9sZXZlbChkbS0+YmFja2xpZ2h0X2xpbmssCiAJ CQlicmlnaHRuZXNzLCAwLCAwKSkKQEAgLTE2NDAsNiArMTY3Myw4IEBAIGFtZGdwdV9kbV9yZWdp c3Rlcl9iYWNrbGlnaHRfZGV2aWNlKHN0cnVjdCBhbWRncHVfZGlzcGxheV9tYW5hZ2VyICpkbSkK IAljaGFyIGJsX25hbWVbMTZdOwogCXN0cnVjdCBiYWNrbGlnaHRfcHJvcGVydGllcyBwcm9wcyA9 IHsgMCB9OwogCisJYW1kZ3B1X2RtX3VwZGF0ZV9iYWNrbGlnaHRfY2FwcyhkbSk7CisKIAlwcm9w cy5tYXhfYnJpZ2h0bmVzcyA9IEFNREdQVV9NQVhfQkxfTEVWRUw7CiAJcHJvcHMuYnJpZ2h0bmVz cyA9IEFNREdQVV9NQVhfQkxfTEVWRUw7CiAJcHJvcHMudHlwZSA9IEJBQ0tMSUdIVF9SQVc7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9k bS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uaApp bmRleCAzYzJmYmZhYzkzOGYuLmI4ZTcyNGE1ZmQ2ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5oCkBAIC04Myw2ICs4MywxOCBAQCBz dHJ1Y3QgZG1fY29tcmVzc29yX2luZm8gewogCXVpbnQ2NF90IGdwdV9hZGRyOwogfTsKIAorLyoq CisgKiBzdHJ1Y3QgYW1kZ3B1X2RtX2JhY2tsaWdodF9jYXBzIC0gVXNhYmxlIHJhbmdlIG9mIGJh Y2tsaWdodCB2YWx1ZXMgZnJvbSBBQ1BJCisgKiBAbWluX2lucHV0X3NpZ25hbDogbWluaW11bSBw b3NzaWJsZSBpbnB1dCBpbiByYW5nZSAwLTI1NQorICogQG1heF9pbnB1dF9zaWduYWw6IG1heGlt dW0gcG9zc2libGUgaW5wdXQgaW4gcmFuZ2UgMC0yNTUKKyAqIEBjYXBzX3ZhbGlkOiB0cnVlIGlm IHRoZXNlIHZhbHVlcyBhcmUgZnJvbSB0aGUgQUNQSSBpbnRlcmZhY2UKKyAqLworc3RydWN0IGFt ZGdwdV9kbV9iYWNrbGlnaHRfY2FwcyB7CisJaW50IG1pbl9pbnB1dF9zaWduYWw7CisJaW50IG1h eF9pbnB1dF9zaWduYWw7CisJYm9vbCBjYXBzX3ZhbGlkOworfTsKKwogLyoqCiAgKiBzdHJ1Y3Qg YW1kZ3B1X2Rpc3BsYXlfbWFuYWdlciAtIENlbnRyYWwgYW1kZ3B1IGRpc3BsYXkgbWFuYWdlciBk ZXZpY2UKICAqCkBAIC0xNTgsNiArMTcwLDcgQEAgc3RydWN0IGFtZGdwdV9kaXNwbGF5X21hbmFn ZXIgewogCXN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpiYWNrbGlnaHRfZGV2OwogCiAJY29uc3Qg c3RydWN0IGRjX2xpbmsgKmJhY2tsaWdodF9saW5rOworCXN0cnVjdCBhbWRncHVfZG1fYmFja2xp Z2h0X2NhcHMgYmFja2xpZ2h0X2NhcHM7CiAKIAlzdHJ1Y3QgbW9kX2ZyZWVzeW5jICpmcmVlc3lu Y19tb2R1bGU7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9hbWRf YWNwaS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9pbmNsdWRlL2FtZF9hY3BpLmgKaW5kZXggODk4 MGVkZmU1ZmE5Li5jNzJjYmZlOGY2ODQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv aW5jbHVkZS9hbWRfYWNwaS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9hbWRf YWNwaS5oCkBAIC01Miw2ICs1MiwzMCBAQCBzdHJ1Y3QgYXRpZl9zYmlvc19yZXF1ZXN0cyB7CiAJ dTggYmFja2xpZ2h0X2xldmVsOwkvKiBwYW5lbCBiYWNrbGlnaHQgbGV2ZWwgKDAtMjU1KSAqLwog fSBfX3BhY2tlZDsKIAorc3RydWN0IGF0aWZfcWJ0Y19hcmd1bWVudHMgeworCXUxNiBzaXplOwkJ Lyogc3RydWN0dXJlIHNpemUgaW4gYnl0ZXMgKGluY2x1ZGVzIHNpemUgZmllbGQpICovCisJdTgg cmVxdWVzdGVkX2Rpc3BsYXk7CS8qIHdoaWNoIGRpc3BsYXkgaXMgcmVxdWVzdGVkICovCit9IF9f cGFja2VkOworCisjZGVmaW5lIEFUSUZfUUJUQ19NQVhfREFUQV9QT0lOVFMgOTkKKworc3RydWN0 IGF0aWZfcWJ0Y19kYXRhX3BvaW50IHsKKwl1OCBsdW1pbmFuY2U7CQkvKiBsdW1pbmFuY2UgaW4g cGVyY2VudCAqLworCXU4IGlwbnV0X3NpZ25hbDsJLyogaW5wdXQgc2lnbmFsIGluIHJhbmdlIDAt MjU1ICovCit9IF9fcGFja2VkOworCitzdHJ1Y3QgYXRpZl9xYnRjX291dHB1dCB7CisJdTE2IHNp emU7CQkvKiBzdHJ1Y3R1cmUgc2l6ZSBpbiBieXRlcyAoaW5jbHVkZXMgc2l6ZSBmaWVsZCkgKi8K Kwl1MTYgZmxhZ3M7CQkvKiBhbGwgemVyb2VzICovCisJdTggZXJyb3JfY29kZTsJCS8qIGVycm9y IGNvZGUgKi8KKwl1OCBhY19sZXZlbDsJCS8qIGRlZmF1bHQgYnJpZ2h0bmVzcyBvbiBBQyBwb3dl ciAqLworCXU4IGRjX2xldmVsOwkJLyogZGVmYXVsdCBicmlnaHRuZXNzIG9uIERDIHBvd2VyICov CisJdTggbWluX2lucHV0X3NpZ25hbDsJLyogbWF4IGlucHV0IHNpZ25hbCBpbiByYW5nZSAwLTI1 NSAqLworCXU4IG1heF9pbnB1dF9zaWduYWw7CS8qIG1pbiBpbnB1dCBzaWduYWwgaW4gcmFuZ2Ug MC0yNTUgKi8KKwl1OCBudW1iZXJfb2ZfcG9pbnRzOwkvKiBudW1iZXIgb2YgZGF0YSBwb2ludHMg Ki8KKwlzdHJ1Y3QgYXRpZl9xYnRjX2RhdGFfcG9pbnQgZGF0YV9wb2ludHNbQVRJRl9RQlRDX01B WF9EQVRBX1BPSU5UU107Cit9IF9fcGFja2VkOworCiAjZGVmaW5lIEFUSUZfTk9USUZZX01BU0sJ MHgzCiAjZGVmaW5lIEFUSUZfTk9USUZZX05PTkUJMAogI2RlZmluZSBBVElGX05PVElGWV84MQkJ MQotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK