From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH 5/6] drm/amdgpu: add timeline support in amdgpu CS Date: Thu, 20 Sep 2018 19:03:52 +0800 Message-ID: <20180920110353.16114-5-david1.zhou@amd.com> References: <20180920110353.16114-1-david1.zhou@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180920110353.16114-1-david1.zhou-5C7GfCeVMHo@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Chunming Zhou , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org c3luY29iaiB3YWl0L3NpZ25hbCBvcGVyYXRpb24gaXMgYXBwZW5kaW5nIGluIGNvbW1hbmQgc3Vi bWlzc2lvbi4KClNpZ25lZC1vZmYtYnk6IENodW5taW5nIFpob3UgPGRhdmlkMS56aG91QGFtZC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggICAgfCAgIDggKy0K IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jIHwgMTE0ICsrKysrKysrKysr KysrKysrKystLS0tLS0KIGluY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oICAgICAgICAgIHwg IDEwICsrKwogMyBmaWxlcyBjaGFuZ2VkLCAxMDQgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAppbmRleCA0NDdjNGM3YTM2ZDYuLjZl NGEzZGI1NjgzMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKQEAgLTk3NSw2ICs5 NzUsMTEgQEAgc3RydWN0IGFtZGdwdV9jc19jaHVuayB7CiAJdm9pZAkJCSprZGF0YTsKIH07CiAK K3N0cnVjdCBhbWRncHVfY3Nfc3luY29ial9wb3N0X2RlcCB7CisJc3RydWN0IGRybV9zeW5jb2Jq ICpwb3N0X2RlcF9zeW5jb2JqOworCXU2NCBwb2ludDsKK307CisKIHN0cnVjdCBhbWRncHVfY3Nf cGFyc2VyIHsKIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZQkqYWRldjsKIAlzdHJ1Y3QgZHJtX2ZpbGUJ CSpmaWxwOwpAQCAtMTAwMyw5ICsxMDA4LDggQEAgc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgewog CiAJLyogdXNlciBmZW5jZSAqLwogCXN0cnVjdCBhbWRncHVfYm9fbGlzdF9lbnRyeQl1Zl9lbnRy eTsKLQorCXN0cnVjdCBhbWRncHVfY3Nfc3luY29ial9wb3N0X2RlcCAqcG9zdF9kZXBfc3luY29i anM7CiAJdW5zaWduZWQgbnVtX3Bvc3RfZGVwX3N5bmNvYmpzOwotCXN0cnVjdCBkcm1fc3luY29i aiAqKnBvc3RfZGVwX3N5bmNvYmpzOwogfTsKIAogc3RhdGljIGlubGluZSB1MzIgYW1kZ3B1X2dl dF9pYl92YWx1ZShzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2NzLmMKaW5kZXggNDEyZmFjMjM4NTc1Li4wZWZlNzViZjJmMDMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCkBAIC0yMDQsNiArMjA0LDggQEAgc3Rh dGljIGludCBhbWRncHVfY3NfcGFyc2VyX2luaXQoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAs IHVuaW9uIGRybV9hbWRncHVfY3MKIAkJY2FzZSBBTURHUFVfQ0hVTktfSURfREVQRU5ERU5DSUVT OgogCQljYXNlIEFNREdQVV9DSFVOS19JRF9TWU5DT0JKX0lOOgogCQljYXNlIEFNREdQVV9DSFVO S19JRF9TWU5DT0JKX09VVDoKKwkJY2FzZSBBTURHUFVfQ0hVTktfSURfU1lOQ09CSl9USU1FTElO RV9XQUlUOgorCQljYXNlIEFNREdQVV9DSFVOS19JRF9TWU5DT0JKX1RJTUVMSU5FX1NJR05BTDoK IAkJCWJyZWFrOwogCiAJCWRlZmF1bHQ6CkBAIC03ODMsNyArNzg1LDcgQEAgc3RhdGljIHZvaWQg YW1kZ3B1X2NzX3BhcnNlcl9maW5pKHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwYXJzZXIsIGlu dCBlcnJvciwKIAkJCQkJICAgJnBhcnNlci0+dmFsaWRhdGVkKTsKIAogCWZvciAoaSA9IDA7IGkg PCBwYXJzZXItPm51bV9wb3N0X2RlcF9zeW5jb2JqczsgaSsrKQotCQlkcm1fc3luY29ial9wdXQo cGFyc2VyLT5wb3N0X2RlcF9zeW5jb2Jqc1tpXSk7CisJCWRybV9zeW5jb2JqX3B1dChwYXJzZXIt PnBvc3RfZGVwX3N5bmNvYmpzW2ldLnBvc3RfZGVwX3N5bmNvYmopOwogCWtmcmVlKHBhcnNlci0+ cG9zdF9kZXBfc3luY29ianMpOwogCiAJZG1hX2ZlbmNlX3B1dChwYXJzZXItPmZlbmNlKTsKQEAg LTEwOTgsMTEgKzExMDAsMTMgQEAgc3RhdGljIGludCBhbWRncHVfY3NfcHJvY2Vzc19mZW5jZV9k ZXAoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCiB9CiAKIHN0YXRpYyBpbnQgYW1kZ3B1X3N5 bmNvYmpfbG9va3VwX2FuZF9hZGRfdG9fc3luYyhzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwK LQkJCQkJCSB1aW50MzJfdCBoYW5kbGUpCisJCQkJCQkgdWludDMyX3QgaGFuZGxlLCB1NjQgcG9p bnQsCisJCQkJCQkgdTY0IGZsYWdzKQogewogCWludCByOwogCXN0cnVjdCBkbWFfZmVuY2UgKmZl bmNlOwotCXIgPSBkcm1fc3luY29ial9maW5kX2ZlbmNlKHAtPmZpbHAsIGhhbmRsZSwgMCwgMCwg JmZlbmNlKTsKKworCXIgPSBkcm1fc3luY29ial9maW5kX2ZlbmNlKHAtPmZpbHAsIGhhbmRsZSwg cG9pbnQsIGZsYWdzLCAmZmVuY2UpOwogCWlmIChyKQogCQlyZXR1cm4gcjsKIApAQCAtMTExMyw0 OCArMTExNyw5MSBAQCBzdGF0aWMgaW50IGFtZGdwdV9zeW5jb2JqX2xvb2t1cF9hbmRfYWRkX3Rv X3N5bmMoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCiB9CiAKIHN0YXRpYyBpbnQgYW1kZ3B1 X2NzX3Byb2Nlc3Nfc3luY29ial9pbl9kZXAoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCi0J CQkJCSAgICBzdHJ1Y3QgYW1kZ3B1X2NzX2NodW5rICpjaHVuaykKKwkJCQkJICAgIHN0cnVjdCBh bWRncHVfY3NfY2h1bmsgKmNodW5rLAorCQkJCQkgICAgYm9vbCB0aW1lbGluZSkKIHsKIAl1bnNp Z25lZCBudW1fZGVwczsKIAlpbnQgaSwgcjsKLQlzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19z ZW0gKmRlcHM7CiAKLQlkZXBzID0gKHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3NlbSAqKWNo dW5rLT5rZGF0YTsKLQludW1fZGVwcyA9IGNodW5rLT5sZW5ndGhfZHcgKiA0IC8KLQkJc2l6ZW9m KHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3NlbSk7CisJaWYgKCF0aW1lbGluZSkgeworCQlz dHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0gKmRlcHM7CiAKLQlmb3IgKGkgPSAwOyBpIDwg bnVtX2RlcHM7ICsraSkgewotCQlyID0gYW1kZ3B1X3N5bmNvYmpfbG9va3VwX2FuZF9hZGRfdG9f c3luYyhwLCBkZXBzW2ldLmhhbmRsZSk7CisJCWRlcHMgPSAoc3RydWN0IGRybV9hbWRncHVfY3Nf Y2h1bmtfc2VtICopY2h1bmstPmtkYXRhOworCQludW1fZGVwcyA9IGNodW5rLT5sZW5ndGhfZHcg KiA0IC8KKwkJCXNpemVvZihzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0pOworCQlmb3Ig KGkgPSAwOyBpIDwgbnVtX2RlcHM7ICsraSkgeworCQkJciA9IGFtZGdwdV9zeW5jb2JqX2xvb2t1 cF9hbmRfYWRkX3RvX3N5bmMocCwgZGVwc1tpXS5oYW5kbGUsCisJCQkJCQkJCSAgMCwgMCk7CiAJ CWlmIChyKQogCQkJcmV0dXJuIHI7CisJCX0KKwl9IGVsc2UgeworCQlzdHJ1Y3QgZHJtX2FtZGdw dV9jc19jaHVua19zeW5jb2JqICpzeW5jb2JqX2RlcHM7CisKKwkJc3luY29ial9kZXBzID0gKHN0 cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3N5bmNvYmogKiljaHVuay0+a2RhdGE7CisJCW51bV9k ZXBzID0gY2h1bmstPmxlbmd0aF9kdyAqIDQgLworCQkJc2l6ZW9mKHN0cnVjdCBkcm1fYW1kZ3B1 X2NzX2NodW5rX3N5bmNvYmopOworCQlmb3IgKGkgPSAwOyBpIDwgbnVtX2RlcHM7ICsraSkgewor CQkJciA9IGFtZGdwdV9zeW5jb2JqX2xvb2t1cF9hbmRfYWRkX3RvX3N5bmMocCwgc3luY29ial9k ZXBzW2ldLmhhbmRsZSwKKwkJCQkJCQkJICBzeW5jb2JqX2RlcHNbaV0ucG9pbnQsCisJCQkJCQkJ CSAgc3luY29ial9kZXBzW2ldLmZsYWdzKTsKKwkJaWYgKHIpCisJCQlyZXR1cm4gcjsKKwkJfQog CX0KKwogCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGFtZGdwdV9jc19wcm9jZXNzX3N5bmNv Ympfb3V0X2RlcChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKLQkJCQkJICAgICBzdHJ1Y3Qg YW1kZ3B1X2NzX2NodW5rICpjaHVuaykKKwkJCQkJICAgICBzdHJ1Y3QgYW1kZ3B1X2NzX2NodW5r ICpjaHVuaywKKwkJCQkJICAgICBib29sIHRpbWVsaW5lKQogewogCXVuc2lnbmVkIG51bV9kZXBz OwogCWludCBpOwogCXN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3NlbSAqZGVwczsKLQlkZXBz ID0gKHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3NlbSAqKWNodW5rLT5rZGF0YTsKLQludW1f ZGVwcyA9IGNodW5rLT5sZW5ndGhfZHcgKiA0IC8KLQkJc2l6ZW9mKHN0cnVjdCBkcm1fYW1kZ3B1 X2NzX2NodW5rX3NlbSk7CisJc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc3luY29iaiAqc3lu Y29ial9kZXBzOworCisJaWYgKCF0aW1lbGluZSkgeworCQlkZXBzID0gKHN0cnVjdCBkcm1fYW1k Z3B1X2NzX2NodW5rX3NlbSAqKWNodW5rLT5rZGF0YTsKKwkJbnVtX2RlcHMgPSBjaHVuay0+bGVu Z3RoX2R3ICogNCAvCisJCQlzaXplb2Yoc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2VtKTsK Kwl9IGVsc2UgeworCQlzeW5jb2JqX2RlcHMgPSAoc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtf c3luY29iaiAqKWNodW5rLT5rZGF0YTsKKwkJbnVtX2RlcHMgPSBjaHVuay0+bGVuZ3RoX2R3ICog NCAvCisJCQlzaXplb2Yoc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc3luY29iaik7CisJfQor CiAKIAlwLT5wb3N0X2RlcF9zeW5jb2JqcyA9IGttYWxsb2NfYXJyYXkobnVtX2RlcHMsCi0JCQkJ CSAgICAgc2l6ZW9mKHN0cnVjdCBkcm1fc3luY29iaiAqKSwKKwkJCQkJICAgICBzaXplb2Yoc3Ry dWN0IGFtZGdwdV9jc19zeW5jb2JqX3Bvc3RfZGVwKSwKIAkJCQkJICAgICBHRlBfS0VSTkVMKTsK IAlwLT5udW1fcG9zdF9kZXBfc3luY29ianMgPSAwOwogCiAJaWYgKCFwLT5wb3N0X2RlcF9zeW5j b2JqcykKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQlmb3IgKGkgPSAwOyBpIDwgbnVtX2RlcHM7ICsr aSkgewotCQlwLT5wb3N0X2RlcF9zeW5jb2Jqc1tpXSA9IGRybV9zeW5jb2JqX2ZpbmQocC0+Zmls cCwgZGVwc1tpXS5oYW5kbGUpOwotCQlpZiAoIXAtPnBvc3RfZGVwX3N5bmNvYmpzW2ldKQotCQkJ cmV0dXJuIC1FSU5WQUw7Ci0JCXAtPm51bV9wb3N0X2RlcF9zeW5jb2JqcysrOworCisJaWYgKCF0 aW1lbGluZSkgeworCQlmb3IgKGkgPSAwOyBpIDwgbnVtX2RlcHM7ICsraSkgeworCQkJcC0+cG9z dF9kZXBfc3luY29ianNbaV0ucG9zdF9kZXBfc3luY29iaiA9CisJCQkJZHJtX3N5bmNvYmpfZmlu ZChwLT5maWxwLCBkZXBzW2ldLmhhbmRsZSk7CisJCQlpZiAoIXAtPnBvc3RfZGVwX3N5bmNvYmpz W2ldLnBvc3RfZGVwX3N5bmNvYmopCisJCQkJcmV0dXJuIC1FSU5WQUw7CisJCQlwLT5wb3N0X2Rl cF9zeW5jb2Jqc1tpXS5wb2ludCA9IDA7CisJCQlwLT5udW1fcG9zdF9kZXBfc3luY29ianMrKzsK KwkJfQorCX0gZWxzZSB7CisJCWZvciAoaSA9IDA7IGkgPCBudW1fZGVwczsgKytpKSB7CisJCQlw LT5wb3N0X2RlcF9zeW5jb2Jqc1tpXS5wb3N0X2RlcF9zeW5jb2JqID0KKwkJCQlkcm1fc3luY29i al9maW5kKHAtPmZpbHAsIHN5bmNvYmpfZGVwc1tpXS5oYW5kbGUpOworCQkJaWYgKCFwLT5wb3N0 X2RlcF9zeW5jb2Jqc1tpXS5wb3N0X2RlcF9zeW5jb2JqKQorCQkJCXJldHVybiAtRUlOVkFMOwor CQkJcC0+cG9zdF9kZXBfc3luY29ianNbaV0ucG9pbnQgPSBzeW5jb2JqX2RlcHNbaV0ucG9pbnQ7 CisJCQlwLT5udW1fcG9zdF9kZXBfc3luY29ianMrKzsKKwkJfQogCX0KKwogCXJldHVybiAwOwog fQogCkBAIC0xMTY4LDE4ICsxMjE1LDMyIEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2NzX2RlcGVuZGVu Y2llcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAogCQljaHVuayA9ICZwLT5jaHVua3Nb aV07CiAKLQkJaWYgKGNodW5rLT5jaHVua19pZCA9PSBBTURHUFVfQ0hVTktfSURfREVQRU5ERU5D SUVTKSB7CisJCXN3aXRjaCAoY2h1bmstPmNodW5rX2lkKSB7CisJCWNhc2UgQU1ER1BVX0NIVU5L X0lEX0RFUEVOREVOQ0lFUzoKIAkJCXIgPSBhbWRncHVfY3NfcHJvY2Vzc19mZW5jZV9kZXAocCwg Y2h1bmspOwogCQkJaWYgKHIpCiAJCQkJcmV0dXJuIHI7Ci0JCX0gZWxzZSBpZiAoY2h1bmstPmNo dW5rX2lkID09IEFNREdQVV9DSFVOS19JRF9TWU5DT0JKX0lOKSB7Ci0JCQlyID0gYW1kZ3B1X2Nz X3Byb2Nlc3Nfc3luY29ial9pbl9kZXAocCwgY2h1bmspOworCQkJYnJlYWs7CisJCWNhc2UgQU1E R1BVX0NIVU5LX0lEX1NZTkNPQkpfSU46CisJCQlyID0gYW1kZ3B1X2NzX3Byb2Nlc3Nfc3luY29i al9pbl9kZXAocCwgY2h1bmssIGZhbHNlKTsKKwkJCWlmIChyKQorCQkJCXJldHVybiByOworCQkJ YnJlYWs7CisJCWNhc2UgQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfT1VUOgorCQkJciA9IGFtZGdw dV9jc19wcm9jZXNzX3N5bmNvYmpfb3V0X2RlcChwLCBjaHVuaywgZmFsc2UpOwogCQkJaWYgKHIp CiAJCQkJcmV0dXJuIHI7Ci0JCX0gZWxzZSBpZiAoY2h1bmstPmNodW5rX2lkID09IEFNREdQVV9D SFVOS19JRF9TWU5DT0JKX09VVCkgewotCQkJciA9IGFtZGdwdV9jc19wcm9jZXNzX3N5bmNvYmpf b3V0X2RlcChwLCBjaHVuayk7CisJCQlicmVhazsKKwkJY2FzZSBBTURHUFVfQ0hVTktfSURfU1lO Q09CSl9USU1FTElORV9XQUlUOgorCQkJciA9IGFtZGdwdV9jc19wcm9jZXNzX3N5bmNvYmpfaW5f ZGVwKHAsIGNodW5rLCB0cnVlKTsKIAkJCWlmIChyKQogCQkJCXJldHVybiByOworCQkJYnJlYWs7 CisJCWNhc2UgQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfVElNRUxJTkVfU0lHTkFMOgorCQkJciA9 IGFtZGdwdV9jc19wcm9jZXNzX3N5bmNvYmpfb3V0X2RlcChwLCBjaHVuaywgdHJ1ZSk7CisJCQlp ZiAocikKKwkJCQlyZXR1cm4gcjsKKwkJCWJyZWFrOwogCQl9CiAJfQogCkBAIC0xMTkxLDcgKzEy NTIsOCBAQCBzdGF0aWMgdm9pZCBhbWRncHVfY3NfcG9zdF9kZXBlbmRlbmNpZXMoc3RydWN0IGFt ZGdwdV9jc19wYXJzZXIgKnApCiAJaW50IGk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgcC0+bnVtX3Bv c3RfZGVwX3N5bmNvYmpzOyArK2kpCi0JCWRybV9zeW5jb2JqX3JlcGxhY2VfZmVuY2UocC0+cG9z dF9kZXBfc3luY29ianNbaV0sIDAsIHAtPmZlbmNlKTsKKwkJZHJtX3N5bmNvYmpfcmVwbGFjZV9m ZW5jZShwLT5wb3N0X2RlcF9zeW5jb2Jqc1tpXS5wb3N0X2RlcF9zeW5jb2JqLAorCQkJCQkgIHAt PnBvc3RfZGVwX3N5bmNvYmpzW2ldLnBvaW50LCBwLT5mZW5jZSk7CiB9CiAKIHN0YXRpYyBpbnQg YW1kZ3B1X2NzX3N1Ym1pdChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKZGlmZiAtLWdpdCBh L2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS9hbWRncHVf ZHJtLmgKaW5kZXggMWNlZWM1NmRlMDE1Li40MTIzNTliNDQ2ZjEgMTAwNjQ0Ci0tLSBhL2luY2x1 ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2Ry bS5oCkBAIC01MTcsNiArNTE3LDggQEAgc3RydWN0IGRybV9hbWRncHVfZ2VtX3ZhIHsKICNkZWZp bmUgQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfSU4gICAgICAweDA0CiAjZGVmaW5lIEFNREdQVV9D SFVOS19JRF9TWU5DT0JKX09VVCAgICAgMHgwNQogI2RlZmluZSBBTURHUFVfQ0hVTktfSURfQk9f SEFORExFUyAgICAgIDB4MDYKKyNkZWZpbmUgQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfVElNRUxJ TkVfV0FJVCAgICAweDA3CisjZGVmaW5lIEFNREdQVV9DSFVOS19JRF9TWU5DT0JKX1RJTUVMSU5F X1NJR05BTCAgMHgwOAogCiBzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVuayB7CiAJX191MzIJCWNo dW5rX2lkOwpAQCAtNTkyLDYgKzU5NCwxNCBAQCBzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19z ZW0gewogCV9fdTMyIGhhbmRsZTsKIH07CiAKK3N0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3N5 bmNvYmogeworICAgICAgIF9fdTMyIGhhbmRsZTsKKyAgICAgICBfX3UzMiBwYWQ7CisgICAgICAg X191NjQgcG9pbnQ7CisgICAgICAgX191NjQgZmxhZ3M7Cit9OworCisKICNkZWZpbmUgQU1ER1BV X0ZFTkNFX1RPX0hBTkRMRV9HRVRfU1lOQ09CSgkwCiAjZGVmaW5lIEFNREdQVV9GRU5DRV9UT19I QU5ETEVfR0VUX1NZTkNPQkpfRkQJMQogI2RlZmluZSBBTURHUFVfRkVOQ0VfVE9fSEFORExFX0dF VF9TWU5DX0ZJTEVfRkQJMgotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2FtZC1nZngK