From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH 1/5] drm: add support of syncobj timeline point wait v4 Date: Fri, 2 Nov 2018 16:25:13 +0800 Message-ID: <20181102082517.4456-1-david1.zhou@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from NAM05-CO1-obe.outbound.protection.outlook.com (mail-eopbgr720077.outbound.protection.outlook.com [40.107.72.77]) by gabe.freedesktop.org (Postfix) with ESMTPS id 67DF56E52F for ; Fri, 2 Nov 2018 08:25:28 +0000 (UTC) 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 Cc: Daniel Rakos , Jason Ekstrand , Dave Airlie , =?UTF-8?q?Christian=20K=C3=B6nig?= List-Id: dri-devel@lists.freedesktop.org cG9pbnRzIGFycmF5IGlzIG9uZS10by1vbmUgbWF0Y2ggd2l0aCBzeW5jb2JqcyBhcnJheS4KdjI6 CmFkZCBzZXBlcmF0ZSBpb2N0bCBmb3IgdGltZWxpbmUgcG9pbnQgd2FpdCwgb3RoZXJ3aXNlIGJy ZWFrIHVhcGkuCnYzOgp1c2Vyc3BhY2UgY2FuIHNwZWNpZnkgdHdvIGtpbmRzIHdhaXRzOjoKYS4g V2FpdCBmb3IgdGltZSBwb2ludCB0byBiZSBjb21wbGV0ZWQuCmIuIGFuZCB3YWl0IGZvciB0aW1l IHBvaW50IHRvIGJlY29tZSBhdmFpbGFibGUKdjQ6CnJlYmFzZQoKU2lnbmVkLW9mZi1ieTogQ2h1 bm1pbmcgWmhvdSA8ZGF2aWQxLnpob3VAYW1kLmNvbT4KQ2M6IERhbmllbCBSYWtvcyA8RGFuaWVs LlJha29zQGFtZC5jb20+CkNjOiBKYXNvbiBFa3N0cmFuZCA8amFzb25Aamxla3N0cmFuZC5uZXQ+ CkNjOiBCYXMgTmlldXdlbmh1aXplbiA8YmFzQGJhc25pZXV3ZW5odWl6ZW4ubmw+CkNjOiBEYXZl IEFpcmxpZSA8YWlybGllZEByZWRoYXQuY29tPgpDYzogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0 aWFuLmtvZW5pZ0BhbWQuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24u Y28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9pbnRlcm5hbC5oIHwgICAyICsKIGRyaXZl cnMvZ3B1L2RybS9kcm1faW9jdGwuYyAgICB8ICAgMiArCiBkcml2ZXJzL2dwdS9kcm0vZHJtX3N5 bmNvYmouYyAgfCAxMTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiBpbmNsdWRl L3VhcGkvZHJtL2RybS5oICAgICAgICAgfCAgMTggKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDEy MSBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2ludGVybmFsLmggYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ludGVybmFsLmgKaW5k ZXggMGM0ZWI0YTlhYjMxLi41NjZkNDRlM2M3ODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1faW50ZXJuYWwuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ludGVybmFsLmgKQEAg LTE4Myw2ICsxODMsOCBAQCBpbnQgZHJtX3N5bmNvYmpfZmRfdG9faGFuZGxlX2lvY3RsKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQkJICAgc3RydWN0IGRybV9maWxlICpm aWxlX3ByaXZhdGUpOwogaW50IGRybV9zeW5jb2JqX3dhaXRfaW9jdGwoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCSAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRl KTsKK2ludCBkcm1fc3luY29ial90aW1lbGluZV93YWl0X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHZvaWQgKmRhdGEsCisJCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRl KTsKIGludCBkcm1fc3luY29ial9yZXNldF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2 b2lkICpkYXRhLAogCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKTsKIGludCBk cm1fc3luY29ial9zaWduYWxfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0 YSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1faW9jdGwuYwppbmRleCA5NGJkODcyZDU2YzQuLmE5YTE3ZWQzNWNjNCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1faW9jdGwuYwpAQCAtNjc1LDYgKzY3NSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2lv Y3RsX2Rlc2MgZHJtX2lvY3Rsc1tdID0gewogCQkgICAgICBEUk1fVU5MT0NLRUR8RFJNX1JFTkRF Ul9BTExPVyksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU1lOQ09CSl9XQUlULCBkcm1fc3lu Y29ial93YWl0X2lvY3RsLAogCQkgICAgICBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyks CisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU1lOQ09CSl9USU1FTElORV9XQUlULCBkcm1fc3lu Y29ial90aW1lbGluZV93YWl0X2lvY3RsLAorCQkgICAgICBEUk1fVU5MT0NLRUR8RFJNX1JFTkRF Ul9BTExPVyksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU1lOQ09CSl9SRVNFVCwgZHJtX3N5 bmNvYmpfcmVzZXRfaW9jdGwsCiAJCSAgICAgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9X KSwKIAlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9TWU5DT0JKX1NJR05BTCwgZHJtX3N5bmNvYmpf c2lnbmFsX2lvY3RsLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYwppbmRleCA0ZGNhNWY3ZThjNGIuLjlkYzU0 YTM0NTQ4MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKQEAgLTE1MywxMSArMTUzLDEyIEBAIHN0YXRp YyB2b2lkIGRybV9zeW5jb2JqX2FkZF9jYWxsYmFja19sb2NrZWQoc3RydWN0IGRybV9zeW5jb2Jq ICpzeW5jb2JqLAogfQogCiBzdGF0aWMgdm9pZCBkcm1fc3luY29ial9mZW5jZV9nZXRfb3JfYWRk X2NhbGxiYWNrKHN0cnVjdCBkcm1fc3luY29iaiAqc3luY29iaiwKKwkJCQkJCSAgdWludDY0X3Qg cG9pbnQsCiAJCQkJCQkgIHN0cnVjdCBkbWFfZmVuY2UgKipmZW5jZSwKIAkJCQkJCSAgc3RydWN0 IGRybV9zeW5jb2JqX2NiICpjYiwKIAkJCQkJCSAgZHJtX3N5bmNvYmpfZnVuY190IGZ1bmMpCiB7 Ci0JdTY0IHB0X3ZhbHVlID0gMDsKKwl1NjQgcHRfdmFsdWUgPSBwb2ludDsKIAogCVdBUk5fT04o KmZlbmNlKTsKIApAQCAtODU0LDYgKzg1NSw3IEBAIHN0cnVjdCBzeW5jb2JqX3dhaXRfZW50cnkg ewogCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlOwogCXN0cnVjdCBkbWFfZmVuY2VfY2IgZmVuY2Vf Y2I7CiAJc3RydWN0IGRybV9zeW5jb2JqX2NiIHN5bmNvYmpfY2I7CisJdTY0ICAgIHBvaW50Owog fTsKIAogc3RhdGljIHZvaWQgc3luY29ial93YWl0X2ZlbmNlX2Z1bmMoc3RydWN0IGRtYV9mZW5j ZSAqZmVuY2UsCkBAIC04NzEsMTIgKzg3MywxMyBAQCBzdGF0aWMgdm9pZCBzeW5jb2JqX3dhaXRf c3luY29ial9mdW5jKHN0cnVjdCBkcm1fc3luY29iaiAqc3luY29iaiwKIAlzdHJ1Y3Qgc3luY29i al93YWl0X2VudHJ5ICp3YWl0ID0KIAkJY29udGFpbmVyX29mKGNiLCBzdHJ1Y3Qgc3luY29ial93 YWl0X2VudHJ5LCBzeW5jb2JqX2NiKTsKIAotCWRybV9zeW5jb2JqX3NlYXJjaF9mZW5jZShzeW5j b2JqLCAwLCAwLCAmd2FpdC0+ZmVuY2UpOworCWRybV9zeW5jb2JqX3NlYXJjaF9mZW5jZShzeW5j b2JqLCB3YWl0LT5wb2ludCwgMCwgJndhaXQtPmZlbmNlKTsKIAogCXdha2VfdXBfcHJvY2Vzcyh3 YWl0LT50YXNrKTsKIH0KIAogc3RhdGljIHNpZ25lZCBsb25nIGRybV9zeW5jb2JqX2FycmF5X3dh aXRfdGltZW91dChzdHJ1Y3QgZHJtX3N5bmNvYmogKipzeW5jb2JqcywKKwkJCQkJCSAgdm9pZCBf X3VzZXIgKnVzZXJfcG9pbnRzLAogCQkJCQkJICB1aW50MzJfdCBjb3VudCwKIAkJCQkJCSAgdWlu dDMyX3QgZmxhZ3MsCiAJCQkJCQkgIHNpZ25lZCBsb25nIHRpbWVvdXQsCkBAIC04ODQsMTIgKzg4 NywzNyBAQCBzdGF0aWMgc2lnbmVkIGxvbmcgZHJtX3N5bmNvYmpfYXJyYXlfd2FpdF90aW1lb3V0 KHN0cnVjdCBkcm1fc3luY29iaiAqKnN5bmNvYmpzLAogewogCXN0cnVjdCBzeW5jb2JqX3dhaXRf ZW50cnkgKmVudHJpZXM7CiAJc3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7CisJdWludDY0X3QgKnBv aW50czsKIAl1aW50MzJfdCBzaWduYWxlZF9jb3VudCwgaTsKIAotCWVudHJpZXMgPSBrY2FsbG9j KGNvdW50LCBzaXplb2YoKmVudHJpZXMpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIWVudHJpZXMpCisJ cG9pbnRzID0ga21hbGxvY19hcnJheShjb3VudCwgc2l6ZW9mKCpwb2ludHMpLCBHRlBfS0VSTkVM KTsKKwlpZiAocG9pbnRzID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCisJaWYgKCF1c2Vy X3BvaW50cykgeworCQltZW1zZXQocG9pbnRzLCAwLCBjb3VudCAqIHNpemVvZih1aW50NjRfdCkp OworCX0gZWxzZSBpZiAoY29weV9mcm9tX3VzZXIocG9pbnRzLCB1c2VyX3BvaW50cywgc2l6ZW9m KHVpbnQ2NF90KSAqIGNvdW50KSkgeworCQl0aW1lb3V0ID0gLUVGQVVMVDsKKwkJZ290byBlcnJf ZnJlZV9wb2ludHM7CisJfQorCisKKwlpZiAoZmxhZ3MgJiBEUk1fU1lOQ09CSl9XQUlUX0ZMQUdT X1dBSVRfQVZBSUxBQkxFKSB7CisJCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlOworCQlmb3IgKGkg PSAwOyBpIDwgY291bnQ7ICsraSkgeworCQkJdGltZW91dCA9IGRybV9zeW5jb2JqX3NlYXJjaF9m ZW5jZShzeW5jb2Jqc1tpXSwgcG9pbnRzW2ldLAorCQkJCQkJCSAgIERSTV9TWU5DT0JKX1dBSVRf RkxBR1NfV0FJVF9GT1JfU1VCTUlULAorCQkJCQkJCSAgICZmZW5jZSk7CisJCQlpZiAodGltZW91 dCkKKwkJCQlnb3RvIGVycl9mcmVlX3BvaW50czsKKwkJfQorCQlnb3RvIGVycl9mcmVlX3BvaW50 czsKKwl9CisJZW50cmllcyA9IGtjYWxsb2MoY291bnQsIHNpemVvZigqZW50cmllcyksIEdGUF9L RVJORUwpOworCWlmICghZW50cmllcykgeworCQl0aW1lb3V0ID0gLUVOT01FTTsKKwkJZ290byBl cnJfZnJlZV9wb2ludHM7CisJfQogCS8qIFdhbGsgdGhlIGxpc3Qgb2Ygc3luYyBvYmplY3RzIGFu ZCBpbml0aWFsaXplIGVudHJpZXMuICBXZSBkbwogCSAqIHRoaXMgdXAtZnJvbnQgc28gdGhhdCB3 ZSBjYW4gcHJvcGVybHkgcmV0dXJuIC1FSU5WQUwgaWYgdGhlcmUgaXMKIAkgKiBhIHN5bmNvYmog d2l0aCBhIG1pc3NpbmcgZmVuY2UgYW5kIHRoZW4gbmV2ZXIgaGF2ZSB0aGUgY2hhbmNlIG9mCkBA IC04OTgsNyArOTI2LDggQEAgc3RhdGljIHNpZ25lZCBsb25nIGRybV9zeW5jb2JqX2FycmF5X3dh aXRfdGltZW91dChzdHJ1Y3QgZHJtX3N5bmNvYmogKipzeW5jb2JqcywKIAlzaWduYWxlZF9jb3Vu dCA9IDA7CiAJZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKIAkJZW50cmllc1tpXS50YXNr ID0gY3VycmVudDsKLQkJZHJtX3N5bmNvYmpfc2VhcmNoX2ZlbmNlKHN5bmNvYmpzW2ldLCAwLCAw LAorCQllbnRyaWVzW2ldLnBvaW50ID0gcG9pbnRzW2ldOworCQlkcm1fc3luY29ial9zZWFyY2hf ZmVuY2Uoc3luY29ianNbaV0sIHBvaW50c1tpXSwgMCwKIAkJCQkJICZlbnRyaWVzW2ldLmZlbmNl KTsKIAkJaWYgKCFlbnRyaWVzW2ldLmZlbmNlKSB7CiAJCQlpZiAoZmxhZ3MgJiBEUk1fU1lOQ09C Sl9XQUlUX0ZMQUdTX1dBSVRfRk9SX1NVQk1JVCkgewpAQCAtOTM0LDYgKzk2Myw3IEBAIHN0YXRp YyBzaWduZWQgbG9uZyBkcm1fc3luY29ial9hcnJheV93YWl0X3RpbWVvdXQoc3RydWN0IGRybV9z eW5jb2JqICoqc3luY29ianMsCiAJCQkJY29udGludWU7CiAKIAkJCWRybV9zeW5jb2JqX2ZlbmNl X2dldF9vcl9hZGRfY2FsbGJhY2soc3luY29ianNbaV0sCisJCQkJCQkJICAgICAgZW50cmllc1tp XS5wb2ludCwKIAkJCQkJCQkgICAgICAmZW50cmllc1tpXS5mZW5jZSwKIAkJCQkJCQkgICAgICAm ZW50cmllc1tpXS5zeW5jb2JqX2NiLAogCQkJCQkJCSAgICAgIHN5bmNvYmpfd2FpdF9zeW5jb2Jq X2Z1bmMpOwpAQCAtOTk2LDYgKzEwMjYsOSBAQCBzdGF0aWMgc2lnbmVkIGxvbmcgZHJtX3N5bmNv YmpfYXJyYXlfd2FpdF90aW1lb3V0KHN0cnVjdCBkcm1fc3luY29iaiAqKnN5bmNvYmpzLAogCX0K IAlrZnJlZShlbnRyaWVzKTsKIAorZXJyX2ZyZWVfcG9pbnRzOgorCWtmcmVlKHBvaW50cyk7CisK IAlyZXR1cm4gdGltZW91dDsKIH0KIApAQCAtMTAzNCwxOSArMTA2NywzMyBAQCBzdGF0aWMgc2ln bmVkIGxvbmcgZHJtX3RpbWVvdXRfYWJzX3RvX2ppZmZpZXMoaW50NjRfdCB0aW1lb3V0X25zZWMp CiBzdGF0aWMgaW50IGRybV9zeW5jb2JqX2FycmF5X3dhaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKIAkJCQkgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlLAogCQkJCSAgc3RydWN0IGRy bV9zeW5jb2JqX3dhaXQgKndhaXQsCi0JCQkJICBzdHJ1Y3QgZHJtX3N5bmNvYmogKipzeW5jb2Jq cykKKwkJCQkgIHN0cnVjdCBkcm1fc3luY29ial90aW1lbGluZV93YWl0ICp0aW1lbGluZV93YWl0 LAorCQkJCSAgc3RydWN0IGRybV9zeW5jb2JqICoqc3luY29ianMsIGJvb2wgdGltZWxpbmUpCiB7 Ci0Jc2lnbmVkIGxvbmcgdGltZW91dCA9IGRybV90aW1lb3V0X2Fic190b19qaWZmaWVzKHdhaXQt PnRpbWVvdXRfbnNlYyk7CisJc2lnbmVkIGxvbmcgdGltZW91dCA9IDA7CiAJdWludDMyX3QgZmly c3QgPSB+MDsKIAotCXRpbWVvdXQgPSBkcm1fc3luY29ial9hcnJheV93YWl0X3RpbWVvdXQoc3lu Y29ianMsCi0JCQkJCQkgd2FpdC0+Y291bnRfaGFuZGxlcywKLQkJCQkJCSB3YWl0LT5mbGFncywK LQkJCQkJCSB0aW1lb3V0LCAmZmlyc3QpOwotCWlmICh0aW1lb3V0IDwgMCkKLQkJcmV0dXJuIHRp bWVvdXQ7Ci0KLQl3YWl0LT5maXJzdF9zaWduYWxlZCA9IGZpcnN0OworCWlmICghdGltZWxpbmUp IHsKKwkJdGltZW91dCA9IGRybV90aW1lb3V0X2Fic190b19qaWZmaWVzKHdhaXQtPnRpbWVvdXRf bnNlYyk7CisJCXRpbWVvdXQgPSBkcm1fc3luY29ial9hcnJheV93YWl0X3RpbWVvdXQoc3luY29i anMsCisJCQkJCQkJIE5VTEwsCisJCQkJCQkJIHdhaXQtPmNvdW50X2hhbmRsZXMsCisJCQkJCQkJ IHdhaXQtPmZsYWdzLAorCQkJCQkJCSB0aW1lb3V0LCAmZmlyc3QpOworCQlpZiAodGltZW91dCA8 IDApCisJCQlyZXR1cm4gdGltZW91dDsKKwkJd2FpdC0+Zmlyc3Rfc2lnbmFsZWQgPSBmaXJzdDsK Kwl9IGVsc2UgeworCQl0aW1lb3V0ID0gZHJtX3RpbWVvdXRfYWJzX3RvX2ppZmZpZXModGltZWxp bmVfd2FpdC0+dGltZW91dF9uc2VjKTsKKwkJdGltZW91dCA9IGRybV9zeW5jb2JqX2FycmF5X3dh aXRfdGltZW91dChzeW5jb2JqcywKKwkJCQkJCQkgdTY0X3RvX3VzZXJfcHRyKHRpbWVsaW5lX3dh aXQtPnBvaW50cyksCisJCQkJCQkJIHRpbWVsaW5lX3dhaXQtPmNvdW50X2hhbmRsZXMsCisJCQkJ CQkJIHRpbWVsaW5lX3dhaXQtPmZsYWdzLAorCQkJCQkJCSB0aW1lb3V0LCAmZmlyc3QpOworCQlp ZiAodGltZW91dCA8IDApCisJCQlyZXR1cm4gdGltZW91dDsKKwkJdGltZWxpbmVfd2FpdC0+Zmly c3Rfc2lnbmFsZWQgPSBmaXJzdDsKKwl9CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTExMzIsMTMgKzEx NzksNDkgQEAgZHJtX3N5bmNvYmpfd2FpdF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2 b2lkICpkYXRhLAogCQlyZXR1cm4gcmV0OwogCiAJcmV0ID0gZHJtX3N5bmNvYmpfYXJyYXlfd2Fp dChkZXYsIGZpbGVfcHJpdmF0ZSwKLQkJCQkgICAgIGFyZ3MsIHN5bmNvYmpzKTsKKwkJCQkgICAg IGFyZ3MsIE5VTEwsIHN5bmNvYmpzLCBmYWxzZSk7CiAKIAlkcm1fc3luY29ial9hcnJheV9mcmVl KHN5bmNvYmpzLCBhcmdzLT5jb3VudF9oYW5kbGVzKTsKIAogCXJldHVybiByZXQ7CiB9CiAKK2lu dAorZHJtX3N5bmNvYmpfdGltZWxpbmVfd2FpdF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAorCQkJCXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKQoreworCXN0 cnVjdCBkcm1fc3luY29ial90aW1lbGluZV93YWl0ICphcmdzID0gZGF0YTsKKwlzdHJ1Y3QgZHJt X3N5bmNvYmogKipzeW5jb2JqczsKKwlpbnQgcmV0ID0gMDsKKworCWlmICghZHJtX2NvcmVfY2hl Y2tfZmVhdHVyZShkZXYsIERSSVZFUl9TWU5DT0JKKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlp ZiAoYXJncy0+ZmxhZ3MgJiB+KERSTV9TWU5DT0JKX1dBSVRfRkxBR1NfV0FJVF9BTEwgfAorCQkJ ICAgIERSTV9TWU5DT0JKX1dBSVRfRkxBR1NfV0FJVF9GT1JfU1VCTUlUIHwKKwkJCSAgICBEUk1f U1lOQ09CSl9XQUlUX0ZMQUdTX1dBSVRfQ09NUExFVEVEIHwKKwkJCSAgICBEUk1fU1lOQ09CSl9X QUlUX0ZMQUdTX1dBSVRfQVZBSUxBQkxFKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoYXJn cy0+Y291bnRfaGFuZGxlcyA9PSAwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldCA9IGRybV9z eW5jb2JqX2FycmF5X2ZpbmQoZmlsZV9wcml2YXRlLAorCQkJCSAgICAgdTY0X3RvX3VzZXJfcHRy KGFyZ3MtPmhhbmRsZXMpLAorCQkJCSAgICAgYXJncy0+Y291bnRfaGFuZGxlcywKKwkJCQkgICAg ICZzeW5jb2Jqcyk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwlyZXQgPSBkcm1f c3luY29ial9hcnJheV93YWl0KGRldiwgZmlsZV9wcml2YXRlLAorCQkJCSAgICAgTlVMTCwgYXJn cywgc3luY29ianMsIHRydWUpOworCisJZHJtX3N5bmNvYmpfYXJyYXlfZnJlZShzeW5jb2Jqcywg YXJncy0+Y291bnRfaGFuZGxlcyk7CisKKwlyZXR1cm4gcmV0OworfQorCisKIGludAogZHJtX3N5 bmNvYmpfcmVzZXRfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJ CXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBp L2RybS9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmgKaW5kZXggY2ViZGIyNTQxZWI3Li5j OGJjMTQxNDc1M2QgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmgKKysrIGIvaW5j bHVkZS91YXBpL2RybS9kcm0uaApAQCAtNzM4LDYgKzczOCwxMCBAQCBzdHJ1Y3QgZHJtX3N5bmNv YmpfaGFuZGxlIHsKIAogI2RlZmluZSBEUk1fU1lOQ09CSl9XQUlUX0ZMQUdTX1dBSVRfQUxMICgx IDw8IDApCiAjZGVmaW5lIERSTV9TWU5DT0JKX1dBSVRfRkxBR1NfV0FJVF9GT1JfU1VCTUlUICgx IDw8IDEpCisvKiB3YWl0IGZvciB0aW1lIHBvaW50IHRvIGJlIGNvbXBsZXRlZCAqLworI2RlZmlu ZSBEUk1fU1lOQ09CSl9XQUlUX0ZMQUdTX1dBSVRfQ09NUExFVEVEICgxIDw8IDIpCisvKiB3YWl0 IGZvciB0aW1lIHBvaW50IHRvIGJlY29tZSBhdmFpbGFibGUgKi8KKyNkZWZpbmUgRFJNX1NZTkNP QkpfV0FJVF9GTEFHU19XQUlUX0FWQUlMQUJMRSAoMSA8PCAzKQogc3RydWN0IGRybV9zeW5jb2Jq X3dhaXQgewogCV9fdTY0IGhhbmRsZXM7CiAJLyogYWJzb2x1dGUgdGltZW91dCAqLwpAQCAtNzQ4 LDYgKzc1MiwxOSBAQCBzdHJ1Y3QgZHJtX3N5bmNvYmpfd2FpdCB7CiAJX191MzIgcGFkOwogfTsK IAorc3RydWN0IGRybV9zeW5jb2JqX3RpbWVsaW5lX3dhaXQgeworCV9fdTY0IGhhbmRsZXM7CisJ Lyogd2FpdCBvbiBzcGVjaWZpYyB0aW1lbGluZSBwb2ludCBmb3IgZXZlcnkgaGFuZGxlcyovCisJ X191NjQgcG9pbnRzOworCS8qIGFic29sdXRlIHRpbWVvdXQgKi8KKwlfX3M2NCB0aW1lb3V0X25z ZWM7CisJX191MzIgY291bnRfaGFuZGxlczsKKwlfX3UzMiBmbGFnczsKKwlfX3UzMiBmaXJzdF9z aWduYWxlZDsgLyogb25seSB2YWxpZCB3aGVuIG5vdCB3YWl0aW5nIGFsbCAqLworCV9fdTMyIHBh ZDsKK307CisKKwogc3RydWN0IGRybV9zeW5jb2JqX2FycmF5IHsKIAlfX3U2NCBoYW5kbGVzOwog CV9fdTMyIGNvdW50X2hhbmRsZXM7CkBAIC05MTAsNiArOTI3LDcgQEAgZXh0ZXJuICJDIiB7CiAj ZGVmaW5lIERSTV9JT0NUTF9NT0RFX0dFVF9MRUFTRQlEUk1fSU9XUigweEM4LCBzdHJ1Y3QgZHJt X21vZGVfZ2V0X2xlYXNlKQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9SRVZPS0VfTEVBU0UJRFJN X0lPV1IoMHhDOSwgc3RydWN0IGRybV9tb2RlX3Jldm9rZV9sZWFzZSkKIAorI2RlZmluZSBEUk1f SU9DVExfU1lOQ09CSl9USU1FTElORV9XQUlUCURSTV9JT1dSKDB4Q0EsIHN0cnVjdCBkcm1fc3lu Y29ial90aW1lbGluZV93YWl0KQogLyoqCiAgKiBEZXZpY2Ugc3BlY2lmaWMgaW9jdGxzIHNob3Vs ZCBvbmx5IGJlIGluIHRoZWlyIHJlc3BlY3RpdmUgaGVhZGVycwogICogVGhlIGRldmljZSBzcGVj aWZpYyBpb2N0bCByYW5nZSBpcyBmcm9tIDB4NDAgdG8gMHg5Zi4KLS0gCjIuMTcuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==