From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 09/17] drm/i915: Push the ring creation flags to the backend Date: Mon, 2 Sep 2019 15:17:02 +0100 Message-ID: <7ae1ef3b-ad45-9eae-cd73-5105bf9e027f@linux.intel.com> References: <20190730133035.1977-1-chris@chris-wilson.co.uk> <20190730133035.1977-10-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 180EF89762 for ; Mon, 2 Sep 2019 14:17:04 +0000 (UTC) In-Reply-To: <20190730133035.1977-10-chris@chris-wilson.co.uk> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDMwLzA3LzIwMTkgMTQ6MzAsIENocmlzIFdpbHNvbiB3cm90ZToKPiBQdXNoIHRoZSByaW5n IGNyZWF0aW9uIGZsYWdzIGZyb20gdGhlIG91dGVyIEdFTSBjb250ZXh0IHRvIHRoZSBpbm5lcgo+ IGludGVsX2NvdG5leHQgdG8gYXZvaWQgYW4gdW5zaWdodGx5IGJhY2stcmVmZXJlbmNlIGZyb20g aW5zaWRlIHRoZQoKdHlwbwoKPiBiYWNrZW5kLgoKTm8gbWVudGlvbiBvZiB0aGUgcG9pbnRlciBv dmVybG9hZCB0cmljay4KCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0Bj aHJpcy13aWxzb24uY28udWs+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fY29udGV4dC5jICAgfCAyMSArKysrKysrKysrKy0tLS0tLQo+ICAgLi4uL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dF90eXBlcy5oIHwgIDMgLS0tCj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9jb250ZXh0LmMgICAgICAgfCAgMSArCj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9jb250ZXh0LmggICAgICAgfCAgNSArKysrCj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyAgICAgfCAgMiArKwo+ICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgIDUgKystLQo+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jICAgIHwgIDIgKy0KPiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2d0L21vY2tfZW5naW5lLmMgICAgICAgICB8ICA5ICsrKysrKy0t Cj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgICAgICAgICAgfCAyMyAr KysrKysrKysrKystLS0tLS0tCj4gICA5IGZpbGVzIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyks IDI0IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2Vt X2NvbnRleHQuYwo+IGluZGV4IDFiM2RjNzI1OGVmMi4uMmU4Y2VkY2UwNTlmIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dC5jCj4gQEAgLTQzNCw4ICs0 MzQsNiBAQCBfX2NyZWF0ZV9jb250ZXh0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+ ICAgCWk5MTVfZ2VtX2NvbnRleHRfc2V0X2Jhbm5hYmxlKGN0eCk7Cj4gICAJaTkxNV9nZW1fY29u dGV4dF9zZXRfcmVjb3ZlcmFibGUoY3R4KTsKPiAgIAo+IC0JY3R4LT5yaW5nX3NpemUgPSA0ICog UEFHRV9TSVpFOwo+IC0KPiAgIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShjdHgtPmhhbmdf dGltZXN0YW1wKTsgaSsrKQo+ICAgCQljdHgtPmhhbmdfdGltZXN0YW1wW2ldID0gamlmZmllcyAt IENPTlRFWFRfRkFTVF9IQU5HX0pJRkZJRVM7Cj4gICAKPiBAQCAtNTY1LDggKzU2MywxNSBAQCBp OTE1X2dlbV9jb250ZXh0X2NyZWF0ZV9ndnQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAlp OTE1X2dlbV9jb250ZXh0X3NldF9jbG9zZWQoY3R4KTsgLyogbm90IHVzZXIgYWNjZXNzaWJsZSAq Lwo+ICAgCWk5MTVfZ2VtX2NvbnRleHRfY2xlYXJfYmFubmFibGUoY3R4KTsKPiAgIAlpOTE1X2dl bV9jb250ZXh0X3NldF9mb3JjZV9zaW5nbGVfc3VibWlzc2lvbihjdHgpOwo+IC0JaWYgKCFVU0VT X0dVQ19TVUJNSVNTSU9OKHRvX2k5MTUoZGV2KSkpCj4gLQkJY3R4LT5yaW5nX3NpemUgPSA1MTIg KiBQQUdFX1NJWkU7IC8qIE1heCByaW5nIGJ1ZmZlciBzaXplICovCj4gKwlpZiAoIVVTRVNfR1VD X1NVQk1JU1NJT04odG9faTkxNShkZXYpKSkgewo+ICsJCWNvbnN0IHVuc2lnbmVkIGxvbmcgcmlu Z19zaXplID0gNTEyICogU1pfNEs7IC8qIG1heCAqLwo+ICsJCXN0cnVjdCBpOTE1X2dlbV9lbmdp bmVzX2l0ZXIgaXQ7Cj4gKwkJc3RydWN0IGludGVsX2NvbnRleHQgKmNlOwo+ICsKPiArCQlmb3Jf ZWFjaF9nZW1fZW5naW5lKGNlLCBpOTE1X2dlbV9jb250ZXh0X2xvY2tfZW5naW5lcyhjdHgpLCBp dCkKPiArCQkJY2UtPnJpbmcgPSBfX2ludGVsX2NvbnRleHRfcmluZ19zaXplKHJpbmdfc2l6ZSk7 Cj4gKwkJaTkxNV9nZW1fY29udGV4dF91bmxvY2tfZW5naW5lcyhjdHgpOwo+ICsJfQo+ICAgCj4g ICAJR0VNX0JVR19PTihpOTE1X2dlbV9jb250ZXh0X2lzX2tlcm5lbChjdHgpKTsKPiAgIG91dDoK PiBAQCAtNjA1LDcgKzYxMCw2IEBAIGk5MTVfZ2VtX2NvbnRleHRfY3JlYXRlX2tlcm5lbChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgaW50IHByaW8pCj4gICAKPiAgIAlpOTE1X2dlbV9j b250ZXh0X2NsZWFyX2Jhbm5hYmxlKGN0eCk7Cj4gICAJY3R4LT5zY2hlZC5wcmlvcml0eSA9IEk5 MTVfVVNFUl9QUklPUklUWShwcmlvKTsKPiAtCWN0eC0+cmluZ19zaXplID0gUEFHRV9TSVpFOwo+ ICAgCj4gICAJR0VNX0JVR19PTighaTkxNV9nZW1fY29udGV4dF9pc19rZXJuZWwoY3R4KSk7Cj4g ICAKPiBAQCAtMTU4OSw2ICsxNTkzLDcgQEAgc2V0X2VuZ2luZXMoc3RydWN0IGk5MTVfZ2VtX2Nv bnRleHQgKmN0eCwKPiAgIAlmb3IgKG4gPSAwOyBuIDwgbnVtX2VuZ2luZXM7IG4rKykgewo+ICAg CQlzdHJ1Y3QgaTkxNV9lbmdpbmVfY2xhc3NfaW5zdGFuY2UgY2k7Cj4gICAJCXN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZTsKPiArCQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2U7Cj4gICAK PiAgIAkJaWYgKGNvcHlfZnJvbV91c2VyKCZjaSwgJnVzZXItPmVuZ2luZXNbbl0sIHNpemVvZihj aSkpKSB7Cj4gICAJCQlfX2ZyZWVfZW5naW5lcyhzZXQuZW5naW5lcywgbik7Cj4gQEAgLTE2MTEs MTEgKzE2MTYsMTMgQEAgc2V0X2VuZ2luZXMoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwK PiAgIAkJCXJldHVybiAtRU5PRU5UOwo+ICAgCQl9Cj4gICAKPiAtCQlzZXQuZW5naW5lcy0+ZW5n aW5lc1tuXSA9IGludGVsX2NvbnRleHRfY3JlYXRlKGN0eCwgZW5naW5lKTsKPiAtCQlpZiAoIXNl dC5lbmdpbmVzLT5lbmdpbmVzW25dKSB7Cj4gKwkJY2UgPSBpbnRlbF9jb250ZXh0X2NyZWF0ZShj dHgsIGVuZ2luZSk7Cj4gKwkJaWYgKCFjZSkgewo+ICAgCQkJX19mcmVlX2VuZ2luZXMoc2V0LmVu Z2luZXMsIG4pOwo+ICAgCQkJcmV0dXJuIC1FTk9NRU07Cj4gICAJCX0KPiArCj4gKwkJc2V0LmVu Z2luZXMtPmVuZ2luZXNbbl0gPSBjZTsKPiAgIAl9Cj4gICAJc2V0LmVuZ2luZXMtPm51bV9lbmdp bmVzID0gbnVtX2VuZ2luZXM7Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHRfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9jb250ZXh0X3R5cGVzLmgKPiBpbmRleCBhMDJkOTg0OTQwNzguLjI2MGQ1OWNj M2RlOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29u dGV4dF90eXBlcy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2Nv bnRleHRfdHlwZXMuaAo+IEBAIC0xNjksOSArMTY5LDYgQEAgc3RydWN0IGk5MTVfZ2VtX2NvbnRl eHQgewo+ICAgCj4gICAJc3RydWN0IGk5MTVfc2NoZWRfYXR0ciBzY2hlZDsKPiAgIAo+IC0JLyoq IHJpbmdfc2l6ZTogc2l6ZSBmb3IgYWxsb2NhdGluZyB0aGUgcGVyLWVuZ2luZSByaW5nIGJ1ZmZl ciAqLwo+IC0JdTMyIHJpbmdfc2l6ZTsKPiAtCj4gICAJLyoqIGd1aWx0eV9jb3VudDogSG93IG1h bnkgdGltZXMgdGhpcyBjb250ZXh0IGhhcyBjYXVzZWQgYSBHUFUgaGFuZy4gKi8KPiAgIAlhdG9t aWNfdCBndWlsdHlfY291bnQ7Cj4gICAJLyoqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVs X2NvbnRleHQuYwo+IGluZGV4IDM0YzhlMzdhNzNiOC4uZGI5MjM2NTcwZmY1IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2NvbnRleHQuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2NvbnRleHQuYwo+IEBAIC0yMTQsNiArMjE0LDcgQEAg aW50ZWxfY29udGV4dF9pbml0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwKPiAgIAljZS0+ZW5n aW5lID0gZW5naW5lOwo+ICAgCWNlLT5vcHMgPSBlbmdpbmUtPmNvcHM7Cj4gICAJY2UtPnNzZXUg PSBlbmdpbmUtPnNzZXU7Cj4gKwljZS0+cmluZyA9IF9faW50ZWxfY29udGV4dF9yaW5nX3NpemUo U1pfMTZLKTsKPiAgIAo+ICAgCUlOSVRfTElTVF9IRUFEKCZjZS0+c2lnbmFsX2xpbmspOwo+ICAg CUlOSVRfTElTVF9IRUFEKCZjZS0+c2lnbmFscyk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX2NvbnRleHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX2NvbnRleHQuaAo+IGluZGV4IDA3Zjk5MjRkZTQ4Zi4uMTNmMjhkZDMxNmJjIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2NvbnRleHQuaAo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2NvbnRleHQuaAo+IEBAIC0xMzYsNCArMTM2LDkg QEAgaW50IGludGVsX2NvbnRleHRfcHJlcGFyZV9yZW1vdGVfcmVxdWVzdChzdHJ1Y3QgaW50ZWxf Y29udGV4dCAqY2UsCj4gICAKPiAgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKmludGVsX2NvbnRleHRf Y3JlYXRlX3JlcXVlc3Qoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKTsKPiAgIAo+ICtzdGF0aWMg aW5saW5lIHN0cnVjdCBpbnRlbF9yaW5nICpfX2ludGVsX2NvbnRleHRfcmluZ19zaXplKHU2NCBz eikKPiArewo+ICsJcmV0dXJuIHU2NF90b19wdHIoc3RydWN0IGludGVsX3JpbmcsIHN6KTsKCkhv dyBkb2VzIHRoaXMgbWFrZSBzZW5zZSBvbiAzMi1iaXQgYnVpbGRzPyBObyB3YXJuaW5ncyBhYm91 dCBwb3RlbnRpYWwgCnRydW5jYXRpb24/CgpBdCBsZWFzdCBJIGhvcGUgY29tcGlsZXIgaXMgc21h cnQgbm90IHRvIGdyb3cgdGhlIGNvZGUgZm9yIGFzc2lnbm1lbnRzIApmb3Igd2hpY2ggdTY0IGlz IG92ZXJraWxsLgoKPiArfQo+ICsKPiAgICNlbmRpZiAvKiBfX0lOVEVMX0NPTlRFWFRfSF9fICov Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMKPiBpbmRleCA2NWNi ZjFkOTExOGQuLjk3Y2UzNTg5MzM4ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9lbmdpbmVfY3MuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX2VuZ2luZV9jcy5jCj4gQEAgLTc4Myw2ICs3ODMsOCBAQCBzdGF0aWMgaW50IHBpbl9jb250 ZXh0KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4gICAJaWYgKElTX0VSUihjZSkpCj4g ICAJCXJldHVybiBQVFJfRVJSKGNlKTsKPiAgIAo+ICsJY2UtPnJpbmcgPSBfX2ludGVsX2NvbnRl eHRfcmluZ19zaXplKFNaXzRLKTsKPiArCj4gICAJZXJyID0gaW50ZWxfY29udGV4dF9waW4oY2Up Owo+ICAgCWludGVsX2NvbnRleHRfcHV0KGNlKTsKPiAgIAlpZiAoZXJyKQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2xyYy5jCj4gaW5kZXggMjMyZjQwZmNiNDkwLi41ZTExM2RkYmUyNzMgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYwo+IEBAIC0zMTA4LDkgKzMxMDgsOCBA QCBzdGF0aWMgaW50IGV4ZWNsaXN0c19jb250ZXh0X2RlZmVycmVkX2FsbG9jKHN0cnVjdCBpbnRl bF9jb250ZXh0ICpjZSwKPiAgIAkJZ290byBlcnJvcl9kZXJlZl9vYmo7Cj4gICAJfQo+ICAgCj4g LQlyaW5nID0gaW50ZWxfZW5naW5lX2NyZWF0ZV9yaW5nKGVuZ2luZSwKPiAtCQkJCQl0aW1lbGlu ZSwKPiAtCQkJCQljZS0+Z2VtX2NvbnRleHQtPnJpbmdfc2l6ZSk7Cj4gKwlyaW5nID0gaW50ZWxf ZW5naW5lX2NyZWF0ZV9yaW5nKGVuZ2luZSwgdGltZWxpbmUsCj4gKwkJCQkJKHVuc2lnbmVkIGxv bmcpY2UtPnJpbmcpOwoKU3RyaWN0bHkgc3BlYWtpbmcgdWludHB0cl90LCBubz8KCkknZCBiZSB0 ZW1wdGVkIHRvIGFkZCBhbiBhc3NlcnQgaW4gX19pbnRlbF9jb250ZXh0X3Jpbmdfc2l6ZSBhZ2Fp bnN0IAphc2tpbmcgZm9yIG1vcmUgdGhhbiB0aGUgaW50ZWxfZW5naW5lX2NyZWF0ZV9yaW5nIGNh biBjcmVhdGUuIE9yIAphY3R1YWxseSBhbiBhc3NlcnQgaW4gdGhlIGxhdHRlciB0byBwcm90ZWN0 IGFnYWluc3QgY2FsbGluZyBpdCB3aXRoIGEgCnNpemUgc21lbGxpbmcgb2YgcG9pbnRlcnMuCgo+ ICAgCWludGVsX3RpbWVsaW5lX3B1dCh0aW1lbGluZSk7Cj4gICAJaWYgKElTX0VSUihyaW5nKSkg ewo+ICAgCQlyZXQgPSBQVFJfRVJSKHJpbmcpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF9yaW5nYnVmZmVyLmMKPiBpbmRleCA4ZDI0YTQ5ZTUxMzkuLmViZGEzNzlmN2JhYyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMKPiBAQCAtMjM0 Miw3ICsyMzQyLDcgQEAgaW50IGludGVsX3Jpbmdfc3VibWlzc2lvbl9pbml0KHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIAl9Cj4gICAJR0VNX0JVR19PTih0aW1lbGluZS0+aGFz X2luaXRpYWxfYnJlYWRjcnVtYik7Cj4gICAKPiAtCXJpbmcgPSBpbnRlbF9lbmdpbmVfY3JlYXRl X3JpbmcoZW5naW5lLCB0aW1lbGluZSwgMzIgKiBQQUdFX1NJWkUpOwo+ICsJcmluZyA9IGludGVs X2VuZ2luZV9jcmVhdGVfcmluZyhlbmdpbmUsIHRpbWVsaW5lLCBTWl8xNkspOwoKMTZLIGlzIGxl c3MgdGhhbiAxMjhrIGFuZCBjb21taXQgbWVzc2FnZSBzYXkgbm90aGluZyBhYm91dCBpdC4KCj4g ICAJaW50ZWxfdGltZWxpbmVfcHV0KHRpbWVsaW5lKTsKPiAgIAlpZiAoSVNfRVJSKHJpbmcpKSB7 Cj4gICAJCWVyciA9IFBUUl9FUlIocmluZyk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L21vY2tfZW5naW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9tb2NrX2Vu Z2luZS5jCj4gaW5kZXggMTBjYjMxMjQ2MmU1Li5iZjJkYzExNDJmM2MgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvbW9ja19lbmdpbmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L21vY2tfZW5naW5lLmMKPiBAQCAtMTMzLDEzICsxMzMsMTggQEAgc3RhdGlj IHZvaWQgbW9ja19jb250ZXh0X3VucGluKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKPiAgIAlt b2NrX3RpbWVsaW5lX3VucGluKGNlLT5yaW5nLT50aW1lbGluZSk7Cj4gICB9Cj4gICAKPiArc3Rh dGljIGJvb2wgaGFzX3Jpbmcoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQo+ICt7Cj4gKwlyZXR1 cm4gY2UtPnJpbmcgPiBfX2ludGVsX2NvbnRleHRfcmluZ19zaXplKFNaXzE2Syk7CgpObyBjb21t ZW50cyBhZGRlZCBpbiBzdHJ1Y3QgaW50ZWxfY29udGV4dCBkZWZpbml0aW9uIG9mIGhlcmUgdG8g bGVhdmUgCm5vdGUgb2YgdGhlIHRyaWNrIGZvciBhIGZ1dHVyZSByZWFkZXIuIElmIGF0IGxlYXN0 IHVuaW9uIHdhcyB0b28gbXVjaCB0byAKc2VsZi1kb2N1bWVudCBhdCBsZWFzdCBwYXJ0aWFsbHku Cgo+ICt9Cj4gKwo+ICAgc3RhdGljIHZvaWQgbW9ja19jb250ZXh0X2Rlc3Ryb3koc3RydWN0IGty ZWYgKnJlZikKPiAgIHsKPiAgIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UgPSBjb250YWluZXJf b2YocmVmLCB0eXBlb2YoKmNlKSwgcmVmKTsKPiAgIAo+ICAgCUdFTV9CVUdfT04oaW50ZWxfY29u dGV4dF9pc19waW5uZWQoY2UpKTsKPiAgIAo+IC0JaWYgKGNlLT5yaW5nKQo+ICsJaWYgKGhhc19y aW5nKGNlKSkKPiAgIAkJbW9ja19yaW5nX2ZyZWUoY2UtPnJpbmcpOwo+ICAgCj4gICAJaW50ZWxf Y29udGV4dF9maW5pKGNlKTsKPiBAQCAtMTUwLDcgKzE1NSw3IEBAIHN0YXRpYyBpbnQgbW9ja19j b250ZXh0X3BpbihzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCj4gICB7Cj4gICAJaW50IHJldDsK PiAgIAo+IC0JaWYgKCFjZS0+cmluZykgewo+ICsJaWYgKCFoYXNfcmluZyhjZSkpIHsKPiAgIAkJ Y2UtPnJpbmcgPSBtb2NrX3JpbmcoY2UtPmVuZ2luZSk7Cj4gICAJCWlmICghY2UtPnJpbmcpCj4g ICAJCQlyZXR1cm4gLUVOT01FTTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IGlu ZGV4IDI0Nzg3YmI0OGM5Zi4uMGZmNTA0Zjc5Nzc5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMKPiBAQCAtMzI4LDEwICszMjgsMTQgQEAgc3RhdGljIHZvaWQgcHJpbnRfY29u dGV4dF9zdGF0cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCj4gICAKPiAgIAkJZm9yX2VhY2hfZ2VtX2Vu Z2luZShjZSwKPiAgIAkJCQkgICAgaTkxNV9nZW1fY29udGV4dF9sb2NrX2VuZ2luZXMoY3R4KSwg aXQpIHsKPiAtCQkJaWYgKGNlLT5zdGF0ZSkKPiAtCQkJCXBlcl9maWxlX3N0YXRzKDAsIGNlLT5z dGF0ZS0+b2JqLCAma3N0YXRzKTsKPiAtCQkJaWYgKGNlLT5yaW5nKQo+ICsJCQlpbnRlbF9jb250 ZXh0X2xvY2tfcGlubmVkKGNlKTsKPiArCQkJaWYgKGludGVsX2NvbnRleHRfaXNfcGlubmVkKGNl KSkgewo+ICsJCQkJaWYgKGNlLT5zdGF0ZSkKPiArCQkJCQlwZXJfZmlsZV9zdGF0cygwLAo+ICsJ CQkJCQkgICAgICAgY2UtPnN0YXRlLT5vYmosICZrc3RhdHMpOwo+ICAgCQkJCXBlcl9maWxlX3N0 YXRzKDAsIGNlLT5yaW5nLT52bWEtPm9iaiwgJmtzdGF0cyk7Cj4gKwkJCX0KPiArCQkJaW50ZWxf Y29udGV4dF91bmxvY2tfcGlubmVkKGNlKTsKPiAgIAkJfQo+ICAgCQlpOTE1X2dlbV9jb250ZXh0 X3VubG9ja19lbmdpbmVzKGN0eCk7Cj4gICAKPiBAQCAtMTY3NywxMiArMTY4MSwxNSBAQCBzdGF0 aWMgaW50IGk5MTVfY29udGV4dF9zdGF0dXMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVz ZWQpCj4gICAKPiAgIAkJZm9yX2VhY2hfZ2VtX2VuZ2luZShjZSwKPiAgIAkJCQkgICAgaTkxNV9n ZW1fY29udGV4dF9sb2NrX2VuZ2luZXMoY3R4KSwgaXQpIHsKPiAtCQkJc2VxX3ByaW50ZihtLCAi JXM6ICIsIGNlLT5lbmdpbmUtPm5hbWUpOwo+IC0JCQlpZiAoY2UtPnN0YXRlKQo+IC0JCQkJZGVz Y3JpYmVfb2JqKG0sIGNlLT5zdGF0ZS0+b2JqKTsKPiAtCQkJaWYgKGNlLT5yaW5nKQo+ICsJCQlp bnRlbF9jb250ZXh0X2xvY2tfcGlubmVkKGNlKTsKPiArCQkJaWYgKGludGVsX2NvbnRleHRfaXNf cGlubmVkKGNlKSkgewo+ICsJCQkJc2VxX3ByaW50ZihtLCAiJXM6ICIsIGNlLT5lbmdpbmUtPm5h bWUpOwo+ICsJCQkJaWYgKGNlLT5zdGF0ZSkKPiArCQkJCQlkZXNjcmliZV9vYmoobSwgY2UtPnN0 YXRlLT5vYmopOwo+ICAgCQkJCWRlc2NyaWJlX2N0eF9yaW5nKG0sIGNlLT5yaW5nKTsKPiAtCQkJ c2VxX3B1dGMobSwgJ1xuJyk7Cj4gKwkJCQlzZXFfcHV0YyhtLCAnXG4nKTsKPiArCQkJfQo+ICsJ CQlpbnRlbF9jb250ZXh0X3VubG9ja19waW5uZWQoY2UpOwo+ICAgCQl9Cj4gICAJCWk5MTVfZ2Vt X2NvbnRleHRfdW5sb2NrX2VuZ2luZXMoY3R4KTsKPiAgIAo+IAoKWW91IGNhbiB0ZWxsIEkgYW0g bWlmZmVkIHlvdSBhcmUganVzdCBoYXBweSB0byBpZ25vcmUgbXkgY29tcGxhaW50cyBhbmQgCm1v dmUgZm9yd2FyZC4gSSB3b3VsZCBoYWQgYXQgbGVhc3QgdXNlZCBhbiB1bmlvbiBmb3Igbm90IGNv c3QgdGhhbiBmZXcgCmV4dHJhIGxpbmVzIG9mIGNvZGUsIHdoaWNoIHNob3VsZCBleGlzdCBpbiBm b3JtcyBvZiBjb21tZW50cyBhbnl3YXkuCgpSZWdhcmRzLAoKVHZydGtvCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==