From mboxrd@z Thu Jan 1 00:00:00 1970 From: Evan Quan Subject: [PATCH 10/13] drm/amd/powerplay: apply clocks adjust rules on power state change Date: Tue, 19 Jun 2018 15:39:02 +0800 Message-ID: <1529393945-16629-10-git-send-email-evan.quan@amd.com> References: <1529393945-16629-1-git-send-email-evan.quan@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1529393945-16629-1-git-send-email-evan.quan-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: Evan Quan VGhlIGNsb2NrcyBoYXJkL3NvZnQgbWluL21heCBjbG9jayBsZXZlbHMgd2lsbCBiZSBhZGp1c3Rl ZApjb3JyZXNwb25kaW5nbHkuCgpDaGFuZ2UtSWQ6IEkyYzRiNmNkNjc1NmQ0MGEyODkzM2YwYzI2 YjllMWEzZDUwNzhiYWI4ClNpZ25lZC1vZmYtYnk6IEV2YW4gUXVhbiA8ZXZhbi5xdWFuQGFtZC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEyX2h3bWdy LmMgfCAxNjIgKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2Vy cGxheS9od21nci92ZWdhMTJfaHdtZ3IuaCB8ICAgMiArCiAyIGZpbGVzIGNoYW5nZWQsIDE2NCBp bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkv aHdtZ3IvdmVnYTEyX2h3bWdyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21n ci92ZWdhMTJfaHdtZ3IuYwppbmRleCBhMjI3YWNlLi4yNmJkZmZmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTJfaHdtZ3IuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTJfaHdtZ3IuYwpAQCAtMTk1MCw2 ICsxOTUwLDE2NiBAQCBzdGF0aWMgaW50IHZlZ2ExMl9wcmludF9jbG9ja19sZXZlbHMoc3RydWN0 IHBwX2h3bWdyICpod21nciwKIAlyZXR1cm4gc2l6ZTsKIH0KIAorc3RhdGljIGludCB2ZWdhMTJf YXBwbHlfY2xvY2tzX2FkanVzdF9ydWxlcyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQoreworCXN0 cnVjdCB2ZWdhMTJfaHdtZ3IgKmRhdGEgPSAoc3RydWN0IHZlZ2ExMl9od21nciAqKShod21nci0+ YmFja2VuZCk7CisJc3RydWN0IHZlZ2ExMl9zaW5nbGVfZHBtX3RhYmxlICpkcG1fdGFibGU7CisJ Ym9vbCB2YmxhbmtfdG9vX3Nob3J0ID0gZmFsc2U7CisJYm9vbCBkaXNhYmxlX21jbGtfc3dpdGNo aW5nOworCXVpbnQzMl90IGksIGxhdGVuY3k7CisKKwlkaXNhYmxlX21jbGtfc3dpdGNoaW5nID0g KCgxIDwgaHdtZ3ItPmRpc3BsYXlfY29uZmlnLT5udW1fZGlzcGxheSkgJiYKKwkJCSAgICAgICAg ICAhaHdtZ3ItPmRpc3BsYXlfY29uZmlnLT5tdWx0aV9tb25pdG9yX2luX3N5bmMpIHx8CisJCQkg ICAgICAgICAgdmJsYW5rX3Rvb19zaG9ydDsKKwlsYXRlbmN5ID0gaHdtZ3ItPmRpc3BsYXlfY29u ZmlnLT5kY2VfdG9sZXJhYmxlX21jbGtfaW5fYWN0aXZlX2xhdGVuY3k7CisKKwkvKiBnZnhjbGsg Ki8KKwlkcG1fdGFibGUgPSAmKGRhdGEtPmRwbV90YWJsZS5nZnhfdGFibGUpOworCWRwbV90YWJs ZS0+ZHBtX3N0YXRlLnNvZnRfbWluX2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxzWzBdLnZh bHVlOworCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWF4X2xldmVsID0gZHBtX3RhYmxlLT5k cG1fbGV2ZWxzW2RwbV90YWJsZS0+Y291bnQgLSAxXS52YWx1ZTsKKwlkcG1fdGFibGUtPmRwbV9z dGF0ZS5oYXJkX21pbl9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1swXS52YWx1ZTsKKwlk cG1fdGFibGUtPmRwbV9zdGF0ZS5oYXJkX21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVs c1tkcG1fdGFibGUtPmNvdW50IC0gMV0udmFsdWU7CisKKwlpZiAoUFBfQ0FQKFBITV9QbGF0Zm9y bUNhcHNfVU1EUFN0YXRlKSkgeworCQlpZiAoVkVHQTEyX1VNRF9QU1RBVEVfR0ZYQ0xLX0xFVkVM IDwgZHBtX3RhYmxlLT5jb3VudCkgeworCQkJZHBtX3RhYmxlLT5kcG1fc3RhdGUuc29mdF9taW5f bGV2ZWwgPSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbVkVHQTEyX1VNRF9QU1RBVEVfR0ZYQ0xLX0xF VkVMXS52YWx1ZTsKKwkJCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWF4X2xldmVsID0gZHBt X3RhYmxlLT5kcG1fbGV2ZWxzW1ZFR0ExMl9VTURfUFNUQVRFX0dGWENMS19MRVZFTF0udmFsdWU7 CisJCX0KKworCQlpZiAoaHdtZ3ItPmRwbV9sZXZlbCA9PSBBTURfRFBNX0ZPUkNFRF9MRVZFTF9Q Uk9GSUxFX01JTl9TQ0xLKSB7CisJCQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21pbl9sZXZl bCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1swXS52YWx1ZTsKKwkJCWRwbV90YWJsZS0+ZHBtX3N0 YXRlLnNvZnRfbWF4X2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxzWzBdLnZhbHVlOworCQl9 CisKKwkJaWYgKGh3bWdyLT5kcG1fbGV2ZWwgPT0gQU1EX0RQTV9GT1JDRURfTEVWRUxfUFJPRklM RV9QRUFLKSB7CisJCQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21pbl9sZXZlbCA9IGRwbV90 YWJsZS0+ZHBtX2xldmVsc1tkcG1fdGFibGUtPmNvdW50IC0gMV0udmFsdWU7CisJCQlkcG1fdGFi bGUtPmRwbV9zdGF0ZS5zb2Z0X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tkcG1f dGFibGUtPmNvdW50IC0gMV0udmFsdWU7CisJCX0KKwl9CisKKwkvKiBtZW1jbGsgKi8KKwlkcG1f dGFibGUgPSAmKGRhdGEtPmRwbV90YWJsZS5tZW1fdGFibGUpOworCWRwbV90YWJsZS0+ZHBtX3N0 YXRlLnNvZnRfbWluX2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxzWzBdLnZhbHVlOworCWRw bV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWF4X2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxz W2RwbV90YWJsZS0+Y291bnQgLSAxXS52YWx1ZTsKKwlkcG1fdGFibGUtPmRwbV9zdGF0ZS5oYXJk X21pbl9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1swXS52YWx1ZTsKKwlkcG1fdGFibGUt PmRwbV9zdGF0ZS5oYXJkX21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tkcG1fdGFi bGUtPmNvdW50IC0gMV0udmFsdWU7CisKKwlpZiAoUFBfQ0FQKFBITV9QbGF0Zm9ybUNhcHNfVU1E UFN0YXRlKSkgeworCQlpZiAoVkVHQTEyX1VNRF9QU1RBVEVfTUNMS19MRVZFTCA8IGRwbV90YWJs ZS0+Y291bnQpIHsKKwkJCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWluX2xldmVsID0gZHBt X3RhYmxlLT5kcG1fbGV2ZWxzW1ZFR0ExMl9VTURfUFNUQVRFX01DTEtfTEVWRUxdLnZhbHVlOwor CQkJZHBtX3RhYmxlLT5kcG1fc3RhdGUuc29mdF9tYXhfbGV2ZWwgPSBkcG1fdGFibGUtPmRwbV9s ZXZlbHNbVkVHQTEyX1VNRF9QU1RBVEVfTUNMS19MRVZFTF0udmFsdWU7CisJCX0KKworCQlpZiAo aHdtZ3ItPmRwbV9sZXZlbCA9PSBBTURfRFBNX0ZPUkNFRF9MRVZFTF9QUk9GSUxFX01JTl9NQ0xL KSB7CisJCQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21pbl9sZXZlbCA9IGRwbV90YWJsZS0+ ZHBtX2xldmVsc1swXS52YWx1ZTsKKwkJCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWF4X2xl dmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxzWzBdLnZhbHVlOworCQl9CisKKwkJaWYgKGh3bWdy LT5kcG1fbGV2ZWwgPT0gQU1EX0RQTV9GT1JDRURfTEVWRUxfUFJPRklMRV9QRUFLKSB7CisJCQlk cG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21pbl9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVs c1tkcG1fdGFibGUtPmNvdW50IC0gMV0udmFsdWU7CisJCQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5z b2Z0X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tkcG1fdGFibGUtPmNvdW50IC0g MV0udmFsdWU7CisJCX0KKwl9CisKKwkvKiBob25vdXIgREFMJ3MgVUNMSyBIYXJkbWluICovCisJ aWYgKGRwbV90YWJsZS0+ZHBtX3N0YXRlLmhhcmRfbWluX2xldmVsIDwgKGh3bWdyLT5kaXNwbGF5 X2NvbmZpZy0+bWluX21lbV9zZXRfY2xvY2sgLyAxMDApKQorCQlkcG1fdGFibGUtPmRwbV9zdGF0 ZS5oYXJkX21pbl9sZXZlbCA9IGh3bWdyLT5kaXNwbGF5X2NvbmZpZy0+bWluX21lbV9zZXRfY2xv Y2sgLyAxMDA7CisKKwkvKiBIYXJkbWluIGlzIGRlcGVuZGVudCBvbiBkaXNwbGF5Y29uZmlnICov CisJaWYgKGRpc2FibGVfbWNsa19zd2l0Y2hpbmcpIHsKKwkJZHBtX3RhYmxlLT5kcG1fc3RhdGUu aGFyZF9taW5fbGV2ZWwgPSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbZHBtX3RhYmxlLT5jb3VudCAt IDFdLnZhbHVlOworCQlmb3IgKGkgPSAwOyBpIDwgZGF0YS0+bWNsa19sYXRlbmN5X3RhYmxlLmNv dW50IC0gMTsgaSsrKSB7CisJCQlpZiAoZGF0YS0+bWNsa19sYXRlbmN5X3RhYmxlLmVudHJpZXNb aV0ubGF0ZW5jeSA8PSBsYXRlbmN5KSB7CisJCQkJaWYgKGRwbV90YWJsZS0+ZHBtX2xldmVsc1tp XS52YWx1ZSA+PSAoaHdtZ3ItPmRpc3BsYXlfY29uZmlnLT5taW5fbWVtX3NldF9jbG9jayAvIDEw MCkpIHsKKwkJCQkJZHBtX3RhYmxlLT5kcG1fc3RhdGUuaGFyZF9taW5fbGV2ZWwgPSBkcG1fdGFi bGUtPmRwbV9sZXZlbHNbaV0udmFsdWU7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0KKwkJfQor CX0KKworCWlmIChod21nci0+ZGlzcGxheV9jb25maWctPm5iX3BzdGF0ZV9zd2l0Y2hfZGlzYWJs ZSkKKwkJZHBtX3RhYmxlLT5kcG1fc3RhdGUuaGFyZF9taW5fbGV2ZWwgPSBkcG1fdGFibGUtPmRw bV9sZXZlbHNbZHBtX3RhYmxlLT5jb3VudCAtIDFdLnZhbHVlOworCisJLyogdmNsayAqLworCWRw bV90YWJsZSA9ICYoZGF0YS0+ZHBtX3RhYmxlLnZjbGtfdGFibGUpOworCWRwbV90YWJsZS0+ZHBt X3N0YXRlLnNvZnRfbWluX2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxzWzBdLnZhbHVlOwor CWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWF4X2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2 ZWxzW2RwbV90YWJsZS0+Y291bnQgLSAxXS52YWx1ZTsKKwlkcG1fdGFibGUtPmRwbV9zdGF0ZS5o YXJkX21pbl9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1swXS52YWx1ZTsKKwlkcG1fdGFi bGUtPmRwbV9zdGF0ZS5oYXJkX21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tkcG1f dGFibGUtPmNvdW50IC0gMV0udmFsdWU7CisKKwlpZiAoUFBfQ0FQKFBITV9QbGF0Zm9ybUNhcHNf VU1EUFN0YXRlKSkgeworCQlpZiAoVkVHQTEyX1VNRF9QU1RBVEVfVVZEQ0xLX0xFVkVMIDwgZHBt X3RhYmxlLT5jb3VudCkgeworCQkJZHBtX3RhYmxlLT5kcG1fc3RhdGUuc29mdF9taW5fbGV2ZWwg PSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbVkVHQTEyX1VNRF9QU1RBVEVfVVZEQ0xLX0xFVkVMXS52 YWx1ZTsKKwkJCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWF4X2xldmVsID0gZHBtX3RhYmxl LT5kcG1fbGV2ZWxzW1ZFR0ExMl9VTURfUFNUQVRFX1VWRENMS19MRVZFTF0udmFsdWU7CisJCX0K KworCQlpZiAoaHdtZ3ItPmRwbV9sZXZlbCA9PSBBTURfRFBNX0ZPUkNFRF9MRVZFTF9QUk9GSUxF X1BFQUspIHsKKwkJCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWluX2xldmVsID0gZHBtX3Rh YmxlLT5kcG1fbGV2ZWxzW2RwbV90YWJsZS0+Y291bnQgLSAxXS52YWx1ZTsKKwkJCWRwbV90YWJs ZS0+ZHBtX3N0YXRlLnNvZnRfbWF4X2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxzW2RwbV90 YWJsZS0+Y291bnQgLSAxXS52YWx1ZTsKKwkJfQorCX0KKworCS8qIGRjbGsgKi8KKwlkcG1fdGFi bGUgPSAmKGRhdGEtPmRwbV90YWJsZS5kY2xrX3RhYmxlKTsKKwlkcG1fdGFibGUtPmRwbV9zdGF0 ZS5zb2Z0X21pbl9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1swXS52YWx1ZTsKKwlkcG1f dGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tk cG1fdGFibGUtPmNvdW50IC0gMV0udmFsdWU7CisJZHBtX3RhYmxlLT5kcG1fc3RhdGUuaGFyZF9t aW5fbGV2ZWwgPSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbMF0udmFsdWU7CisJZHBtX3RhYmxlLT5k cG1fc3RhdGUuaGFyZF9tYXhfbGV2ZWwgPSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbZHBtX3RhYmxl LT5jb3VudCAtIDFdLnZhbHVlOworCisJaWYgKFBQX0NBUChQSE1fUGxhdGZvcm1DYXBzX1VNRFBT dGF0ZSkpIHsKKwkJaWYgKFZFR0ExMl9VTURfUFNUQVRFX1VWRENMS19MRVZFTCA8IGRwbV90YWJs ZS0+Y291bnQpIHsKKwkJCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWluX2xldmVsID0gZHBt X3RhYmxlLT5kcG1fbGV2ZWxzW1ZFR0ExMl9VTURfUFNUQVRFX1VWRENMS19MRVZFTF0udmFsdWU7 CisJCQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBt X2xldmVsc1tWRUdBMTJfVU1EX1BTVEFURV9VVkRDTEtfTEVWRUxdLnZhbHVlOworCQl9CisKKwkJ aWYgKGh3bWdyLT5kcG1fbGV2ZWwgPT0gQU1EX0RQTV9GT1JDRURfTEVWRUxfUFJPRklMRV9QRUFL KSB7CisJCQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21pbl9sZXZlbCA9IGRwbV90YWJsZS0+ ZHBtX2xldmVsc1tkcG1fdGFibGUtPmNvdW50IC0gMV0udmFsdWU7CisJCQlkcG1fdGFibGUtPmRw bV9zdGF0ZS5zb2Z0X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tkcG1fdGFibGUt PmNvdW50IC0gMV0udmFsdWU7CisJCX0KKwl9CisKKwkvKiBzb2NjbGsgKi8KKwlkcG1fdGFibGUg PSAmKGRhdGEtPmRwbV90YWJsZS5zb2NfdGFibGUpOworCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNv ZnRfbWluX2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxzWzBdLnZhbHVlOworCWRwbV90YWJs ZS0+ZHBtX3N0YXRlLnNvZnRfbWF4X2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxzW2RwbV90 YWJsZS0+Y291bnQgLSAxXS52YWx1ZTsKKwlkcG1fdGFibGUtPmRwbV9zdGF0ZS5oYXJkX21pbl9s ZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1swXS52YWx1ZTsKKwlkcG1fdGFibGUtPmRwbV9z dGF0ZS5oYXJkX21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tkcG1fdGFibGUtPmNv dW50IC0gMV0udmFsdWU7CisKKwlpZiAoUFBfQ0FQKFBITV9QbGF0Zm9ybUNhcHNfVU1EUFN0YXRl KSkgeworCQlpZiAoVkVHQTEyX1VNRF9QU1RBVEVfU09DQ0xLX0xFVkVMIDwgZHBtX3RhYmxlLT5j b3VudCkgeworCQkJZHBtX3RhYmxlLT5kcG1fc3RhdGUuc29mdF9taW5fbGV2ZWwgPSBkcG1fdGFi bGUtPmRwbV9sZXZlbHNbVkVHQTEyX1VNRF9QU1RBVEVfU09DQ0xLX0xFVkVMXS52YWx1ZTsKKwkJ CWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWF4X2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2 ZWxzW1ZFR0ExMl9VTURfUFNUQVRFX1NPQ0NMS19MRVZFTF0udmFsdWU7CisJCX0KKworCQlpZiAo aHdtZ3ItPmRwbV9sZXZlbCA9PSBBTURfRFBNX0ZPUkNFRF9MRVZFTF9QUk9GSUxFX1BFQUspIHsK KwkJCWRwbV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWluX2xldmVsID0gZHBtX3RhYmxlLT5kcG1f bGV2ZWxzW2RwbV90YWJsZS0+Y291bnQgLSAxXS52YWx1ZTsKKwkJCWRwbV90YWJsZS0+ZHBtX3N0 YXRlLnNvZnRfbWF4X2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxzW2RwbV90YWJsZS0+Y291 bnQgLSAxXS52YWx1ZTsKKwkJfQorCX0KKworCS8qIGVjbGsgKi8KKwlkcG1fdGFibGUgPSAmKGRh dGEtPmRwbV90YWJsZS5lY2xrX3RhYmxlKTsKKwlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21p bl9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1swXS52YWx1ZTsKKwlkcG1fdGFibGUtPmRw bV9zdGF0ZS5zb2Z0X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tkcG1fdGFibGUt PmNvdW50IC0gMV0udmFsdWU7CisJZHBtX3RhYmxlLT5kcG1fc3RhdGUuaGFyZF9taW5fbGV2ZWwg PSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbMF0udmFsdWU7CisJZHBtX3RhYmxlLT5kcG1fc3RhdGUu aGFyZF9tYXhfbGV2ZWwgPSBkcG1fdGFibGUtPmRwbV9sZXZlbHNbZHBtX3RhYmxlLT5jb3VudCAt IDFdLnZhbHVlOworCisJaWYgKFBQX0NBUChQSE1fUGxhdGZvcm1DYXBzX1VNRFBTdGF0ZSkpIHsK KwkJaWYgKFZFR0ExMl9VTURfUFNUQVRFX1ZDRU1DTEtfTEVWRUwgPCBkcG1fdGFibGUtPmNvdW50 KSB7CisJCQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21pbl9sZXZlbCA9IGRwbV90YWJsZS0+ ZHBtX2xldmVsc1tWRUdBMTJfVU1EX1BTVEFURV9WQ0VNQ0xLX0xFVkVMXS52YWx1ZTsKKwkJCWRw bV90YWJsZS0+ZHBtX3N0YXRlLnNvZnRfbWF4X2xldmVsID0gZHBtX3RhYmxlLT5kcG1fbGV2ZWxz W1ZFR0ExMl9VTURfUFNUQVRFX1ZDRU1DTEtfTEVWRUxdLnZhbHVlOworCQl9CisKKwkJaWYgKGh3 bWdyLT5kcG1fbGV2ZWwgPT0gQU1EX0RQTV9GT1JDRURfTEVWRUxfUFJPRklMRV9QRUFLKSB7CisJ CQlkcG1fdGFibGUtPmRwbV9zdGF0ZS5zb2Z0X21pbl9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xl dmVsc1tkcG1fdGFibGUtPmNvdW50IC0gMV0udmFsdWU7CisJCQlkcG1fdGFibGUtPmRwbV9zdGF0 ZS5zb2Z0X21heF9sZXZlbCA9IGRwbV90YWJsZS0+ZHBtX2xldmVsc1tkcG1fdGFibGUtPmNvdW50 IC0gMV0udmFsdWU7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCB2ZWdh MTJfZGlzcGxheV9jb25maWd1cmF0aW9uX2NoYW5nZWRfdGFzayhzdHJ1Y3QgcHBfaHdtZ3IgKmh3 bWdyKQogewogCXN0cnVjdCB2ZWdhMTJfaHdtZ3IgKmRhdGEgPSAoc3RydWN0IHZlZ2ExMl9od21n ciAqKShod21nci0+YmFja2VuZCk7CkBAIC0yMTk2LDYgKzIzNTYsOCBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IHBwX2h3bWdyX2Z1bmMgdmVnYTEyX2h3bWdyX2Z1bmNzID0gewogCS5kaXNwbGF5X2Ns b2NrX3ZvbHRhZ2VfcmVxdWVzdCA9IHZlZ2ExMl9kaXNwbGF5X2Nsb2NrX3ZvbHRhZ2VfcmVxdWVz dCwKIAkuZm9yY2VfY2xvY2tfbGV2ZWwgPSB2ZWdhMTJfZm9yY2VfY2xvY2tfbGV2ZWwsCiAJLnBy aW50X2Nsb2NrX2xldmVscyA9IHZlZ2ExMl9wcmludF9jbG9ja19sZXZlbHMsCisJLmFwcGx5X2Ns b2Nrc19hZGp1c3RfcnVsZXMgPQorCQl2ZWdhMTJfYXBwbHlfY2xvY2tzX2FkanVzdF9ydWxlcywK IAkuZGlzcGxheV9jb25maWdfY2hhbmdlZCA9IHZlZ2ExMl9kaXNwbGF5X2NvbmZpZ3VyYXRpb25f Y2hhbmdlZF90YXNrLAogCS5wb3dlcmdhdGVfdXZkID0gdmVnYTEyX3Bvd2VyX2dhdGVfdXZkLAog CS5wb3dlcmdhdGVfdmNlID0gdmVnYTEyX3Bvd2VyX2dhdGVfdmNlLApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEyX2h3bWdyLmggYi9kcml2ZXJz L2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTJfaHdtZ3IuaAppbmRleCBlMThjMDgz Li5lMTcyMzdjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21n ci92ZWdhMTJfaHdtZ3IuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21n ci92ZWdhMTJfaHdtZ3IuaApAQCAtNDQzLDYgKzQ0Myw4IEBAIHN0cnVjdCB2ZWdhMTJfaHdtZ3Ig ewogI2RlZmluZSBWRUdBMTJfVU1EX1BTVEFURV9HRlhDTEtfTEVWRUwgICAgICAgICAweDMKICNk ZWZpbmUgVkVHQTEyX1VNRF9QU1RBVEVfU09DQ0xLX0xFVkVMICAgICAgICAgMHgzCiAjZGVmaW5l IFZFR0ExMl9VTURfUFNUQVRFX01DTEtfTEVWRUwgICAgICAgICAgIDB4MgorI2RlZmluZSBWRUdB MTJfVU1EX1BTVEFURV9VVkRDTEtfTEVWRUwgICAgICAgICAweDMKKyNkZWZpbmUgVkVHQTEyX1VN RF9QU1RBVEVfVkNFTUNMS19MRVZFTCAgICAgICAgMHgzCiAKIGludCB2ZWdhMTJfZW5hYmxlX2Rp c2FibGVfdmNlX2RwbShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLCBib29sIGVuYWJsZSk7CiAKLS0g CjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwph bWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK