From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: [PATCH v2 3/5] drm: msm: Switch to use drm_gem_object reservation_object Date: Sat, 2 Feb 2019 09:41:56 -0600 Message-ID: <20190202154158.10443-4-robh@kernel.org> References: <20190202154158.10443-1-robh@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190202154158.10443-1-robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Sean Paul , Rob Clark , Maxime Ripard , David Airlie , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Maarten Lankhorst , etnaviv-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Eric Anholt , Christian Gmeiner , Daniel Vetter , Russell King , freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Lucas Stach List-Id: linux-arm-msm@vger.kernel.org Tm93IHRoYXQgdGhlIGJhc2Ugc3RydWN0IGRybV9nZW1fb2JqZWN0IGhhcyBhIHJlc2VydmF0aW9u X29iamVjdCwgdXNlIGl0CmFuZCByZW1vdmUgdGhlIHByaXZhdGUgQk8gb25lLgoKV2UgY2FuJ3Qg dXNlIHRoZSBkcm1fZ2VtX3Jlc2VydmF0aW9uX29iamVjdF93YWl0KCkgaGVscGVyIGZvciBNU00K YmVjYXVzZSAoaW4gdGhlb3J5KSBtc21fZ2VtX2NwdV9wcmVwKCkgd2lsbCBhbHNvIGRvIHNvbWUg Y2FjaGUKbWFpbnRlbmFuY2Ugb24gdGhlIEdFTSBvYmplY3QuCgpDYzogUm9iIENsYXJrIDxyb2Jk Y2xhcmtAZ21haWwuY29tPgpDYzogRGF2aWQgQWlybGllIDxhaXJsaWVkQGxpbnV4LmllPgpDYzog RGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPgpDYzogbGludXgtYXJtLW1zbUB2Z2VyLmtl cm5lbC5vcmcKQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKQ2M6IGZyZWVkcmVu b0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKU2lnbmVkLW9mZi1ieTogUm9iIEhlcnJpbmcgPHJvYmhA a2VybmVsLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYyAgICAgICAgfCAg MSAtCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuaCAgICAgICAgfCAgMSAtCiBkcml2ZXJz L2dwdS9kcm0vbXNtL21zbV9nZW0uYyAgICAgICAgfCAyNyArKysrKysrKystLS0tLS0tLS0tLS0t LS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbV9wcmltZS5jICB8ICA3IC0tLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbV9zdWJtaXQuYyB8ICA4ICsrKystLS0tCiA1IGZp bGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9t c21fZHJ2LmMKaW5kZXggZDJjZGM3YjU1M2ZlLi41MjJkZGJkNzIyNTAgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNt X2Rydi5jCkBAIC0xMDg2LDcgKzEwODYsNiBAQCBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgbXNt X2RyaXZlciA9IHsKIAkucHJpbWVfZmRfdG9faGFuZGxlID0gZHJtX2dlbV9wcmltZV9mZF90b19o YW5kbGUsCiAJLmdlbV9wcmltZV9leHBvcnQgICA9IGRybV9nZW1fcHJpbWVfZXhwb3J0LAogCS5n ZW1fcHJpbWVfaW1wb3J0ICAgPSBkcm1fZ2VtX3ByaW1lX2ltcG9ydCwKLQkuZ2VtX3ByaW1lX3Jl c19vYmogID0gbXNtX2dlbV9wcmltZV9yZXNfb2JqLAogCS5nZW1fcHJpbWVfcGluICAgICAgPSBt c21fZ2VtX3ByaW1lX3BpbiwKIAkuZ2VtX3ByaW1lX3VucGluICAgID0gbXNtX2dlbV9wcmltZV91 bnBpbiwKIAkuZ2VtX3ByaW1lX2dldF9zZ190YWJsZSA9IG1zbV9nZW1fcHJpbWVfZ2V0X3NnX3Rh YmxlLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmggYi9kcml2ZXJz L2dwdS9kcm0vbXNtL21zbV9kcnYuaAppbmRleCA5MjdlNWQ4NmY3YzEuLjA2OGY5MTcyYWQ3MCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL21zbS9tc21fZHJ2LmgKQEAgLTMwMCw3ICszMDAsNiBAQCBzdHJ1Y3Qgc2dfdGFibGUg Km1zbV9nZW1fcHJpbWVfZ2V0X3NnX3RhYmxlKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKTsK IHZvaWQgKm1zbV9nZW1fcHJpbWVfdm1hcChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaik7CiB2 b2lkIG1zbV9nZW1fcHJpbWVfdnVubWFwKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCB2b2lk ICp2YWRkcik7CiBpbnQgbXNtX2dlbV9wcmltZV9tbWFwKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq b2JqLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSk7Ci1zdHJ1Y3QgcmVzZXJ2YXRpb25fb2Jq ZWN0ICptc21fZ2VtX3ByaW1lX3Jlc19vYmooc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwog c3RydWN0IGRybV9nZW1fb2JqZWN0ICptc21fZ2VtX3ByaW1lX2ltcG9ydF9zZ190YWJsZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAogCQlzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICphdHRhY2gs IHN0cnVjdCBzZ190YWJsZSAqc2cpOwogaW50IG1zbV9nZW1fcHJpbWVfcGluKHN0cnVjdCBkcm1f Z2VtX29iamVjdCAqb2JqKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dl bS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ2VtLmMKaW5kZXggYzg4ODZkMzA3MWZhLi5k Mzk3M2NjMjY1MjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbS5jCkBAIC02NzIsMTQgKzY3MiwxMyBAQCB2 b2lkIG1zbV9nZW1fdnVubWFwKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCBlbnVtIG1zbV9n ZW1fbG9jayBzdWJjbGFzcykKIGludCBtc21fZ2VtX3N5bmNfb2JqZWN0KHN0cnVjdCBkcm1fZ2Vt X29iamVjdCAqb2JqLAogCQlzdHJ1Y3QgbXNtX2ZlbmNlX2NvbnRleHQgKmZjdHgsIGJvb2wgZXhj bHVzaXZlKQogewotCXN0cnVjdCBtc21fZ2VtX29iamVjdCAqbXNtX29iaiA9IHRvX21zbV9ibyhv YmopOwogCXN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3RfbGlzdCAqZm9iajsKIAlzdHJ1Y3QgZG1h X2ZlbmNlICpmZW5jZTsKIAlpbnQgaSwgcmV0OwogCi0JZm9iaiA9IHJlc2VydmF0aW9uX29iamVj dF9nZXRfbGlzdChtc21fb2JqLT5yZXN2KTsKKwlmb2JqID0gcmVzZXJ2YXRpb25fb2JqZWN0X2dl dF9saXN0KG9iai0+cmVzdik7CiAJaWYgKCFmb2JqIHx8IChmb2JqLT5zaGFyZWRfY291bnQgPT0g MCkpIHsKLQkJZmVuY2UgPSByZXNlcnZhdGlvbl9vYmplY3RfZ2V0X2V4Y2wobXNtX29iai0+cmVz dik7CisJCWZlbmNlID0gcmVzZXJ2YXRpb25fb2JqZWN0X2dldF9leGNsKG9iai0+cmVzdik7CiAJ CS8qIGRvbid0IG5lZWQgdG8gd2FpdCBvbiBvdXIgb3duIGZlbmNlcywgc2luY2UgcmluZyBpcyBm aWZvICovCiAJCWlmIChmZW5jZSAmJiAoZmVuY2UtPmNvbnRleHQgIT0gZmN0eC0+Y29udGV4dCkp IHsKIAkJCXJldCA9IGRtYV9mZW5jZV93YWl0KGZlbmNlLCB0cnVlKTsKQEAgLTY5Myw3ICs2OTIs NyBAQCBpbnQgbXNtX2dlbV9zeW5jX29iamVjdChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwK IAogCWZvciAoaSA9IDA7IGkgPCBmb2JqLT5zaGFyZWRfY291bnQ7IGkrKykgewogCQlmZW5jZSA9 IHJjdV9kZXJlZmVyZW5jZV9wcm90ZWN0ZWQoZm9iai0+c2hhcmVkW2ldLAotCQkJCQkJcmVzZXJ2 YXRpb25fb2JqZWN0X2hlbGQobXNtX29iai0+cmVzdikpOworCQkJCQkJcmVzZXJ2YXRpb25fb2Jq ZWN0X2hlbGQob2JqLT5yZXN2KSk7CiAJCWlmIChmZW5jZS0+Y29udGV4dCAhPSBmY3R4LT5jb250 ZXh0KSB7CiAJCQlyZXQgPSBkbWFfZmVuY2Vfd2FpdChmZW5jZSwgdHJ1ZSk7CiAJCQlpZiAocmV0 KQpAQCAtNzExLDkgKzcxMCw5IEBAIHZvaWQgbXNtX2dlbV9tb3ZlX3RvX2FjdGl2ZShzdHJ1Y3Qg ZHJtX2dlbV9vYmplY3QgKm9iaiwKIAlXQVJOX09OKG1zbV9vYmotPm1hZHYgIT0gTVNNX01BRFZf V0lMTE5FRUQpOwogCW1zbV9vYmotPmdwdSA9IGdwdTsKIAlpZiAoZXhjbHVzaXZlKQotCQlyZXNl cnZhdGlvbl9vYmplY3RfYWRkX2V4Y2xfZmVuY2UobXNtX29iai0+cmVzdiwgZmVuY2UpOworCQly ZXNlcnZhdGlvbl9vYmplY3RfYWRkX2V4Y2xfZmVuY2Uob2JqLT5yZXN2LCBmZW5jZSk7CiAJZWxz ZQotCQlyZXNlcnZhdGlvbl9vYmplY3RfYWRkX3NoYXJlZF9mZW5jZShtc21fb2JqLT5yZXN2LCBm ZW5jZSk7CisJCXJlc2VydmF0aW9uX29iamVjdF9hZGRfc2hhcmVkX2ZlbmNlKG9iai0+cmVzdiwg ZmVuY2UpOwogCWxpc3RfZGVsX2luaXQoJm1zbV9vYmotPm1tX2xpc3QpOwogCWxpc3RfYWRkX3Rh aWwoJm1zbV9vYmotPm1tX2xpc3QsICZncHUtPmFjdGl2ZV9saXN0KTsKIH0KQEAgLTczMywxMyAr NzMyLDEyIEBAIHZvaWQgbXNtX2dlbV9tb3ZlX3RvX2luYWN0aXZlKHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqb2JqKQogCiBpbnQgbXNtX2dlbV9jcHVfcHJlcChzdHJ1Y3QgZHJtX2dlbV9vYmplY3Qg Km9iaiwgdWludDMyX3Qgb3AsIGt0aW1lX3QgKnRpbWVvdXQpCiB7Ci0Jc3RydWN0IG1zbV9nZW1f b2JqZWN0ICptc21fb2JqID0gdG9fbXNtX2JvKG9iaik7CiAJYm9vbCB3cml0ZSA9ICEhKG9wICYg TVNNX1BSRVBfV1JJVEUpOwogCXVuc2lnbmVkIGxvbmcgcmVtYWluID0KIAkJb3AgJiBNU01fUFJF UF9OT1NZTkMgPyAwIDogdGltZW91dF90b19qaWZmaWVzKHRpbWVvdXQpOwogCWxvbmcgcmV0Owog Ci0JcmV0ID0gcmVzZXJ2YXRpb25fb2JqZWN0X3dhaXRfdGltZW91dF9yY3UobXNtX29iai0+cmVz diwgd3JpdGUsCisJcmV0ID0gcmVzZXJ2YXRpb25fb2JqZWN0X3dhaXRfdGltZW91dF9yY3Uob2Jq LT5yZXN2LCB3cml0ZSwKIAkJCQkJCSAgdHJ1ZSwgIHJlbWFpbik7CiAJaWYgKHJldCA9PSAwKQog CQlyZXR1cm4gcmVtYWluID09IDAgPyAtRUJVU1kgOiAtRVRJTUVET1VUOwpAQCAtNzcxLDcgKzc2 OSw3IEBAIHN0YXRpYyB2b2lkIGRlc2NyaWJlX2ZlbmNlKHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNl LCBjb25zdCBjaGFyICp0eXBlLAogdm9pZCBtc21fZ2VtX2Rlc2NyaWJlKHN0cnVjdCBkcm1fZ2Vt X29iamVjdCAqb2JqLCBzdHJ1Y3Qgc2VxX2ZpbGUgKm0pCiB7CiAJc3RydWN0IG1zbV9nZW1fb2Jq ZWN0ICptc21fb2JqID0gdG9fbXNtX2JvKG9iaik7Ci0Jc3RydWN0IHJlc2VydmF0aW9uX29iamVj dCAqcm9iaiA9IG1zbV9vYmotPnJlc3Y7CisJc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAqcm9i aiA9IG9iai0+cmVzdjsKIAlzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0X2xpc3QgKmZvYmo7CiAJ c3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7CiAJc3RydWN0IG1zbV9nZW1fdm1hICp2bWE7CkBAIC04 ODMsOSArODgxLDYgQEAgdm9pZCBtc21fZ2VtX2ZyZWVfb2JqZWN0KHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqb2JqKQogCQlwdXRfcGFnZXMob2JqKTsKIAl9CiAKLQlpZiAobXNtX29iai0+cmVzdiA9 PSAmbXNtX29iai0+X3Jlc3YpCi0JCXJlc2VydmF0aW9uX29iamVjdF9maW5pKG1zbV9vYmotPnJl c3YpOwotCiAJZHJtX2dlbV9vYmplY3RfcmVsZWFzZShvYmopOwogCiAJbXV0ZXhfdW5sb2NrKCZt c21fb2JqLT5sb2NrKTsKQEAgLTk0NSwxMiArOTQwLDggQEAgc3RhdGljIGludCBtc21fZ2VtX25l d19pbXBsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJbXNtX29iai0+ZmxhZ3MgPSBmbGFnczsK IAltc21fb2JqLT5tYWR2ID0gTVNNX01BRFZfV0lMTE5FRUQ7CiAKLQlpZiAocmVzdikgewotCQlt c21fb2JqLT5yZXN2ID0gcmVzdjsKLQl9IGVsc2UgewotCQltc21fb2JqLT5yZXN2ID0gJm1zbV9v YmotPl9yZXN2OwotCQlyZXNlcnZhdGlvbl9vYmplY3RfaW5pdChtc21fb2JqLT5yZXN2KTsKLQl9 CisJaWYgKHJlc3YpCisJCW1zbV9vYmotPmJhc2UucmVzdiA9IHJlc3Y7CiAKIAlJTklUX0xJU1Rf SEVBRCgmbXNtX29iai0+c3VibWl0X2VudHJ5KTsKIAlJTklUX0xJU1RfSEVBRCgmbXNtX29iai0+ dm1hcyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9nZW1fcHJpbWUuYyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbV9wcmltZS5jCmluZGV4IDEzNDAzYzZkYTZjNy4u NjBiYjI5MDcwMGNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9nZW1fcHJp bWUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9nZW1fcHJpbWUuYwpAQCAtNzAsMTAg KzcwLDMgQEAgdm9pZCBtc21fZ2VtX3ByaW1lX3VucGluKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq b2JqKQogCWlmICghb2JqLT5pbXBvcnRfYXR0YWNoKQogCQltc21fZ2VtX3B1dF9wYWdlcyhvYmop OwogfQotCi1zdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICptc21fZ2VtX3ByaW1lX3Jlc19vYmoo c3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopCi17Ci0Jc3RydWN0IG1zbV9nZW1fb2JqZWN0ICpt c21fb2JqID0gdG9fbXNtX2JvKG9iaik7Ci0KLQlyZXR1cm4gbXNtX29iai0+cmVzdjsKLX0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbV9zdWJtaXQuYyBiL2RyaXZlcnMv Z3B1L2RybS9tc20vbXNtX2dlbV9zdWJtaXQuYwppbmRleCAxMmI5ODNmYzBiNTYuLmRmMzAyNTIx ZWM3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ2VtX3N1Ym1pdC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbV9zdWJtaXQuYwpAQCAtMTczLDcgKzE3Myw3 IEBAIHN0YXRpYyB2b2lkIHN1Ym1pdF91bmxvY2tfdW5waW5fYm8oc3RydWN0IG1zbV9nZW1fc3Vi bWl0ICpzdWJtaXQsCiAJCW1zbV9nZW1fdW5waW5faW92YSgmbXNtX29iai0+YmFzZSwgc3VibWl0 LT5ncHUtPmFzcGFjZSk7CiAKIAlpZiAoc3VibWl0LT5ib3NbaV0uZmxhZ3MgJiBCT19MT0NLRUQp Ci0JCXd3X211dGV4X3VubG9jaygmbXNtX29iai0+cmVzdi0+bG9jayk7CisJCXd3X211dGV4X3Vu bG9jaygmbXNtX29iai0+YmFzZS5yZXN2LT5sb2NrKTsKIAogCWlmIChiYWNrb2ZmICYmICEoc3Vi bWl0LT5ib3NbaV0uZmxhZ3MgJiBCT19WQUxJRCkpCiAJCXN1Ym1pdC0+Ym9zW2ldLmlvdmEgPSAw OwpAQCAtMTk2LDcgKzE5Niw3IEBAIHN0YXRpYyBpbnQgc3VibWl0X2xvY2tfb2JqZWN0cyhzdHJ1 Y3QgbXNtX2dlbV9zdWJtaXQgKnN1Ym1pdCkKIAkJY29udGVuZGVkID0gaTsKIAogCQlpZiAoIShz dWJtaXQtPmJvc1tpXS5mbGFncyAmIEJPX0xPQ0tFRCkpIHsKLQkJCXJldCA9IHd3X211dGV4X2xv Y2tfaW50ZXJydXB0aWJsZSgmbXNtX29iai0+cmVzdi0+bG9jaywKKwkJCXJldCA9IHd3X211dGV4 X2xvY2tfaW50ZXJydXB0aWJsZSgmbXNtX29iai0+YmFzZS5yZXN2LT5sb2NrLAogCQkJCQkmc3Vi bWl0LT50aWNrZXQpOwogCQkJaWYgKHJldCkKIAkJCQlnb3RvIGZhaWw7CkBAIC0yMTgsNyArMjE4 LDcgQEAgc3RhdGljIGludCBzdWJtaXRfbG9ja19vYmplY3RzKHN0cnVjdCBtc21fZ2VtX3N1Ym1p dCAqc3VibWl0KQogCWlmIChyZXQgPT0gLUVERUFETEspIHsKIAkJc3RydWN0IG1zbV9nZW1fb2Jq ZWN0ICptc21fb2JqID0gc3VibWl0LT5ib3NbY29udGVuZGVkXS5vYmo7CiAJCS8qIHdlIGxvc3Qg b3V0IGluIGEgc2Vxbm8gcmFjZSwgbG9jayBhbmQgcmV0cnkuLiAqLwotCQlyZXQgPSB3d19tdXRl eF9sb2NrX3Nsb3dfaW50ZXJydXB0aWJsZSgmbXNtX29iai0+cmVzdi0+bG9jaywKKwkJcmV0ID0g d3dfbXV0ZXhfbG9ja19zbG93X2ludGVycnVwdGlibGUoJm1zbV9vYmotPmJhc2UucmVzdi0+bG9j aywKIAkJCQkmc3VibWl0LT50aWNrZXQpOwogCQlpZiAoIXJldCkgewogCQkJc3VibWl0LT5ib3Nb Y29udGVuZGVkXS5mbGFncyB8PSBCT19MT0NLRUQ7CkBAIC0yNDQsNyArMjQ0LDcgQEAgc3RhdGlj IGludCBzdWJtaXRfZmVuY2Vfc3luYyhzdHJ1Y3QgbXNtX2dlbV9zdWJtaXQgKnN1Ym1pdCwgYm9v bCBub19pbXBsaWNpdCkKIAkJCSAqIHN0cmFuZ2UgcGxhY2UgdG8gY2FsbCBpdC4gIE9UT0ggdGhp cyBpcyBhCiAJCQkgKiBjb252ZW5pZW50IGNhbi1mYWlsIHBvaW50IHRvIGhvb2sgaXQgaW4uCiAJ CQkgKi8KLQkJCXJldCA9IHJlc2VydmF0aW9uX29iamVjdF9yZXNlcnZlX3NoYXJlZChtc21fb2Jq LT5yZXN2LAorCQkJcmV0ID0gcmVzZXJ2YXRpb25fb2JqZWN0X3Jlc2VydmVfc2hhcmVkKG1zbV9v YmotPmJhc2UucmVzdiwKIAkJCQkJCQkJMSk7CiAJCQlpZiAocmV0KQogCQkJCXJldHVybiByZXQ7 Ci0tIAoyLjE5LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVu bwo=