From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH 3/6] drm: add support of syncobj timeline point wait v2 Date: Thu, 20 Sep 2018 19:03:50 +0800 Message-ID: <20180920110353.16114-3-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-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: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Chunming Zhou , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org cG9pbnRzIGFycmF5IGlzIG9uZS10by1vbmUgbWF0Y2ggd2l0aCBzeW5jb2JqcyBhcnJheS4KdjI6 CmFkZCBzZXBlcmF0ZSBpb2N0bCBmb3IgdGltZWxpbmUgcG9pbnQgd2FpdCwgb3RoZXJ3aXNlIGJy ZWFrIHVhcGkuCgpTaWduZWQtb2ZmLWJ5OiBDaHVubWluZyBaaG91IDxkYXZpZDEuemhvdUBhbWQu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJuYWwuaCB8ICAyICsKIGRyaXZlcnMv Z3B1L2RybS9kcm1faW9jdGwuYyAgICB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29i ai5jICB8IDk5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIGluY2x1ZGUvdWFw aS9kcm0vZHJtLmggICAgICAgICB8IDE0ICsrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDEwMyBpbnNl cnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2ludGVybmFsLmggYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ludGVybmFsLmgKaW5kZXggMGM0 ZWI0YTlhYjMxLi41NjZkNDRlM2M3ODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f aW50ZXJuYWwuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ludGVybmFsLmgKQEAgLTE4Myw2 ICsxODMsOCBAQCBpbnQgZHJtX3N5bmNvYmpfZmRfdG9faGFuZGxlX2lvY3RsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQkJICAgc3RydWN0IGRybV9maWxlICpmaWxlX3By aXZhdGUpOwogaW50IGRybV9zeW5jb2JqX3dhaXRfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdm9pZCAqZGF0YSwKIAkJCSAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKTsKK2lu dCBkcm1fc3luY29ial90aW1lbGluZV93YWl0X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsCisJCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKTsKIGlu dCBkcm1fc3luY29ial9yZXNldF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAogCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKTsKIGludCBkcm1fc3lu Y29ial9zaWduYWxfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1faW9jdGwuYwppbmRleCA2YjRhNjMzYjQyNDAuLmMwODkxNjE0ZjUxNiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9j dGwuYwpAQCAtNjY5LDYgKzY2OSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2lvY3RsX2Rl c2MgZHJtX2lvY3Rsc1tdID0gewogCQkgICAgICBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExP VyksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU1lOQ09CSl9XQUlULCBkcm1fc3luY29ial93 YWl0X2lvY3RsLAogCQkgICAgICBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyksCisJRFJN X0lPQ1RMX0RFRihEUk1fSU9DVExfU1lOQ09CSl9USU1FTElORV9XQUlULCBkcm1fc3luY29ial90 aW1lbGluZV93YWl0X2lvY3RsLAorCQkgICAgICBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExP VyksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU1lOQ09CSl9SRVNFVCwgZHJtX3N5bmNvYmpf cmVzZXRfaW9jdGwsCiAJCSAgICAgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKIAlE Uk1fSU9DVExfREVGKERSTV9JT0NUTF9TWU5DT0JKX1NJR05BTCwgZHJtX3N5bmNvYmpfc2lnbmFs X2lvY3RsLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYwppbmRleCA2NzQ3MmJkNzdjODMuLmE0M2RlMGU0NjE2 YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKQEAgLTEyNiwxMyArMTI2LDE0IEBAIHN0YXRpYyB2b2lk IGRybV9zeW5jb2JqX2FkZF9jYWxsYmFja19sb2NrZWQoc3RydWN0IGRybV9zeW5jb2JqICpzeW5j b2JqLAogfQogCiBzdGF0aWMgaW50IGRybV9zeW5jb2JqX2ZlbmNlX2dldF9vcl9hZGRfY2FsbGJh Y2soc3RydWN0IGRybV9zeW5jb2JqICpzeW5jb2JqLAorCQkJCQkJIHU2NCBwb2ludCwKIAkJCQkJ CSBzdHJ1Y3QgZG1hX2ZlbmNlICoqZmVuY2UsCiAJCQkJCQkgc3RydWN0IGRybV9zeW5jb2JqX2Ni ICpjYiwKIAkJCQkJCSBkcm1fc3luY29ial9mdW5jX3QgZnVuYykKIHsKIAlpbnQgcmV0OwogCi0J cmV0ID0gZHJtX3N5bmNvYmpfc2VhcmNoX2ZlbmNlKHN5bmNvYmosIDAsIDAsIGZlbmNlKTsKKwly ZXQgPSBkcm1fc3luY29ial9zZWFyY2hfZmVuY2Uoc3luY29iaiwgcG9pbnQsIDAsIGZlbmNlKTsK IAlpZiAoIXJldCkKIAkJcmV0dXJuIDE7CiAKQEAgLTE0Myw3ICsxNDQsNyBAQCBzdGF0aWMgaW50 IGRybV9zeW5jb2JqX2ZlbmNlX2dldF9vcl9hZGRfY2FsbGJhY2soc3RydWN0IGRybV9zeW5jb2Jq ICpzeW5jb2JqLAogCSAqLwogCWlmICghbGlzdF9lbXB0eSgmc3luY29iai0+c2lnbmFsX3B0X2xp c3QpKSB7CiAJCXNwaW5fdW5sb2NrKCZzeW5jb2JqLT5sb2NrKTsKLQkJZHJtX3N5bmNvYmpfc2Vh cmNoX2ZlbmNlKHN5bmNvYmosIDAsIDAsIGZlbmNlKTsKKwkJZHJtX3N5bmNvYmpfc2VhcmNoX2Zl bmNlKHN5bmNvYmosIHBvaW50LCAwLCBmZW5jZSk7CiAJCWlmICgqZmVuY2UpCiAJCQlyZXR1cm4g MTsKIAkJc3Bpbl9sb2NrKCZzeW5jb2JqLT5sb2NrKTsKQEAgLTM1OCw3ICszNTksOSBAQCB2b2lk IGRybV9zeW5jb2JqX3JlcGxhY2VfZmVuY2Uoc3RydWN0IGRybV9zeW5jb2JqICpzeW5jb2JqLAog CQlzcGluX2xvY2soJnN5bmNvYmotPmxvY2spOwogCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUo Y3VyLCB0bXAsICZzeW5jb2JqLT5jYl9saXN0LCBub2RlKSB7CiAJCQlsaXN0X2RlbF9pbml0KCZj dXItPm5vZGUpOworCQkJc3Bpbl91bmxvY2soJnN5bmNvYmotPmxvY2spOwogCQkJY3VyLT5mdW5j KHN5bmNvYmosIGN1cik7CisJCQlzcGluX2xvY2soJnN5bmNvYmotPmxvY2spOwogCQl9CiAJCXNw aW5fdW5sb2NrKCZzeW5jb2JqLT5sb2NrKTsKIAl9CkBAIC04NTYsNiArODU5LDcgQEAgc3RydWN0 IHN5bmNvYmpfd2FpdF9lbnRyeSB7CiAJc3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7CiAJc3RydWN0 IGRtYV9mZW5jZV9jYiBmZW5jZV9jYjsKIAlzdHJ1Y3QgZHJtX3N5bmNvYmpfY2Igc3luY29ial9j YjsKKwl1NjQgICAgcG9pbnQ7CiB9OwogCiBzdGF0aWMgdm9pZCBzeW5jb2JqX3dhaXRfZmVuY2Vf ZnVuYyhzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSwKQEAgLTg3MywxMiArODc3LDEzIEBAIHN0YXRp YyB2b2lkIHN5bmNvYmpfd2FpdF9zeW5jb2JqX2Z1bmMoc3RydWN0IGRybV9zeW5jb2JqICpzeW5j b2JqLAogCXN0cnVjdCBzeW5jb2JqX3dhaXRfZW50cnkgKndhaXQgPQogCQljb250YWluZXJfb2Yo Y2IsIHN0cnVjdCBzeW5jb2JqX3dhaXRfZW50cnksIHN5bmNvYmpfY2IpOwogCi0JZHJtX3N5bmNv Ympfc2VhcmNoX2ZlbmNlKHN5bmNvYmosIDAsIDAsICZ3YWl0LT5mZW5jZSk7CisJZHJtX3N5bmNv Ympfc2VhcmNoX2ZlbmNlKHN5bmNvYmosIHdhaXQtPnBvaW50LCAwLCAmd2FpdC0+ZmVuY2UpOwog CiAJd2FrZV91cF9wcm9jZXNzKHdhaXQtPnRhc2spOwogfQogCiBzdGF0aWMgc2lnbmVkIGxvbmcg ZHJtX3N5bmNvYmpfYXJyYXlfd2FpdF90aW1lb3V0KHN0cnVjdCBkcm1fc3luY29iaiAqKnN5bmNv YmpzLAorCQkJCQkJICB2b2lkIF9fdXNlciAqdXNlcl9wb2ludHMsCiAJCQkJCQkgIHVpbnQzMl90 IGNvdW50LAogCQkJCQkJICB1aW50MzJfdCBmbGFncywKIAkJCQkJCSAgc2lnbmVkIGxvbmcgdGlt ZW91dCwKQEAgLTg4NiwxMyArODkxLDI3IEBAIHN0YXRpYyBzaWduZWQgbG9uZyBkcm1fc3luY29i al9hcnJheV93YWl0X3RpbWVvdXQoc3RydWN0IGRybV9zeW5jb2JqICoqc3luY29ianMsCiB7CiAJ c3RydWN0IHN5bmNvYmpfd2FpdF9lbnRyeSAqZW50cmllczsKIAlzdHJ1Y3QgZG1hX2ZlbmNlICpm ZW5jZTsKKwl1aW50NjRfdCAqcG9pbnRzOwogCXNpZ25lZCBsb25nIHJldDsKIAl1aW50MzJfdCBz aWduYWxlZF9jb3VudCwgaTsKIAotCWVudHJpZXMgPSBrY2FsbG9jKGNvdW50LCBzaXplb2YoKmVu dHJpZXMpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIWVudHJpZXMpCisJcG9pbnRzID0ga21hbGxvY19h cnJheShjb3VudCwgc2l6ZW9mKCpwb2ludHMpLCBHRlBfS0VSTkVMKTsKKwlpZiAocG9pbnRzID09 IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCisJaWYgKCF1c2VyX3BvaW50cykgeworCQltZW1z ZXQocG9pbnRzLCAwLCBjb3VudCAqIHNpemVvZih1aW50NjRfdCkpOworCX0gZWxzZSBpZiAoY29w eV9mcm9tX3VzZXIocG9pbnRzLCB1c2VyX3BvaW50cywgc2l6ZW9mKHVpbnQ2NF90KSAqIGNvdW50 KSkgeworCQlyZXQgPSAtRUZBVUxUOworCQlnb3RvIGVycl9mcmVlX3BvaW50czsKKwl9CisKKwor CWVudHJpZXMgPSBrY2FsbG9jKGNvdW50LCBzaXplb2YoKmVudHJpZXMpLCBHRlBfS0VSTkVMKTsK KwlpZiAoIWVudHJpZXMpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBlcnJfZnJlZV9wb2lu dHM7CisJfQogCS8qIFdhbGsgdGhlIGxpc3Qgb2Ygc3luYyBvYmplY3RzIGFuZCBpbml0aWFsaXpl IGVudHJpZXMuICBXZSBkbwogCSAqIHRoaXMgdXAtZnJvbnQgc28gdGhhdCB3ZSBjYW4gcHJvcGVy bHkgcmV0dXJuIC1FSU5WQUwgaWYgdGhlcmUgaXMKIAkgKiBhIHN5bmNvYmogd2l0aCBhIG1pc3Np bmcgZmVuY2UgYW5kIHRoZW4gbmV2ZXIgaGF2ZSB0aGUgY2hhbmNlIG9mCkBAIC05MDEsNyArOTIw LDggQEAgc3RhdGljIHNpZ25lZCBsb25nIGRybV9zeW5jb2JqX2FycmF5X3dhaXRfdGltZW91dChz dHJ1Y3QgZHJtX3N5bmNvYmogKipzeW5jb2JqcywKIAlzaWduYWxlZF9jb3VudCA9IDA7CiAJZm9y IChpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKIAkJZW50cmllc1tpXS50YXNrID0gY3VycmVudDsK LQkJcmV0ID0gZHJtX3N5bmNvYmpfc2VhcmNoX2ZlbmNlKHN5bmNvYmpzW2ldLCAwLCAwLAorCQll bnRyaWVzW2ldLnBvaW50ID0gcG9pbnRzW2ldOworCQlyZXQgPSBkcm1fc3luY29ial9zZWFyY2hf ZmVuY2Uoc3luY29ianNbaV0sIHBvaW50c1tpXSwgMCwKIAkJCQkJICAgICAgICZlbnRyaWVzW2ld LmZlbmNlKTsKIAkJaWYgKCFlbnRyaWVzW2ldLmZlbmNlKSB7CiAJCQlpZiAoZmxhZ3MgJiBEUk1f U1lOQ09CSl9XQUlUX0ZMQUdTX1dBSVRfRk9SX1NVQk1JVCkgewpAQCAtOTQwLDYgKzk2MCw3IEBA IHN0YXRpYyBzaWduZWQgbG9uZyBkcm1fc3luY29ial9hcnJheV93YWl0X3RpbWVvdXQoc3RydWN0 IGRybV9zeW5jb2JqICoqc3luY29ianMsCiAJaWYgKGZsYWdzICYgRFJNX1NZTkNPQkpfV0FJVF9G TEFHU19XQUlUX0ZPUl9TVUJNSVQpIHsKIAkJZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpIHsK IAkJCWRybV9zeW5jb2JqX2ZlbmNlX2dldF9vcl9hZGRfY2FsbGJhY2soc3luY29ianNbaV0sCisJ CQkJCQkJICAgICAgZW50cmllc1tpXS5wb2ludCwKIAkJCQkJCQkgICAgICAmZW50cmllc1tpXS5m ZW5jZSwKIAkJCQkJCQkgICAgICAmZW50cmllc1tpXS5zeW5jb2JqX2NiLAogCQkJCQkJCSAgICAg IHN5bmNvYmpfd2FpdF9zeW5jb2JqX2Z1bmMpOwpAQCAtMTAwMyw2ICsxMDI0LDkgQEAgc3RhdGlj IHNpZ25lZCBsb25nIGRybV9zeW5jb2JqX2FycmF5X3dhaXRfdGltZW91dChzdHJ1Y3QgZHJtX3N5 bmNvYmogKipzeW5jb2JqcywKIAl9CiAJa2ZyZWUoZW50cmllcyk7CiAKK2Vycl9mcmVlX3BvaW50 czoKKwlrZnJlZShwb2ludHMpOworCiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMTA0MSwyMCArMTA2 NSwzMyBAQCBzdGF0aWMgc2lnbmVkIGxvbmcgZHJtX3RpbWVvdXRfYWJzX3RvX2ppZmZpZXMoaW50 NjRfdCB0aW1lb3V0X25zZWMpCiBzdGF0aWMgaW50IGRybV9zeW5jb2JqX2FycmF5X3dhaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRl LAogCQkJCSAgc3RydWN0IGRybV9zeW5jb2JqX3dhaXQgKndhaXQsCi0JCQkJICBzdHJ1Y3QgZHJt X3N5bmNvYmogKipzeW5jb2JqcykKKwkJCQkgIHN0cnVjdCBkcm1fc3luY29ial90aW1lbGluZV93 YWl0ICp0aW1lbGluZV93YWl0LAorCQkJCSAgc3RydWN0IGRybV9zeW5jb2JqICoqc3luY29ianMs IGJvb2wgdGltZWxpbmUpCiB7Ci0Jc2lnbmVkIGxvbmcgdGltZW91dCA9IGRybV90aW1lb3V0X2Fi c190b19qaWZmaWVzKHdhaXQtPnRpbWVvdXRfbnNlYyk7CisJc2lnbmVkIGxvbmcgdGltZW91dCA9 IDA7CiAJc2lnbmVkIGxvbmcgcmV0ID0gMDsKIAl1aW50MzJfdCBmaXJzdCA9IH4wOwogCi0JcmV0 ID0gZHJtX3N5bmNvYmpfYXJyYXlfd2FpdF90aW1lb3V0KHN5bmNvYmpzLAotCQkJCQkgICAgIHdh aXQtPmNvdW50X2hhbmRsZXMsCi0JCQkJCSAgICAgd2FpdC0+ZmxhZ3MsCi0JCQkJCSAgICAgdGlt ZW91dCwgJmZpcnN0KTsKKwlpZiAoIXRpbWVsaW5lKSB7CisJCXRpbWVvdXQgPSBkcm1fdGltZW91 dF9hYnNfdG9famlmZmllcyh3YWl0LT50aW1lb3V0X25zZWMpOworCQlyZXQgPSBkcm1fc3luY29i al9hcnJheV93YWl0X3RpbWVvdXQoc3luY29ianMsCisJCQkJCQkgICAgIE5VTEwsCisJCQkJCQkg ICAgIHdhaXQtPmNvdW50X2hhbmRsZXMsCisJCQkJCQkgICAgIHdhaXQtPmZsYWdzLAorCQkJCQkJ ICAgICB0aW1lb3V0LCAmZmlyc3QpOworCQl3YWl0LT5maXJzdF9zaWduYWxlZCA9IGZpcnN0Owor CX0gZWxzZSB7CisJCXRpbWVvdXQgPSBkcm1fdGltZW91dF9hYnNfdG9famlmZmllcyh0aW1lbGlu ZV93YWl0LT50aW1lb3V0X25zZWMpOworCQlyZXQgPSBkcm1fc3luY29ial9hcnJheV93YWl0X3Rp bWVvdXQoc3luY29ianMsCisJCQkJCQkgICAgIHU2NF90b191c2VyX3B0cih0aW1lbGluZV93YWl0 LT5wb2ludHMpLAorCQkJCQkJICAgICB0aW1lbGluZV93YWl0LT5jb3VudF9oYW5kbGVzLAorCQkJ CQkJICAgICB0aW1lbGluZV93YWl0LT5mbGFncywKKwkJCQkJCSAgICAgdGltZW91dCwgJmZpcnN0 KTsKKwkJdGltZWxpbmVfd2FpdC0+Zmlyc3Rfc2lnbmFsZWQgPSBmaXJzdDsKKwl9CiAJaWYgKHJl dCA8IDApCiAJCXJldHVybiByZXQ7CiAKLQl3YWl0LT5maXJzdF9zaWduYWxlZCA9IGZpcnN0Owog CWlmIChyZXQgPT0gMCkKIAkJcmV0dXJuIC1FVElNRTsKIAlyZXR1cm4gMDsKQEAgLTExNDIsMTMg KzExNzksNDcgQEAgZHJtX3N5bmNvYmpfd2FpdF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAogCQlyZXR1cm4gcmV0OwogCiAJcmV0ID0gZHJtX3N5bmNvYmpfYXJyYXlf d2FpdChkZXYsIGZpbGVfcHJpdmF0ZSwKLQkJCQkgICAgIGFyZ3MsIHN5bmNvYmpzKTsKKwkJCQkg ICAgIGFyZ3MsIE5VTEwsIHN5bmNvYmpzLCBmYWxzZSk7CiAKIAlkcm1fc3luY29ial9hcnJheV9m cmVlKHN5bmNvYmpzLCBhcmdzLT5jb3VudF9oYW5kbGVzKTsKIAogCXJldHVybiByZXQ7CiB9CiAK K2ludAorZHJtX3N5bmNvYmpfdGltZWxpbmVfd2FpdF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLAorCQkJCXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKQorewor CXN0cnVjdCBkcm1fc3luY29ial90aW1lbGluZV93YWl0ICphcmdzID0gZGF0YTsKKwlzdHJ1Y3Qg ZHJtX3N5bmNvYmogKipzeW5jb2JqczsKKwlpbnQgcmV0ID0gMDsKKworCWlmICghZHJtX2NvcmVf Y2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9TWU5DT0JKKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisK KwlpZiAoYXJncy0+ZmxhZ3MgJiB+KERSTV9TWU5DT0JKX1dBSVRfRkxBR1NfV0FJVF9BTEwgfAor CQkJICAgIERSTV9TWU5DT0JKX1dBSVRfRkxBR1NfV0FJVF9GT1JfU1VCTUlUKSkKKwkJcmV0dXJu IC1FSU5WQUw7CisKKwlpZiAoYXJncy0+Y291bnRfaGFuZGxlcyA9PSAwKQorCQlyZXR1cm4gLUVJ TlZBTDsKKworCXJldCA9IGRybV9zeW5jb2JqX2FycmF5X2ZpbmQoZmlsZV9wcml2YXRlLAorCQkJ CSAgICAgdTY0X3RvX3VzZXJfcHRyKGFyZ3MtPmhhbmRsZXMpLAorCQkJCSAgICAgYXJncy0+Y291 bnRfaGFuZGxlcywKKwkJCQkgICAgICZzeW5jb2Jqcyk7CisJaWYgKHJldCA8IDApCisJCXJldHVy biByZXQ7CisKKwlyZXQgPSBkcm1fc3luY29ial9hcnJheV93YWl0KGRldiwgZmlsZV9wcml2YXRl LAorCQkJCSAgICAgTlVMTCwgYXJncywgc3luY29ianMsIHRydWUpOworCisJZHJtX3N5bmNvYmpf YXJyYXlfZnJlZShzeW5jb2JqcywgYXJncy0+Y291bnRfaGFuZGxlcyk7CisKKwlyZXR1cm4gcmV0 OworfQorCisKIGludAogZHJtX3N5bmNvYmpfcmVzZXRfaW9jdGwoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdm9pZCAqZGF0YSwKIAkJCXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKQpkaWZm IC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmgK aW5kZXggY2ViZGIyNTQxZWI3Li41MDFlODZkODFmNDcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFw aS9kcm0vZHJtLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm0uaApAQCAtNzQ4LDYgKzc0OCwx OSBAQCBzdHJ1Y3QgZHJtX3N5bmNvYmpfd2FpdCB7CiAJX191MzIgcGFkOwogfTsKIAorc3RydWN0 IGRybV9zeW5jb2JqX3RpbWVsaW5lX3dhaXQgeworCV9fdTY0IGhhbmRsZXM7CisJLyogd2FpdCBv biBzcGVjaWZpYyB0aW1lbGluZSBwb2ludCBmb3IgZXZlcnkgaGFuZGxlcyovCisJX191NjQgcG9p bnRzOworCS8qIGFic29sdXRlIHRpbWVvdXQgKi8KKwlfX3M2NCB0aW1lb3V0X25zZWM7CisJX191 MzIgY291bnRfaGFuZGxlczsKKwlfX3UzMiBmbGFnczsKKwlfX3UzMiBmaXJzdF9zaWduYWxlZDsg Lyogb25seSB2YWxpZCB3aGVuIG5vdCB3YWl0aW5nIGFsbCAqLworCV9fdTMyIHBhZDsKK307CisK Kwogc3RydWN0IGRybV9zeW5jb2JqX2FycmF5IHsKIAlfX3U2NCBoYW5kbGVzOwogCV9fdTMyIGNv dW50X2hhbmRsZXM7CkBAIC05MTAsNiArOTIzLDcgQEAgZXh0ZXJuICJDIiB7CiAjZGVmaW5lIERS TV9JT0NUTF9NT0RFX0dFVF9MRUFTRQlEUk1fSU9XUigweEM4LCBzdHJ1Y3QgZHJtX21vZGVfZ2V0 X2xlYXNlKQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9SRVZPS0VfTEVBU0UJRFJNX0lPV1IoMHhD OSwgc3RydWN0IGRybV9tb2RlX3Jldm9rZV9sZWFzZSkKIAorI2RlZmluZSBEUk1fSU9DVExfU1lO Q09CSl9USU1FTElORV9XQUlUCURSTV9JT1dSKDB4Q0EsIHN0cnVjdCBkcm1fc3luY29ial90aW1l bGluZV93YWl0KQogLyoqCiAgKiBEZXZpY2Ugc3BlY2lmaWMgaW9jdGxzIHNob3VsZCBvbmx5IGJl IGluIHRoZWlyIHJlc3BlY3RpdmUgaGVhZGVycwogICogVGhlIGRldmljZSBzcGVjaWZpYyBpb2N0 bCByYW5nZSBpcyBmcm9tIDB4NDAgdG8gMHg5Zi4KLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1k LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==