From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Harrison Subject: Re: [PATCH 20/34] drm/i915: Introduce concept of per-timeline (context) HWSP Date: Tue, 22 Jan 2019 17:35:35 -0800 Message-ID: References: <20190121222117.23305-1-chris@chris-wilson.co.uk> <20190121222117.23305-21-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 353456EE25 for ; Wed, 23 Jan 2019 01:35:36 +0000 (UTC) In-Reply-To: <20190121222117.23305-21-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 T24gMS8yMS8yMDE5IDE0OjIxLCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gU3VwcGxlbWVudCB0aGUg cGVyLWVuZ2luZSBIV1NQIHdpdGggYSBwZXItdGltZWxpbmUgSFdTUC4gVGhhdCBpcyBhCj4gcGVy LXJlcXVlc3QgcG9pbnRlciB0aHJvdWdoIHdoaWNoIHdlIGNhbiBjaGVjayBhIGxvY2FsIHNlcW5v LAo+IGFic3RyYWN0aW5nIGF3YXkgdGhlIHByZXN1bXB0aW9uIG9mIGEgZ2xvYmFsIHNlcW5vLiBJ biB0aGlzIGZpcnN0IHN0ZXAsCj4gd2UgcG9pbnQgZWFjaCByZXF1ZXN0IGJhY2sgaW50byB0aGUg ZW5naW5lJ3MgSFdTUCBzbyBldmVyeXRoaW5nCj4gY29udGludWVzIHRvIHdvcmsgd2l0aCB0aGUg Z2xvYmFsIHRpbWVsaW5lLgo+Cj4gdjI6IHMvaTkxNV9yZXF1ZXN0X2h3c3AvaHdzcF9zZXFuby8g dG8gZW1waGFzaXMgdGhhdCB0aGlzIGlzIHRoZSBjdXJyZW50Cj4gSFcgdmFsdWUgYW5kIHRoYXQg d2UgYXJlIGFjY2Vzc2luZyBpdCB2aWEgaTkxNV9yZXF1ZXN0IG1lcmVseSBhcyBhCj4gY29udmVu aWVuY2UuCj4KPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNv bi5jby51az4KPiBSZXZpZXdlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGlu dGVsLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jIHwg MTYgKysrKysrLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmggfCA0 NSArKysrKysrKysrKysrKysrKysrKysrKystLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmMgICAgfCAgOSArKysrLS0KPiAgIDMgZmlsZXMgY2hhbmdlZCwgNTUgaW5zZXJ0 aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3Qu Ywo+IGluZGV4IDI3MjFhMzU2MzY4Zi4uZDYxZTg2YzZhMWQxIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZXF1ZXN0LmMKPiBAQCAtMTgyLDEwICsxODIsMTEgQEAgc3RhdGljIHZvaWQgZnJl ZV9jYXB0dXJlX2xpc3Qoc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCkKPiAgIHN0YXRpYyB2 b2lkIF9fcmV0aXJlX2VuZ2luZV9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSwKPiAgIAkJCQkgICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCj4gICB7Cj4gLQlHRU1fVFJB Q0UoIiVzKCVzKSBmZW5jZSAlbGx4OiVsbGQsIGdsb2JhbD0lZCwgY3VycmVudCAlZFxuIiwKPiAr CUdFTV9UUkFDRSgiJXMoJXMpIGZlbmNlICVsbHg6JWxsZCwgZ2xvYmFsPSVkLCBjdXJyZW50ICVk OiVkXG4iLAo+ICAgCQkgIF9fZnVuY19fLCBlbmdpbmUtPm5hbWUsCj4gICAJCSAgcnEtPmZlbmNl LmNvbnRleHQsIHJxLT5mZW5jZS5zZXFubywKPiAgIAkJICBycS0+Z2xvYmFsX3NlcW5vLAo+ICsJ CSAgaHdzcF9zZXFubyhycSksCj4gICAJCSAgaW50ZWxfZW5naW5lX2dldF9zZXFubyhlbmdpbmUp KTsKPiAgIAo+ICAgCUdFTV9CVUdfT04oIWk5MTVfcmVxdWVzdF9jb21wbGV0ZWQocnEpKTsKPiBA QCAtMjQ0LDEwICsyNDUsMTEgQEAgc3RhdGljIHZvaWQgaTkxNV9yZXF1ZXN0X3JldGlyZShzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICAgewo+ICAgCXN0cnVjdCBpOTE1X2dlbV9hY3Rp dmUgKmFjdGl2ZSwgKm5leHQ7Cj4gICAKPiAtCUdFTV9UUkFDRSgiJXMgZmVuY2UgJWxseDolbGxk LCBnbG9iYWw9JWQsIGN1cnJlbnQgJWRcbiIsCj4gKwlHRU1fVFJBQ0UoIiVzIGZlbmNlICVsbHg6 JWxsZCwgZ2xvYmFsPSVkLCBjdXJyZW50ICVkOiVkXG4iLAo+ICAgCQkgIHJlcXVlc3QtPmVuZ2lu ZS0+bmFtZSwKPiAgIAkJICByZXF1ZXN0LT5mZW5jZS5jb250ZXh0LCByZXF1ZXN0LT5mZW5jZS5z ZXFubywKPiAgIAkJICByZXF1ZXN0LT5nbG9iYWxfc2Vxbm8sCj4gKwkJICBod3NwX3NlcW5vKHJl cXVlc3QpLAo+ICAgCQkgIGludGVsX2VuZ2luZV9nZXRfc2Vxbm8ocmVxdWVzdC0+ZW5naW5lKSk7 Cj4gICAKPiAgIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZyZXF1ZXN0LT5pOTE1LT5kcm0uc3RydWN0 X211dGV4KTsKPiBAQCAtMzA3LDEwICszMDksMTEgQEAgdm9pZCBpOTE1X3JlcXVlc3RfcmV0aXJl X3VwdG8oc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCj4gICAJc3RydWN0IGludGVsX3JpbmcgKnJp bmcgPSBycS0+cmluZzsKPiAgIAlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICp0bXA7Cj4gICAKPiAtCUdF TV9UUkFDRSgiJXMgZmVuY2UgJWxseDolbGxkLCBnbG9iYWw9JWQsIGN1cnJlbnQgJWRcbiIsCj4g KwlHRU1fVFJBQ0UoIiVzIGZlbmNlICVsbHg6JWxsZCwgZ2xvYmFsPSVkLCBjdXJyZW50ICVkOiVk XG4iLAo+ICAgCQkgIHJxLT5lbmdpbmUtPm5hbWUsCj4gICAJCSAgcnEtPmZlbmNlLmNvbnRleHQs IHJxLT5mZW5jZS5zZXFubywKPiAgIAkJICBycS0+Z2xvYmFsX3NlcW5vLAo+ICsJCSAgaHdzcF9z ZXFubyhycSksCj4gICAJCSAgaW50ZWxfZW5naW5lX2dldF9zZXFubyhycS0+ZW5naW5lKSk7Cj4g ICAKPiAgIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZycS0+aTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7 Cj4gQEAgLTM1NSwxMCArMzU4LDExIEBAIHZvaWQgX19pOTE1X3JlcXVlc3Rfc3VibWl0KHN0cnVj dCBpOTE1X3JlcXVlc3QgKnJlcXVlc3QpCj4gICAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lID0gcmVxdWVzdC0+ZW5naW5lOwo+ICAgCXUzMiBzZXFubzsKPiAgIAo+IC0JR0VNX1RSQUNF KCIlcyBmZW5jZSAlbGx4OiVsbGQgLT4gZ2xvYmFsPSVkLCBjdXJyZW50ICVkXG4iLAo+ICsJR0VN X1RSQUNFKCIlcyBmZW5jZSAlbGx4OiVsbGQgLT4gZ2xvYmFsPSVkLCBjdXJyZW50ICVkOiVkXG4i LAo+ICAgCQkgIGVuZ2luZS0+bmFtZSwKPiAgIAkJICByZXF1ZXN0LT5mZW5jZS5jb250ZXh0LCBy ZXF1ZXN0LT5mZW5jZS5zZXFubywKPiAgIAkJICBlbmdpbmUtPnRpbWVsaW5lLnNlcW5vICsgMSwK PiArCQkgIGh3c3Bfc2Vxbm8ocmVxdWVzdCksCj4gICAJCSAgaW50ZWxfZW5naW5lX2dldF9zZXFu byhlbmdpbmUpKTsKPiAgIAo+ICAgCUdFTV9CVUdfT04oIWlycXNfZGlzYWJsZWQoKSk7Cj4gQEAg LTQwNSwxMCArNDA5LDExIEBAIHZvaWQgX19pOTE1X3JlcXVlc3RfdW5zdWJtaXQoc3RydWN0IGk5 MTVfcmVxdWVzdCAqcmVxdWVzdCkKPiAgIHsKPiAgIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUgPSByZXF1ZXN0LT5lbmdpbmU7Cj4gICAKPiAtCUdFTV9UUkFDRSgiJXMgZmVuY2UgJWxs eDolbGxkIDwtIGdsb2JhbD0lZCwgY3VycmVudCAlZFxuIiwKPiArCUdFTV9UUkFDRSgiJXMgZmVu Y2UgJWxseDolbGxkIDwtIGdsb2JhbD0lZCwgY3VycmVudCAlZDolZFxuIiwKPiAgIAkJICBlbmdp bmUtPm5hbWUsCj4gICAJCSAgcmVxdWVzdC0+ZmVuY2UuY29udGV4dCwgcmVxdWVzdC0+ZmVuY2Uu c2Vxbm8sCj4gICAJCSAgcmVxdWVzdC0+Z2xvYmFsX3NlcW5vLAo+ICsJCSAgaHdzcF9zZXFubyhy ZXF1ZXN0KSwKPiAgIAkJICBpbnRlbF9lbmdpbmVfZ2V0X3NlcW5vKGVuZ2luZSkpOwo+ICAgCj4g ICAJR0VNX0JVR19PTighaXJxc19kaXNhYmxlZCgpKTsKPiBAQCAtNjE2LDYgKzYyMSw3IEBAIGk5 MTVfcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHN0cnVjdCBp OTE1X2dlbV9jb250ZXh0ICpjdHgpCj4gICAJcnEtPnJpbmcgPSBjZS0+cmluZzsKPiAgIAlycS0+ dGltZWxpbmUgPSBjZS0+cmluZy0+dGltZWxpbmU7Cj4gICAJR0VNX0JVR19PTihycS0+dGltZWxp bmUgPT0gJmVuZ2luZS0+dGltZWxpbmUpOwo+ICsJcnEtPmh3c3Bfc2Vxbm8gPSAmZW5naW5lLT5z dGF0dXNfcGFnZS5hZGRyW0k5MTVfR0VNX0hXU19JTkRFWF07Cj4gICAKPiAgIAlzcGluX2xvY2tf aW5pdCgmcnEtPmxvY2spOwo+ICAgCWRtYV9mZW5jZV9pbml0KCZycS0+ZmVuY2UsCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmgKPiBpbmRleCBjMGYwODRjYTRmMjkuLmFkZTAxMGZlNmUy NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuaAo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5oCj4gQEAgLTEzMCw2ICsxMzAs MTMgQEAgc3RydWN0IGk5MTVfcmVxdWVzdCB7Cj4gICAJc3RydWN0IGk5MTVfc2NoZWRfbm9kZSBz Y2hlZDsKPiAgIAlzdHJ1Y3QgaTkxNV9kZXBlbmRlbmN5IGRlcDsKPiAgIAo+ICsJLyoKPiArCSAq IEEgY29udmVuaWVuY2UgcG9pbnRlciB0byB0aGUgY3VycmVudCBicmVhZGNydW1iIHZhbHVlIHN0 b3JlZCBpbgo+ICsJICogdGhlIEhXIHN0YXR1cyBwYWdlIChvciBvdXIgdGltZWxpbmUncyBsb2Nh bCBlcXVpdmFsZW50KS4gVGhlIGZ1bGwKPiArCSAqIHBhdGggd291bGQgYmUgcnEtPmh3X2NvbnRl eHQtPnJpbmctPnRpbWVsaW5lLT5od3NwX3NlcW5vLgo+ICsJICovCj4gKwljb25zdCB1MzIgKmh3 c3Bfc2Vxbm87Cj4gKwo+ICAgCS8qKgo+ICAgCSAqIEdFTSBzZXF1ZW5jZSBudW1iZXIgYXNzb2Np YXRlZCB3aXRoIHRoaXMgcmVxdWVzdCBvbiB0aGUKPiAgIAkgKiBnbG9iYWwgZXhlY3V0aW9uIHRp bWVsaW5lLiBJdCBpcyB6ZXJvIHdoZW4gdGhlIHJlcXVlc3QgaXMgbm90Cj4gQEAgLTI4NSwxMSAr MjkyLDYgQEAgc3RhdGljIGlubGluZSBib29sIGk5MTVfcmVxdWVzdF9zaWduYWxlZChjb25zdCBz dHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKPiAgIAlyZXR1cm4gdGVzdF9iaXQoRE1BX0ZFTkNFX0ZM QUdfU0lHTkFMRURfQklULCAmcnEtPmZlbmNlLmZsYWdzKTsKPiAgIH0KPiAgIAo+IC1zdGF0aWMg aW5saW5lIGJvb2wgaW50ZWxfZW5naW5lX2hhc19zdGFydGVkKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSwKPiAtCQkJCQkgICAgdTMyIHNlcW5vKTsKPiAtc3RhdGljIGlubGluZSBib29s IGludGVsX2VuZ2luZV9oYXNfY29tcGxldGVkKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSwKPiAtCQkJCQkgICAgICB1MzIgc2Vxbm8pOwo+IC0KPiAgIC8qKgo+ICAgICogUmV0dXJucyB0 cnVlIGlmIHNlcTEgaXMgbGF0ZXIgdGhhbiBzZXEyLgo+ICAgICovCj4gQEAgLTI5OCw2ICszMDAs MzUgQEAgc3RhdGljIGlubGluZSBib29sIGk5MTVfc2Vxbm9fcGFzc2VkKHUzMiBzZXExLCB1MzIg c2VxMikKPiAgIAlyZXR1cm4gKHMzMikoc2VxMSAtIHNlcTIpID49IDA7Cj4gICB9Cj4gICAKPiAr c3RhdGljIGlubGluZSB1MzIgX19od3NwX3NlcW5vKGNvbnN0IHN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJxKQo+ICt7Cj4gKwlyZXR1cm4gUkVBRF9PTkNFKCpycS0+aHdzcF9zZXFubyk7Cj4gK30KPiAr Cj4gKy8qKgo+ICsgKiBod3NwX3NlcW5vIC0gdGhlIGN1cnJlbnQgYnJlYWRjcnVtYiB2YWx1ZSBp biB0aGUgSFcgc3RhdHVzIHBhZ2UKPiArICogQHJxOiB0aGUgcmVxdWVzdCwgdG8gY2hhc2UgdGhl IHJlbGV2YW50IEhXIHN0YXR1cyBwYWdlCj4gKyAqCj4gKyAqIFRoZSBlbXBoYXNpcyBpbiBuYW1p bmcgaGVyZSBpcyB0aGF0IGh3c3Bfc2Vxbm8oKSBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGUKPiAr ICogcmVxdWVzdCwgYnV0IGFuIGluZGljYXRpb24gb2YgdGhlIGN1cnJlbnQgSFcgc3RhdGUgKGFz c29jaWF0ZWQgd2l0aCB0aGlzCj4gKyAqIHJlcXVlc3QpLiBJdHMgdmFsdWUgd2lsbCBjaGFuZ2Ug YXMgdGhlIEdQVSBleGVjdXRlcyBtb3JlIHJlcXVlc3RzLgo+ICsgKgo+ICsgKiBSZXR1cm5zIHRo ZSBjdXJyZW50IGJyZWFkY3J1bWIgdmFsdWUgaW4gdGhlIGFzc29jaWF0ZWQgSFcgc3RhdHVzIHBh Z2UgKG9yCj4gKyAqIHRoZSBsb2NhbCB0aW1lbGluZSdzIGVxdWl2YWxlbnQpIGZvciB0aGlzIHJl cXVlc3QuIFRoZSByZXF1ZXN0IGl0c2VsZgo+ICsgKiBoYXMgdGhlIGFzc29jaWF0ZWQgYnJlYWRj cnVtYiB2YWx1ZSBvZiBycS0+ZmVuY2Uuc2Vxbm8sIHdoZW4gdGhlIEhXCj4gKyAqIHN0YXR1cyBw YWdlIGhhcyB0aGF0IGJyZWFkY3J1bWIgb3IgbGF0ZXIsIHRoaXMgcmVxdWVzdCBpcyBjb21wbGV0 ZS4KPiArICovCj4gK3N0YXRpYyBpbmxpbmUgdTMyIGh3c3Bfc2Vxbm8oY29uc3Qgc3RydWN0IGk5 MTVfcmVxdWVzdCAqcnEpCj4gK3sKPiArCXUzMiBzZXFubzsKPiArCj4gKwlyY3VfcmVhZF9sb2Nr KCk7IC8qIHRoZSBIV1NQIG1heSBiZSBmcmVlZCBhdCBydW50aW1lICovCj4gKwlzZXFubyA9IF9f aHdzcF9zZXFubyhycSk7Cj4gKwlyY3VfcmVhZF91bmxvY2soKTsKPiArCj4gKwlyZXR1cm4gc2Vx bm87Cj4gK30KPiArCgpNdWNoIGJldHRlciBuYW1lIGFuZCBnb29kIGNvbW1lbnRzIHRvbyA6KS4K ClJldmlld2VkLWJ5OiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgoK PiAgIC8qKgo+ICAgICogaTkxNV9yZXF1ZXN0X3N0YXJ0ZWQgLSBjaGVjayBpZiB0aGUgcmVxdWVz dCBoYXMgYmVndW4gYmVpbmcgZXhlY3V0ZWQKPiAgICAqIEBycTogdGhlIHJlcXVlc3QKPiBAQCAt MzE1LDE0ICszNDYsMTQgQEAgc3RhdGljIGlubGluZSBib29sIGk5MTVfcmVxdWVzdF9zdGFydGVk KGNvbnN0IHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxKQo+ICAgCWlmICghc2Vxbm8pIC8qIG5vdCB5 ZXQgc3VibWl0dGVkIHRvIEhXICovCj4gICAJCXJldHVybiBmYWxzZTsKPiAgIAo+IC0JcmV0dXJu IGludGVsX2VuZ2luZV9oYXNfc3RhcnRlZChycS0+ZW5naW5lLCBzZXFubyk7Cj4gKwlyZXR1cm4g aTkxNV9zZXFub19wYXNzZWQoaHdzcF9zZXFubyhycSksIHNlcW5vIC0gMSk7Cj4gICB9Cj4gICAK PiAgIHN0YXRpYyBpbmxpbmUgYm9vbAo+ICAgX19pOTE1X3JlcXVlc3RfY29tcGxldGVkKGNvbnN0 IHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCB1MzIgc2Vxbm8pCj4gICB7Cj4gICAJR0VNX0JVR19P Tighc2Vxbm8pOwo+IC0JcmV0dXJuIGludGVsX2VuZ2luZV9oYXNfY29tcGxldGVkKHJxLT5lbmdp bmUsIHNlcW5vKSAmJgo+ICsJcmV0dXJuIGk5MTVfc2Vxbm9fcGFzc2VkKGh3c3Bfc2Vxbm8ocnEp LCBzZXFubykgJiYKPiAgIAkJc2Vxbm8gPT0gaTkxNV9yZXF1ZXN0X2dsb2JhbF9zZXFubyhycSk7 Cj4gICB9Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IGluZGV4IDQ2NGRkMzA5ZmE5 OS4uZTQ1YzRlMjljNDM1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBAQCAtNDcw LDExICs0NzAsMTIgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX3N1Ym1pdF9wb3J0cyhzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAJCQlkZXNjID0gZXhlY2xpc3RzX3VwZGF0ZV9j b250ZXh0KHJxKTsKPiAgIAkJCUdFTV9ERUJVR19FWEVDKHBvcnRbbl0uY29udGV4dF9pZCA9IHVw cGVyXzMyX2JpdHMoZGVzYykpOwo+ICAgCj4gLQkJCUdFTV9UUkFDRSgiJXMgaW5bJWRdOiAgY3R4 PSVkLiVkLCBnbG9iYWw9JWQgKGZlbmNlICVsbHg6JWxsZCkgKGN1cnJlbnQgJWQpLCBwcmlvPSVk XG4iLAo+ICsJCQlHRU1fVFJBQ0UoIiVzIGluWyVkXTogIGN0eD0lZC4lZCwgZ2xvYmFsPSVkIChm ZW5jZSAlbGx4OiVsbGQpIChjdXJyZW50ICVkOiVkKSwgcHJpbz0lZFxuIiwKPiAgIAkJCQkgIGVu Z2luZS0+bmFtZSwgbiwKPiAgIAkJCQkgIHBvcnRbbl0uY29udGV4dF9pZCwgY291bnQsCj4gICAJ CQkJICBycS0+Z2xvYmFsX3NlcW5vLAo+ICAgCQkJCSAgcnEtPmZlbmNlLmNvbnRleHQsIHJxLT5m ZW5jZS5zZXFubywKPiArCQkJCSAgaHdzcF9zZXFubyhycSksCj4gICAJCQkJICBpbnRlbF9lbmdp bmVfZ2V0X3NlcW5vKGVuZ2luZSksCj4gICAJCQkJICBycV9wcmlvKHJxKSk7Cj4gICAJCX0gZWxz ZSB7Cj4gQEAgLTc2NywxMSArNzY4LDEyIEBAIGV4ZWNsaXN0c19jYW5jZWxfcG9ydF9yZXF1ZXN0 cyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyAqIGNvbnN0IGV4ZWNsaXN0cykKPiAgIAl3 aGlsZSAobnVtX3BvcnRzLS0gJiYgcG9ydF9pc3NldChwb3J0KSkgewo+ICAgCQlzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpycSA9IHBvcnRfcmVxdWVzdChwb3J0KTsKPiAgIAo+IC0JCUdFTV9UUkFDRSgi JXM6cG9ydCV1IGdsb2JhbD0lZCAoZmVuY2UgJWxseDolbGxkKSwgKGN1cnJlbnQgJWQpXG4iLAo+ ICsJCUdFTV9UUkFDRSgiJXM6cG9ydCV1IGdsb2JhbD0lZCAoZmVuY2UgJWxseDolbGxkKSwgKGN1 cnJlbnQgJWQ6JWQpXG4iLAo+ICAgCQkJICBycS0+ZW5naW5lLT5uYW1lLAo+ICAgCQkJICAodW5z aWduZWQgaW50KShwb3J0IC0gZXhlY2xpc3RzLT5wb3J0KSwKPiAgIAkJCSAgcnEtPmdsb2JhbF9z ZXFubywKPiAgIAkJCSAgcnEtPmZlbmNlLmNvbnRleHQsIHJxLT5mZW5jZS5zZXFubywKPiArCQkJ ICBod3NwX3NlcW5vKHJxKSwKPiAgIAkJCSAgaW50ZWxfZW5naW5lX2dldF9zZXFubyhycS0+ZW5n aW5lKSk7Cj4gICAKPiAgIAkJR0VNX0JVR19PTighZXhlY2xpc3RzLT5hY3RpdmUpOwo+IEBAIC05 OTcsMTIgKzk5OSwxMyBAQCBzdGF0aWMgdm9pZCBwcm9jZXNzX2NzYihzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUpCj4gICAJCQkJCQlFWEVDTElTVFNfQUNUSVZFX1VTRVIpKTsKPiAgIAo+ ICAgCQlycSA9IHBvcnRfdW5wYWNrKHBvcnQsICZjb3VudCk7Cj4gLQkJR0VNX1RSQUNFKCIlcyBv dXRbMF06IGN0eD0lZC4lZCwgZ2xvYmFsPSVkIChmZW5jZSAlbGx4OiVsbGQpIChjdXJyZW50ICVk KSwgcHJpbz0lZFxuIiwKPiArCQlHRU1fVFJBQ0UoIiVzIG91dFswXTogY3R4PSVkLiVkLCBnbG9i YWw9JWQgKGZlbmNlICVsbHg6JWxsZCkgKGN1cnJlbnQgJWQ6JWQpLCBwcmlvPSVkXG4iLAo+ICAg CQkJICBlbmdpbmUtPm5hbWUsCj4gICAJCQkgIHBvcnQtPmNvbnRleHRfaWQsIGNvdW50LAo+ICAg CQkJICBycSA/IHJxLT5nbG9iYWxfc2Vxbm8gOiAwLAo+ICAgCQkJICBycSA/IHJxLT5mZW5jZS5j b250ZXh0IDogMCwKPiAgIAkJCSAgcnEgPyBycS0+ZmVuY2Uuc2Vxbm8gOiAwLAo+ICsJCQkgIHJx ID8gaHdzcF9zZXFubyhycSkgOiAwLAo+ICAgCQkJICBpbnRlbF9lbmdpbmVfZ2V0X3NlcW5vKGVu Z2luZSksCj4gICAJCQkgIHJxID8gcnFfcHJpbyhycSkgOiAwKTsKPiAgIAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==