From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rex Zhu Subject: [PATCH 2/3] drm/amdgpu: Load fw between hw_init/resume_phase1 and phase2 Date: Wed, 10 Oct 2018 21:28:14 +0800 Message-ID: <1539178095-24356-2-git-send-email-Rex.Zhu@amd.com> References: <1539178095-24356-1-git-send-email-Rex.Zhu@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1539178095-24356-1-git-send-email-Rex.Zhu-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: Rex Zhu RXh0cmFjdCB0aGUgZnVuY3Rpb24gb2YgZncgbG9hZGluZyBvdXQgb2YgcG93ZXJwbGF5LgpEbyBm dyBsb2FkaW5nIGJldHdlZW4gaHdfaW5pdC9yZXN1ZW1fcGhhc2UxIGFuZCBwaGFzZTIKClNpZ25l ZC1vZmYtYnk6IFJleCBaaHUgPFJleC5aaHVAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgICAgICAgICB8IDYxICsrKysrKysrKysrKysrKysr KysrKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OF8wLmMgICAgICAgICAgICAg IHwgMTEgLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92M18wLmMgICAgICAg ICAgICAgfCAgOCAtLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2h3bWdy LmMgICAgICAgIHwgMjAgLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5j L2h3bWdyLmggICAgICAgICAgfCAgMSAtCiBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9z bXVtZ3Ivc211N19zbXVtZ3IuYyB8ICA4ICstLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBs YXkvc211bWdyL3NtdThfc211bWdyLmMgfCAgNSAtLQogNyBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNl cnRpb25zKCspLCA1MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfZGV2aWNlLmMKaW5kZXggMzcyNTc0YS4uMWU0ZGQwOSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYwpAQCAtMTU3MCw2ICsxNTcwLDQ3IEBAIHN0YXRp YyBpbnQgYW1kZ3B1X2RldmljZV9pcF9od19pbml0X3BoYXNlMihzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldikKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBhbWRncHVfZGV2aWNlX2Z3X2xv YWRpbmcoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCit7CisJaW50IHIgPSAwOworCWludCBp OworCisJaWYgKGFkZXYtPmFzaWNfdHlwZSA+PSBDSElQX1ZFR0ExMCkgeworCQlmb3IgKGkgPSAw OyBpIDwgYWRldi0+bnVtX2lwX2Jsb2NrczsgaSsrKSB7CisJCQlpZiAoYWRldi0+aXBfYmxvY2tz W2ldLnZlcnNpb24tPnR5cGUgPT0gQU1EX0lQX0JMT0NLX1RZUEVfUFNQKSB7CisJCQkJaWYgKGFk ZXYtPmluX2dwdV9yZXNldCB8fCBhZGV2LT5pbl9zdXNwZW5kKSB7CisJCQkJCWlmIChhbWRncHVf c3Jpb3ZfdmYoYWRldikgJiYgYWRldi0+aW5fZ3B1X3Jlc2V0KQorCQkJCQkJYnJlYWs7IC8qIHNy aW92IGdwdSByZXNldCwgcHNwIG5lZWQgdG8gZG8gaHdfaW5pdCBiZWZvcmUgSUggYmVjYXVzZSBv ZiBodyBsaW1pdCAqLworCQkJCQlyID0gYWRldi0+aXBfYmxvY2tzW2ldLnZlcnNpb24tPmZ1bmNz LT5yZXN1bWUoYWRldik7CisJCQkJCWlmIChyKSB7CisJCQkJCQlEUk1fRVJST1IoInJlc3VtZSBv ZiBJUCBibG9jayA8JXM+IGZhaWxlZCAlZFxuIiwKKwkJCQkJCQkgIGFkZXYtPmlwX2Jsb2Nrc1tp XS52ZXJzaW9uLT5mdW5jcy0+bmFtZSwgcik7CisJCQkJCQlyZXR1cm4gcjsKKwkJCQkJfQorCQkJ CX0gZWxzZSB7CisJCQkJCXIgPSBhZGV2LT5pcF9ibG9ja3NbaV0udmVyc2lvbi0+ZnVuY3MtPmh3 X2luaXQoYWRldik7CisJCQkJCWlmIChyKSB7CisJCQkJCQlEUk1fRVJST1IoImh3X2luaXQgb2Yg SVAgYmxvY2sgPCVzPiBmYWlsZWQgJWRcbiIsCisJCQkJCQkgIGFkZXYtPmlwX2Jsb2Nrc1tpXS52 ZXJzaW9uLT5mdW5jcy0+bmFtZSwgcik7CisJCQkJCQlyZXR1cm4gcjsKKwkJCQkJfQorCQkJCX0K KwkJCQlhZGV2LT5pcF9ibG9ja3NbaV0uc3RhdHVzLmh3ID0gdHJ1ZTsKKwkJCX0KKwkJfQorCX0K KworCWlmIChhZGV2LT5wb3dlcnBsYXkucHBfZnVuY3MtPmxvYWRfZmlybXdhcmUpIHsKKwkJciA9 IGFkZXYtPnBvd2VycGxheS5wcF9mdW5jcy0+bG9hZF9maXJtd2FyZShhZGV2LT5wb3dlcnBsYXku cHBfaGFuZGxlKTsKKwkJaWYgKHIpIHsKKwkJCXByX2VycigiZmlybXdhcmUgbG9hZGluZyBmYWls ZWRcbiIpOworCQkJcmV0dXJuIHI7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKwogLyoqCiAg KiBhbWRncHVfZGV2aWNlX2lwX2luaXQgLSBydW4gaW5pdCBmb3IgaGFyZHdhcmUgSVBzCiAgKgpA QCAtMTYzNCw2ICsxNjc1LDEwIEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2RldmljZV9pcF9pbml0KHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCWlmIChyKQogCQlyZXR1cm4gcjsKIAorCXIgPSBh bWRncHVfZGV2aWNlX2Z3X2xvYWRpbmcoYWRldik7CisJaWYgKHIpCisJCXJldHVybiByOworCiAJ ciA9IGFtZGdwdV9kZXZpY2VfaXBfaHdfaW5pdF9waGFzZTIoYWRldik7CiAJaWYgKHIpCiAJCXJl dHVybiByOwpAQCAtMjE2Nyw3ICsyMjEyLDggQEAgc3RhdGljIGludCBhbWRncHVfZGV2aWNlX2lw X3Jlc3VtZV9waGFzZTIoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJCQljb250aW51ZTsK IAkJaWYgKGFkZXYtPmlwX2Jsb2Nrc1tpXS52ZXJzaW9uLT50eXBlID09IEFNRF9JUF9CTE9DS19U WVBFX0NPTU1PTiB8fAogCQkgICAgYWRldi0+aXBfYmxvY2tzW2ldLnZlcnNpb24tPnR5cGUgPT0g QU1EX0lQX0JMT0NLX1RZUEVfR01DIHx8Ci0JCSAgICBhZGV2LT5pcF9ibG9ja3NbaV0udmVyc2lv bi0+dHlwZSA9PSBBTURfSVBfQkxPQ0tfVFlQRV9JSCkKKwkJICAgIGFkZXYtPmlwX2Jsb2Nrc1tp XS52ZXJzaW9uLT50eXBlID09IEFNRF9JUF9CTE9DS19UWVBFX0lIIHx8CisJCSAgICBhZGV2LT5p cF9ibG9ja3NbaV0udmVyc2lvbi0+dHlwZSA9PSBBTURfSVBfQkxPQ0tfVFlQRV9QU1ApCiAJCQlj b250aW51ZTsKIAkJciA9IGFkZXYtPmlwX2Jsb2Nrc1tpXS52ZXJzaW9uLT5mdW5jcy0+cmVzdW1l KGFkZXYpOwogCQlpZiAocikgewpAQCAtMjE5OSw2ICsyMjQ1LDExIEBAIHN0YXRpYyBpbnQgYW1k Z3B1X2RldmljZV9pcF9yZXN1bWUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJciA9IGFt ZGdwdV9kZXZpY2VfaXBfcmVzdW1lX3BoYXNlMShhZGV2KTsKIAlpZiAocikKIAkJcmV0dXJuIHI7 CisKKwlyID0gYW1kZ3B1X2RldmljZV9md19sb2FkaW5nKGFkZXYpOworCWlmIChyKQorCQlyZXR1 cm4gcjsKKwogCXIgPSBhbWRncHVfZGV2aWNlX2lwX3Jlc3VtZV9waGFzZTIoYWRldik7CiAKIAly ZXR1cm4gcjsKQEAgLTMxNDksNiArMzIwMCwxMCBAQCBzdGF0aWMgaW50IGFtZGdwdV9kZXZpY2Vf cmVzZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJCQlpZiAocikKIAkJCQlnb3RvIG91 dDsKIAorCQkJciA9IGFtZGdwdV9kZXZpY2VfZndfbG9hZGluZyhhZGV2KTsKKwkJCWlmIChyKQor CQkJCXJldHVybiByOworCiAJCQlyID0gYW1kZ3B1X2RldmljZV9pcF9yZXN1bWVfcGhhc2UyKGFk ZXYpOwogCQkJaWYgKHIpCiAJCQkJZ290byBvdXQ7CkBAIC0zMjA1LDYgKzMyNjAsMTAgQEAgc3Rh dGljIGludCBhbWRncHVfZGV2aWNlX3Jlc2V0X3NyaW92KHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2LAogCS8qIHdlIG5lZWQgcmVjb3ZlciBnYXJ0IHByaW9yIHRvIHJ1biBTTUMvQ1AvU0RNQSBy ZXN1bWUgKi8KIAlhbWRncHVfZ3R0X21ncl9yZWNvdmVyKCZhZGV2LT5tbWFuLmJkZXYubWFuW1RU TV9QTF9UVF0pOwogCisJciA9IGFtZGdwdV9kZXZpY2VfZndfbG9hZGluZyhhZGV2KTsKKwlpZiAo cikKKwkJcmV0dXJuIHI7CisKIAkvKiBub3cgd2UgYXJlIG9rYXkgdG8gcmVzdW1lIFNNQy9DUC9T RE1BICovCiAJciA9IGFtZGdwdV9kZXZpY2VfaXBfcmVpbml0X2xhdGVfc3Jpb3YoYWRldik7CiAJ aWYgKHIpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYwppbmRleCA4NDM5ZjlhLi4z ZDBmMjc3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OF8wLmMKQEAgLTQxNzUsMjAg KzQxNzUsOSBAQCBzdGF0aWMgdm9pZCBnZnhfdjhfMF9ybGNfc3RhcnQoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYpCiAKIHN0YXRpYyBpbnQgZ2Z4X3Y4XzBfcmxjX3Jlc3VtZShzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldikKIHsKLQlpbnQgcjsKLQogCWdmeF92OF8wX3JsY19zdG9wKGFkZXYp OwogCWdmeF92OF8wX3JsY19yZXNldChhZGV2KTsKIAlnZnhfdjhfMF9pbml0X3BnKGFkZXYpOwot Ci0JaWYgKGFkZXYtPnBvd2VycGxheS5wcF9mdW5jcy0+bG9hZF9maXJtd2FyZSkgewotCQlyID0g YWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5sb2FkX2Zpcm13YXJlKGFkZXYtPnBvd2VycGxheS5w cF9oYW5kbGUpOwotCQlpZiAocikgewotCQkJcHJfZXJyKCJmaXJtd2FyZSBsb2FkaW5nIGZhaWxl ZFxuIik7Ci0JCQlyZXR1cm4gcjsKLQkJfQotCX0KLQogCWdmeF92OF8wX3JsY19zdGFydChhZGV2 KTsKIAogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv c2RtYV92M18wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3YzXzAuYwppbmRl eCAwYmRkZTdmLi42ZmIzZWRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9zZG1hX3YzXzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3YzXzAu YwpAQCAtNzg4LDE0ICs3ODgsNiBAQCBzdGF0aWMgaW50IHNkbWFfdjNfMF9zdGFydChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldikKIHsKIAlpbnQgcjsKIAotCWlmIChhZGV2LT5wb3dlcnBsYXku cHBfZnVuY3MtPmxvYWRfZmlybXdhcmUpIHsKLQkJciA9IGFkZXYtPnBvd2VycGxheS5wcF9mdW5j cy0+bG9hZF9maXJtd2FyZShhZGV2LT5wb3dlcnBsYXkucHBfaGFuZGxlKTsKLQkJaWYgKHIpIHsK LQkJCXByX2VycigiZmlybXdhcmUgbG9hZGluZyBmYWlsZWRcbiIpOwotCQkJcmV0dXJuIHI7Ci0J CX0KLQl9Ci0KIAkvKiBkaXNhYmxlIHNkbWEgZW5naW5lIGJlZm9yZSBwcm9ncmFtaW5nIGl0ICov CiAJc2RtYV92M18wX2N0eF9zd2l0Y2hfZW5hYmxlKGFkZXYsIGZhbHNlKTsKIAlzZG1hX3YzXzBf ZW5hYmxlKGFkZXYsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93 ZXJwbGF5L2h3bWdyL2h3bWdyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21n ci9od21nci5jCmluZGV4IGQ1NTJhZjIuLjQ3YWM5MjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2h3bWdyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9wb3dlcnBsYXkvaHdtZ3IvaHdtZ3IuYwpAQCAtODksNyArODksNiBAQCBpbnQgaHdtZ3JfZWFy bHlfaW5pdChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQogCWh3bWdyX2luaXRfZGVmYXVsdF9jYXBz KGh3bWdyKTsKIAlod21ncl9zZXRfdXNlcl9zcGVjaWZ5X2NhcHMoaHdtZ3IpOwogCWh3bWdyLT5m YW5fY3RybF9pc19pbl9kZWZhdWx0X21vZGUgPSB0cnVlOwotCWh3bWdyLT5yZWxvYWRfZncgPSAx OwogCWh3bWdyX2luaXRfd29ya2xvYWRfcHJvcml0eShod21ncik7CiAKIAlzd2l0Y2ggKGh3bWdy LT5jaGlwX2ZhbWlseSkgewpAQCAtMjA5LDE3ICsyMDgsNiBAQCBpbnQgaHdtZ3JfaHdfaW5pdChz dHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQogewogCWludCByZXQgPSAwOwogCi0JaWYgKCFod21nciB8 fCAhaHdtZ3ItPnNtdW1ncl9mdW5jcykKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlpZiAoaHdtZ3It PnNtdW1ncl9mdW5jcy0+c3RhcnRfc211KSB7Ci0JCXJldCA9IGh3bWdyLT5zbXVtZ3JfZnVuY3Mt PnN0YXJ0X3NtdShod21ncik7Ci0JCWlmIChyZXQpIHsKLQkJCXByX2Vycigic21jIHN0YXJ0IGZh aWxlZFxuIik7Ci0JCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQotCX0KLQogCWlmICghaHdtZ3ItPnBt X2VuKQogCQlyZXR1cm4gMDsKIApAQCAtMzAxLDcgKzI4OSw2IEBAIGludCBod21ncl9zdXNwZW5k KHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiAJaWYgKCFod21nciB8fCAhaHdtZ3ItPnBtX2VuKQog CQlyZXR1cm4gMDsKIAotCWh3bWdyLT5yZWxvYWRfZncgPSB0cnVlOwogCXBobV9kaXNhYmxlX3Nt Y19maXJtd2FyZV9jdGYoaHdtZ3IpOwogCXJldCA9IHBzbV9zZXRfYm9vdF9zdGF0ZXMoaHdtZ3Ip OwogCWlmIChyZXQpCkBAIC0zMjEsMTMgKzMwOCw2IEBAIGludCBod21ncl9yZXN1bWUoc3RydWN0 IHBwX2h3bWdyICpod21ncikKIAlpZiAoIWh3bWdyKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCWlm IChod21nci0+c211bWdyX2Z1bmNzICYmIGh3bWdyLT5zbXVtZ3JfZnVuY3MtPnN0YXJ0X3NtdSkg ewotCQlpZiAoaHdtZ3ItPnNtdW1ncl9mdW5jcy0+c3RhcnRfc211KGh3bWdyKSkgewotCQkJcHJf ZXJyKCJzbWMgc3RhcnQgZmFpbGVkXG4iKTsKLQkJCXJldHVybiAtRUlOVkFMOwotCQl9Ci0JfQot CiAJaWYgKCFod21nci0+cG1fZW4pCiAJCXJldHVybiAwOwogCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvaHdtZ3IuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv cG93ZXJwbGF5L2luYy9od21nci5oCmluZGV4IDM1ZjIyNzIuLmU1YTYwYWEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9od21nci5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9od21nci5oCkBAIC03MzQsNyArNzM0LDYgQEAgc3Ry dWN0IHBwX2h3bWdyIHsKIAl2b2lkICpzbXVfYmFja2VuZDsKIAljb25zdCBzdHJ1Y3QgcHBfc211 bWdyX2Z1bmMgKnNtdW1ncl9mdW5jczsKIAlib29sIGlzX2tpY2tlcjsKLQlib29sIHJlbG9hZF9m dzsKIAogCWVudW0gUFBfREFMX1BPV0VSTEVWRUwgZGFsX3Bvd2VyX2xldmVsOwogCXN0cnVjdCBw aG1fZHluYW1pY19zdGF0ZV9pbmZvIGR5bl9zdGF0ZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9zbXU3X3NtdW1nci5jIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9wb3dlcnBsYXkvc211bWdyL3NtdTdfc211bWdyLmMKaW5kZXggOTliNGU0Zi4uM2Y1MWQ1 NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL3NtdTdf c211bWdyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL3NtdTdf c211bWdyLmMKQEAgLTM0Myw5ICszNDMsNiBAQCBpbnQgc211N19yZXF1ZXN0X3NtdV9sb2FkX2Z3 KHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiAJdWludDMyX3QgZndfdG9fbG9hZDsKIAlpbnQgciA9 IDA7CiAKLQlpZiAoIWh3bWdyLT5yZWxvYWRfZncpCi0JCXJldHVybiAwOwotCiAJYW1kZ3B1X3Vj b2RlX2luaXRfYm8oaHdtZ3ItPmFkZXYpOwogCiAJaWYgKHNtdV9kYXRhLT5zb2Z0X3JlZ3Nfc3Rh cnQpCkBAIC00MzIsMTAgKzQyOSw5IEBAIGludCBzbXU3X3JlcXVlc3Rfc211X2xvYWRfZncoc3Ry dWN0IHBwX2h3bWdyICpod21ncikKIAlzbXU3X3NlbmRfbXNnX3RvX3NtY193aXRoX3BhcmFtZXRl cihod21nciwgUFBTTUNfTVNHX0xvYWRVY29kZXMsIGZ3X3RvX2xvYWQpOwogCiAJciA9IHNtdTdf Y2hlY2tfZndfbG9hZF9maW5pc2goaHdtZ3IsIGZ3X3RvX2xvYWQpOwotCWlmICghcikgewotCQlo d21nci0+cmVsb2FkX2Z3ID0gMDsKKwlpZiAoIXIpCiAJCXJldHVybiAwOwotCX0KKwogCXByX2Vy cigiU01VIGxvYWQgZmlybXdhcmUgZmFpbGVkXG4iKTsKIAogZmFpbGVkOgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL3NtdThfc211bWdyLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3Ivc211OF9zbXVtZ3IuYwppbmRleCBhYmJm MmYyLi5mODM2ZDMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9z bXVtZ3Ivc211OF9zbXVtZ3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9z bXVtZ3Ivc211OF9zbXVtZ3IuYwpAQCAtNjYxLDkgKzY2MSw2IEBAIHN0YXRpYyBpbnQgc211OF9y ZXF1ZXN0X3NtdV9sb2FkX2Z3KHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiAJdWludDMyX3QgZndf dG9fY2hlY2sgPSAwOwogCWludCByZXQ7CiAKLQlpZiAoIWh3bWdyLT5yZWxvYWRfZncpCi0JCXJl dHVybiAwOwotCiAJYW1kZ3B1X3Vjb2RlX2luaXRfYm8oaHdtZ3ItPmFkZXYpOwogCiAJc211OF9z bXVfcG9wdWxhdGVfZmlybXdhcmVfZW50cmllcyhod21ncik7CkBAIC03MTksOCArNzE2LDYgQEAg c3RhdGljIGludCBzbXU4X3JlcXVlc3Rfc211X2xvYWRfZncoc3RydWN0IHBwX2h3bWdyICpod21n cikKIAkJcmV0dXJuIHJldDsKIAl9CiAKLQlod21nci0+cmVsb2FkX2Z3ID0gMDsKLQogCXJldHVy biAwOwogfQogCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQt Z2Z4Cg==