From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH xf86-video-amdgpu 2/7] Initialize color properties on CRTC during CRTC init Date: Fri, 1 Jun 2018 12:03:32 -0400 Message-ID: <1527869017-9209-3-git-send-email-sunpeng.li@amd.com> References: <1527869017-9209-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: <1527869017-9209-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: "Leo (Sunpeng) Li" , michel-otUistvHUpPR7s880joybQ@public.gmane.org, harry.wentland-5C7GfCeVMHo@public.gmane.org RnJvbTogIkxlbyAoU3VucGVuZykgTGkiIDxzdW5wZW5nLmxpQGFtZC5jb20+CgpBbmQgZGVzdHJv eSB0aGVtIG9uIHRoZSBDUlRDIGRlc3Ryb3kgaG9vay4KCldoZW4gaW5pdGlhbGl6aW5nIGNvbG9y IG1hbmFnZW1lbnQgcHJvcGVydGllcyBvbiB0aGUgcHJpdmF0ZQpkcm1tb2RlX2NydGMsIHdlIHdh bnQgdG86CgoxLiBPYnRhaW4gaXRzIGRlZ2FtbWEgYW5kIHJlZ2FtbWEgTFVUIHNpemVzCjIuIERl ZmF1bHQgaXRzIGNvbG9yIHRyYW5zZm9ybSBtYXRyaXggKENUTSkgdG8gaWRlbnRpdHkKMy4gUHJv Z3JhbSBoYXJkd2FyZSB3aXRoIGRlZmF1bHQgY29sb3IgbWFuYWdlbWVudCB2YWx1ZXMgKFNSR0Ig Zm9yCiAgIGRlL3JlZ2FtbWEsIGlkZW50aXR5IGZvciBDVE0pCgpJdCdzIHBvc3NpYmxlIHRoYXQg Y20gaW5pdGlhbGl6YXRpb24gZmFpbHMgZHVlIHRvIG1lbW9yeSBlcnJvciBvciBEUk0KZXJyb3Iu IEluIHdoaWNoIGNhc2UsIEREWCBzdXBwb3J0IGZvciBjb2xvciBtYW5hZ2VtZW50IHdpbGwgYmUg ZGlzYWJsZWQKb24gdGhpcyBDUlRDLgoKU2lnbmVkLW9mZi1ieTogTGVvIChTdW5wZW5nKSBMaSA8 c3VucGVuZy5saUBhbWQuY29tPgotLS0KIHNyYy9kcm1tb2RlX2Rpc3BsYXkuYyB8IDE4OSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogc3JjL2RybW1v ZGVfZGlzcGxheS5oIHwgICA4ICsrKwogMiBmaWxlcyBjaGFuZ2VkLCAxOTYgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy9kcm1tb2RlX2Rpc3BsYXkuYyBiL3Ny Yy9kcm1tb2RlX2Rpc3BsYXkuYwppbmRleCAzNmIyMmFkLi5kZTA5MzYxIDEwMDY0NAotLS0gYS9z cmMvZHJtbW9kZV9kaXNwbGF5LmMKKysrIGIvc3JjL2RybW1vZGVfZGlzcGxheS5jCkBAIC03Njgs NiArNzY4LDg4IEBAIHN0YXRpYyBlbnVtIGRybW1vZGVfY21fcHJvcCBnZXRfY21fZW51bV9mcm9t X3N0cihjb25zdCBjaGFyICpwcm9wX25hbWUpCiAJcmV0dXJuIENNX0lOVkFMSURfUFJPUDsKIH0K IAorLyoqCisgKiBSZXR1cm4gVFJVRSBpZiB0aGUgZ2l2ZW4gQ1JUQyBzdXBwb3J0cyBub24tbGVn YWN5IGNvbG9yIG1hbmFnZW1lbnQuIEZhbHNlCisgKiBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBC b29sIGRybW1vZGVfY3J0Y19jbV9lbmFibGVkKGRybW1vZGVfY3J0Y19wcml2YXRlX3B0ciBkcm1t b2RlX2NydGMpCit7CisJcmV0dXJuIGRybW1vZGVfY3J0Yy0+Z2FtbWFfbHV0X3NpemUgPiAwICYm CisJICAgICAgIGRybW1vZGVfY3J0Yy0+ZGVnYW1tYV9sdXRfc2l6ZSA+IDA7Cit9CisKKy8qKgor ICogUHVzaCBzdGFnZWQgY29sb3IgbWFuYWdlbWVudCBwcm9wZXJ0aWVzIG9uIHRoZSBDUlRDIHRv IERSTS4KKyAqCisgKiBAY3J0YzogVGhlIENSVEMgY29udGFpbmluZyBzdGFnZWQgcHJvcGVydGll cworICogQGNtX3Byb3BfaW5kZXg6IFRoZSBjb2xvciBwcm9wZXJ0eSB0byBwdXNoCisgKgorICog UmV0dXJuIDAgb24gc3VjY2VzcywgWC1kZWZpbmVkIGVycm9yIGNvZGVzIG9uIGZhaWx1cmUuCisg Ki8KK3N0YXRpYyBpbnQgZHJtbW9kZV9jcnRjX3B1c2hfY21fcHJvcCh4Zjg2Q3J0Y1B0ciBjcnRj LAorCQkJCSAgICAgZW51bSBkcm1tb2RlX2NtX3Byb3AgY21fcHJvcF9pbmRleCkKK3sKKwlkcm1t b2RlX2NydGNfcHJpdmF0ZV9wdHIgZHJtbW9kZV9jcnRjID0gY3J0Yy0+ZHJpdmVyX3ByaXZhdGU7 CisJQU1ER1BVRW50UHRyIHBBTURHUFVFbnQgPSBBTURHUFVFbnRQcml2KGNydGMtPnNjcm4pOwor CXVpbnQzMl90IGNyZWF0ZWRfYmxvYl9pZCA9IDA7CisJdWludDMyX3QgZHJtX3Byb3BfaWQ7CisJ c2l6ZV90IGV4cGVjdGVkX2J5dGVzID0gMDsKKwl2b2lkICpibG9iX2RhdGEgPSBOVUxMOworCWlu dCByZXQ7CisKKwlpZiAoIWRybW1vZGVfY3J0Y19jbV9lbmFibGVkKGRybW1vZGVfY3J0YykpCisJ CXJldHVybiBCYWROYW1lOworCisJaWYgKGNtX3Byb3BfaW5kZXggPT0gQ01fR0FNTUFfTFVUKSB7 CisJCS8qIENhbGN1bGF0ZSB0aGUgZXhwZWN0ZWQgc2l6ZSBvZiB2YWx1ZSBpbiBieXRlcyAqLwor CQlleHBlY3RlZF9ieXRlcyA9IHNpemVvZihzdHJ1Y3QgZHJtX2NvbG9yX2x1dCkgKgorCQkJCQlk cm1tb2RlX2NydGMtPmdhbW1hX2x1dF9zaXplOworCQlibG9iX2RhdGEgPSBkcm1tb2RlX2NydGMt PmdhbW1hX2x1dDsKKwl9IGVsc2UgaWYgKGNtX3Byb3BfaW5kZXggPT0gQ01fREVHQU1NQV9MVVQp IHsKKwkJZXhwZWN0ZWRfYnl0ZXMgPSBzaXplb2Yoc3RydWN0IGRybV9jb2xvcl9sdXQpICoKKwkJ CQkJZHJtbW9kZV9jcnRjLT5kZWdhbW1hX2x1dF9zaXplOworCQlibG9iX2RhdGEgPSBkcm1tb2Rl X2NydGMtPmRlZ2FtbWFfbHV0OworCX0gZWxzZSBpZiAoY21fcHJvcF9pbmRleCA9PSBDTV9DVE0p IHsKKwkJZXhwZWN0ZWRfYnl0ZXMgPSBzaXplb2Yoc3RydWN0IGRybV9jb2xvcl9jdG0pOworCQli bG9iX2RhdGEgPSBkcm1tb2RlX2NydGMtPmN0bTsKKwl9IGVsc2UKKwkJcmV0dXJuIEJhZE5hbWU7 CisKKwlpZiAoYmxvYl9kYXRhKSB7CisJCXJldCA9IGRybU1vZGVDcmVhdGVQcm9wZXJ0eUJsb2Io cEFNREdQVUVudC0+ZmQsCisJCQkJCQlibG9iX2RhdGEsIGV4cGVjdGVkX2J5dGVzLAorCQkJCQkJ JmNyZWF0ZWRfYmxvYl9pZCk7CisJCWlmIChyZXQpIHsKKwkJCXhmODZEcnZNc2coY3J0Yy0+c2Ny bi0+c2NybkluZGV4LCBYX0VSUk9SLAorCQkJCSAgICJDcmVhdGluZyBEUk0gYmxvYiBmYWlsZWQg d2l0aCBlcnJubyAlZFxuIiwKKwkJCQkgICByZXQpOworCQkJcmV0dXJuIEJhZFJlcXVlc3Q7CisJ CX0KKwl9CisKKwlkcm1fcHJvcF9pZCA9IGRybW1vZGVfY3J0Yy0+ZHJtbW9kZS0+Y21fcHJvcF9p ZHNbY21fcHJvcF9pbmRleF07CisJcmV0ID0gZHJtTW9kZU9iamVjdFNldFByb3BlcnR5KHBBTURH UFVFbnQtPmZkLAorCQkJCSAgICAgICBkcm1tb2RlX2NydGMtPm1vZGVfY3J0Yy0+Y3J0Y19pZCwK KwkJCQkgICAgICAgRFJNX01PREVfT0JKRUNUX0NSVEMsCisJCQkJICAgICAgIGRybV9wcm9wX2lk LAorCQkJCSAgICAgICAodWludDY0X3QpY3JlYXRlZF9ibG9iX2lkKTsKKworCS8qIElmIHN1Y2Nl c3NmdWwsIGtlcm5lbCB3aWxsIGhhdmUgYSByZWZlcmVuY2UgYWxyZWFkeS4gU2FmZSB0byBkZXN0 cm95CisJICogdGhlIGJsb2IgZWl0aGVyIHdheS4KKwkgKi8KKwlpZiAoYmxvYl9kYXRhKQorCQlk cm1Nb2RlRGVzdHJveVByb3BlcnR5QmxvYihwQU1ER1BVRW50LT5mZCwgY3JlYXRlZF9ibG9iX2lk KTsKKworCWlmIChyZXQpIHsKKwkJeGY4NkRydk1zZyhjcnRjLT5zY3JuLT5zY3JuSW5kZXgsIFhf RVJST1IsCisJCQkgICAiU2V0dGluZyBEUk0gcHJvcGVydHkgYmxvYiBmYWlsZWQgd2l0aCBlcnJu byAlZFxuIiwKKwkJCSAgIHJldCk7CisJCXJldHVybiBCYWRSZXF1ZXN0OworCX0KKworCXJldHVy biBTdWNjZXNzOworfQorCiBzdGF0aWMgdm9pZAogZHJtbW9kZV9jcnRjX2dhbW1hX2RvX3NldCh4 Zjg2Q3J0Y1B0ciBjcnRjLCB1aW50MTZfdCAqcmVkLCB1aW50MTZfdCAqZ3JlZW4sCiAJCQkgIHVp bnQxNl90ICpibHVlLCBpbnQgc2l6ZSkKQEAgLTEzMTQsNiArMTM5NiwyMiBAQCBzdGF0aWMgQm9v bCBkcm1tb2RlX3NldF9zY2Fub3V0X3BpeG1hcCh4Zjg2Q3J0Y1B0ciBjcnRjLCBQaXhtYXBQdHIg cHBpeCkKIAlyZXR1cm4gVFJVRTsKIH0KIAorc3RhdGljIHZvaWQgZHJtbW9kZV9jcnRjX2Rlc3Ry b3koeGY4NkNydGNQdHIgY3J0YykKK3sKKwlkcm1tb2RlX2NydGNfcHJpdmF0ZV9wdHIgZHJtbW9k ZV9jcnRjID0gY3J0Yy0+ZHJpdmVyX3ByaXZhdGU7CisKKwlkcm1Nb2RlRnJlZUNydGMoZHJtbW9k ZV9jcnRjLT5tb2RlX2NydGMpOworCisJLyogRnJlZSBMVVRzIGFuZCBDVE0gKi8KKwlmcmVlKGRy bW1vZGVfY3J0Yy0+Z2FtbWFfbHV0KTsKKwlmcmVlKGRybW1vZGVfY3J0Yy0+ZGVnYW1tYV9sdXQp OworCWZyZWUoZHJtbW9kZV9jcnRjLT5jdG0pOworCisJZnJlZShkcm1tb2RlX2NydGMpOworCWNy dGMtPmRyaXZlcl9wcml2YXRlID0gTlVMTDsKK30KKworCiBzdGF0aWMgeGY4NkNydGNGdW5jc1Jl YyBkcm1tb2RlX2NydGNfZnVuY3MgPSB7CiAJLmRwbXMgPSBkcm1tb2RlX2NydGNfZHBtcywKIAku c2V0X21vZGVfbWFqb3IgPSBkcm1tb2RlX3NldF9tb2RlX21ham9yLApAQCAtMTMzMCw3ICsxNDI4 LDcgQEAgc3RhdGljIHhmODZDcnRjRnVuY3NSZWMgZHJtbW9kZV9jcnRjX2Z1bmNzID0gewogCS5z aGFkb3dfY3JlYXRlID0gZHJtbW9kZV9jcnRjX3NoYWRvd19jcmVhdGUsCiAJLnNoYWRvd19hbGxv Y2F0ZSA9IGRybW1vZGVfY3J0Y19zaGFkb3dfYWxsb2NhdGUsCiAJLnNoYWRvd19kZXN0cm95ID0g ZHJtbW9kZV9jcnRjX3NoYWRvd19kZXN0cm95LAotCS5kZXN0cm95ID0gTlVMTCwJLyogWFhYICov CisJLmRlc3Ryb3kgPSBkcm1tb2RlX2NydGNfZGVzdHJveSwKIAkuc2V0X3NjYW5vdXRfcGl4bWFw ID0gZHJtbW9kZV9zZXRfc2Nhbm91dF9waXhtYXAsCiB9OwogCkBAIC0xMzU0LDYgKzE0NTIsOTMg QEAgdm9pZCBkcm1tb2RlX2NydGNfaHdfaWQoeGY4NkNydGNQdHIgY3J0YykKIAkJZHJtbW9kZV9j cnRjLT5od19pZCA9IC0xOwogfQogCisvKioKKyAqIEluaXRpYWxpemUgY29sb3IgbWFuYWdlbWVu dCBwcm9wZXJ0aWVzIGZvciB0aGUgZ2l2ZW4gQ1JUQyBieSBmZXRjaGluZyBpdHMKKyAqIGdhbW1h L2RlZ2FtbWEgTFVUIHNpemVzLCB0aGVuIHByb2dyYW1taW5nIGRlZmF1bHQgZ2FtbWEvZGVnYW1t YSBMVVRzIGFuZAorICogQ1RNLgorICoKKyAqIElmIHRoZSBDUlRDIGRvZXMgbm90IHN1cHBvcnQg Y29sb3IgbWFuYWdlbWVudCwgb3IgaWYgZXJyb3JzIG9jY3VyIGR1cmluZworICogaW5pdGlhbGl6 YXRpb24sIGFsbCBjb2xvciBwcm9wZXJ0aWVzIG9uIHRoZSBkcml2ZXItcHJpdmF0ZSBDUlRDIHdp bGwgbGVmdAorICogYXMgTlVMTC4KKyAqCisgKiBAZHJtX2ZkOiBEUk0gZmlsZSBkZXNjcmlwdG9y CisgKiBAY3J0YzogQ1JUQyB0byBpbml0aWFsaXplIGNvbG9yIG1hbmFnZW1lbnQgb24uCisgKi8K K3N0YXRpYyB2b2lkIGRybW1vZGVfY3J0Y19jbV9pbml0KGludCBkcm1fZmQsIHhmODZDcnRjUHRy IGNydGMpCit7CisJZHJtbW9kZV9jcnRjX3ByaXZhdGVfcHRyIGRybW1vZGVfY3J0YyA9IGNydGMt PmRyaXZlcl9wcml2YXRlOworCWRybU1vZGVPYmplY3RQcm9wZXJ0aWVzUHRyIGRybV9wcm9wczsK Kwlkcm1Nb2RlUHJvcGVydHlQdHIgZHJtX3Byb3A7CisJZW51bSBkcm1tb2RlX2NtX3Byb3AgcHJv cF9pZDsKKwlpbnQgaTsKKworCWRybV9wcm9wcyA9IGRybU1vZGVPYmplY3RHZXRQcm9wZXJ0aWVz KGRybV9mZCwKKwkJCQkJICAgICAgIGRybW1vZGVfY3J0Yy0+bW9kZV9jcnRjLT5jcnRjX2lkLAor CQkJCQkgICAgICAgRFJNX01PREVfT0JKRUNUX0NSVEMpOworCWlmICghZHJtX3Byb3BzKQorCQln b3RvIGVycl9hbGxvY3M7CisKKwkvKiBGZXRjaCBkZWdhbW1hL2dhbW1hIExVVCBzaXplcyAqLwor CWZvciAoaSA9IDA7IGkgPCBkcm1fcHJvcHMtPmNvdW50X3Byb3BzOyBpKyspIHsKKwkJZHJtX3By b3AgPSBkcm1Nb2RlR2V0UHJvcGVydHkoZHJtX2ZkLCBkcm1fcHJvcHMtPnByb3BzW2ldKTsKKwkJ aWYgKCFkcm1fcHJvcCl7CisJCQlkcm1Nb2RlRnJlZU9iamVjdFByb3BlcnRpZXMoZHJtX3Byb3Bz KTsKKwkJCWdvdG8gZXJyX2FsbG9jczsKKwkJfQorCisJCXByb3BfaWQgPSBnZXRfY21fZW51bV9m cm9tX3N0cihkcm1fcHJvcC0+bmFtZSk7CisKKwkJaWYgKHByb3BfaWQgPT0gQ01fR0FNTUFfTFVU X1NJWkUpCisJCQlkcm1tb2RlX2NydGMtPmdhbW1hX2x1dF9zaXplID0gZHJtX3Byb3BzLT5wcm9w X3ZhbHVlc1tpXTsKKwkJZWxzZSBpZiAocHJvcF9pZCA9PSBDTV9ERUdBTU1BX0xVVF9TSVpFKQor CQkJZHJtbW9kZV9jcnRjLT5kZWdhbW1hX2x1dF9zaXplID0gZHJtX3Byb3BzLT5wcm9wX3ZhbHVl c1tpXTsKKworCQlkcm1Nb2RlRnJlZVByb3BlcnR5KGRybV9wcm9wKTsKKwl9CisJZHJtTW9kZUZy ZWVPYmplY3RQcm9wZXJ0aWVzKGRybV9wcm9wcyk7CisKKwlpZiAoIWRybW1vZGVfY3J0Y19jbV9l bmFibGVkKGRybW1vZGVfY3J0YykpIHsKKwkJeGY4NkRydk1zZyhjcnRjLT5zY3JuLT5zY3JuSW5k ZXgsIFhfSU5GTywKKwkJCSAgICJDUlRDJWQgZG9lcyBub3Qgc3VwcG9ydCBub24tbGVnYWN5IGNv bG9yIG1hbmFnZW1lbnQuXG4iLAorCQkJICAgZHJtbW9kZV9nZXRfY3J0Y19pZChjcnRjKSk7CisJ CWRybW1vZGVfY3J0Yy0+ZGVnYW1tYV9sdXRfc2l6ZSA9IDA7CisJCWRybW1vZGVfY3J0Yy0+Z2Ft bWFfbHV0X3NpemUgPSAwOworCQlyZXR1cm47CisJfQorCXhmODZEcnZNc2coY3J0Yy0+c2Nybi0+ c2NybkluZGV4LCBYX0lORk8sCisJCSAgICJDUlRDJWQgc3VwcG9ydHMgbm9uLWxlZ2FjeSBjb2xv ciBtYW5hZ2VtZW50LlxuIiwKKwkJICAgZHJtbW9kZV9nZXRfY3J0Y19pZChjcnRjKSk7CisKKwkv KiBJbml0IENUTSB0byBpZGVudGl0eS4gVmFsdWVzIGFyZSBpbiBTMzEuMzIgZml4ZWQtcG9pbnQg Zm9ybWF0ICovCisJZHJtbW9kZV9jcnRjLT5jdG0gPSBjYWxsb2MoMSwgc2l6ZW9mKCpkcm1tb2Rl X2NydGMtPmN0bSkpOworCWlmIChkcm1tb2RlX2NydGMtPmN0bSA9PSBOVUxMKQorCQlnb3RvIGVy cl9hbGxvY3M7CisKKwlkcm1tb2RlX2NydGMtPmN0bS0+bWF0cml4WzBdID0gZHJtbW9kZV9jcnRj LT5jdG0tPm1hdHJpeFs0XSA9CisJCWRybW1vZGVfY3J0Yy0+Y3RtLT5tYXRyaXhbOF0gPSAodWlu dDY0X3QpMSA8PCAzMjsKKworCS8qIFB1c2ggcHJvcGVydGllcyB0byByZXNldCBwcm9wZXJ0aWVz IGN1cnJlbnRseSBpbiBoYXJkd2FyZSAqLworCWZvciAoaSA9IDA7IGkgPCBDTV9OVU1fUFJPUFM7 IGkrKykgeworCQlpZiAoaSA9PSBDTV9ERUdBTU1BX0xVVF9TSVpFIHx8IGkgPT0gQ01fR0FNTUFf TFVUX1NJWkUpCisJCQljb250aW51ZTsKKworCQlpZiAoZHJtbW9kZV9jcnRjX3B1c2hfY21fcHJv cChjcnRjLCBpKSkKKwkJCXhmODZEcnZNc2coY3J0Yy0+c2Nybi0+c2NybkluZGV4LCBYX0VSUk9S LAorCQkJCSAgICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBjb2xvciBtYW5hZ2VtZW50ICIKKwkJCQkg ICAicHJvcGVydHkgJXMgb24gQ1JUQyVkLiBQcm9wZXJ0eSB2YWx1ZSBtYXkgIgorCQkJCSAgICJu b3QgcmVmbGVjdCBhY3R1YWwgaGFyZHdhcmUgc3RhdGUuXG4iLAorCQkJCSAgIGNtX3Byb3BfbmFt ZXNbaV0sCisJCQkJICAgZHJtbW9kZV9nZXRfY3J0Y19pZChjcnRjKSk7CisJfQorCisJcmV0dXJu OworCitlcnJfYWxsb2NzOgorCXhmODZEcnZNc2coY3J0Yy0+c2Nybi0+c2NybkluZGV4LCBYX0VS Uk9SLAorCQkgICAiTWVtb3J5IGVycm9yIGluaXRpYWxpemluZyBjbSBwcm9wZXJ0aWVzIGZvciBD UlRDJWQiLAorCQkgICBkcm1tb2RlX2dldF9jcnRjX2lkKGNydGMpKTsKK30KKwogc3RhdGljIHVu c2lnbmVkIGludAogZHJtbW9kZV9jcnRjX2luaXQoU2NybkluZm9QdHIgcFNjcm4sIGRybW1vZGVf cHRyIGRybW1vZGUsIGRybU1vZGVSZXNQdHIgbW9kZV9yZXMsIGludCBudW0pCiB7CkBAIC0xMzc0 LDYgKzE1NTksOCBAQCBkcm1tb2RlX2NydGNfaW5pdChTY3JuSW5mb1B0ciBwU2NybiwgZHJtbW9k ZV9wdHIgZHJtbW9kZSwgZHJtTW9kZVJlc1B0ciBtb2RlX3JlcwogCWNydGMtPmRyaXZlcl9wcml2 YXRlID0gZHJtbW9kZV9jcnRjOwogCWRybW1vZGVfY3J0Y19od19pZChjcnRjKTsKIAorCWRybW1v ZGVfY3J0Y19jbV9pbml0KHBBTURHUFVFbnQtPmZkLCBjcnRjKTsKKwogCS8qIE1hcmsgbnVtJ3Ro IGNydGMgYXMgaW4gdXNlIG9uIHRoaXMgZGV2aWNlLiAqLwogCXBBTURHUFVFbnQtPmFzc2lnbmVk X2NydGNzIHw9ICgxIDw8IG51bSk7CiAJeGY4NkRydk1zZ1ZlcmIocFNjcm4tPnNjcm5JbmRleCwg WF9JTkZPLCBBTURHUFVfTE9HTEVWRUxfREVCVUcsCmRpZmYgLS1naXQgYS9zcmMvZHJtbW9kZV9k aXNwbGF5LmggYi9zcmMvZHJtbW9kZV9kaXNwbGF5LmgKaW5kZXggYmJiNTQyMy4uMTI5MzI0OSAx MDA2NDQKLS0tIGEvc3JjL2RybW1vZGVfZGlzcGxheS5oCisrKyBiL3NyYy9kcm1tb2RlX2Rpc3Bs YXkuaApAQCAtMTI4LDYgKzEyOCwxNCBAQCB0eXBlZGVmIHN0cnVjdCB7CiAJdW5zaWduZWQgcHJl c2VudF92YmxhbmtfbXNjOwogCUJvb2wgcHJlc2VudF9mbGlwX2V4cGVjdGVkOwogI2VuZGlmCisK Kwl1aW50MzJfdCBnYW1tYV9sdXRfc2l6ZTsKKwlzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqZ2FtbWFf bHV0OworCisJdWludDMyX3QgZGVnYW1tYV9sdXRfc2l6ZTsKKwlzdHJ1Y3QgZHJtX2NvbG9yX2x1 dCAqZGVnYW1tYV9sdXQ7CisKKwlzdHJ1Y3QgZHJtX2NvbG9yX2N0bSAqY3RtOwogfSBkcm1tb2Rl X2NydGNfcHJpdmF0ZV9yZWMsICpkcm1tb2RlX2NydGNfcHJpdmF0ZV9wdHI7CiAKIHR5cGVkZWYg c3RydWN0IHsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1n ZngK