From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 14/17] drm/amdgpu: add si dpm support in amdgpu_atombios Date: Sat, 14 May 2016 15:26:26 -0400 Message-ID: <1463253989-28924-15-git-send-email-alexander.deucher@amd.com> References: <1463253989-28924-1-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qg0-x243.google.com (mail-qg0-x243.google.com [IPv6:2607:f8b0:400d:c04::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 67D9A6E2EC for ; Sat, 14 May 2016 19:26:47 +0000 (UTC) Received: by mail-qg0-x243.google.com with SMTP id e35so10623579qge.1 for ; Sat, 14 May 2016 12:26:47 -0700 (PDT) In-Reply-To: <1463253989-28924-1-git-send-email-alexander.deucher@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Alex Deucher , Maruthi Bayyavarapu List-Id: dri-devel@lists.freedesktop.org RnJvbTogTWFydXRoaSBTcmluaXZhcyBCYXl5YXZhcmFwdSA8TWFydXRoaS5CYXl5YXZhcmFwdUBh bWQuY29tPgoKdjI6IHJlbmFtZWQgX2F0b21fIHRvIF9hdG9tYmlvc18gZm9yIGNvbnNpc3RlbmN5 CiAgICBhZGRlZCB1bENsb2NrUGFyYW1zIHRvIF9DT01QVVRFX01FTU9SWV9FTkdJTkVfUExMX1BB UkFNRVRFUlNfVjMgYW5kCiAgICBfQ09NUFVURV9NRU1PUllfRU5HSU5FX1BMTF9QQVJBTUVURVJT X1Y1IHRvIGF2b2lkIGJ1aWxkIGJyZWFrCgpTaWduZWQtb2ZmLWJ5OiBNYXJ1dGhpIEJheXlhdmFy YXB1IDxtYXJ1dGhpLmJheXlhdmFyYXB1QGFtZC5jb20+ClJldmlld2VkLWJ5OiBBbGV4IERldWNo ZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+ClNpZ25lZC1vZmYtYnk6IEFsZXggRGV1Y2hl ciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfYXRvbWJpb3MuYyB8IDE1OCArKysrKysrKysrKysrKysrKysrKysrKysrKysK IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hdG9tYmlvcy5oIHwgIDE2ICsrLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9pbmNsdWRlL2F0b21iaW9zLmggICAgICAgfCAgIDIgKwogMyBm aWxlcyBjaGFuZ2VkLCAxNzUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hdG9tYmlvcy5jIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2F0b21iaW9zLmMKaW5kZXggOWRmMWJjYi4uMDMz YTIyYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2F0b21i aW9zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2F0b21iaW9zLmMK QEAgLTk2MCw2ICs5NjAsNDggQEAgaW50IGFtZGdwdV9hdG9tYmlvc19nZXRfY2xvY2tfZGl2aWRl cnMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCXJldHVybiAtRUlOVkFMOwogCiAJc3dp dGNoIChjcmV2KSB7CisJY2FzZSAyOgorCWNhc2UgMzoKKwljYXNlIDU6CisJCS8qIHI2eHgsIHI3 eHgsIGV2ZXJncmVlbiwgbmksIHNpLgorCQkgKiBUT0RPOiBhZGQgc3VwcG9ydCBmb3IgYXNpY190 eXBlIDw9IENISVBfUlY3NzAqLworCQlpZiAoY2xvY2tfdHlwZSA9PSBDT01QVVRFX0VOR0lORV9Q TExfUEFSQU0pIHsKKwkJCWFyZ3MudjMudWxDbG9ja1BhcmFtcyA9IGNwdV90b19sZTMyKChjbG9j a190eXBlIDw8IDI0KSB8IGNsb2NrKTsKKworCQkJYW1kZ3B1X2F0b21fZXhlY3V0ZV90YWJsZShh ZGV2LT5tb2RlX2luZm8uYXRvbV9jb250ZXh0LCBpbmRleCwgKHVpbnQzMl90ICopJmFyZ3MpOwor CisJCQlkaXZpZGVycy0+cG9zdF9kaXYgPSBhcmdzLnYzLnVjUG9zdERpdjsKKwkJCWRpdmlkZXJz LT5lbmFibGVfcG9zdF9kaXYgPSAoYXJncy52My51Y0NudGxGbGFnICYKKwkJCQkJCSAgICAgQVRP TV9QTExfQ05UTF9GTEFHX1BMTF9QT1NUX0RJVl9FTikgPyB0cnVlIDogZmFsc2U7CisJCQlkaXZp ZGVycy0+ZW5hYmxlX2RpdGhlbiA9IChhcmdzLnYzLnVjQ250bEZsYWcgJgorCQkJCQkJICAgQVRP TV9QTExfQ05UTF9GTEFHX0ZSQUNUSU9OX0RJU0FCTEUpID8gZmFsc2UgOiB0cnVlOworCQkJZGl2 aWRlcnMtPndob2xlX2ZiX2RpdiA9IGxlMTZfdG9fY3B1KGFyZ3MudjMudWxGYkRpdi51c0ZiRGl2 KTsKKwkJCWRpdmlkZXJzLT5mcmFjX2ZiX2RpdiA9IGxlMTZfdG9fY3B1KGFyZ3MudjMudWxGYkRp di51c0ZiRGl2RnJhYyk7CisJCQlkaXZpZGVycy0+cmVmX2RpdiA9IGFyZ3MudjMudWNSZWZEaXY7 CisJCQlkaXZpZGVycy0+dmNvX21vZGUgPSAoYXJncy52My51Y0NudGxGbGFnICYKKwkJCQkJICAg ICAgQVRPTV9QTExfQ05UTF9GTEFHX01QTExfVkNPX01PREUpID8gMSA6IDA7CisJCX0gZWxzZSB7 CisJCQkvKiBmb3IgU0kgd2UgdXNlIENvbXB1dGVNZW1vcnlDbG9ja1BhcmFtIGZvciBtZW1vcnkg cGxscyAqLworCQkJaWYgKGFkZXYtPmFzaWNfdHlwZSA+PSBDSElQX1RBSElUSSkKKwkJCQlyZXR1 cm4gLUVJTlZBTDsKKwkJCWFyZ3MudjUudWxDbG9ja1BhcmFtcyA9IGNwdV90b19sZTMyKChjbG9j a190eXBlIDw8IDI0KSB8IGNsb2NrKTsKKwkJCWlmIChzdHJvYmVfbW9kZSkKKwkJCQlhcmdzLnY1 LnVjSW5wdXRGbGFnID0gQVRPTV9QTExfSU5QVVRfRkxBR19QTExfU1RST0JFX01PREVfRU47CisK KwkJCWFtZGdwdV9hdG9tX2V4ZWN1dGVfdGFibGUoYWRldi0+bW9kZV9pbmZvLmF0b21fY29udGV4 dCwgaW5kZXgsICh1aW50MzJfdCAqKSZhcmdzKTsKKworCQkJZGl2aWRlcnMtPnBvc3RfZGl2ID0g YXJncy52NS51Y1Bvc3REaXY7CisJCQlkaXZpZGVycy0+ZW5hYmxlX3Bvc3RfZGl2ID0gKGFyZ3Mu djUudWNDbnRsRmxhZyAmCisJCQkJCQkgICAgIEFUT01fUExMX0NOVExfRkxBR19QTExfUE9TVF9E SVZfRU4pID8gdHJ1ZSA6IGZhbHNlOworCQkJZGl2aWRlcnMtPmVuYWJsZV9kaXRoZW4gPSAoYXJn cy52NS51Y0NudGxGbGFnICYKKwkJCQkJCSAgIEFUT01fUExMX0NOVExfRkxBR19GUkFDVElPTl9E SVNBQkxFKSA/IGZhbHNlIDogdHJ1ZTsKKwkJCWRpdmlkZXJzLT53aG9sZV9mYl9kaXYgPSBsZTE2 X3RvX2NwdShhcmdzLnY1LnVsRmJEaXYudXNGYkRpdik7CisJCQlkaXZpZGVycy0+ZnJhY19mYl9k aXYgPSBsZTE2X3RvX2NwdShhcmdzLnY1LnVsRmJEaXYudXNGYkRpdkZyYWMpOworCQkJZGl2aWRl cnMtPnJlZl9kaXYgPSBhcmdzLnY1LnVjUmVmRGl2OworCQkJZGl2aWRlcnMtPnZjb19tb2RlID0g KGFyZ3MudjUudWNDbnRsRmxhZyAmCisJCQkJCSAgICAgIEFUT01fUExMX0NOVExfRkxBR19NUExM X1ZDT19NT0RFKSA/IDEgOiAwOworCQl9CisJCWJyZWFrOwogCWNhc2UgNDoKIAkJLyogZnVzaW9u ICovCiAJCWFyZ3MudjQudWxDbG9jayA9IGNwdV90b19sZTMyKGNsb2NrKTsJLyogMTAga2h6ICov CkBAIC0xMTA0LDYgKzExNDYsMzIgQEAgdm9pZCBhbWRncHVfYXRvbWJpb3Nfc2V0X2VuZ2luZV9k cmFtX3RpbWluZ3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJYW1kZ3B1X2F0b21fZXhl Y3V0ZV90YWJsZShhZGV2LT5tb2RlX2luZm8uYXRvbV9jb250ZXh0LCBpbmRleCwgKHVpbnQzMl90 ICopJmFyZ3MpOwogfQogCit2b2lkIGFtZGdwdV9hdG9tYmlvc19nZXRfZGVmYXVsdF92b2x0YWdl cyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJCQkJICB1MTYgKnZkZGMsIHUxNiAqdmRk Y2ksIHUxNiAqbXZkZCkKK3sKKwlzdHJ1Y3QgYW1kZ3B1X21vZGVfaW5mbyAqbW9kZV9pbmZvID0g JmFkZXYtPm1vZGVfaW5mbzsKKwlpbnQgaW5kZXggPSBHZXRJbmRleEludG9NYXN0ZXJUYWJsZShE QVRBLCBGaXJtd2FyZUluZm8pOworCXU4IGZyZXYsIGNyZXY7CisJdTE2IGRhdGFfb2Zmc2V0Owor CXVuaW9uIGZpcm13YXJlX2luZm8gKmZpcm13YXJlX2luZm87CisKKwkqdmRkYyA9IDA7CisJKnZk ZGNpID0gMDsKKwkqbXZkZCA9IDA7CisKKwlpZiAoYW1kZ3B1X2F0b21fcGFyc2VfZGF0YV9oZWFk ZXIobW9kZV9pbmZvLT5hdG9tX2NvbnRleHQsIGluZGV4LCBOVUxMLAorCQkJCSAgICZmcmV2LCAm Y3JldiwgJmRhdGFfb2Zmc2V0KSkgeworCQlmaXJtd2FyZV9pbmZvID0KKwkJCSh1bmlvbiBmaXJt d2FyZV9pbmZvICopKG1vZGVfaW5mby0+YXRvbV9jb250ZXh0LT5iaW9zICsKKwkJCQkJCWRhdGFf b2Zmc2V0KTsKKwkJKnZkZGMgPSBsZTE2X3RvX2NwdShmaXJtd2FyZV9pbmZvLT5pbmZvXzE0LnVz Qm9vdFVwVkREQ1ZvbHRhZ2UpOworCQlpZiAoKGZyZXYgPT0gMikgJiYgKGNyZXYgPj0gMikpIHsK KwkJCSp2ZGRjaSA9IGxlMTZfdG9fY3B1KGZpcm13YXJlX2luZm8tPmluZm9fMjIudXNCb290VXBW RERDSVZvbHRhZ2UpOworCQkJKm12ZGQgPSBsZTE2X3RvX2NwdShmaXJtd2FyZV9pbmZvLT5pbmZv XzIyLnVzQm9vdFVwTVZERENWb2x0YWdlKTsKKwkJfQorCX0KK30KKwogdW5pb24gc2V0X3ZvbHRh Z2UgewogCXN0cnVjdCBfU0VUX1ZPTFRBR0VfUFNfQUxMT0NBVElPTiBhbGxvYzsKIAlzdHJ1Y3Qg X1NFVF9WT0xUQUdFX1BBUkFNRVRFUlMgdjE7CkBAIC0xMTExLDYgKzExNzksNTIgQEAgdW5pb24g c2V0X3ZvbHRhZ2UgewogCXN0cnVjdCBfU0VUX1ZPTFRBR0VfUEFSQU1FVEVSU19WMV8zIHYzOwog fTsKIAoraW50IGFtZGdwdV9hdG9tYmlvc19nZXRfbWF4X3ZkZGMoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYsIHU4IHZvbHRhZ2VfdHlwZSwKKwkJCSAgICAgdTE2IHZvbHRhZ2VfaWQsIHUxNiAq dm9sdGFnZSkKK3sKKwl1bmlvbiBzZXRfdm9sdGFnZSBhcmdzOworCWludCBpbmRleCA9IEdldElu ZGV4SW50b01hc3RlclRhYmxlKENPTU1BTkQsIFNldFZvbHRhZ2UpOworCXU4IGZyZXYsIGNyZXY7 CisKKwlpZiAoIWFtZGdwdV9hdG9tX3BhcnNlX2NtZF9oZWFkZXIoYWRldi0+bW9kZV9pbmZvLmF0 b21fY29udGV4dCwgaW5kZXgsICZmcmV2LCAmY3JldikpCisJCXJldHVybiAtRUlOVkFMOworCisJ c3dpdGNoIChjcmV2KSB7CisJY2FzZSAxOgorCQlyZXR1cm4gLUVJTlZBTDsKKwljYXNlIDI6CisJ CWFyZ3MudjIudWNWb2x0YWdlVHlwZSA9IFNFVF9WT0xUQUdFX0dFVF9NQVhfVk9MVEFHRTsKKwkJ YXJncy52Mi51Y1ZvbHRhZ2VNb2RlID0gMDsKKwkJYXJncy52Mi51c1ZvbHRhZ2VMZXZlbCA9IDA7 CisKKwkJYW1kZ3B1X2F0b21fZXhlY3V0ZV90YWJsZShhZGV2LT5tb2RlX2luZm8uYXRvbV9jb250 ZXh0LCBpbmRleCwgKHVpbnQzMl90ICopJmFyZ3MpOworCisJCSp2b2x0YWdlID0gbGUxNl90b19j cHUoYXJncy52Mi51c1ZvbHRhZ2VMZXZlbCk7CisJCWJyZWFrOworCWNhc2UgMzoKKwkJYXJncy52 My51Y1ZvbHRhZ2VUeXBlID0gdm9sdGFnZV90eXBlOworCQlhcmdzLnYzLnVjVm9sdGFnZU1vZGUg PSBBVE9NX0dFVF9WT0xUQUdFX0xFVkVMOworCQlhcmdzLnYzLnVzVm9sdGFnZUxldmVsID0gY3B1 X3RvX2xlMTYodm9sdGFnZV9pZCk7CisKKwkJYW1kZ3B1X2F0b21fZXhlY3V0ZV90YWJsZShhZGV2 LT5tb2RlX2luZm8uYXRvbV9jb250ZXh0LCBpbmRleCwgKHVpbnQzMl90ICopJmFyZ3MpOworCisJ CSp2b2x0YWdlID0gbGUxNl90b19jcHUoYXJncy52My51c1ZvbHRhZ2VMZXZlbCk7CisJCWJyZWFr OworCWRlZmF1bHQ6CisJCURSTV9FUlJPUigiVW5rbm93biB0YWJsZSB2ZXJzaW9uICVkLCAlZFxu IiwgZnJldiwgY3Jldik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJldHVybiAwOworfQor CitpbnQgYW1kZ3B1X2F0b21iaW9zX2dldF9sZWFrYWdlX3ZkZGNfYmFzZWRfb25fbGVha2FnZV9p ZHgoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCisJCQkJCQkgICAgICB1MTYgKnZvbHRhZ2Us CisJCQkJCQkgICAgICB1MTYgbGVha2FnZV9pZHgpCit7CisJcmV0dXJuIGFtZGdwdV9hdG9tYmlv c19nZXRfbWF4X3ZkZGMoYWRldiwgVk9MVEFHRV9UWVBFX1ZEREMsIGxlYWthZ2VfaWR4LCB2b2x0 YWdlKTsKK30KKwogdm9pZCBhbWRncHVfYXRvbWJpb3Nfc2V0X3ZvbHRhZ2Uoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYsCiAJCQkJIHUxNiB2b2x0YWdlX2xldmVsLAogCQkJCSB1OCB2b2x0YWdl X3R5cGUpCkBAIC0xMzMxLDYgKzE0NDUsNTAgQEAgc3RhdGljIEFUT01fVk9MVEFHRV9PQkpFQ1Rf VjMgKmFtZGdwdV9hdG9tYmlvc19sb29rdXBfdm9sdGFnZV9vYmplY3RfdjMoQVRPTV9WT0wKIAly ZXR1cm4gTlVMTDsKIH0KIAoraW50IGFtZGdwdV9hdG9tYmlvc19nZXRfc3ZpMl9pbmZvKHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2LAorCQkJICAgICAgdTggdm9sdGFnZV90eXBlLAorCQkJICAg ICAgdTggKnN2ZF9ncGlvX2lkLCB1OCAqc3ZjX2dwaW9faWQpCit7CisJaW50IGluZGV4ID0gR2V0 SW5kZXhJbnRvTWFzdGVyVGFibGUoREFUQSwgVm9sdGFnZU9iamVjdEluZm8pOworCXU4IGZyZXYs IGNyZXY7CisJdTE2IGRhdGFfb2Zmc2V0LCBzaXplOworCXVuaW9uIHZvbHRhZ2Vfb2JqZWN0X2lu Zm8gKnZvbHRhZ2VfaW5mbzsKKwl1bmlvbiB2b2x0YWdlX29iamVjdCAqdm9sdGFnZV9vYmplY3Qg PSBOVUxMOworCisJaWYgKGFtZGdwdV9hdG9tX3BhcnNlX2RhdGFfaGVhZGVyKGFkZXYtPm1vZGVf aW5mby5hdG9tX2NvbnRleHQsIGluZGV4LCAmc2l6ZSwKKwkJCQkgICAmZnJldiwgJmNyZXYsICZk YXRhX29mZnNldCkpIHsKKwkJdm9sdGFnZV9pbmZvID0gKHVuaW9uIHZvbHRhZ2Vfb2JqZWN0X2lu Zm8gKikKKwkJCShhZGV2LT5tb2RlX2luZm8uYXRvbV9jb250ZXh0LT5iaW9zICsgZGF0YV9vZmZz ZXQpOworCisJCXN3aXRjaCAoZnJldikgeworCQljYXNlIDM6CisJCQlzd2l0Y2ggKGNyZXYpIHsK KwkJCWNhc2UgMToKKwkJCQl2b2x0YWdlX29iamVjdCA9ICh1bmlvbiB2b2x0YWdlX29iamVjdCAq KQorCQkJCQlhbWRncHVfYXRvbWJpb3NfbG9va3VwX3ZvbHRhZ2Vfb2JqZWN0X3YzKCZ2b2x0YWdl X2luZm8tPnYzLAorCQkJCQkJCQkgICAgICB2b2x0YWdlX3R5cGUsCisJCQkJCQkJCSAgICAgIFZP TFRBR0VfT0JKX1NWSUQyKTsKKwkJCQlpZiAodm9sdGFnZV9vYmplY3QpIHsKKwkJCQkJKnN2ZF9n cGlvX2lkID0gdm9sdGFnZV9vYmplY3QtPnYzLmFzU1ZJRDJPYmoudWNTVkRHcGlvSWQ7CisJCQkJ CSpzdmNfZ3Bpb19pZCA9IHZvbHRhZ2Vfb2JqZWN0LT52My5hc1NWSUQyT2JqLnVjU1ZDR3Bpb0lk OworCQkJCX0gZWxzZSB7CisJCQkJCXJldHVybiAtRUlOVkFMOworCQkJCX0KKwkJCQlicmVhazsK KwkJCWRlZmF1bHQ6CisJCQkJRFJNX0VSUk9SKCJ1bmtub3duIHZvbHRhZ2Ugb2JqZWN0IHRhYmxl XG4iKTsKKwkJCQlyZXR1cm4gLUVJTlZBTDsKKwkJCX0KKwkJCWJyZWFrOworCQlkZWZhdWx0Ogor CQkJRFJNX0VSUk9SKCJ1bmtub3duIHZvbHRhZ2Ugb2JqZWN0IHRhYmxlXG4iKTsKKwkJCXJldHVy biAtRUlOVkFMOworCQl9CisKKwl9CisJcmV0dXJuIDA7Cit9CisKIGJvb2wKIGFtZGdwdV9hdG9t Ymlvc19pc192b2x0YWdlX2dwaW8oc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCQkJdTgg dm9sdGFnZV90eXBlLCB1OCB2b2x0YWdlX21vZGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfYXRvbWJpb3MuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9hdG9tYmlvcy5oCmluZGV4IDhjMmU2OTYuLmVjNGY5NDEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hdG9tYmlvcy5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hdG9tYmlvcy5oCkBAIC0yMDYsNSArMjA2LDE5 IEBAIHZvaWQgYW1kZ3B1X2F0b21iaW9zX3NjcmF0Y2hfcmVnc19zYXZlKHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2KTsKIHZvaWQgYW1kZ3B1X2F0b21iaW9zX3NjcmF0Y2hfcmVnc19yZXN0b3Jl KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKIAogdm9pZCBhbWRncHVfYXRvbWJpb3NfY29w eV9zd2FwKHU4ICpkc3QsIHU4ICpzcmMsIHU4IG51bV9ieXRlcywgYm9vbCB0b19sZSk7Ci0KK2lu dCBhbWRncHVfYXRvbWJpb3NfZ2V0X21heF92ZGRjKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 LCB1OCB2b2x0YWdlX3R5cGUsCisJCQkgICAgIHUxNiB2b2x0YWdlX2lkLCB1MTYgKnZvbHRhZ2Up OworaW50IGFtZGdwdV9hdG9tYmlvc19nZXRfbGVha2FnZV92ZGRjX2Jhc2VkX29uX2xlYWthZ2Vf aWR4KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAorCQkJCQkJICAgICAgdTE2ICp2b2x0YWdl LAorCQkJCQkJICAgICAgdTE2IGxlYWthZ2VfaWR4KTsKK3ZvaWQgYW1kZ3B1X2F0b21iaW9zX2dl dF9kZWZhdWx0X3ZvbHRhZ2VzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAorCQkJCQkgIHUx NiAqdmRkYywgdTE2ICp2ZGRjaSwgdTE2ICptdmRkKTsKK2ludCBhbWRncHVfYXRvbWJpb3NfZ2V0 X2Nsb2NrX2RpdmlkZXJzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAorCQkJCSAgICAgICB1 OCBjbG9ja190eXBlLAorCQkJCSAgICAgICB1MzIgY2xvY2ssCisJCQkJICAgICAgIGJvb2wgc3Ry b2JlX21vZGUsCisJCQkJICAgICAgIHN0cnVjdCBhdG9tX2Nsb2NrX2RpdmlkZXJzICpkaXZpZGVy cyk7CitpbnQgYW1kZ3B1X2F0b21iaW9zX2dldF9zdmkyX2luZm8oc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYsCisJCQkgICAgICB1OCB2b2x0YWdlX3R5cGUsCisJCQkgICAgICB1OCAqc3ZkX2dw aW9faWQsIHU4ICpzdmNfZ3Bpb19pZCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvaW5jbHVkZS9hdG9tYmlvcy5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9pbmNsdWRl L2F0b21iaW9zLmgKaW5kZXggMzJmM2UzNC4uYjg0MjAxYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9pbmNsdWRlL2F0b21iaW9zLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9p bmNsdWRlL2F0b21iaW9zLmgKQEAgLTQ5NCw2ICs0OTQsNyBAQCB0eXBlZGVmIHN0cnVjdCBfQ09N UFVURV9NRU1PUllfRU5HSU5FX1BMTF9QQVJBTUVURVJTX1YzCiAgIHVuaW9uCiAgIHsKICAgICBB VE9NX0NPTVBVVEVfQ0xPQ0tfRlJFUSAgdWxDbG9jazsgICAgICAgICAvL0lucHV0IFBhcmFtZXRl cgorICAgIFVMT05HIHVsQ2xvY2tQYXJhbXM7ICAgICAgICAgICAgICAgICAgICAgIC8vVUxPTkcg YWNjZXNzIGZvciBCRQogICAgIEFUT01fU19NUExMX0ZCX0RJVklERVIgICB1bEZiRGl2OyAgICAg ICAgIC8vT3V0cHV0IFBhcmFtZXRlcgogICB9OwogICBVQ0hBUiAgIHVjUmVmRGl2OyAgICAgICAg ICAgICAgICAgICAgICAgICAgIC8vT3V0cHV0IFBhcmFtZXRlcgpAQCAtNTI2LDYgKzUyNyw3IEBA IHR5cGVkZWYgc3RydWN0IF9DT01QVVRFX01FTU9SWV9FTkdJTkVfUExMX1BBUkFNRVRFUlNfVjUK ICAgdW5pb24KICAgewogICAgIEFUT01fQ09NUFVURV9DTE9DS19GUkVRICB1bENsb2NrOyAgICAg ICAgIC8vSW5wdXQgUGFyYW1ldGVyCisgICAgVUxPTkcgdWxDbG9ja1BhcmFtczsgICAgICAgICAg ICAgICAgICAgICAgLy9VTE9ORyBhY2Nlc3MgZm9yIEJFCiAgICAgQVRPTV9TX01QTExfRkJfRElW SURFUiAgIHVsRmJEaXY7ICAgICAgICAgLy9PdXRwdXQgUGFyYW1ldGVyCiAgIH07CiAgIFVDSEFS ICAgdWNSZWZEaXY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9PdXRwdXQgUGFyYW1ldGVy Ci0tIAoyLjUuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg==