From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Rui Subject: [PATCH 121/138] drm/amd/powerplay: add apply_clock_adjust_rules for SMU11. Date: Fri, 25 Jan 2019 18:25:28 +0800 Message-ID: <1548411945-12396-122-git-send-email-ray.huang@amd.com> References: <1548411945-12396-1-git-send-email-ray.huang@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1548411945-12396-1-git-send-email-ray.huang-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: Likun Gao , Kevin Wang , Chengming Gui RnJvbTogQ2hlbmdtaW5nIEd1aSA8SmFjay5HdWlAYW1kLmNvbT4KCmFkZCBhcHBseV9jbG9ja19h ZGp1c3RfcnVsZXMgdG8gc3VwcG9ydCBzeXMgaW50ZXJmYWNlIGZvciBTTVUxMS4KClNpZ25lZC1v ZmYtYnk6IENoZW5nbWluZyBHdWkgPEphY2suR3VpQGFtZC5jb20+ClJldmlld2VkLWJ5OiBIdWFu ZyBSdWkgPHJheS5odWFuZ0BhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJw bGF5L3ZlZ2EyMF9wcHQuYyB8IDE1MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBm aWxlIGNoYW5nZWQsIDE1MSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9wb3dlcnBsYXkvdmVnYTIwX3BwdC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvdmVnYTIwX3BwdC5jCmluZGV4IDBiMTNjOTMuLjdmMzUxYzggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3ZlZ2EyMF9wcHQuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL3Bvd2VycGxheS92ZWdhMjBfcHB0LmMKQEAgLTE0MTgsNiArMTQxOCwxNTcgQEAg c3RhdGljIGludCB2ZWdhMjBfZGlzcGxheV9jb25maWdfY2hhbmdlZChzdHJ1Y3Qgc211X2NvbnRl eHQgKnNtdSkKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgaW50IHZlZ2EyMF9hcHBseV9jbG9j a3NfYWRqdXN0X3J1bGVzKHN0cnVjdCBzbXVfY29udGV4dCAqc211KQoreworCXN0cnVjdCBzbXVf ZHBtX2NvbnRleHQgKnNtdV9kcG1fY3R4ID0gJihzbXUtPnNtdV9kcG0pOworCXN0cnVjdCB2ZWdh MjBfZHBtX3RhYmxlICpkcG1fY3R4ID0gKHN0cnVjdCB2ZWdhMjBfZHBtX3RhYmxlICopKHNtdV9k cG1fY3R4LT5kcG1fY29udGV4dCk7CisJc3RydWN0IHZlZ2EyMF9zaW5nbGVfZHBtX3RhYmxlICpk cG1fdGFibGU7CisJYm9vbCB2YmxhbmtfdG9vX3Nob3J0ID0gZmFsc2U7CisJYm9vbCBkaXNhYmxl X21jbGtfc3dpdGNoaW5nOworCXVpbnQzMl90IGksIGxhdGVuY3k7CisKKwlkaXNhYmxlX21jbGtf c3dpdGNoaW5nID0gKCgxIDwgc211LT5kaXNwbGF5X2NvbmZpZy0+bnVtX2Rpc3BsYXkpICYmCisJ CQkJICAhc211LT5kaXNwbGF5X2NvbmZpZy0+bXVsdGlfbW9uaXRvcl9pbl9zeW5jKSB8fCB2Ymxh bmtfdG9vX3Nob3J0OworCWxhdGVuY3kgPSBzbXUtPmRpc3BsYXlfY29uZmlnLT5kY2VfdG9sZXJh YmxlX21jbGtfaW5fYWN0aXZlX2xhdGVuY3k7CisKKwkvKiBnZnhjbGsgKi8KKwlkcG1fdGFibGUg PSAmKGRwbV9jdHgtPmdmeF90YWJsZSk7CisJZHBtX3RhYmxlLT5kcG1fc3RhdGUuc29mdF9taW5f bGV2ZWwgPSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbMF0udmFsdWU7CisJZHBtX3RhYmxlLT5kcG1f c3RhdGUuc29mdF9tYXhfbGV2ZWwgPSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbZHBtX3RhYmxlLT5j b3VudCAtIDFdLnZhbHVlOworCWRwbV90YWJsZS0+ZHBtX3N0YXRlLmhhcmRfbWluX2xldmVsID0g ZHBtX3RhYmxlLT5kcG1fbGV2ZWxzWzBdLnZhbHVlOworCWRwbV90YWJsZS0+ZHBtX3N0YXRlLmhh cmRfbWF4X2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxzW2RwbV90YWJsZS0+Y291bnQgLSAx XS52YWx1ZTsKKworCQlpZiAoVkVHQTIwX1VNRF9QU1RBVEVfR0ZYQ0xLX0xFVkVMIDwgZHBtX3Rh YmxlLT5jb3VudCkgeworCQkJZHBtX3RhYmxlLT5kcG1fc3RhdGUuc29mdF9taW5fbGV2ZWwgPSBk cG1fdGFibGUtPmRwbV9sZXZlbHNbVkVHQTIwX1VNRF9QU1RBVEVfR0ZYQ0xLX0xFVkVMXS52YWx1 ZTsKKwkJCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWF4X2xldmVsID0gZHBtX3RhYmxlLT5k cG1fbGV2ZWxzW1ZFR0EyMF9VTURfUFNUQVRFX0dGWENMS19MRVZFTF0udmFsdWU7CisJCX0KKwor CQlpZiAoc211X2RwbV9jdHgtPmRwbV9sZXZlbCA9PSBBTURfRFBNX0ZPUkNFRF9MRVZFTF9QUk9G SUxFX01JTl9TQ0xLKSB7CisJCQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21pbl9sZXZlbCA9 IGRwbV90YWJsZS0+ZHBtX2xldmVsc1swXS52YWx1ZTsKKwkJCWRwbV90YWJsZS0+ZHBtX3N0YXRl LnNvZnRfbWF4X2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxzWzBdLnZhbHVlOworCQl9CisK KwkJaWYgKHNtdV9kcG1fY3R4LT5kcG1fbGV2ZWwgPT0gQU1EX0RQTV9GT1JDRURfTEVWRUxfUFJP RklMRV9QRUFLKSB7CisJCQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21pbl9sZXZlbCA9IGRw bV90YWJsZS0+ZHBtX2xldmVsc1tkcG1fdGFibGUtPmNvdW50IC0gMV0udmFsdWU7CisJCQlkcG1f dGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tk cG1fdGFibGUtPmNvdW50IC0gMV0udmFsdWU7CisJCX0KKworCS8qIG1lbWNsayAqLworCWRwbV90 YWJsZSA9ICYoZHBtX2N0eC0+bWVtX3RhYmxlKTsKKwlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0 X21pbl9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1swXS52YWx1ZTsKKwlkcG1fdGFibGUt PmRwbV9zdGF0ZS5zb2Z0X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tkcG1fdGFi bGUtPmNvdW50IC0gMV0udmFsdWU7CisJZHBtX3RhYmxlLT5kcG1fc3RhdGUuaGFyZF9taW5fbGV2 ZWwgPSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbMF0udmFsdWU7CisJZHBtX3RhYmxlLT5kcG1fc3Rh dGUuaGFyZF9tYXhfbGV2ZWwgPSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbZHBtX3RhYmxlLT5jb3Vu dCAtIDFdLnZhbHVlOworCisJCWlmIChWRUdBMjBfVU1EX1BTVEFURV9NQ0xLX0xFVkVMIDwgZHBt X3RhYmxlLT5jb3VudCkgeworCQkJZHBtX3RhYmxlLT5kcG1fc3RhdGUuc29mdF9taW5fbGV2ZWwg PSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbVkVHQTIwX1VNRF9QU1RBVEVfTUNMS19MRVZFTF0udmFs dWU7CisJCQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ ZHBtX2xldmVsc1tWRUdBMjBfVU1EX1BTVEFURV9NQ0xLX0xFVkVMXS52YWx1ZTsKKwkJfQorCisJ CWlmIChzbXVfZHBtX2N0eC0+ZHBtX2xldmVsID09IEFNRF9EUE1fRk9SQ0VEX0xFVkVMX1BST0ZJ TEVfTUlOX01DTEspIHsKKwkJCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWluX2xldmVsID0g ZHBtX3RhYmxlLT5kcG1fbGV2ZWxzWzBdLnZhbHVlOworCQkJZHBtX3RhYmxlLT5kcG1fc3RhdGUu c29mdF9tYXhfbGV2ZWwgPSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbMF0udmFsdWU7CisJCX0KKwor CQlpZiAoc211X2RwbV9jdHgtPmRwbV9sZXZlbCA9PSBBTURfRFBNX0ZPUkNFRF9MRVZFTF9QUk9G SUxFX1BFQUspIHsKKwkJCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWluX2xldmVsID0gZHBt X3RhYmxlLT5kcG1fbGV2ZWxzW2RwbV90YWJsZS0+Y291bnQgLSAxXS52YWx1ZTsKKwkJCWRwbV90 YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWF4X2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxzW2Rw bV90YWJsZS0+Y291bnQgLSAxXS52YWx1ZTsKKwkJfQorCisJLyogaG9ub3VyIERBTCdzIFVDTEsg SGFyZG1pbiAqLworCWlmIChkcG1fdGFibGUtPmRwbV9zdGF0ZS5oYXJkX21pbl9sZXZlbCA8IChz bXUtPmRpc3BsYXlfY29uZmlnLT5taW5fbWVtX3NldF9jbG9jayAvIDEwMCkpCisJCWRwbV90YWJs ZS0+ZHBtX3N0YXRlLmhhcmRfbWluX2xldmVsID0gc211LT5kaXNwbGF5X2NvbmZpZy0+bWluX21l bV9zZXRfY2xvY2sgLyAxMDA7CisKKwkvKiBIYXJkbWluIGlzIGRlcGVuZGVudCBvbiBkaXNwbGF5 Y29uZmlnICovCisJaWYgKGRpc2FibGVfbWNsa19zd2l0Y2hpbmcpIHsKKwkJZHBtX3RhYmxlLT5k cG1fc3RhdGUuaGFyZF9taW5fbGV2ZWwgPSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbZHBtX3RhYmxl LT5jb3VudCAtIDFdLnZhbHVlOworCQlmb3IgKGkgPSAwOyBpIDwgc211X2RwbV9jdHgtPm1jbGtf bGF0ZW5jeV90YWJsZS0+Y291bnQgLSAxOyBpKyspIHsKKwkJCWlmIChzbXVfZHBtX2N0eC0+bWNs a19sYXRlbmN5X3RhYmxlLT5lbnRyaWVzW2ldLmxhdGVuY3kgPD0gbGF0ZW5jeSkgeworCQkJCWlm IChkcG1fdGFibGUtPmRwbV9sZXZlbHNbaV0udmFsdWUgPj0gKHNtdS0+ZGlzcGxheV9jb25maWct Pm1pbl9tZW1fc2V0X2Nsb2NrIC8gMTAwKSkgeworCQkJCQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5o YXJkX21pbl9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tpXS52YWx1ZTsKKwkJCQkJYnJl YWs7CisJCQkJfQorCQkJfQorCQl9CisJfQorCisJaWYgKHNtdS0+ZGlzcGxheV9jb25maWctPm5i X3BzdGF0ZV9zd2l0Y2hfZGlzYWJsZSkKKwkJZHBtX3RhYmxlLT5kcG1fc3RhdGUuaGFyZF9taW5f bGV2ZWwgPSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbZHBtX3RhYmxlLT5jb3VudCAtIDFdLnZhbHVl OworCisjaWYgMAorCS8qIHZjbGsgKi8KKwlkcG1fdGFibGUgPSAmKGRwbV9jdHgtPnZjbGtfdGFi bGUpOworCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWluX2xldmVsID0gZHBtX3RhYmxlLT5k cG1fbGV2ZWxzWzBdLnZhbHVlOworCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWF4X2xldmVs ID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxzW2RwbV90YWJsZS0+Y291bnQgLSAxXS52YWx1ZTsKKwlk cG1fdGFibGUtPmRwbV9zdGF0ZS5oYXJkX21pbl9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVs c1swXS52YWx1ZTsKKwlkcG1fdGFibGUtPmRwbV9zdGF0ZS5oYXJkX21heF9sZXZlbCA9IGRwbV90 YWJsZS0+ZHBtX2xldmVsc1tkcG1fdGFibGUtPmNvdW50IC0gMV0udmFsdWU7CisKKwkJaWYgKFZF R0EyMF9VTURfUFNUQVRFX1VWRENMS19MRVZFTCA8IGRwbV90YWJsZS0+Y291bnQpIHsKKwkJCWRw bV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWluX2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxz W1ZFR0EyMF9VTURfUFNUQVRFX1VWRENMS19MRVZFTF0udmFsdWU7CisJCQlkcG1fdGFibGUtPmRw bV9zdGF0ZS5zb2Z0X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tWRUdBMjBfVU1E X1BTVEFURV9VVkRDTEtfTEVWRUxdLnZhbHVlOworCQl9CisKKwkJaWYgKHNtdV9kcG1fY3R4LT5k cG1fbGV2ZWwgPT0gQU1EX0RQTV9GT1JDRURfTEVWRUxfUFJPRklMRV9QRUFLKSB7CisJCQlkcG1f dGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21pbl9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tk cG1fdGFibGUtPmNvdW50IC0gMV0udmFsdWU7CisJCQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0 X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tkcG1fdGFibGUtPmNvdW50IC0gMV0u dmFsdWU7CisJCX0KKworCS8qIGRjbGsgKi8KKwlkcG1fdGFibGUgPSAmKGRwbV9jdHgtPmRjbGtf dGFibGUpOworCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWluX2xldmVsID0gZHBtX3RhYmxl LT5kcG1fbGV2ZWxzWzBdLnZhbHVlOworCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWF4X2xl dmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxzW2RwbV90YWJsZS0+Y291bnQgLSAxXS52YWx1ZTsK KwlkcG1fdGFibGUtPmRwbV9zdGF0ZS5oYXJkX21pbl9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xl dmVsc1swXS52YWx1ZTsKKwlkcG1fdGFibGUtPmRwbV9zdGF0ZS5oYXJkX21heF9sZXZlbCA9IGRw bV90YWJsZS0+ZHBtX2xldmVsc1tkcG1fdGFibGUtPmNvdW50IC0gMV0udmFsdWU7CisKKwkJaWYg KFZFR0EyMF9VTURfUFNUQVRFX1VWRENMS19MRVZFTCA8IGRwbV90YWJsZS0+Y291bnQpIHsKKwkJ CWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWluX2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2 ZWxzW1ZFR0EyMF9VTURfUFNUQVRFX1VWRENMS19MRVZFTF0udmFsdWU7CisJCQlkcG1fdGFibGUt PmRwbV9zdGF0ZS5zb2Z0X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tWRUdBMjBf VU1EX1BTVEFURV9VVkRDTEtfTEVWRUxdLnZhbHVlOworCQl9CisKKwkJaWYgKHNtdV9kcG1fY3R4 LT5kcG1fbGV2ZWwgPT0gQU1EX0RQTV9GT1JDRURfTEVWRUxfUFJPRklMRV9QRUFLKSB7CisJCQlk cG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21pbl9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVs c1tkcG1fdGFibGUtPmNvdW50IC0gMV0udmFsdWU7CisJCQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5z b2Z0X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tkcG1fdGFibGUtPmNvdW50IC0g MV0udmFsdWU7CisJCX0KKyNlbmRpZgorCisJLyogc29jY2xrICovCisJZHBtX3RhYmxlID0gJihk cG1fY3R4LT5zb2NfdGFibGUpOworCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWluX2xldmVs ID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxzWzBdLnZhbHVlOworCWRwbV90YWJsZS0+ZHBtX3N0YXRl LnNvZnRfbWF4X2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxzW2RwbV90YWJsZS0+Y291bnQg LSAxXS52YWx1ZTsKKwlkcG1fdGFibGUtPmRwbV9zdGF0ZS5oYXJkX21pbl9sZXZlbCA9IGRwbV90 YWJsZS0+ZHBtX2xldmVsc1swXS52YWx1ZTsKKwlkcG1fdGFibGUtPmRwbV9zdGF0ZS5oYXJkX21h eF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tkcG1fdGFibGUtPmNvdW50IC0gMV0udmFs dWU7CisKKwkJaWYgKFZFR0EyMF9VTURfUFNUQVRFX1NPQ0NMS19MRVZFTCA8IGRwbV90YWJsZS0+ Y291bnQpIHsKKwkJCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWluX2xldmVsID0gZHBtX3Rh YmxlLT5kcG1fbGV2ZWxzW1ZFR0EyMF9VTURfUFNUQVRFX1NPQ0NMS19MRVZFTF0udmFsdWU7CisJ CQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xl dmVsc1tWRUdBMjBfVU1EX1BTVEFURV9TT0NDTEtfTEVWRUxdLnZhbHVlOworCQl9CisKKwkJaWYg KHNtdV9kcG1fY3R4LT5kcG1fbGV2ZWwgPT0gQU1EX0RQTV9GT1JDRURfTEVWRUxfUFJPRklMRV9Q RUFLKSB7CisJCQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21pbl9sZXZlbCA9IGRwbV90YWJs ZS0+ZHBtX2xldmVsc1tkcG1fdGFibGUtPmNvdW50IC0gMV0udmFsdWU7CisJCQlkcG1fdGFibGUt PmRwbV9zdGF0ZS5zb2Z0X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tkcG1fdGFi bGUtPmNvdW50IC0gMV0udmFsdWU7CisJCX0KKworI2lmIDAKKwkvKiBlY2xrICovCisJZHBtX3Rh YmxlID0gJihkcG1fY3R4LT5lY2xrX3RhYmxlKTsKKwlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0 X21pbl9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1swXS52YWx1ZTsKKwlkcG1fdGFibGUt PmRwbV9zdGF0ZS5zb2Z0X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tkcG1fdGFi bGUtPmNvdW50IC0gMV0udmFsdWU7CisJZHBtX3RhYmxlLT5kcG1fc3RhdGUuaGFyZF9taW5fbGV2 ZWwgPSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbMF0udmFsdWU7CisJZHBtX3RhYmxlLT5kcG1fc3Rh dGUuaGFyZF9tYXhfbGV2ZWwgPSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbZHBtX3RhYmxlLT5jb3Vu dCAtIDFdLnZhbHVlOworCisJCWlmIChWRUdBMjBfVU1EX1BTVEFURV9WQ0VNQ0xLX0xFVkVMIDwg ZHBtX3RhYmxlLT5jb3VudCkgeworCQkJZHBtX3RhYmxlLT5kcG1fc3RhdGUuc29mdF9taW5fbGV2 ZWwgPSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbVkVHQTIwX1VNRF9QU1RBVEVfVkNFTUNMS19MRVZF TF0udmFsdWU7CisJCQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21heF9sZXZlbCA9IGRwbV90 YWJsZS0+ZHBtX2xldmVsc1tWRUdBMjBfVU1EX1BTVEFURV9WQ0VNQ0xLX0xFVkVMXS52YWx1ZTsK KwkJfQorCisJCWlmIChzbXVfZHBtX2N0eC0+ZHBtX2xldmVsID09IEFNRF9EUE1fRk9SQ0VEX0xF VkVMX1BST0ZJTEVfUEVBSykgeworCQkJZHBtX3RhYmxlLT5kcG1fc3RhdGUuc29mdF9taW5fbGV2 ZWwgPSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbZHBtX3RhYmxlLT5jb3VudCAtIDFdLnZhbHVlOwor CQkJZHBtX3RhYmxlLT5kcG1fc3RhdGUuc29mdF9tYXhfbGV2ZWwgPSBkcG1fdGFibGUtPmRwbV9s ZXZlbHNbZHBtX3RhYmxlLT5jb3VudCAtIDFdLnZhbHVlOworCQl9CisjZW5kaWYKKwlyZXR1cm4g MDsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBwcHRhYmxlX2Z1bmNzIHZlZ2EyMF9wcHRfZnVu Y3MgPSB7CiAJLmFsbG9jX2RwbV9jb250ZXh0ID0gdmVnYTIwX2FsbG9jYXRlX2RwbV9jb250ZXh0 LAogCS5zdG9yZV9wb3dlcnBsYXlfdGFibGUgPSB2ZWdhMjBfc3RvcmVfcG93ZXJwbGF5X3RhYmxl LAotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=