From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH 6/9] drm/amdgpu: add timeline support in amdgpu CS v3 Date: Mon, 25 Mar 2019 16:32:21 +0800 Message-ID: <20190325083224.2983-6-david1.zhou@amd.com> References: <20190325083224.2983-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: <20190325083224.2983-1-david1.zhou@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, lionel.g.landwerlin@intel.com, jason@jlekstrand.net, Christian.Koenig@amd.com, Tobias.Hector@amd.com Cc: Dave Airlie List-Id: amd-gfx.lists.freedesktop.org c3luY29iaiB3YWl0L3NpZ25hbCBvcGVyYXRpb24gaXMgYXBwZW5kaW5nIGluIGNvbW1hbmQgc3Vi bWlzc2lvbi4KdjI6IHNlcGFyYXRlIHRvIHR3byBraW5kcyBpbi9vdXRfZGVwcyBmdW5jdGlvbnMK djM6IGZpeCBjaGVja2luZyBmb3IgdGltZWxpbmUgc3luY29iagoKU2lnbmVkLW9mZi1ieTogQ2h1 bm1pbmcgWmhvdSA8ZGF2aWQxLnpob3VAYW1kLmNvbT4KQ2M6IFRvYmlhcyBIZWN0b3IgPFRvYmlh cy5IZWN0b3JAYW1kLmNvbT4KQ2M6IEphc29uIEVrc3RyYW5kIDxqYXNvbkBqbGVrc3RyYW5kLm5l dD4KQ2M6IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+CkNjOiBDaHJpcyBXaWxzb24g PGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IExpb25lbCBMYW5kd2VybGluIDxsaW9uZWwu Zy5sYW5kd2VybGluQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHUuaCAgICB8ICAxMCArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Nz LmMgfCAxNTIgKysrKysrKysrKysrKysrKysrKysrLS0tLQogaW5jbHVkZS91YXBpL2RybS9hbWRn cHVfZHJtLmggICAgICAgICAgfCAgIDggKysKIDMgZmlsZXMgY2hhbmdlZCwgMTQ0IGluc2VydGlv bnMoKyksIDI2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKaW5k ZXggOGQwZDdmM2RkNWZiLi5kZWVjMmM3OTYyNTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdS5oCkBAIC00MzMsNiArNDMzLDEyIEBAIHN0cnVjdCBhbWRncHVfY3NfY2h1bmsgewogCXZv aWQJCQkqa2RhdGE7CiB9OwogCitzdHJ1Y3QgYW1kZ3B1X2NzX3Bvc3RfZGVwIHsKKwlzdHJ1Y3Qg ZHJtX3N5bmNvYmogKnN5bmNvYmo7CisJc3RydWN0IGRtYV9mZW5jZV9jaGFpbiAqY2hhaW47CisJ dTY0IHBvaW50OworfTsKKwogc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgewogCXN0cnVjdCBhbWRn cHVfZGV2aWNlCSphZGV2OwogCXN0cnVjdCBkcm1fZmlsZQkJKmZpbHA7CkBAIC00NjIsOCArNDY4 LDggQEAgc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgewogCS8qIHVzZXIgZmVuY2UgKi8KIAlzdHJ1 Y3QgYW1kZ3B1X2JvX2xpc3RfZW50cnkJdWZfZW50cnk7CiAKLQl1bnNpZ25lZCBudW1fcG9zdF9k ZXBfc3luY29ianM7Ci0Jc3RydWN0IGRybV9zeW5jb2JqICoqcG9zdF9kZXBfc3luY29ianM7CisJ dW5zaWduZWQJCQludW1fcG9zdF9kZXBzOworCXN0cnVjdCBhbWRncHVfY3NfcG9zdF9kZXAJKnBv c3RfZGVwczsKIH07CiAKIHN0YXRpYyBpbmxpbmUgdTMyIGFtZGdwdV9nZXRfaWJfdmFsdWUoc3Ry dWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9j cy5jCmluZGV4IDUyYTVlNGZkYzk1Yi4uMmY2MjM5YjZiZTZmIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfY3MuYwpAQCAtMjE1LDYgKzIxNSw4IEBAIHN0YXRpYyBpbnQgYW1kZ3B1 X2NzX3BhcnNlcl9pbml0KHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLCB1bmlvbiBkcm1fYW1k Z3B1X2NzCiAJCWNhc2UgQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfSU46CiAJCWNhc2UgQU1ER1BV X0NIVU5LX0lEX1NZTkNPQkpfT1VUOgogCQljYXNlIEFNREdQVV9DSFVOS19JRF9TQ0hFRFVMRURf REVQRU5ERU5DSUVTOgorCQljYXNlIEFNREdQVV9DSFVOS19JRF9TWU5DT0JKX1RJTUVMSU5FX1dB SVQ6CisJCWNhc2UgQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfVElNRUxJTkVfU0lHTkFMOgogCQkJ YnJlYWs7CiAKIAkJZGVmYXVsdDoKQEAgLTgwNCw5ICs4MDYsMTEgQEAgc3RhdGljIHZvaWQgYW1k Z3B1X2NzX3BhcnNlcl9maW5pKHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwYXJzZXIsIGludCBl cnJvciwKIAkJdHRtX2V1X2JhY2tvZmZfcmVzZXJ2YXRpb24oJnBhcnNlci0+dGlja2V0LAogCQkJ CQkgICAmcGFyc2VyLT52YWxpZGF0ZWQpOwogCi0JZm9yIChpID0gMDsgaSA8IHBhcnNlci0+bnVt X3Bvc3RfZGVwX3N5bmNvYmpzOyBpKyspCi0JCWRybV9zeW5jb2JqX3B1dChwYXJzZXItPnBvc3Rf ZGVwX3N5bmNvYmpzW2ldKTsKLQlrZnJlZShwYXJzZXItPnBvc3RfZGVwX3N5bmNvYmpzKTsKKwlm b3IgKGkgPSAwOyBpIDwgcGFyc2VyLT5udW1fcG9zdF9kZXBzOyBpKyspIHsKKwkJZHJtX3N5bmNv YmpfcHV0KHBhcnNlci0+cG9zdF9kZXBzW2ldLnN5bmNvYmopOworCQlrZnJlZShwYXJzZXItPnBv c3RfZGVwc1tpXS5jaGFpbik7CisJfQorCWtmcmVlKHBhcnNlci0+cG9zdF9kZXBzKTsKIAogCWRt YV9mZW5jZV9wdXQocGFyc2VyLT5mZW5jZSk7CiAKQEAgLTExMTcsMTMgKzExMjEsMTggQEAgc3Rh dGljIGludCBhbWRncHVfY3NfcHJvY2Vzc19mZW5jZV9kZXAoc3RydWN0IGFtZGdwdV9jc19wYXJz ZXIgKnAsCiB9CiAKIHN0YXRpYyBpbnQgYW1kZ3B1X3N5bmNvYmpfbG9va3VwX2FuZF9hZGRfdG9f c3luYyhzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKLQkJCQkJCSB1aW50MzJfdCBoYW5kbGUp CisJCQkJCQkgdWludDMyX3QgaGFuZGxlLCB1NjQgcG9pbnQsCisJCQkJCQkgdTY0IGZsYWdzKQog ewotCWludCByOwogCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlOwotCXIgPSBkcm1fc3luY29ial9m aW5kX2ZlbmNlKHAtPmZpbHAsIGhhbmRsZSwgMCwgMCwgJmZlbmNlKTsKLQlpZiAocikKKwlpbnQg cjsKKworCXIgPSBkcm1fc3luY29ial9maW5kX2ZlbmNlKHAtPmZpbHAsIGhhbmRsZSwgcG9pbnQs IGZsYWdzLCAmZmVuY2UpOworCWlmIChyKSB7CisJCURSTV9FUlJPUigic3luY29iaiAldSBmYWls ZWQgdG8gZmluZCBmZW5jZSBAICVsbHUgKCVkKSFcbiIsCisJCQkgIGhhbmRsZSwgcG9pbnQsIHIp OwogCQlyZXR1cm4gcjsKKwl9CiAKIAlyID0gYW1kZ3B1X3N5bmNfZmVuY2UocC0+YWRldiwgJnAt PmpvYi0+c3luYywgZmVuY2UsIHRydWUpOwogCWRtYV9mZW5jZV9wdXQoZmVuY2UpOwpAQCAtMTEz NCw0NiArMTE0MywxMTggQEAgc3RhdGljIGludCBhbWRncHVfc3luY29ial9sb29rdXBfYW5kX2Fk ZF90b19zeW5jKHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLAogc3RhdGljIGludCBhbWRncHVf Y3NfcHJvY2Vzc19zeW5jb2JqX2luX2RlcChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKIAkJ CQkJICAgIHN0cnVjdCBhbWRncHVfY3NfY2h1bmsgKmNodW5rKQogeworCXN0cnVjdCBkcm1fYW1k Z3B1X2NzX2NodW5rX3NlbSAqZGVwczsKIAl1bnNpZ25lZCBudW1fZGVwczsKIAlpbnQgaSwgcjsK LQlzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0gKmRlcHM7CiAKIAlkZXBzID0gKHN0cnVj dCBkcm1fYW1kZ3B1X2NzX2NodW5rX3NlbSAqKWNodW5rLT5rZGF0YTsKIAludW1fZGVwcyA9IGNo dW5rLT5sZW5ndGhfZHcgKiA0IC8KIAkJc2l6ZW9mKHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5r X3NlbSk7CisJZm9yIChpID0gMDsgaSA8IG51bV9kZXBzOyArK2kpIHsKKwkJciA9IGFtZGdwdV9z eW5jb2JqX2xvb2t1cF9hbmRfYWRkX3RvX3N5bmMocCwgZGVwc1tpXS5oYW5kbGUsCisJCQkJCQkJ ICAwLCAwKTsKKwkJaWYgKHIpCisJCQlyZXR1cm4gcjsKKwl9CisKKwlyZXR1cm4gMDsKK30KKwog CitzdGF0aWMgaW50IGFtZGdwdV9jc19wcm9jZXNzX3N5bmNvYmpfdGltZWxpbmVfaW5fZGVwKHN0 cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLAorCQkJCQkJICAgICBzdHJ1Y3QgYW1kZ3B1X2NzX2No dW5rICpjaHVuaykKK3sKKwlzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zeW5jb2JqICpzeW5j b2JqX2RlcHM7CisJdW5zaWduZWQgbnVtX2RlcHM7CisJaW50IGksIHI7CisKKwlzeW5jb2JqX2Rl cHMgPSAoc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc3luY29iaiAqKWNodW5rLT5rZGF0YTsK KwludW1fZGVwcyA9IGNodW5rLT5sZW5ndGhfZHcgKiA0IC8KKwkJc2l6ZW9mKHN0cnVjdCBkcm1f YW1kZ3B1X2NzX2NodW5rX3N5bmNvYmopOwogCWZvciAoaSA9IDA7IGkgPCBudW1fZGVwczsgKytp KSB7Ci0JCXIgPSBhbWRncHVfc3luY29ial9sb29rdXBfYW5kX2FkZF90b19zeW5jKHAsIGRlcHNb aV0uaGFuZGxlKTsKKwkJciA9IGFtZGdwdV9zeW5jb2JqX2xvb2t1cF9hbmRfYWRkX3RvX3N5bmMo cCwKKwkJCQkJCQkgIHN5bmNvYmpfZGVwc1tpXS5oYW5kbGUsCisJCQkJCQkJICBzeW5jb2JqX2Rl cHNbaV0ucG9pbnQsCisJCQkJCQkJICBzeW5jb2JqX2RlcHNbaV0uZmxhZ3MpOwogCQlpZiAocikK IAkJCXJldHVybiByOwogCX0KKwogCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGFtZGdwdV9j c19wcm9jZXNzX3N5bmNvYmpfb3V0X2RlcChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKIAkJ CQkJICAgICBzdHJ1Y3QgYW1kZ3B1X2NzX2NodW5rICpjaHVuaykKIHsKKwlzdHJ1Y3QgZHJtX2Ft ZGdwdV9jc19jaHVua19zZW0gKmRlcHM7CiAJdW5zaWduZWQgbnVtX2RlcHM7CiAJaW50IGk7Ci0J c3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2VtICpkZXBzOworCiAJZGVwcyA9IChzdHJ1Y3Qg ZHJtX2FtZGdwdV9jc19jaHVua19zZW0gKiljaHVuay0+a2RhdGE7CiAJbnVtX2RlcHMgPSBjaHVu ay0+bGVuZ3RoX2R3ICogNCAvCiAJCXNpemVvZihzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19z ZW0pOwogCi0JcC0+cG9zdF9kZXBfc3luY29ianMgPSBrbWFsbG9jX2FycmF5KG51bV9kZXBzLAot CQkJCQkgICAgIHNpemVvZihzdHJ1Y3QgZHJtX3N5bmNvYmogKiksCi0JCQkJCSAgICAgR0ZQX0tF Uk5FTCk7Ci0JcC0+bnVtX3Bvc3RfZGVwX3N5bmNvYmpzID0gMDsKKwlwLT5wb3N0X2RlcHMgPSBr bWFsbG9jX2FycmF5KG51bV9kZXBzLCBzaXplb2YoKnAtPnBvc3RfZGVwcyksCisJCQkJICAgICBH RlBfS0VSTkVMKTsKKwlwLT5udW1fcG9zdF9kZXBzID0gMDsKIAotCWlmICghcC0+cG9zdF9kZXBf c3luY29ianMpCisJaWYgKCFwLT5wb3N0X2RlcHMpCiAJCXJldHVybiAtRU5PTUVNOwogCisKIAlm b3IgKGkgPSAwOyBpIDwgbnVtX2RlcHM7ICsraSkgewotCQlwLT5wb3N0X2RlcF9zeW5jb2Jqc1tp XSA9IGRybV9zeW5jb2JqX2ZpbmQocC0+ZmlscCwgZGVwc1tpXS5oYW5kbGUpOwotCQlpZiAoIXAt PnBvc3RfZGVwX3N5bmNvYmpzW2ldKQorCQlwLT5wb3N0X2RlcHNbaV0uc3luY29iaiA9CisJCQlk cm1fc3luY29ial9maW5kKHAtPmZpbHAsIGRlcHNbaV0uaGFuZGxlKTsKKwkJaWYgKCFwLT5wb3N0 X2RlcHNbaV0uc3luY29iaikKIAkJCXJldHVybiAtRUlOVkFMOwotCQlwLT5udW1fcG9zdF9kZXBf c3luY29ianMrKzsKKwkJcC0+cG9zdF9kZXBzW2ldLmNoYWluID0gTlVMTDsKKwkJcC0+cG9zdF9k ZXBzW2ldLnBvaW50ID0gMDsKKwkJcC0+bnVtX3Bvc3RfZGVwcysrOwogCX0KKworCXJldHVybiAw OworfQorCisKK3N0YXRpYyBpbnQgYW1kZ3B1X2NzX3Byb2Nlc3Nfc3luY29ial90aW1lbGluZV9v dXRfZGVwKHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLAorCQkJCQkJICAgICAgc3RydWN0IGFt ZGdwdV9jc19jaHVuaworCQkJCQkJICAgICAgKmNodW5rKQoreworCXN0cnVjdCBkcm1fYW1kZ3B1 X2NzX2NodW5rX3N5bmNvYmogKnN5bmNvYmpfZGVwczsKKwl1bnNpZ25lZCBudW1fZGVwczsKKwlp bnQgaTsKKworCXN5bmNvYmpfZGVwcyA9IChzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zeW5j b2JqICopY2h1bmstPmtkYXRhOworCW51bV9kZXBzID0gY2h1bmstPmxlbmd0aF9kdyAqIDQgLwor CQlzaXplb2Yoc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc3luY29iaik7CisKKwlwLT5wb3N0 X2RlcHMgPSBrbWFsbG9jX2FycmF5KG51bV9kZXBzLCBzaXplb2YoKnAtPnBvc3RfZGVwcyksCisJ CQkJICAgICBHRlBfS0VSTkVMKTsKKwlwLT5udW1fcG9zdF9kZXBzID0gMDsKKworCWlmICghcC0+ cG9zdF9kZXBzKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWZvciAoaSA9IDA7IGkgPCBudW1fZGVw czsgKytpKSB7CisJCXN0cnVjdCBhbWRncHVfY3NfcG9zdF9kZXAgKmRlcCA9ICZwLT5wb3N0X2Rl cHNbaV07CisKKwkJZGVwLT5jaGFpbiA9IE5VTEw7CisJCWlmIChzeW5jb2JqX2RlcHNbaV0ucG9p bnQpIHsKKwkJCWRlcC0+Y2hhaW4gPSBrbWFsbG9jKHNpemVvZigqZGVwLT5jaGFpbiksIEdGUF9L RVJORUwpOworCQkJaWYgKCFkZXAtPmNoYWluKQorCQkJCXJldHVybiAtRU5PTUVNOworCQl9CisK KwkJZGVwLT5zeW5jb2JqID0gZHJtX3N5bmNvYmpfZmluZChwLT5maWxwLAorCQkJCQkJc3luY29i al9kZXBzW2ldLmhhbmRsZSk7CisJCWlmICghZGVwLT5zeW5jb2JqKSB7CisJCQlrZnJlZShkZXAt PmNoYWluKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisJCWRlcC0+cG9pbnQgPSBzeW5jb2Jq X2RlcHNbaV0ucG9pbnQ7CisJCXAtPm51bV9wb3N0X2RlcHMrKzsKKwl9CisKIAlyZXR1cm4gMDsK IH0KIApAQCAtMTE4NywxOSArMTI2OCwzMyBAQCBzdGF0aWMgaW50IGFtZGdwdV9jc19kZXBlbmRl bmNpZXMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAKIAkJY2h1bmsgPSAmcC0+Y2h1bmtz W2ldOwogCi0JCWlmIChjaHVuay0+Y2h1bmtfaWQgPT0gQU1ER1BVX0NIVU5LX0lEX0RFUEVOREVO Q0lFUyB8fAotCQkgICAgY2h1bmstPmNodW5rX2lkID09IEFNREdQVV9DSFVOS19JRF9TQ0hFRFVM RURfREVQRU5ERU5DSUVTKSB7CisJCXN3aXRjaCAoY2h1bmstPmNodW5rX2lkKSB7CisJCWNhc2Ug QU1ER1BVX0NIVU5LX0lEX0RFUEVOREVOQ0lFUzoKKwkJY2FzZSBBTURHUFVfQ0hVTktfSURfU0NI RURVTEVEX0RFUEVOREVOQ0lFUzoKIAkJCXIgPSBhbWRncHVfY3NfcHJvY2Vzc19mZW5jZV9kZXAo cCwgY2h1bmspOwogCQkJaWYgKHIpCiAJCQkJcmV0dXJuIHI7Ci0JCX0gZWxzZSBpZiAoY2h1bmst PmNodW5rX2lkID09IEFNREdQVV9DSFVOS19JRF9TWU5DT0JKX0lOKSB7CisJCQlicmVhazsKKwkJ Y2FzZSBBTURHUFVfQ0hVTktfSURfU1lOQ09CSl9JTjoKIAkJCXIgPSBhbWRncHVfY3NfcHJvY2Vz c19zeW5jb2JqX2luX2RlcChwLCBjaHVuayk7CiAJCQlpZiAocikKIAkJCQlyZXR1cm4gcjsKLQkJ fSBlbHNlIGlmIChjaHVuay0+Y2h1bmtfaWQgPT0gQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfT1VU KSB7CisJCQlicmVhazsKKwkJY2FzZSBBTURHUFVfQ0hVTktfSURfU1lOQ09CSl9PVVQ6CiAJCQly ID0gYW1kZ3B1X2NzX3Byb2Nlc3Nfc3luY29ial9vdXRfZGVwKHAsIGNodW5rKTsKIAkJCWlmIChy KQogCQkJCXJldHVybiByOworCQkJYnJlYWs7CisJCWNhc2UgQU1ER1BVX0NIVU5LX0lEX1NZTkNP QkpfVElNRUxJTkVfV0FJVDoKKwkJCXIgPSBhbWRncHVfY3NfcHJvY2Vzc19zeW5jb2JqX3RpbWVs aW5lX2luX2RlcChwLCBjaHVuayk7CisJCQlpZiAocikKKwkJCQlyZXR1cm4gcjsKKwkJCWJyZWFr OworCQljYXNlIEFNREdQVV9DSFVOS19JRF9TWU5DT0JKX1RJTUVMSU5FX1NJR05BTDoKKwkJCXIg PSBhbWRncHVfY3NfcHJvY2Vzc19zeW5jb2JqX3RpbWVsaW5lX291dF9kZXAocCwgY2h1bmspOwor CQkJaWYgKHIpCisJCQkJcmV0dXJuIHI7CisJCQlicmVhazsKIAkJfQogCX0KIApAQCAtMTIxMCw4 ICsxMzA1LDE3IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9jc19wb3N0X2RlcGVuZGVuY2llcyhzdHJ1 Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCkKIHsKIAlpbnQgaTsKIAotCWZvciAoaSA9IDA7IGkgPCBw LT5udW1fcG9zdF9kZXBfc3luY29ianM7ICsraSkKLQkJZHJtX3N5bmNvYmpfcmVwbGFjZV9mZW5j ZShwLT5wb3N0X2RlcF9zeW5jb2Jqc1tpXSwgcC0+ZmVuY2UpOworCWZvciAoaSA9IDA7IGkgPCBw LT5udW1fcG9zdF9kZXBzOyArK2kpIHsKKwkJaWYgKHAtPnBvc3RfZGVwc1tpXS5jaGFpbiAmJiBw LT5wb3N0X2RlcHNbaV0ucG9pbnQpIHsKKwkJCWRybV9zeW5jb2JqX2FkZF9wb2ludChwLT5wb3N0 X2RlcHNbaV0uc3luY29iaiwKKwkJCQkJICAgICAgcC0+cG9zdF9kZXBzW2ldLmNoYWluLAorCQkJ CQkgICAgICBwLT5mZW5jZSwgcC0+cG9zdF9kZXBzW2ldLnBvaW50KTsKKwkJCXAtPnBvc3RfZGVw c1tpXS5jaGFpbiA9IE5VTEw7CisJCX0gZWxzZSB7CisJCQlkcm1fc3luY29ial9yZXBsYWNlX2Zl bmNlKHAtPnBvc3RfZGVwc1tpXS5zeW5jb2JqLAorCQkJCQkJICBwLT5mZW5jZSk7CisJCX0KKwl9 CiB9CiAKIHN0YXRpYyBpbnQgYW1kZ3B1X2NzX3N1Ym1pdChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNl ciAqcCwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oIGIvaW5jbHVk ZS91YXBpL2RybS9hbWRncHVfZHJtLmgKaW5kZXggNGE1M2Y2Y2ZhMDM0Li5lOTI4NzYwYzRjMWEg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oCisrKyBiL2luY2x1ZGUv dWFwaS9kcm0vYW1kZ3B1X2RybS5oCkBAIC01MjUsNiArNTI1LDggQEAgc3RydWN0IGRybV9hbWRn cHVfZ2VtX3ZhIHsKICNkZWZpbmUgQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfT1VUICAgICAweDA1 CiAjZGVmaW5lIEFNREdQVV9DSFVOS19JRF9CT19IQU5ETEVTICAgICAgMHgwNgogI2RlZmluZSBB TURHUFVfQ0hVTktfSURfU0NIRURVTEVEX0RFUEVOREVOQ0lFUwkweDA3CisjZGVmaW5lIEFNREdQ VV9DSFVOS19JRF9TWU5DT0JKX1RJTUVMSU5FX1dBSVQgICAgMHgwOAorI2RlZmluZSBBTURHUFVf Q0hVTktfSURfU1lOQ09CSl9USU1FTElORV9TSUdOQUwgIDB4MDkKIAogc3RydWN0IGRybV9hbWRn cHVfY3NfY2h1bmsgewogCV9fdTMyCQljaHVua19pZDsKQEAgLTYwNSw2ICs2MDcsMTIgQEAgc3Ry dWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2VtIHsKIAlfX3UzMiBoYW5kbGU7CiB9OwogCitzdHJ1 Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zeW5jb2JqIHsKKyAgICAgICBfX3UzMiBoYW5kbGU7Cisg ICAgICAgX191MzIgZmxhZ3M7CisgICAgICAgX191NjQgcG9pbnQ7Cit9OworCiAjZGVmaW5lIEFN REdQVV9GRU5DRV9UT19IQU5ETEVfR0VUX1NZTkNPQkoJMAogI2RlZmluZSBBTURHUFVfRkVOQ0Vf VE9fSEFORExFX0dFVF9TWU5DT0JKX0ZECTEKICNkZWZpbmUgQU1ER1BVX0ZFTkNFX1RPX0hBTkRM RV9HRVRfU1lOQ19GSUxFX0ZECTIKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVs