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, 1 Apr 2019 17:51:00 +0800 Message-ID: <20190401095103.9592-7-david1.zhou@amd.com> References: <20190401095103.9592-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: <20190401095103.9592-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 Zy5sYW5kd2VybGluQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IExpb25lbCBMYW5kd2VybGluIDxs aW9uZWwuZy5sYW5kd2VybGluQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHUuaCAgICB8ICAxMCArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2NzLmMgfCAxNTIgKysrKysrKysrKysrKysrKysrKysrLS0tLQogaW5jbHVkZS91YXBpL2Ry bS9hbWRncHVfZHJtLmggICAgICAgICAgfCAgIDggKysKIDMgZmlsZXMgY2hhbmdlZCwgMTQ0IGlu c2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 LmgKaW5kZXggOGQwZDdmM2RkNWZiLi5kZWVjMmM3OTYyNTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdS5oCkBAIC00MzMsNiArNDMzLDEyIEBAIHN0cnVjdCBhbWRncHVfY3NfY2h1bmsg ewogCXZvaWQJCQkqa2RhdGE7CiB9OwogCitzdHJ1Y3QgYW1kZ3B1X2NzX3Bvc3RfZGVwIHsKKwlz dHJ1Y3QgZHJtX3N5bmNvYmogKnN5bmNvYmo7CisJc3RydWN0IGRtYV9mZW5jZV9jaGFpbiAqY2hh aW47CisJdTY0IHBvaW50OworfTsKKwogc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgewogCXN0cnVj dCBhbWRncHVfZGV2aWNlCSphZGV2OwogCXN0cnVjdCBkcm1fZmlsZQkJKmZpbHA7CkBAIC00NjIs OCArNDY4LDggQEAgc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgewogCS8qIHVzZXIgZmVuY2UgKi8K IAlzdHJ1Y3QgYW1kZ3B1X2JvX2xpc3RfZW50cnkJdWZfZW50cnk7CiAKLQl1bnNpZ25lZCBudW1f cG9zdF9kZXBfc3luY29ianM7Ci0Jc3RydWN0IGRybV9zeW5jb2JqICoqcG9zdF9kZXBfc3luY29i anM7CisJdW5zaWduZWQJCQludW1fcG9zdF9kZXBzOworCXN0cnVjdCBhbWRncHVfY3NfcG9zdF9k ZXAJKnBvc3RfZGVwczsKIH07CiAKIHN0YXRpYyBpbmxpbmUgdTMyIGFtZGdwdV9nZXRfaWJfdmFs dWUoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9jcy5jCmluZGV4IDUyYTVlNGZkYzk1Yi4uMmY2MjM5YjZiZTZmIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwpAQCAtMjE1LDYgKzIxNSw4IEBAIHN0YXRpYyBpbnQg YW1kZ3B1X2NzX3BhcnNlcl9pbml0KHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLCB1bmlvbiBk cm1fYW1kZ3B1X2NzCiAJCWNhc2UgQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfSU46CiAJCWNhc2Ug QU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfT1VUOgogCQljYXNlIEFNREdQVV9DSFVOS19JRF9TQ0hF RFVMRURfREVQRU5ERU5DSUVTOgorCQljYXNlIEFNREdQVV9DSFVOS19JRF9TWU5DT0JKX1RJTUVM SU5FX1dBSVQ6CisJCWNhc2UgQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfVElNRUxJTkVfU0lHTkFM OgogCQkJYnJlYWs7CiAKIAkJZGVmYXVsdDoKQEAgLTgwNCw5ICs4MDYsMTEgQEAgc3RhdGljIHZv aWQgYW1kZ3B1X2NzX3BhcnNlcl9maW5pKHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwYXJzZXIs IGludCBlcnJvciwKIAkJdHRtX2V1X2JhY2tvZmZfcmVzZXJ2YXRpb24oJnBhcnNlci0+dGlja2V0 LAogCQkJCQkgICAmcGFyc2VyLT52YWxpZGF0ZWQpOwogCi0JZm9yIChpID0gMDsgaSA8IHBhcnNl ci0+bnVtX3Bvc3RfZGVwX3N5bmNvYmpzOyBpKyspCi0JCWRybV9zeW5jb2JqX3B1dChwYXJzZXIt PnBvc3RfZGVwX3N5bmNvYmpzW2ldKTsKLQlrZnJlZShwYXJzZXItPnBvc3RfZGVwX3N5bmNvYmpz KTsKKwlmb3IgKGkgPSAwOyBpIDwgcGFyc2VyLT5udW1fcG9zdF9kZXBzOyBpKyspIHsKKwkJZHJt X3N5bmNvYmpfcHV0KHBhcnNlci0+cG9zdF9kZXBzW2ldLnN5bmNvYmopOworCQlrZnJlZShwYXJz ZXItPnBvc3RfZGVwc1tpXS5jaGFpbik7CisJfQorCWtmcmVlKHBhcnNlci0+cG9zdF9kZXBzKTsK IAogCWRtYV9mZW5jZV9wdXQocGFyc2VyLT5mZW5jZSk7CiAKQEAgLTExMTcsMTMgKzExMjEsMTgg QEAgc3RhdGljIGludCBhbWRncHVfY3NfcHJvY2Vzc19mZW5jZV9kZXAoc3RydWN0IGFtZGdwdV9j c19wYXJzZXIgKnAsCiB9CiAKIHN0YXRpYyBpbnQgYW1kZ3B1X3N5bmNvYmpfbG9va3VwX2FuZF9h ZGRfdG9fc3luYyhzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKLQkJCQkJCSB1aW50MzJfdCBo YW5kbGUpCisJCQkJCQkgdWludDMyX3QgaGFuZGxlLCB1NjQgcG9pbnQsCisJCQkJCQkgdTY0IGZs YWdzKQogewotCWludCByOwogCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlOwotCXIgPSBkcm1fc3lu Y29ial9maW5kX2ZlbmNlKHAtPmZpbHAsIGhhbmRsZSwgMCwgMCwgJmZlbmNlKTsKLQlpZiAocikK KwlpbnQgcjsKKworCXIgPSBkcm1fc3luY29ial9maW5kX2ZlbmNlKHAtPmZpbHAsIGhhbmRsZSwg cG9pbnQsIGZsYWdzLCAmZmVuY2UpOworCWlmIChyKSB7CisJCURSTV9FUlJPUigic3luY29iaiAl dSBmYWlsZWQgdG8gZmluZCBmZW5jZSBAICVsbHUgKCVkKSFcbiIsCisJCQkgIGhhbmRsZSwgcG9p bnQsIHIpOwogCQlyZXR1cm4gcjsKKwl9CiAKIAlyID0gYW1kZ3B1X3N5bmNfZmVuY2UocC0+YWRl diwgJnAtPmpvYi0+c3luYywgZmVuY2UsIHRydWUpOwogCWRtYV9mZW5jZV9wdXQoZmVuY2UpOwpA QCAtMTEzNCw0NiArMTE0MywxMTggQEAgc3RhdGljIGludCBhbWRncHVfc3luY29ial9sb29rdXBf YW5kX2FkZF90b19zeW5jKHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLAogc3RhdGljIGludCBh bWRncHVfY3NfcHJvY2Vzc19zeW5jb2JqX2luX2RlcChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAq cCwKIAkJCQkJICAgIHN0cnVjdCBhbWRncHVfY3NfY2h1bmsgKmNodW5rKQogeworCXN0cnVjdCBk cm1fYW1kZ3B1X2NzX2NodW5rX3NlbSAqZGVwczsKIAl1bnNpZ25lZCBudW1fZGVwczsKIAlpbnQg aSwgcjsKLQlzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0gKmRlcHM7CiAKIAlkZXBzID0g KHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3NlbSAqKWNodW5rLT5rZGF0YTsKIAludW1fZGVw cyA9IGNodW5rLT5sZW5ndGhfZHcgKiA0IC8KIAkJc2l6ZW9mKHN0cnVjdCBkcm1fYW1kZ3B1X2Nz X2NodW5rX3NlbSk7CisJZm9yIChpID0gMDsgaSA8IG51bV9kZXBzOyArK2kpIHsKKwkJciA9IGFt ZGdwdV9zeW5jb2JqX2xvb2t1cF9hbmRfYWRkX3RvX3N5bmMocCwgZGVwc1tpXS5oYW5kbGUsCisJ CQkJCQkJICAwLCAwKTsKKwkJaWYgKHIpCisJCQlyZXR1cm4gcjsKKwl9CisKKwlyZXR1cm4gMDsK K30KKwogCitzdGF0aWMgaW50IGFtZGdwdV9jc19wcm9jZXNzX3N5bmNvYmpfdGltZWxpbmVfaW5f ZGVwKHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLAorCQkJCQkJICAgICBzdHJ1Y3QgYW1kZ3B1 X2NzX2NodW5rICpjaHVuaykKK3sKKwlzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zeW5jb2Jq ICpzeW5jb2JqX2RlcHM7CisJdW5zaWduZWQgbnVtX2RlcHM7CisJaW50IGksIHI7CisKKwlzeW5j b2JqX2RlcHMgPSAoc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc3luY29iaiAqKWNodW5rLT5r ZGF0YTsKKwludW1fZGVwcyA9IGNodW5rLT5sZW5ndGhfZHcgKiA0IC8KKwkJc2l6ZW9mKHN0cnVj dCBkcm1fYW1kZ3B1X2NzX2NodW5rX3N5bmNvYmopOwogCWZvciAoaSA9IDA7IGkgPCBudW1fZGVw czsgKytpKSB7Ci0JCXIgPSBhbWRncHVfc3luY29ial9sb29rdXBfYW5kX2FkZF90b19zeW5jKHAs IGRlcHNbaV0uaGFuZGxlKTsKKwkJciA9IGFtZGdwdV9zeW5jb2JqX2xvb2t1cF9hbmRfYWRkX3Rv X3N5bmMocCwKKwkJCQkJCQkgIHN5bmNvYmpfZGVwc1tpXS5oYW5kbGUsCisJCQkJCQkJICBzeW5j b2JqX2RlcHNbaV0ucG9pbnQsCisJCQkJCQkJICBzeW5jb2JqX2RlcHNbaV0uZmxhZ3MpOwogCQlp ZiAocikKIAkJCXJldHVybiByOwogCX0KKwogCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGFt ZGdwdV9jc19wcm9jZXNzX3N5bmNvYmpfb3V0X2RlcChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAq cCwKIAkJCQkJICAgICBzdHJ1Y3QgYW1kZ3B1X2NzX2NodW5rICpjaHVuaykKIHsKKwlzdHJ1Y3Qg ZHJtX2FtZGdwdV9jc19jaHVua19zZW0gKmRlcHM7CiAJdW5zaWduZWQgbnVtX2RlcHM7CiAJaW50 IGk7Ci0Jc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2VtICpkZXBzOworCiAJZGVwcyA9IChz dHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0gKiljaHVuay0+a2RhdGE7CiAJbnVtX2RlcHMg PSBjaHVuay0+bGVuZ3RoX2R3ICogNCAvCiAJCXNpemVvZihzdHJ1Y3QgZHJtX2FtZGdwdV9jc19j aHVua19zZW0pOwogCi0JcC0+cG9zdF9kZXBfc3luY29ianMgPSBrbWFsbG9jX2FycmF5KG51bV9k ZXBzLAotCQkJCQkgICAgIHNpemVvZihzdHJ1Y3QgZHJtX3N5bmNvYmogKiksCi0JCQkJCSAgICAg R0ZQX0tFUk5FTCk7Ci0JcC0+bnVtX3Bvc3RfZGVwX3N5bmNvYmpzID0gMDsKKwlwLT5wb3N0X2Rl cHMgPSBrbWFsbG9jX2FycmF5KG51bV9kZXBzLCBzaXplb2YoKnAtPnBvc3RfZGVwcyksCisJCQkJ ICAgICBHRlBfS0VSTkVMKTsKKwlwLT5udW1fcG9zdF9kZXBzID0gMDsKIAotCWlmICghcC0+cG9z dF9kZXBfc3luY29ianMpCisJaWYgKCFwLT5wb3N0X2RlcHMpCiAJCXJldHVybiAtRU5PTUVNOwog CisKIAlmb3IgKGkgPSAwOyBpIDwgbnVtX2RlcHM7ICsraSkgewotCQlwLT5wb3N0X2RlcF9zeW5j b2Jqc1tpXSA9IGRybV9zeW5jb2JqX2ZpbmQocC0+ZmlscCwgZGVwc1tpXS5oYW5kbGUpOwotCQlp ZiAoIXAtPnBvc3RfZGVwX3N5bmNvYmpzW2ldKQorCQlwLT5wb3N0X2RlcHNbaV0uc3luY29iaiA9 CisJCQlkcm1fc3luY29ial9maW5kKHAtPmZpbHAsIGRlcHNbaV0uaGFuZGxlKTsKKwkJaWYgKCFw LT5wb3N0X2RlcHNbaV0uc3luY29iaikKIAkJCXJldHVybiAtRUlOVkFMOwotCQlwLT5udW1fcG9z dF9kZXBfc3luY29ianMrKzsKKwkJcC0+cG9zdF9kZXBzW2ldLmNoYWluID0gTlVMTDsKKwkJcC0+ cG9zdF9kZXBzW2ldLnBvaW50ID0gMDsKKwkJcC0+bnVtX3Bvc3RfZGVwcysrOwogCX0KKworCXJl dHVybiAwOworfQorCisKK3N0YXRpYyBpbnQgYW1kZ3B1X2NzX3Byb2Nlc3Nfc3luY29ial90aW1l bGluZV9vdXRfZGVwKHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLAorCQkJCQkJICAgICAgc3Ry dWN0IGFtZGdwdV9jc19jaHVuaworCQkJCQkJICAgICAgKmNodW5rKQoreworCXN0cnVjdCBkcm1f YW1kZ3B1X2NzX2NodW5rX3N5bmNvYmogKnN5bmNvYmpfZGVwczsKKwl1bnNpZ25lZCBudW1fZGVw czsKKwlpbnQgaTsKKworCXN5bmNvYmpfZGVwcyA9IChzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVu a19zeW5jb2JqICopY2h1bmstPmtkYXRhOworCW51bV9kZXBzID0gY2h1bmstPmxlbmd0aF9kdyAq IDQgLworCQlzaXplb2Yoc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc3luY29iaik7CisKKwlw LT5wb3N0X2RlcHMgPSBrbWFsbG9jX2FycmF5KG51bV9kZXBzLCBzaXplb2YoKnAtPnBvc3RfZGVw cyksCisJCQkJICAgICBHRlBfS0VSTkVMKTsKKwlwLT5udW1fcG9zdF9kZXBzID0gMDsKKworCWlm ICghcC0+cG9zdF9kZXBzKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWZvciAoaSA9IDA7IGkgPCBu dW1fZGVwczsgKytpKSB7CisJCXN0cnVjdCBhbWRncHVfY3NfcG9zdF9kZXAgKmRlcCA9ICZwLT5w b3N0X2RlcHNbaV07CisKKwkJZGVwLT5jaGFpbiA9IE5VTEw7CisJCWlmIChzeW5jb2JqX2RlcHNb aV0ucG9pbnQpIHsKKwkJCWRlcC0+Y2hhaW4gPSBrbWFsbG9jKHNpemVvZigqZGVwLT5jaGFpbiks IEdGUF9LRVJORUwpOworCQkJaWYgKCFkZXAtPmNoYWluKQorCQkJCXJldHVybiAtRU5PTUVNOwor CQl9CisKKwkJZGVwLT5zeW5jb2JqID0gZHJtX3N5bmNvYmpfZmluZChwLT5maWxwLAorCQkJCQkJ c3luY29ial9kZXBzW2ldLmhhbmRsZSk7CisJCWlmICghZGVwLT5zeW5jb2JqKSB7CisJCQlrZnJl ZShkZXAtPmNoYWluKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisJCWRlcC0+cG9pbnQgPSBz eW5jb2JqX2RlcHNbaV0ucG9pbnQ7CisJCXAtPm51bV9wb3N0X2RlcHMrKzsKKwl9CisKIAlyZXR1 cm4gMDsKIH0KIApAQCAtMTE4NywxOSArMTI2OCwzMyBAQCBzdGF0aWMgaW50IGFtZGdwdV9jc19k ZXBlbmRlbmNpZXMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAKIAkJY2h1bmsgPSAmcC0+ Y2h1bmtzW2ldOwogCi0JCWlmIChjaHVuay0+Y2h1bmtfaWQgPT0gQU1ER1BVX0NIVU5LX0lEX0RF UEVOREVOQ0lFUyB8fAotCQkgICAgY2h1bmstPmNodW5rX2lkID09IEFNREdQVV9DSFVOS19JRF9T Q0hFRFVMRURfREVQRU5ERU5DSUVTKSB7CisJCXN3aXRjaCAoY2h1bmstPmNodW5rX2lkKSB7CisJ CWNhc2UgQU1ER1BVX0NIVU5LX0lEX0RFUEVOREVOQ0lFUzoKKwkJY2FzZSBBTURHUFVfQ0hVTktf SURfU0NIRURVTEVEX0RFUEVOREVOQ0lFUzoKIAkJCXIgPSBhbWRncHVfY3NfcHJvY2Vzc19mZW5j ZV9kZXAocCwgY2h1bmspOwogCQkJaWYgKHIpCiAJCQkJcmV0dXJuIHI7Ci0JCX0gZWxzZSBpZiAo Y2h1bmstPmNodW5rX2lkID09IEFNREdQVV9DSFVOS19JRF9TWU5DT0JKX0lOKSB7CisJCQlicmVh azsKKwkJY2FzZSBBTURHUFVfQ0hVTktfSURfU1lOQ09CSl9JTjoKIAkJCXIgPSBhbWRncHVfY3Nf cHJvY2Vzc19zeW5jb2JqX2luX2RlcChwLCBjaHVuayk7CiAJCQlpZiAocikKIAkJCQlyZXR1cm4g cjsKLQkJfSBlbHNlIGlmIChjaHVuay0+Y2h1bmtfaWQgPT0gQU1ER1BVX0NIVU5LX0lEX1NZTkNP QkpfT1VUKSB7CisJCQlicmVhazsKKwkJY2FzZSBBTURHUFVfQ0hVTktfSURfU1lOQ09CSl9PVVQ6 CiAJCQlyID0gYW1kZ3B1X2NzX3Byb2Nlc3Nfc3luY29ial9vdXRfZGVwKHAsIGNodW5rKTsKIAkJ CWlmIChyKQogCQkJCXJldHVybiByOworCQkJYnJlYWs7CisJCWNhc2UgQU1ER1BVX0NIVU5LX0lE X1NZTkNPQkpfVElNRUxJTkVfV0FJVDoKKwkJCXIgPSBhbWRncHVfY3NfcHJvY2Vzc19zeW5jb2Jq X3RpbWVsaW5lX2luX2RlcChwLCBjaHVuayk7CisJCQlpZiAocikKKwkJCQlyZXR1cm4gcjsKKwkJ CWJyZWFrOworCQljYXNlIEFNREdQVV9DSFVOS19JRF9TWU5DT0JKX1RJTUVMSU5FX1NJR05BTDoK KwkJCXIgPSBhbWRncHVfY3NfcHJvY2Vzc19zeW5jb2JqX3RpbWVsaW5lX291dF9kZXAocCwgY2h1 bmspOworCQkJaWYgKHIpCisJCQkJcmV0dXJuIHI7CisJCQlicmVhazsKIAkJfQogCX0KIApAQCAt MTIxMCw4ICsxMzA1LDE3IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9jc19wb3N0X2RlcGVuZGVuY2ll cyhzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCkKIHsKIAlpbnQgaTsKIAotCWZvciAoaSA9IDA7 IGkgPCBwLT5udW1fcG9zdF9kZXBfc3luY29ianM7ICsraSkKLQkJZHJtX3N5bmNvYmpfcmVwbGFj ZV9mZW5jZShwLT5wb3N0X2RlcF9zeW5jb2Jqc1tpXSwgcC0+ZmVuY2UpOworCWZvciAoaSA9IDA7 IGkgPCBwLT5udW1fcG9zdF9kZXBzOyArK2kpIHsKKwkJaWYgKHAtPnBvc3RfZGVwc1tpXS5jaGFp biAmJiBwLT5wb3N0X2RlcHNbaV0ucG9pbnQpIHsKKwkJCWRybV9zeW5jb2JqX2FkZF9wb2ludChw LT5wb3N0X2RlcHNbaV0uc3luY29iaiwKKwkJCQkJICAgICAgcC0+cG9zdF9kZXBzW2ldLmNoYWlu LAorCQkJCQkgICAgICBwLT5mZW5jZSwgcC0+cG9zdF9kZXBzW2ldLnBvaW50KTsKKwkJCXAtPnBv c3RfZGVwc1tpXS5jaGFpbiA9IE5VTEw7CisJCX0gZWxzZSB7CisJCQlkcm1fc3luY29ial9yZXBs YWNlX2ZlbmNlKHAtPnBvc3RfZGVwc1tpXS5zeW5jb2JqLAorCQkJCQkJICBwLT5mZW5jZSk7CisJ CX0KKwl9CiB9CiAKIHN0YXRpYyBpbnQgYW1kZ3B1X2NzX3N1Ym1pdChzdHJ1Y3QgYW1kZ3B1X2Nz X3BhcnNlciAqcCwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oIGIv aW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmgKaW5kZXggNGE1M2Y2Y2ZhMDM0Li5lOTI4NzYw YzRjMWEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oCisrKyBiL2lu Y2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oCkBAIC01MjUsNiArNTI1LDggQEAgc3RydWN0IGRy bV9hbWRncHVfZ2VtX3ZhIHsKICNkZWZpbmUgQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfT1VUICAg ICAweDA1CiAjZGVmaW5lIEFNREdQVV9DSFVOS19JRF9CT19IQU5ETEVTICAgICAgMHgwNgogI2Rl ZmluZSBBTURHUFVfQ0hVTktfSURfU0NIRURVTEVEX0RFUEVOREVOQ0lFUwkweDA3CisjZGVmaW5l IEFNREdQVV9DSFVOS19JRF9TWU5DT0JKX1RJTUVMSU5FX1dBSVQgICAgMHgwOAorI2RlZmluZSBB TURHUFVfQ0hVTktfSURfU1lOQ09CSl9USU1FTElORV9TSUdOQUwgIDB4MDkKIAogc3RydWN0IGRy bV9hbWRncHVfY3NfY2h1bmsgewogCV9fdTMyCQljaHVua19pZDsKQEAgLTYwNSw2ICs2MDcsMTIg QEAgc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2VtIHsKIAlfX3UzMiBoYW5kbGU7CiB9Owog CitzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zeW5jb2JqIHsKKyAgICAgICBfX3UzMiBoYW5k bGU7CisgICAgICAgX191MzIgZmxhZ3M7CisgICAgICAgX191NjQgcG9pbnQ7Cit9OworCiAjZGVm aW5lIEFNREdQVV9GRU5DRV9UT19IQU5ETEVfR0VUX1NZTkNPQkoJMAogI2RlZmluZSBBTURHUFVf RkVOQ0VfVE9fSEFORExFX0dFVF9TWU5DT0JKX0ZECTEKICNkZWZpbmUgQU1ER1BVX0ZFTkNFX1RP X0hBTkRMRV9HRVRfU1lOQ19GSUxFX0ZECTIKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs