From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 01/10] drm/i915: Tidy i915_gem_do_execbuffer Date: Tue, 31 Jan 2017 13:15:37 +0000 Message-ID: <1485868546-4927-2-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1485868546-4927-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 33E346E65D for ; Tue, 31 Jan 2017 13:15:57 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id u63so15508810wmu.2 for ; Tue, 31 Jan 2017 05:15:57 -0800 (PST) In-Reply-To: <1485868546-4927-1-git-send-email-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkluc3RlYWQg b2Ygc3ByaW5rbGluZyBhcm91bmQgdXNhZ2UgYW5kIGluaXRpYWxpemF0aW9uIG9mCmk5MTVfZXhl Y2J1ZmZlcl9wYXJhbXMgd2UgY2FuIGNvbnNvbGlkYXRlIGl0IGp1c3QgYmVmb3JlCmV4ZWNidWZf c3VibWl0IGZvciBtYWludGFiaWxpdHkgYW5kIHJlYWRhYmlsaXR5LgoKVGhhdCB3YXkgd2UgY2Fu IGFsc28gZHJvcCB0aGUgbWVtc2V0IHNpbmNlIGl0IGJlY29tZXMKZWFzeSB0byBzcG90IHdlIGlu aXRpYWxpemUgYWxsIHRoZSBmaWVsZHMuCgogICAgIHRleHQgICAgZGF0YSAgICAgYnNzICAgICBk ZWMgICAgIGhleCBmaWxlbmFtZQogIDEwODU0NjYgICAyNjM5OCAgICAyNjI4IDExMTQ0OTIgIDEx MDE3YyBpOTE1LmtvLjAKICAxMDg1NDAyICAgMjYzOTggICAgMjYyOCAxMTE0NDI4ICAxMTAxM2Mg aTkxNS5rby4xCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5A aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIu YyB8IDg3ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQ0 IGluc2VydGlvbnMoKyksIDQzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2V4ZWNidWZmZXIuYwppbmRleCA5MWMyMzkzMTk5YTMuLmVlN2I3YmQxN2UyOSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwpAQCAtNTAsMTQgKzUw LDE0IEBACiAjZGVmaW5lIEJBVENIX09GRlNFVF9CSUFTICgyNTYqMTAyNCkKIAogc3RydWN0IGk5 MTVfZXhlY2J1ZmZlcl9wYXJhbXMgewotCXN0cnVjdCBkcm1fZGV2aWNlICAgICAgICAgICAgICAg KmRldjsKLQlzdHJ1Y3QgZHJtX2ZpbGUgICAgICAgICAgICAgICAgICpmaWxlOwotCXN0cnVjdCBp OTE1X3ZtYQkJCSpiYXRjaDsKLQl1MzIJCQkJZGlzcGF0Y2hfZmxhZ3M7Ci0JdTMyCQkJCWFyZ3Nf YmF0Y2hfc3RhcnRfb2Zmc2V0OwotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgICAgICAgICAgKmVu Z2luZTsKLQlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAgICAgICAgICpjdHg7Ci0Jc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICAgICAqcmVxdWVzdDsKKwlzdHJ1Y3QgZHJtX2RldmljZQkgICAg KmRldjsKKwlzdHJ1Y3QgZHJtX2ZpbGUJCSAgICAqZmlsZTsKKwlzdHJ1Y3QgaTkxNV92bWEJCSAg ICAqYmF0Y2g7CisJdTMyCQkJICAgIGRpc3BhdGNoX2ZsYWdzOworCXUzMgkJICAgIAkgICAgYmF0 Y2hfc3RhcnQ7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcwkgICAgKmVuZ2luZTsKKwlzdHJ1Y3Qg aTkxNV9nZW1fY29udGV4dAkgICAgKmN0eDsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg KnJlcXVlc3Q7CiB9OwogCiBzdHJ1Y3QgZWJfdm1hcyB7CkBAIC0xNDg0LDExICsxNDg0LDEwIEBA IGV4ZWNidWZfc3VibWl0KHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCiAJ fQogCiAJZXhlY19sZW4gICA9IGFyZ3MtPmJhdGNoX2xlbjsKLQlleGVjX3N0YXJ0ID0gcGFyYW1z LT5iYXRjaC0+bm9kZS5zdGFydCArCi0JCSAgICAgcGFyYW1zLT5hcmdzX2JhdGNoX3N0YXJ0X29m ZnNldDsKKwlleGVjX3N0YXJ0ID0gcGFyYW1zLT5iYXRjaC0+bm9kZS5zdGFydCArIHBhcmFtcy0+ YmF0Y2hfc3RhcnQ7CiAKIAlpZiAoZXhlY19sZW4gPT0gMCkKLQkJZXhlY19sZW4gPSBwYXJhbXMt PmJhdGNoLT5zaXplIC0gcGFyYW1zLT5hcmdzX2JhdGNoX3N0YXJ0X29mZnNldDsKKwkJZXhlY19s ZW4gPSBwYXJhbXMtPmJhdGNoLT5zaXplIC0gcGFyYW1zLT5iYXRjaF9zdGFydDsKIAogCXJldCA9 IHBhcmFtcy0+ZW5naW5lLT5lbWl0X2JiX3N0YXJ0KHBhcmFtcy0+cmVxdWVzdCwKIAkJCQkJICAg IGV4ZWNfc3RhcnQsIGV4ZWNfbGVuLApAQCAtMTU5Miw4ICsxNTkxLDEwIEBAIGk5MTVfZ2VtX2Rv X2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAlzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmU7CiAJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsK IAlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bTsKLQlzdHJ1Y3QgaTkxNV9leGVjYnVmZmVy X3BhcmFtcyBwYXJhbXNfbWFzdGVyOyAvKiBYWFg6IHdpbGwgYmUgcmVtb3ZlZCBsYXRlciAqLwot CXN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMgPSAmcGFyYW1zX21hc3RlcjsK KwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcTsKKwlzdHJ1Y3QgaTkxNV92bWEgKmJh dGNoOworCXUzMiBiYXRjaF9zdGFydF9vZmZzZXQ7CisJc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9w YXJhbXMgcGFyYW1zOwogCWNvbnN0IHUzMiBjdHhfaWQgPSBpOTE1X2V4ZWNidWZmZXIyX2dldF9j b250ZXh0X2lkKCphcmdzKTsKIAl1MzIgZGlzcGF0Y2hfZmxhZ3M7CiAJc3RydWN0IGRtYV9mZW5j ZSAqaW5fZmVuY2UgPSBOVUxMOwpAQCAtMTY4NSw4ICsxNjg2LDYgQEAgaTkxNV9nZW1fZG9fZXhl Y2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCWVsc2UKIAkJdm0g PSAmZ2d0dC0+YmFzZTsKIAotCW1lbXNldCgmcGFyYW1zX21hc3RlciwgMHgwMCwgc2l6ZW9mKHBh cmFtc19tYXN0ZXIpKTsKLQogCWViID0gZWJfY3JlYXRlKGRldl9wcml2LCBhcmdzKTsKIAlpZiAo ZWIgPT0gTlVMTCkgewogCQlpOTE1X2dlbV9jb250ZXh0X3B1dChjdHgpOwpAQCAtMTcwMSw3ICsx NzAwLDcgQEAgaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2 b2lkICpkYXRhLAogCQlnb3RvIGVycjsKIAogCS8qIHRha2Ugbm90ZSBvZiB0aGUgYmF0Y2ggYnVm ZmVyIGJlZm9yZSB3ZSBtaWdodCByZW9yZGVyIHRoZSBsaXN0cyAqLwotCXBhcmFtcy0+YmF0Y2gg PSBlYl9nZXRfYmF0Y2goZWIpOworCWJhdGNoID0gZWJfZ2V0X2JhdGNoKGViKTsKIAogCS8qIE1v dmUgdGhlIG9iamVjdHMgZW4tbWFzc2UgaW50byB0aGUgR1RULCBldmljdGluZyBpZiBuZWNlc3Nh cnkuICovCiAJbmVlZF9yZWxvY3MgPSAoYXJncy0+ZmxhZ3MgJiBJOTE1X0VYRUNfTk9fUkVMT0Mp ID09IDA7CkBAIC0xNzI1LDI0ICsxNzI0LDI0IEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAl9CiAKIAkvKiBTZXQgdGhlIHBlbmRp bmcgcmVhZCBkb21haW5zIGZvciB0aGUgYmF0Y2ggYnVmZmVyIHRvIENPTU1BTkQgKi8KLQlpZiAo cGFyYW1zLT5iYXRjaC0+b2JqLT5iYXNlLnBlbmRpbmdfd3JpdGVfZG9tYWluKSB7CisJaWYgKGJh dGNoLT5vYmotPmJhc2UucGVuZGluZ193cml0ZV9kb21haW4pIHsKIAkJRFJNX0RFQlVHKCJBdHRl bXB0aW5nIHRvIHVzZSBzZWxmLW1vZGlmeWluZyBiYXRjaCBidWZmZXJcbiIpOwogCQlyZXQgPSAt RUlOVkFMOwogCQlnb3RvIGVycjsKIAl9Ci0JaWYgKGFyZ3MtPmJhdGNoX3N0YXJ0X29mZnNldCA+ IHBhcmFtcy0+YmF0Y2gtPnNpemUgfHwKLQkgICAgYXJncy0+YmF0Y2hfbGVuID4gcGFyYW1zLT5i YXRjaC0+c2l6ZSAtIGFyZ3MtPmJhdGNoX3N0YXJ0X29mZnNldCkgeworCWlmIChhcmdzLT5iYXRj aF9zdGFydF9vZmZzZXQgPiBiYXRjaC0+c2l6ZSB8fAorCSAgICBhcmdzLT5iYXRjaF9sZW4gPiBi YXRjaC0+c2l6ZSAtIGFyZ3MtPmJhdGNoX3N0YXJ0X29mZnNldCkgewogCQlEUk1fREVCVUcoIkF0 dGVtcHRpbmcgdG8gdXNlIG91dC1vZi1ib3VuZHMgYmF0Y2hcbiIpOwogCQlyZXQgPSAtRUlOVkFM OwogCQlnb3RvIGVycjsKIAl9CiAKLQlwYXJhbXMtPmFyZ3NfYmF0Y2hfc3RhcnRfb2Zmc2V0ID0g YXJncy0+YmF0Y2hfc3RhcnRfb2Zmc2V0OworCWJhdGNoX3N0YXJ0X29mZnNldCA9IGFyZ3MtPmJh dGNoX3N0YXJ0X29mZnNldDsKIAlpZiAoZW5naW5lLT5uZWVkc19jbWRfcGFyc2VyICYmIGFyZ3Mt PmJhdGNoX2xlbikgewogCQlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKIAogCQl2bWEgPSBpOTE1X2dl bV9leGVjYnVmZmVyX3BhcnNlKGVuZ2luZSwgJnNoYWRvd19leGVjX2VudHJ5LAotCQkJCQkJcGFy YW1zLT5iYXRjaC0+b2JqLAorCQkJCQkJYmF0Y2gtPm9iaiwKIAkJCQkJCWViLAogCQkJCQkJYXJn cy0+YmF0Y2hfc3RhcnRfb2Zmc2V0LAogCQkJCQkJYXJncy0+YmF0Y2hfbGVuLApAQCAtMTc2Mywx OCArMTc2MiwxOCBAQCBpOTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHZvaWQgKmRhdGEsCiAJCQkgKiBjb21tYW5kIHBhcnNlciBoYXMgYWNjZXB0ZWQuCiAJCQkg Ki8KIAkJCWRpc3BhdGNoX2ZsYWdzIHw9IEk5MTVfRElTUEFUQ0hfU0VDVVJFOwotCQkJcGFyYW1z LT5hcmdzX2JhdGNoX3N0YXJ0X29mZnNldCA9IDA7Ci0JCQlwYXJhbXMtPmJhdGNoID0gdm1hOwor CQkJYmF0Y2hfc3RhcnRfb2Zmc2V0ID0gMDsKKwkJCWJhdGNoID0gdm1hOwogCQl9CiAJfQogCi0J cGFyYW1zLT5iYXRjaC0+b2JqLT5iYXNlLnBlbmRpbmdfcmVhZF9kb21haW5zIHw9IEk5MTVfR0VN X0RPTUFJTl9DT01NQU5EOworCWJhdGNoLT5vYmotPmJhc2UucGVuZGluZ19yZWFkX2RvbWFpbnMg fD0gSTkxNV9HRU1fRE9NQUlOX0NPTU1BTkQ7CiAKIAkvKiBzbmIvaXZiL3ZsdiBjb25mbGF0ZSB0 aGUgImJhdGNoIGluIHBwZ3R0IiBiaXQgd2l0aCB0aGUgIm5vbi1zZWN1cmUKIAkgKiBiYXRjaCIg Yml0LiBIZW5jZSB3ZSBuZWVkIHRvIHBpbiBzZWN1cmUgYmF0Y2hlcyBpbnRvIHRoZSBnbG9iYWwg Z3R0LgogCSAqIGhzdyBzaG91bGQgaGF2ZSB0aGlzIGZpeGVkLCBidXQgYmR3IG11Y2tzIGl0IHVw IGFnYWluLiAqLwogCWlmIChkaXNwYXRjaF9mbGFncyAmIEk5MTVfRElTUEFUQ0hfU0VDVVJFKSB7 Ci0JCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBwYXJhbXMtPmJhdGNoLT5vYmo7 CisJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBiYXRjaC0+b2JqOwogCQlzdHJ1 Y3QgaTkxNV92bWEgKnZtYTsKIAogCQkvKgpAQCAtMTc5MywyNSArMTc5MiwyNCBAQCBpOTE1X2dl bV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQln b3RvIGVycjsKIAkJfQogCi0JCXBhcmFtcy0+YmF0Y2ggPSB2bWE7CisJCWJhdGNoID0gdm1hOwog CX0KIAogCS8qIEFsbG9jYXRlIGEgcmVxdWVzdCBmb3IgdGhpcyBiYXRjaCBidWZmZXIgbmljZSBh bmQgZWFybHkuICovCi0JcGFyYW1zLT5yZXF1ZXN0ID0gaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhl bmdpbmUsIGN0eCk7Ci0JaWYgKElTX0VSUihwYXJhbXMtPnJlcXVlc3QpKSB7Ci0JCXJldCA9IFBU Ul9FUlIocGFyYW1zLT5yZXF1ZXN0KTsKKwlyZXEgPSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKGVu Z2luZSwgY3R4KTsKKwlpZiAoSVNfRVJSKHJlcSkpIHsKKwkJcmV0ID0gUFRSX0VSUihyZXEpOwog CQlnb3RvIGVycl9iYXRjaF91bnBpbjsKIAl9CiAKIAlpZiAoaW5fZmVuY2UpIHsKLQkJcmV0ID0g aTkxNV9nZW1fcmVxdWVzdF9hd2FpdF9kbWFfZmVuY2UocGFyYW1zLT5yZXF1ZXN0LAotCQkJCQkJ ICAgICAgIGluX2ZlbmNlKTsKKwkJcmV0ID0gaTkxNV9nZW1fcmVxdWVzdF9hd2FpdF9kbWFfZmVu Y2UocmVxLCBpbl9mZW5jZSk7CiAJCWlmIChyZXQgPCAwKQogCQkJZ290byBlcnJfcmVxdWVzdDsK IAl9CiAKIAlpZiAob3V0X2ZlbmNlX2ZkICE9IC0xKSB7Ci0JCW91dF9mZW5jZSA9IHN5bmNfZmls ZV9jcmVhdGUoJnBhcmFtcy0+cmVxdWVzdC0+ZmVuY2UpOworCQlvdXRfZmVuY2UgPSBzeW5jX2Zp bGVfY3JlYXRlKCZyZXEtPmZlbmNlKTsKIAkJaWYgKCFvdXRfZmVuY2UpIHsKIAkJCXJldCA9IC1F Tk9NRU07CiAJCQlnb3RvIGVycl9yZXF1ZXN0OwpAQCAtMTgyNCw5ICsxODIyLDkgQEAgaTkxNV9n ZW1fZG9fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCSAq IGluYWN0aXZlX2xpc3QgYW5kIGxvc2UgaXRzIGFjdGl2ZSByZWZlcmVuY2UuIEhlbmNlIHdlIGRv IG5vdCBuZWVkCiAJICogdG8gZXhwbGljaXRseSBob2xkIGFub3RoZXIgcmVmZXJlbmNlIGhlcmUu CiAJICovCi0JcGFyYW1zLT5yZXF1ZXN0LT5iYXRjaCA9IHBhcmFtcy0+YmF0Y2g7CisJcmVxLT5i YXRjaCA9IGJhdGNoOwogCi0JcmV0ID0gaTkxNV9nZW1fcmVxdWVzdF9hZGRfdG9fY2xpZW50KHBh cmFtcy0+cmVxdWVzdCwgZmlsZSk7CisJcmV0ID0gaTkxNV9nZW1fcmVxdWVzdF9hZGRfdG9fY2xp ZW50KHJlcSwgZmlsZSk7CiAJaWYgKHJldCkKIAkJZ290byBlcnJfcmVxdWVzdDsKIApAQCAtMTgz NiwxNSArMTgzNCwxOCBAQCBpOTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHZvaWQgKmRhdGEsCiAJICoga2VwdCBhcm91bmQgYmV5b25kIHRoZSBkdXJhdGlvbiBv ZiB0aGUgSU9DVEwgb25jZSB0aGUgR1BVCiAJICogc2NoZWR1bGVyIGFycml2ZXMuCiAJICovCi0J cGFyYW1zLT5kZXYgICAgICAgICAgICAgICAgICAgICA9IGRldjsKLQlwYXJhbXMtPmZpbGUgICAg ICAgICAgICAgICAgICAgID0gZmlsZTsKLQlwYXJhbXMtPmVuZ2luZSAgICAgICAgICAgICAgICAg ICAgPSBlbmdpbmU7Ci0JcGFyYW1zLT5kaXNwYXRjaF9mbGFncyAgICAgICAgICA9IGRpc3BhdGNo X2ZsYWdzOwotCXBhcmFtcy0+Y3R4ICAgICAgICAgICAgICAgICAgICAgPSBjdHg7Ci0KLQlyZXQg PSBleGVjYnVmX3N1Ym1pdChwYXJhbXMsIGFyZ3MsICZlYi0+dm1hcyk7CisJcGFyYW1zLmRldgkg ICAgICA9IGRldjsKKwlwYXJhbXMuZmlsZQkgICAgICA9IGZpbGU7CisJcGFyYW1zLmVuZ2luZQkg ICAgICA9IGVuZ2luZTsKKwlwYXJhbXMuZGlzcGF0Y2hfZmxhZ3MgPSBkaXNwYXRjaF9mbGFnczsK KwlwYXJhbXMuY3R4CSAgICAgID0gY3R4OworCXBhcmFtcy5iYXRjaAkgICAgICA9IGJhdGNoOwor CXBhcmFtcy5iYXRjaF9zdGFydCAgICA9IGJhdGNoX3N0YXJ0X29mZnNldDsKKwlwYXJhbXMucmVx dWVzdAkgICAgICA9IHJlcTsKKworCXJldCA9IGV4ZWNidWZfc3VibWl0KCZwYXJhbXMsIGFyZ3Ms ICZlYi0+dm1hcyk7CiBlcnJfcmVxdWVzdDoKLQlfX2k5MTVfYWRkX3JlcXVlc3QocGFyYW1zLT5y ZXF1ZXN0LCByZXQgPT0gMCk7CisJX19pOTE1X2FkZF9yZXF1ZXN0KHJlcSwgcmV0ID09IDApOwog CWlmIChvdXRfZmVuY2UpIHsKIAkJaWYgKHJldCA9PSAwKSB7CiAJCQlmZF9pbnN0YWxsKG91dF9m ZW5jZV9mZCwgb3V0X2ZlbmNlLT5maWxlKTsKQEAgLTE4NjQsNyArMTg2NSw3IEBAIGk5MTVfZ2Vt X2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkgKiBh Y3RpdmUuCiAJICovCiAJaWYgKGRpc3BhdGNoX2ZsYWdzICYgSTkxNV9ESVNQQVRDSF9TRUNVUkUp Ci0JCWk5MTVfdm1hX3VucGluKHBhcmFtcy0+YmF0Y2gpOworCQlpOTE1X3ZtYV91bnBpbihiYXRj aCk7CiBlcnI6CiAJLyogdGhlIHJlcXVlc3Qgb3ducyB0aGUgcmVmIG5vdyAqLwogCWk5MTVfZ2Vt X2NvbnRleHRfcHV0KGN0eCk7Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==