From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 08/12] drm/i915: Rename backpointer from intel_ringbuffer to intel_engine_cs Date: Tue, 24 Nov 2015 15:58:13 +0100 Message-ID: <20151124145813.GO17050@phenom.ffwll.local> References: <1448023432-10726-1-git-send-email-chris@chris-wilson.co.uk> <1448023432-10726-8-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f44.google.com (mail-wm0-f44.google.com [74.125.82.44]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2D8E76E761 for ; Tue, 24 Nov 2015 06:58:17 -0800 (PST) Received: by wmvv187 with SMTP id v187so213530284wmv.1 for ; Tue, 24 Nov 2015 06:58:15 -0800 (PST) Content-Disposition: inline In-Reply-To: <1448023432-10726-8-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBOb3YgMjAsIDIwMTUgYXQgMTI6NDM6NDhQTSArMDAwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IEhhdmluZyByaW5nYnVmLT5yaW5nIHBvaW50IHRvIGFuIGVuZ2luZSBpcyBjb25mdXNp bmcsIHNvIHJlbmFtZSBpdCBvbmNlCj4gYWdhaW4gdG8gcmluZy0+ZW5naW5lLgo+IAo+IFNpZ25l ZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgoKVGhpcyBt YXNzaXZlbHkgY29uZmxpY3RzIHdpdGgKCmNvbW1pdCBlODRmZTgwMzM3ZGM4NWNjYTA3ZDA0MTdl YTk3ZWRiZWM0Nzg5ZDhiCkF1dGhvcjogTmljayBIb2F0aCA8bmljaG9sYXMuaG9hdGhAaW50ZWwu Y29tPgpEYXRlOiAgIEZyaSBTZXAgMTEgMTI6NTM6NDYgMjAxNSArMDEwMAoKICAgIGRybS9pOTE1 OiBTcGxpdCBhbGxvYyBmcm9tIGluaXQgZm9yIGxyYwoKc2luY2UgdGhpcyBwYXRjaCB0b3VjaGVz IHBpbGVzIG9mIG9sZCBjb2RlIG5vdyByZW1vdmVkLiBCdXQgbm8gZnVuY3Rpb25hbApjb25mbGlj dCBhZmFpY3MsIHNvIEFja2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xs LmNoPgoKTWF5YmUgcmViYXNlIGJlZm9yZSBzZW5kaW5nIDstKQotRGFuaWVsCgo+IC0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgfCA0NiArKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5jIHwgMzYgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIHwgIDIgKy0KPiAgMyBmaWxlcyBjaGFuZ2VkLCA0MiBp bnNlcnRpb25zKCspLCA0MiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu Ywo+IGluZGV4IDVjMzc5MjJjM2NkZS4uMzQ2ZjU4ODk3MzhlIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmMKPiBAQCAtMjA4OSwxMyArMjA4OSwxMyBAQCB2b2lkIGludGVsX2xyX2NvbnRl eHRfZnJlZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4KQo+ICAJCWlmIChjdHhfb2JqKSB7Cj4g IAkJCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmID0KPiAgCQkJCQljdHgtPmVuZ2lu ZVtpXS5yaW5nYnVmOwo+IC0JCQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmluZ2J1 Zi0+cmluZzsKPiArCQkJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmluZ2J1Zi0+ ZW5naW5lOwo+ICAKPiAtCQkJaWYgKGN0eCA9PSByaW5nLT5kZWZhdWx0X2NvbnRleHQpIHsKPiAr CQkJaWYgKGN0eCA9PSBlbmdpbmUtPmRlZmF1bHRfY29udGV4dCkgewo+ICAJCQkJaW50ZWxfdW5w aW5fcmluZ2J1ZmZlcl9vYmoocmluZ2J1Zik7Cj4gIAkJCQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91 bnBpbihjdHhfb2JqKTsKPiAgCQkJfQo+IC0JCQlXQVJOX09OKGN0eC0+ZW5naW5lW3JpbmctPmlk XS5waW5fY291bnQpOwo+ICsJCQlXQVJOX09OKGN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdLnBpbl9j b3VudCk7Cj4gIAkJCWludGVsX2Rlc3Ryb3lfcmluZ2J1ZmZlcl9vYmoocmluZ2J1Zik7Cj4gIAkJ CWtmcmVlKHJpbmdidWYpOwo+ICAJCQlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZSgmY3R4X29i ai0+YmFzZSk7Cj4gQEAgLTIxNTgsMTkgKzIxNTgsMTkgQEAgc3RhdGljIHZvaWQgbHJjX3NldHVw X2hhcmR3YXJlX3N0YXR1c19wYWdlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4gICAq IFJldHVybjogbm9uLXplcm8gb24gZXJyb3IuCj4gICAqLwo+ICBpbnQgaW50ZWxfbHJfY29udGV4 dF9kZWZlcnJlZF9jcmVhdGUoc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwKPiAtCQkJCSAgICAg c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKPiArCQkJCSAgICAgc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lKQo+ICB7Cj4gLQljb25zdCBib29sIGlzX2dsb2JhbF9kZWZhdWx0X2N0 eCA9IChjdHggPT0gcmluZy0+ZGVmYXVsdF9jb250ZXh0KTsKPiAtCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSByaW5nLT5kZXY7Cj4gKwljb25zdCBib29sIGlzX2dsb2JhbF9kZWZhdWx0X2N0eCA9 IChjdHggPT0gZW5naW5lLT5kZWZhdWx0X2NvbnRleHQpOwo+ICsJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGVuZ2luZS0+ZGV2Owo+ICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9v Ymo7Cj4gIAl1aW50MzJfdCBjb250ZXh0X3NpemU7Cj4gIAlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZl ciAqcmluZ2J1ZjsKPiAgCWludCByZXQ7Cj4gIAo+ICAJV0FSTl9PTihjdHgtPmxlZ2FjeV9od19j dHgucmNzX3N0YXRlICE9IE5VTEwpOwo+IC0JV0FSTl9PTihjdHgtPmVuZ2luZVtyaW5nLT5pZF0u c3RhdGUpOwo+ICsJV0FSTl9PTihjdHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5zdGF0ZSk7Cj4gIAo+ IC0JY29udGV4dF9zaXplID0gcm91bmRfdXAoZ2V0X2xyX2NvbnRleHRfc2l6ZShyaW5nKSwgNDA5 Nik7Cj4gKwljb250ZXh0X3NpemUgPSByb3VuZF91cChnZXRfbHJfY29udGV4dF9zaXplKGVuZ2lu ZSksIDQwOTYpOwo+ICAKPiAgCWN0eF9vYmogPSBpOTE1X2dlbV9hbGxvY19vYmplY3QoZGV2LCBj b250ZXh0X3NpemUpOwo+ICAJaWYgKCFjdHhfb2JqKSB7Cj4gQEAgLTIxOTEsMTIgKzIxOTEsMTIg QEAgaW50IGludGVsX2xyX2NvbnRleHRfZGVmZXJyZWRfY3JlYXRlKHN0cnVjdCBpbnRlbF9jb250 ZXh0ICpjdHgsCj4gIAlyaW5nYnVmID0ga3phbGxvYyhzaXplb2YoKnJpbmdidWYpLCBHRlBfS0VS TkVMKTsKPiAgCWlmICghcmluZ2J1Zikgewo+ICAJCURSTV9ERUJVR19EUklWRVIoIkZhaWxlZCB0 byBhbGxvY2F0ZSByaW5nYnVmZmVyICVzXG4iLAo+IC0JCQkJcmluZy0+bmFtZSk7Cj4gKwkJCQll bmdpbmUtPm5hbWUpOwo+ICAJCXJldCA9IC1FTk9NRU07Cj4gIAkJZ290byBlcnJvcl91bnBpbl9j dHg7Cj4gIAl9Cj4gIAo+IC0JcmluZ2J1Zi0+cmluZyA9IHJpbmc7Cj4gKwlyaW5nYnVmLT5lbmdp bmUgPSBlbmdpbmU7Cj4gIAo+ICAJcmluZ2J1Zi0+c2l6ZSA9IDMyICogUEFHRV9TSVpFOwo+ICAJ cmluZ2J1Zi0+ZWZmZWN0aXZlX3NpemUgPSByaW5nYnVmLT5zaXplOwo+IEBAIC0yMjEwLDcgKzIy MTAsNyBAQCBpbnQgaW50ZWxfbHJfY29udGV4dF9kZWZlcnJlZF9jcmVhdGUoc3RydWN0IGludGVs X2NvbnRleHQgKmN0eCwKPiAgCQlpZiAocmV0KSB7Cj4gIAkJCURSTV9ERUJVR19EUklWRVIoCj4g IAkJCQkiRmFpbGVkIHRvIGFsbG9jYXRlIHJpbmdidWZmZXIgb2JqICVzOiAlZFxuIiwKPiAtCQkJ CXJpbmctPm5hbWUsIHJldCk7Cj4gKwkJCQllbmdpbmUtPm5hbWUsIHJldCk7Cj4gIAkJCWdvdG8g ZXJyb3JfZnJlZV9yYnVmOwo+ICAJCX0KPiAgCj4gQEAgLTIyMTksMzggKzIyMTksMzggQEAgaW50 IGludGVsX2xyX2NvbnRleHRfZGVmZXJyZWRfY3JlYXRlKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpj dHgsCj4gIAkJCWlmIChyZXQpIHsKPiAgCQkJCURSTV9FUlJPUigKPiAgCQkJCQkiRmFpbGVkIHRv IHBpbiBhbmQgbWFwIHJpbmdidWZmZXIgJXM6ICVkXG4iLAo+IC0JCQkJCXJpbmctPm5hbWUsIHJl dCk7Cj4gKwkJCQkJZW5naW5lLT5uYW1lLCByZXQpOwo+ICAJCQkJZ290byBlcnJvcl9kZXN0cm95 X3JidWY7Cj4gIAkJCX0KPiAgCQl9Cj4gIAo+ICAJfQo+ICAKPiAtCXJldCA9IHBvcHVsYXRlX2xy X2NvbnRleHQoY3R4LCBjdHhfb2JqLCByaW5nLCByaW5nYnVmKTsKPiArCXJldCA9IHBvcHVsYXRl X2xyX2NvbnRleHQoY3R4LCBjdHhfb2JqLCBlbmdpbmUsIHJpbmdidWYpOwo+ICAJaWYgKHJldCkg ewo+ICAJCURSTV9ERUJVR19EUklWRVIoIkZhaWxlZCB0byBwb3B1bGF0ZSBMUkM6ICVkXG4iLCBy ZXQpOwo+ICAJCWdvdG8gZXJyb3I7Cj4gIAl9Cj4gIAo+IC0JY3R4LT5lbmdpbmVbcmluZy0+aWRd LnJpbmdidWYgPSByaW5nYnVmOwo+IC0JY3R4LT5lbmdpbmVbcmluZy0+aWRdLnN0YXRlID0gY3R4 X29iajsKPiArCWN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdLnJpbmdidWYgPSByaW5nYnVmOwo+ICsJ Y3R4LT5lbmdpbmVbZW5naW5lLT5pZF0uc3RhdGUgPSBjdHhfb2JqOwo+ICAKPiAtCWlmIChjdHgg PT0gcmluZy0+ZGVmYXVsdF9jb250ZXh0KQo+IC0JCWxyY19zZXR1cF9oYXJkd2FyZV9zdGF0dXNf cGFnZShyaW5nLCBjdHhfb2JqKTsKPiAtCWVsc2UgaWYgKHJpbmctPmlkID09IFJDUyAmJiAhY3R4 LT5yY3NfaW5pdGlhbGl6ZWQpIHsKPiAtCQlpZiAocmluZy0+aW5pdF9jb250ZXh0KSB7Cj4gKwlp ZiAoY3R4ID09IGVuZ2luZS0+ZGVmYXVsdF9jb250ZXh0KQo+ICsJCWxyY19zZXR1cF9oYXJkd2Fy ZV9zdGF0dXNfcGFnZShlbmdpbmUsIGN0eF9vYmopOwo+ICsJZWxzZSBpZiAoZW5naW5lLT5pZCA9 PSBSQ1MgJiYgIWN0eC0+cmNzX2luaXRpYWxpemVkKSB7Cj4gKwkJaWYgKGVuZ2luZS0+aW5pdF9j b250ZXh0KSB7Cj4gIAkJCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxOwo+ICAKPiAt CQkJcmV0ID0gaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhyaW5nLCBjdHgsICZyZXEpOwo+ICsJCQly ZXQgPSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKGVuZ2luZSwgY3R4LCAmcmVxKTsKPiAgCQkJaWYg KHJldCkKPiAgCQkJCXJldHVybiByZXQ7Cj4gIAo+IC0JCQlyZXQgPSByaW5nLT5pbml0X2NvbnRl eHQocmVxKTsKPiArCQkJcmV0ID0gZW5naW5lLT5pbml0X2NvbnRleHQocmVxKTsKPiAgCQkJaWYg KHJldCkgewo+ICAJCQkJRFJNX0VSUk9SKCJyaW5nIGluaXQgY29udGV4dDogJWRcbiIsIHJldCk7 Cj4gIAkJCQlpOTE1X2dlbV9yZXF1ZXN0X2NhbmNlbChyZXEpOwo+IC0JCQkJY3R4LT5lbmdpbmVb cmluZy0+aWRdLnJpbmdidWYgPSBOVUxMOwo+IC0JCQkJY3R4LT5lbmdpbmVbcmluZy0+aWRdLnN0 YXRlID0gTlVMTDsKPiArCQkJCWN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdLnJpbmdidWYgPSBOVUxM Owo+ICsJCQkJY3R4LT5lbmdpbmVbZW5naW5lLT5pZF0uc3RhdGUgPSBOVUxMOwo+ICAJCQkJZ290 byBlcnJvcjsKPiAgCQkJfQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5jCj4gaW5kZXggYzQ2MTBjNzI3YzQ5Li4xZDQzYTI0YjYyNjggMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gQEAgLTIwNDMsMzYgKzIwNDMsMzYgQEAgaW50 IGludGVsX2FsbG9jX3JpbmdidWZmZXJfb2JqKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIH0K PiAgCj4gIHN0YXRpYyBpbnQgaW50ZWxfaW5pdF9yaW5nX2J1ZmZlcihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+IC0JCQkJICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQo+ICsJCQkJICBz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9yaW5n YnVmZmVyICpyaW5nYnVmOwo+ICAJaW50IHJldDsKPiAgCj4gLQlXQVJOX09OKHJpbmctPmJ1ZmZl cik7Cj4gKwlXQVJOX09OKGVuZ2luZS0+YnVmZmVyKTsKPiAgCj4gIAlyaW5nYnVmID0ga3phbGxv YyhzaXplb2YoKnJpbmdidWYpLCBHRlBfS0VSTkVMKTsKPiAgCWlmICghcmluZ2J1ZikKPiAgCQly ZXR1cm4gLUVOT01FTTsKPiAtCXJpbmctPmJ1ZmZlciA9IHJpbmdidWY7Cj4gKwllbmdpbmUtPmJ1 ZmZlciA9IHJpbmdidWY7Cj4gIAo+IC0JcmluZy0+ZGV2ID0gZGV2Owo+IC0JSU5JVF9MSVNUX0hF QUQoJnJpbmctPmFjdGl2ZV9saXN0KTsKPiAtCUlOSVRfTElTVF9IRUFEKCZyaW5nLT5yZXF1ZXN0 X2xpc3QpOwo+IC0JSU5JVF9MSVNUX0hFQUQoJnJpbmctPmV4ZWNsaXN0X3F1ZXVlKTsKPiAtCWk5 MTVfZ2VtX2JhdGNoX3Bvb2xfaW5pdChkZXYsICZyaW5nLT5iYXRjaF9wb29sKTsKPiArCWVuZ2lu ZS0+ZGV2ID0gZGV2Owo+ICsJSU5JVF9MSVNUX0hFQUQoJmVuZ2luZS0+YWN0aXZlX2xpc3QpOwo+ ICsJSU5JVF9MSVNUX0hFQUQoJmVuZ2luZS0+cmVxdWVzdF9saXN0KTsKPiArCUlOSVRfTElTVF9I RUFEKCZlbmdpbmUtPmV4ZWNsaXN0X3F1ZXVlKTsKPiArCWk5MTVfZ2VtX2JhdGNoX3Bvb2xfaW5p dChkZXYsICZlbmdpbmUtPmJhdGNoX3Bvb2wpOwo+ICAJcmluZ2J1Zi0+c2l6ZSA9IDMyICogUEFH RV9TSVpFOwo+IC0JcmluZ2J1Zi0+cmluZyA9IHJpbmc7Cj4gLQltZW1zZXQocmluZy0+c2VtYXBo b3JlLnN5bmNfc2Vxbm8sIDAsIHNpemVvZihyaW5nLT5zZW1hcGhvcmUuc3luY19zZXFubykpOwo+ ICsJcmluZ2J1Zi0+ZW5naW5lID0gZW5naW5lOwo+ICsJbWVtc2V0KGVuZ2luZS0+c2VtYXBob3Jl LnN5bmNfc2Vxbm8sIDAsIHNpemVvZihlbmdpbmUtPnNlbWFwaG9yZS5zeW5jX3NlcW5vKSk7Cj4g IAo+IC0JaW5pdF93YWl0cXVldWVfaGVhZCgmcmluZy0+aXJxX3F1ZXVlKTsKPiArCWluaXRfd2Fp dHF1ZXVlX2hlYWQoJmVuZ2luZS0+aXJxX3F1ZXVlKTsKPiAgCj4gIAlpZiAoSTkxNV9ORUVEX0dG WF9IV1MoZGV2KSkgewo+IC0JCXJldCA9IGluaXRfc3RhdHVzX3BhZ2UocmluZyk7Cj4gKwkJcmV0 ID0gaW5pdF9zdGF0dXNfcGFnZShlbmdpbmUpOwo+ICAJCWlmIChyZXQpCj4gIAkJCWdvdG8gZXJy b3I7Cj4gIAl9IGVsc2Ugewo+IC0JCUJVR19PTihyaW5nLT5pZCAhPSBSQ1MpOwo+IC0JCXJldCA9 IGluaXRfcGh5c19zdGF0dXNfcGFnZShyaW5nKTsKPiArCQlCVUdfT04oZW5naW5lLT5pZCAhPSBS Q1MpOwo+ICsJCXJldCA9IGluaXRfcGh5c19zdGF0dXNfcGFnZShlbmdpbmUpOwo+ICAJCWlmIChy ZXQpCj4gIAkJCWdvdG8gZXJyb3I7Cj4gIAl9Cj4gQEAgLTIwODIsMTQgKzIwODIsMTQgQEAgc3Rh dGljIGludCBpbnRlbF9pbml0X3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4g IAlyZXQgPSBpbnRlbF9hbGxvY19yaW5nYnVmZmVyX29iaihkZXYsIHJpbmdidWYpOwo+ICAJaWYg KHJldCkgewo+ICAJCURSTV9FUlJPUigiRmFpbGVkIHRvIGFsbG9jYXRlIHJpbmdidWZmZXIgJXM6 ICVkXG4iLAo+IC0JCQkJcmluZy0+bmFtZSwgcmV0KTsKPiArCQkJCWVuZ2luZS0+bmFtZSwgcmV0 KTsKPiAgCQlnb3RvIGVycm9yOwo+ICAJfQo+ICAKPiAgCXJldCA9IGludGVsX3Bpbl9hbmRfbWFw X3JpbmdidWZmZXJfb2JqKGRldiwgcmluZ2J1Zik7Cj4gIAlpZiAocmV0KSB7Cj4gIAkJRFJNX0VS Uk9SKCJGYWlsZWQgdG8gcGluIGFuZCBtYXAgcmluZ2J1ZmZlciAlczogJWRcbiIsCj4gLQkJCQly aW5nLT5uYW1lLCByZXQpOwo+ICsJCQkJZW5naW5lLT5uYW1lLCByZXQpOwo+ICAJCWludGVsX2Rl c3Ryb3lfcmluZ2J1ZmZlcl9vYmoocmluZ2J1Zik7Cj4gIAkJZ290byBlcnJvcjsKPiAgCX0KPiBA QCAtMjEwMiw3ICsyMTAyLDcgQEAgc3RhdGljIGludCBpbnRlbF9pbml0X3JpbmdfYnVmZmVyKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAlpZiAoSVNfSTgzMChkZXYpIHx8IElTXzg0NUcoZGV2 KSkKPiAgCQlyaW5nYnVmLT5lZmZlY3RpdmVfc2l6ZSAtPSAyICogQ0FDSEVMSU5FX0JZVEVTOwo+ ICAKPiAtCXJldCA9IGk5MTVfY21kX3BhcnNlcl9pbml0X3JpbmcocmluZyk7Cj4gKwlyZXQgPSBp OTE1X2NtZF9wYXJzZXJfaW5pdF9yaW5nKGVuZ2luZSk7Cj4gIAlpZiAocmV0KQo+ICAJCWdvdG8g ZXJyb3I7Cj4gIAo+IEBAIC0yMTEwLDcgKzIxMTAsNyBAQCBzdGF0aWMgaW50IGludGVsX2luaXRf cmluZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCj4gIGVycm9yOgo+ICAJa2Zy ZWUocmluZ2J1Zik7Cj4gLQlyaW5nLT5idWZmZXIgPSBOVUxMOwo+ICsJZW5naW5lLT5idWZmZXIg PSBOVUxMOwo+ICAJcmV0dXJuIHJldDsKPiAgfQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5oCj4gaW5kZXggMzY4ZDliMDQ1NGVkLi42YTkwNTZlM2FjNDYgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gQEAgLTk5LDcgKzk5LDcg QEAgc3RydWN0IGludGVsX3JpbmdidWZmZXIgewo+ICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iajsKPiAgCXZvaWQgKnZpcnR1YWxfc3RhcnQ7Cj4gIAo+IC0Jc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqcmluZzsKPiArCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKPiAgCj4g IAl1MzIgaGVhZDsKPiAgCXUzMiB0YWlsOwo+IC0tIAo+IDIuNi4yCj4gCj4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBs aXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApEYW5pZWwgVmV0dGVy ClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5j aApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=