From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Replace obj->pin_global with obj->frontbuffer Date: Mon, 2 Sep 2019 14:50:31 +0300 Message-ID: <20190902115031.GT7482@intel.com> References: <20190823162041.9482-1-chris@chris-wilson.co.uk> <20190823171126.27219-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6852989944 for ; Mon, 2 Sep 2019 11:50:34 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190823171126.27219-1-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 T24gRnJpLCBBdWcgMjMsIDIwMTkgYXQgMDY6MTE6MjZQTSArMDEwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IG9iai0+cGluX2dsb2JhbCB3YXMgb3JpZ2luYWwgdXNlZCBhcyBhIG1lYW5zIHRvIGtl ZXAgdGhlIHNocmlua2VyIG9mZgo+IHRoZSBhY3RpdmUgc2Nhbm91dCwgYnV0IHdlIHVzZSB0aGUg dm1hLT5waW5fY291bnQgaXRzZWxmIGZvciB0aGF0IGFuZAo+IHRoZSBvYmotPmZyb250YnVmZmVy IHRvIGRlbGF5IHNocmlua2luZyBhY3RpdmUgZnJhbWVidWZmZXJzLiBUaGUgb3RoZXIKPiByb2xl IHRoYXQgb2JqLT5waW5fZ2xvYmFsIGdhaW5lZCB3YXMgZm9yIHNwb3R0aW5nIGRpc3BsYXkgb2Jq ZWN0cyBpbnNpZGUKPiBHRU0gYW5kIHdvcmtpbmcgaGFyZGVyIHRvIGtlZXAgdGhvc2UgY29oZXJl bnQ7IGZvciB3aGljaCB3ZSBjYW4gYWdhaW4KPiBzaW1wbHkgaW5zcGVjdCBvYmotPmZyb250YnVm ZmVyIGRpcmVjdGx5Lgo+IAo+IENvbWluZyB1cCBuZXh0LCB3ZSB3aWxsIHdhbnQgdG8gbWFuaXB1 bGF0ZSB0aGUgcGluX2dsb2JhbCBjb3VudGVyCj4gb3V0c2lkZSBvZiB0aGUgcHJpbmNpcGxlIGxv Y2tzLCBzbyB3b3VsZCBuZWVkIHRvIG1ha2UgcGluX2dsb2JhbCBhdG9taWMuCj4gSG93ZXZlciwg c2luY2Ugb2JqLT5mcm9udGJ1ZmZlciBpcyBhbHJlYWR5IG1hbmFnZWQgYXRvbWljYWxseSwgaXQg bWFrZXMKPiBzZW5zZSB0byB1c2UgdGhhdCB0aGUgcHJpbWFyeSBrZXkgZm9yIGRpc3BsYXkgb2Jq ZWN0cyBpbnN0ZWFkIG9mIGhhdmluZwo+IHBpbl9nbG9iYWwuCj4gCj4gVmlsbGUgcG9pbnRlZCBv dXQgdGhlIHByaW5jaXBsZSBkaWZmZXJlbmNlIGlzIHRoYXQgb2JqLT5mcm9udGJ1ZmZlciBpcwo+ IHNldCBmb3IgYXMgbG9uZyBhcyBhbiBpbnRlbF9mcmFtYnVmZmVyIGlzIGF0dGFjaGVkIHRvIGFu IG9iamVjdCwgYnV0Cj4gb2JqLT5waW5fZ2xvYmFsIHdhcyBvbmx5IHJhaXNlZCBmb3IgYXMgbG9u ZyBhcyB0aGUgb2JqZWN0IHdhcyBhY3RpdmUuIEluCj4gcHJhY3RpY2UsIHRoaXMgbWVhbnMgdGhh dCB3ZSBjb25zaWRlciB0aGUgb2JqZWN0IGFzIGJlaW5nIG9uIHRoZSBzY2Fub3V0Cj4gZm9yIGxv bmdlciB0aGFuIGlzIHN0cmljdGx5IHJlcXVpcmVkLCBjYXVzaW5nIHVzIHRvIGJlIG1vcmUgcHJv YWN0aXZlIGluCj4gZmx1c2hpbmcgLS0gdGhvdWdoIGl0IHNob3VsZCBiZSB0cnVlIHRoYXQgd2Ug d291bGQgaGF2ZSBmbHVzaGVkCj4gZXZlbnR1YWxseSB3aGVuIHRoZSBiYWNrIGJlY2FtZSB0aGUg ZnJvbnQsIGV4Y2VwdCB0aGF0IG9uIHRoZSBmbGlwIHBhdGgKPiB0aGF0IGZsdXNoIGlzIGF5bmMg YnV0IHdoZW4gaGl0IGZyb20gYW5vdGhlciBpb2N0bCBpdCB3aWxsIGJlCj4gc3luY2hyb25vdXMu Cj4gCj4gdjI6IGk5MTVfZ2VtX29iamVjdF9pc19mcmFtZWJ1ZmZlcigpCj4gCj4gU2lnbmVkLW9m Zi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IE1pa2Eg S3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29tPgo+IENjOiBWaWxsZSBTeXJq w6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgoKUmV2aWV3ZWQtYnk6IFZpbGxl IFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cgo+IC0tLQo+ICAuLi4v Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZnJvbnRidWZmZXIuYyAgfCAxMyArKysrKy0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9kb21haW4uYyAgICB8IDM0ICsrKysr Ky0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVj dC5oICAgIHwgIDMgKy0KPiAgLi4uL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5 cGVzLmggIHwgIDIgLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3Nocmlu a2VyLmMgIHwgMTUgKysrLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2Zz LmMgICAgICAgICAgIHwgMTIgKystLS0tLQo+ICA2IGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlv bnMoKyksIDUwIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Zyb250YnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Zyb250YnVmZmVyLmMKPiBpbmRleCA3MTkzNzk3NzRmYTUuLmZjNDBkYzFm ZGJjYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Zy b250YnVmZmVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Zy b250YnVmZmVyLmMKPiBAQCAtMjIwLDExICsyMjAsMTggQEAgc3RhdGljIHZvaWQgZnJvbnRidWZm ZXJfcmVsZWFzZShzdHJ1Y3Qga3JlZiAqcmVmKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfZnJvbnRi dWZmZXIgKmZyb250ID0KPiAgCQljb250YWluZXJfb2YocmVmLCB0eXBlb2YoKmZyb250KSwgcmVm KTsKPiArCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBmcm9udC0+b2JqOwo+ICsJ c3RydWN0IGk5MTVfdm1hICp2bWE7Cj4gIAo+IC0JZnJvbnQtPm9iai0+ZnJvbnRidWZmZXIgPSBO VUxMOwo+IC0Jc3Bpbl91bmxvY2soJnRvX2k5MTUoZnJvbnQtPm9iai0+YmFzZS5kZXYpLT5mYl90 cmFja2luZy5sb2NrKTsKPiArCXNwaW5fbG9jaygmb2JqLT52bWEubG9jayk7Cj4gKwlmb3JfZWFj aF9nZ3R0X3ZtYSh2bWEsIG9iaikKPiArCQl2bWEtPmRpc3BsYXlfYWxpZ25tZW50ID0gSTkxNV9H VFRfTUlOX0FMSUdOTUVOVDsKPiArCXNwaW5fdW5sb2NrKCZvYmotPnZtYS5sb2NrKTsKPiAgCj4g LQlpOTE1X2dlbV9vYmplY3RfcHV0KGZyb250LT5vYmopOwo+ICsJb2JqLT5mcm9udGJ1ZmZlciA9 IE5VTEw7Cj4gKwlzcGluX3VubG9jaygmdG9faTkxNShvYmotPmJhc2UuZGV2KS0+ZmJfdHJhY2tp bmcubG9jayk7Cj4gKwo+ICsJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwo+ICAJa2ZyZWUoZnJv bnQpOwo+ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fZG9tYWluLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG9tYWlu LmMKPiBpbmRleCA5YzU4ZThmYWMxZDkuLjZhZjc0MGE1ZTNkYiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG9tYWluLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG9tYWluLmMKPiBAQCAtMjcsNyArMjcsNyBAQCBzdGF0 aWMgdm9pZCBfX2k5MTVfZ2VtX29iamVjdF9mbHVzaF9mb3JfZGlzcGxheShzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqKQo+ICAKPiAgdm9pZCBpOTE1X2dlbV9vYmplY3RfZmx1c2hfaWZf ZGlzcGxheShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ICB7Cj4gLQlpZiAoIVJF QURfT05DRShvYmotPnBpbl9nbG9iYWwpKQo+ICsJaWYgKCFpOTE1X2dlbV9vYmplY3RfaXNfZnJh bWVidWZmZXIob2JqKSkKPiAgCQlyZXR1cm47Cj4gIAo+ICAJaTkxNV9nZW1fb2JqZWN0X2xvY2so b2JqKTsKPiBAQCAtNDIyLDEyICs0MjIsOCBAQCBpOTE1X2dlbV9vYmplY3RfcGluX3RvX2Rpc3Bs YXlfcGxhbmUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAgCj4gIAlhc3NlcnRf b2JqZWN0X2hlbGQob2JqKTsKPiAgCj4gLQkvKiBNYXJrIHRoZSBnbG9iYWwgcGluIGVhcmx5IHNv IHRoYXQgd2UgYWNjb3VudCBmb3IgdGhlCj4gLQkgKiBkaXNwbGF5IGNvaGVyZW5jeSB3aGlsc3Qg c2V0dGluZyB1cCB0aGUgY2FjaGUgZG9tYWlucy4KPiAtCSAqLwo+IC0Jb2JqLT5waW5fZ2xvYmFs Kys7Cj4gLQo+IC0JLyogVGhlIGRpc3BsYXkgZW5naW5lIGlzIG5vdCBjb2hlcmVudCB3aXRoIHRo ZSBMTEMgY2FjaGUgb24gZ2VuNi4gIEFzCj4gKwkvKgo+ICsJICogVGhlIGRpc3BsYXkgZW5naW5l IGlzIG5vdCBjb2hlcmVudCB3aXRoIHRoZSBMTEMgY2FjaGUgb24gZ2VuNi4gIEFzCj4gIAkgKiBh IHJlc3VsdCwgd2UgbWFrZSBzdXJlIHRoYXQgdGhlIHBpbm5pbmcgdGhhdCBpcyBhYm91dCB0byBv Y2N1ciBpcwo+ICAJICogZG9uZSB3aXRoIHVuY2FjaGVkIFBURXMuIFRoaXMgaXMgbG93ZXN0IGNv bW1vbiBkZW5vbWluYXRvciBmb3IgYWxsCj4gIAkgKiBjaGlwc2V0cy4KPiBAQCAtNDM5LDEyICs0 MzUsMTEgQEAgaTkxNV9nZW1fb2JqZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5lKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gIAlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfc2V0X2NhY2hl X2xldmVsKG9iaiwKPiAgCQkJCQkgICAgICBIQVNfV1QodG9faTkxNShvYmotPmJhc2UuZGV2KSkg Pwo+ICAJCQkJCSAgICAgIEk5MTVfQ0FDSEVfV1QgOiBJOTE1X0NBQ0hFX05PTkUpOwo+IC0JaWYg KHJldCkgewo+IC0JCXZtYSA9IEVSUl9QVFIocmV0KTsKPiAtCQlnb3RvIGVycl91bnBpbl9nbG9i YWw7Cj4gLQl9Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVybiBFUlJfUFRSKHJldCk7Cj4gIAo+IC0J LyogQXMgdGhlIHVzZXIgbWF5IG1hcCB0aGUgYnVmZmVyIG9uY2UgcGlubmVkIGluIHRoZSBkaXNw bGF5IHBsYW5lCj4gKwkvKgo+ICsJICogQXMgdGhlIHVzZXIgbWF5IG1hcCB0aGUgYnVmZmVyIG9u Y2UgcGlubmVkIGluIHRoZSBkaXNwbGF5IHBsYW5lCj4gIAkgKiAoZS5nLiBsaWJrbXMgZm9yIHRo ZSBib290dXAgc3BsYXNoKSwgd2UgaGF2ZSB0byBlbnN1cmUgdGhhdCB3ZQo+ICAJICogYWx3YXlz IHVzZSBtYXBfYW5kX2ZlbmNlYWJsZSBmb3IgYWxsIHNjYW5vdXQgYnVmZmVycy4gSG93ZXZlciwK PiAgCSAqIGl0IG1heSBzaW1wbHkgYmUgdG9vIGJpZyB0byBmaXQgaW50byBtYXBwYWJsZSwgaW4g d2hpY2ggY2FzZQo+IEBAIC00NjEsMjIgKzQ1NiwxOSBAQCBpOTE1X2dlbV9vYmplY3RfcGluX3Rv X2Rpc3BsYXlfcGxhbmUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAgCWlmIChJ U19FUlIodm1hKSkKPiAgCQl2bWEgPSBpOTE1X2dlbV9vYmplY3RfZ2d0dF9waW4ob2JqLCB2aWV3 LCAwLCBhbGlnbm1lbnQsIGZsYWdzKTsKPiAgCWlmIChJU19FUlIodm1hKSkKPiAtCQlnb3RvIGVy cl91bnBpbl9nbG9iYWw7Cj4gKwkJcmV0dXJuIHZtYTsKPiAgCj4gIAl2bWEtPmRpc3BsYXlfYWxp Z25tZW50ID0gbWF4X3QodTY0LCB2bWEtPmRpc3BsYXlfYWxpZ25tZW50LCBhbGlnbm1lbnQpOwo+ ICAKPiAgCV9faTkxNV9nZW1fb2JqZWN0X2ZsdXNoX2Zvcl9kaXNwbGF5KG9iaik7Cj4gIAo+IC0J LyogSXQgc2hvdWxkIG5vdyBiZSBvdXQgb2YgYW55IG90aGVyIHdyaXRlIGRvbWFpbnMsIGFuZCB3 ZSBjYW4gdXBkYXRlCj4gKwkvKgo+ICsJICogSXQgc2hvdWxkIG5vdyBiZSBvdXQgb2YgYW55IG90 aGVyIHdyaXRlIGRvbWFpbnMsIGFuZCB3ZSBjYW4gdXBkYXRlCj4gIAkgKiB0aGUgZG9tYWluIHZh bHVlcyBmb3Igb3VyIGNoYW5nZXMuCj4gIAkgKi8KPiAgCW9iai0+cmVhZF9kb21haW5zIHw9IEk5 MTVfR0VNX0RPTUFJTl9HVFQ7Cj4gIAo+ICAJcmV0dXJuIHZtYTsKPiAtCj4gLWVycl91bnBpbl9n bG9iYWw6Cj4gLQlvYmotPnBpbl9nbG9iYWwtLTsKPiAtCXJldHVybiB2bWE7Cj4gIH0KPiAgCj4g IHN0YXRpYyB2b2lkIGk5MTVfZ2VtX29iamVjdF9idW1wX2luYWN0aXZlX2dndHQoc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiBAQCAtNTE0LDEyICs1MDYsNiBAQCBpOTE1X2dlbV9v YmplY3RfdW5waW5fZnJvbV9kaXNwbGF5X3BsYW5lKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQo+ICAK PiAgCWFzc2VydF9vYmplY3RfaGVsZChvYmopOwo+ICAKPiAtCWlmIChXQVJOX09OKG9iai0+cGlu X2dsb2JhbCA9PSAwKSkKPiAtCQlyZXR1cm47Cj4gLQo+IC0JaWYgKC0tb2JqLT5waW5fZ2xvYmFs ID09IDApCj4gLQkJdm1hLT5kaXNwbGF5X2FsaWdubWVudCA9IEk5MTVfR1RUX01JTl9BTElHTk1F TlQ7Cj4gLQo+ICAJLyogQnVtcCB0aGUgTFJVIHRvIHRyeSBhbmQgYXZvaWQgcHJlbWF0dXJlIGV2 aWN0aW9uIHdoaWxzdCBmbGlwcGluZyAgKi8KPiAgCWk5MTVfZ2VtX29iamVjdF9idW1wX2luYWN0 aXZlX2dndHQob2JqKTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9vYmplY3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9v YmplY3QuaAo+IGluZGV4IDVlZmI5OTM2ZTA1Yi4uMjliOWVkZGM0YzdmIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaAo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaAo+IEBAIC00MDYsNyArNDA2LDgg QEAgc3RhdGljIGlubGluZSBib29sIGNwdV93cml0ZV9uZWVkc19jbGZsdXNoKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gIAlpZiAoIShvYmotPmNhY2hlX2NvaGVyZW50ICYgSTkx NV9CT19DQUNIRV9DT0hFUkVOVF9GT1JfV1JJVEUpKQo+ICAJCXJldHVybiB0cnVlOwo+ICAKPiAt CXJldHVybiBvYmotPnBpbl9nbG9iYWw7IC8qIGN1cnJlbnRseSBpbiB1c2UgYnkgSFcsIGtlZXAg Zmx1c2hlZCAqLwo+ICsJLyogQ3VycmVudGx5IGluIHVzZSBieSBIVyAoZGlzcGxheSBlbmdpbmUp PyBLZWVwIGZsdXNoZWQuICovCj4gKwlyZXR1cm4gaTkxNV9nZW1fb2JqZWN0X2lzX2ZyYW1lYnVm ZmVyKG9iaik7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbmxpbmUgdm9pZCBfX3N0YXJ0X2NwdV93cml0 ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmgKPiBpbmRleCBlZGUwZWI0MjE4YTgu LjEzYjlkYzBlMWE4OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fb2JqZWN0X3R5cGVzLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fb2JqZWN0X3R5cGVzLmgKPiBAQCAtMTUyLDggKzE1Miw2IEBAIHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0IHsKPiAgCj4gIAkvKiogQ291bnQgb2YgVk1BIGFjdHVhbGx5IGJvdW5kIGJ5 IHRoaXMgb2JqZWN0ICovCj4gIAlhdG9taWNfdCBiaW5kX2NvdW50Owo+IC0JLyoqIENvdW50IG9m IGhvdyBtYW55IGdsb2JhbCBWTUEgYXJlIGN1cnJlbnRseSBwaW5uZWQgZm9yIHVzZSBieSBIVyAq Lwo+IC0JdW5zaWduZWQgaW50IHBpbl9nbG9iYWw7Cj4gIAo+ICAJc3RydWN0IHsKPiAgCQlzdHJ1 Y3QgbXV0ZXggbG9jazsgLyogcHJvdGVjdHMgdGhlIHBhZ2VzIGFuZCB0aGVpciB1c2UgKi8KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3Nocmlua2VyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2hyaW5rZXIuYwo+IGluZGV4IGVk ZDIxZDE0ZTY0Zi4uNGU1NWNmYzJiMGRjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9zaHJpbmtlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX3Nocmlua2VyLmMKPiBAQCAtNjEsNyArNjEsOCBAQCBzdGF0aWMgYm9vbCBj YW5fcmVsZWFzZV9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ICAJaWYg KCFpOTE1X2dlbV9vYmplY3RfaXNfc2hyaW5rYWJsZShvYmopKQo+ICAJCXJldHVybiBmYWxzZTsK PiAgCj4gLQkvKiBPbmx5IHJlcG9ydCB0cnVlIGlmIGJ5IHVuYmluZGluZyB0aGUgb2JqZWN0IGFu ZCBwdXR0aW5nIGl0cyBwYWdlcwo+ICsJLyoKPiArCSAqIE9ubHkgcmVwb3J0IHRydWUgaWYgYnkg dW5iaW5kaW5nIHRoZSBvYmplY3QgYW5kIHB1dHRpbmcgaXRzIHBhZ2VzCj4gIAkgKiB3ZSBjYW4g YWN0dWFsbHkgbWFrZSBmb3J3YXJkIHByb2dyZXNzIHRvd2FyZHMgZnJlZWluZyBwaHlzaWNhbAo+ ICAJICogcGFnZXMuCj4gIAkgKgo+IEBAIC03MiwxNiArNzMsOCBAQCBzdGF0aWMgYm9vbCBjYW5f cmVsZWFzZV9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ICAJaWYgKGF0 b21pY19yZWFkKCZvYmotPm1tLnBhZ2VzX3Bpbl9jb3VudCkgPiBhdG9taWNfcmVhZCgmb2JqLT5i aW5kX2NvdW50KSkKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAo+IC0JLyogSWYgYW55IHZtYSBhcmUg InBlcm1hbmVudGx5IiBwaW5uZWQsIGl0IHdpbGwgcHJldmVudCB1cyBmcm9tCj4gLQkgKiByZWNs YWltaW5nIHRoZSBvYmotPm1tLnBhZ2VzLiBXZSBvbmx5IGFsbG93IHNjYW5vdXQgb2JqZWN0cyB0 byBjbGFpbQo+IC0JICogYSBwZXJtYW5lbnQgcGluLCBhbG9uZyB3aXRoIGEgZmV3IG90aGVycyBs aWtlIHRoZSBjb250ZXh0IG9iamVjdHMuCj4gLQkgKiBUbyBzaW1wbGlmeSB0aGUgc2NhbiwgYW5k IHRvIGF2b2lkIHdhbGtpbmcgdGhlIGxpc3Qgb2Ygdm1hIHVuZGVyIHRoZQo+IC0JICogb2JqZWN0 LCB3ZSBqdXN0IGNoZWNrIHRoZSBjb3VudCBvZiBpdHMgcGVybWFuZW50bHkgcGlubmVkLgo+IC0J ICovCj4gLQlpZiAoUkVBRF9PTkNFKG9iai0+cGluX2dsb2JhbCkpCj4gLQkJcmV0dXJuIGZhbHNl Owo+IC0KPiAtCS8qIFdlIGNhbiBvbmx5IHJldHVybiBwaHlzaWNhbCBwYWdlcyB0byB0aGUgc3lz dGVtIGlmIHdlIGNhbiBlaXRoZXIKPiArCS8qCj4gKwkgKiBXZSBjYW4gb25seSByZXR1cm4gcGh5 c2ljYWwgcGFnZXMgdG8gdGhlIHN5c3RlbSBpZiB3ZSBjYW4gZWl0aGVyCj4gIAkgKiBkaXNjYXJk IHRoZSBjb250ZW50cyAoYmVjYXVzZSB0aGUgdXNlciBoYXMgbWFya2VkIHRoZW0gYXMgYmVpbmcK PiAgCSAqIHB1cmdlYWJsZSkgb3IgaWYgd2UgY2FuIG1vdmUgdGhlaXIgY29udGVudHMgb3V0IHRv IHN3YXAuCj4gIAkgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k ZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IGluZGV4IGUx MDNmY2JhNjQzNS4uNGFhN2NhYTNhYTI4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKPiBAQCAtNzcsMTEgKzc3LDYgQEAgc3RhdGljIGludCBpOTE1X2NhcGFiaWxpdGllcyhz dHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiAt c3RhdGljIGNoYXIgZ2V0X3Bpbl9mbGFnKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmop Cj4gLXsKPiAtCXJldHVybiBvYmotPnBpbl9nbG9iYWwgPyAncCcgOiAnICc7Cj4gLX0KPiAtCj4g IHN0YXRpYyBjaGFyIGdldF90aWxpbmdfZmxhZyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqKQo+ICB7Cj4gIAlzd2l0Y2ggKGk5MTVfZ2VtX29iamVjdF9nZXRfdGlsaW5nKG9iaikpIHsK PiBAQCAtMTQwLDkgKzEzNSw4IEBAIGRlc2NyaWJlX29iaihzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4gIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsK PiAgCWludCBwaW5fY291bnQgPSAwOwo+ICAKPiAtCXNlcV9wcmludGYobSwgIiVwSzogJWMlYyVj JWMgJTh6ZEtpQiAlMDJ4ICUwMnggJXMlcyVzIiwKPiArCXNlcV9wcmludGYobSwgIiVwSzogJWMl YyVjICU4emRLaUIgJTAyeCAlMDJ4ICVzJXMlcyIsCj4gIAkJICAgJm9iai0+YmFzZSwKPiAtCQkg ICBnZXRfcGluX2ZsYWcob2JqKSwKPiAgCQkgICBnZXRfdGlsaW5nX2ZsYWcob2JqKSwKPiAgCQkg ICBnZXRfZ2xvYmFsX2ZsYWcob2JqKSwKPiAgCQkgICBnZXRfcGluX21hcHBlZF9mbGFnKG9iaiks Cj4gQEAgLTIyMSw4ICsyMTUsOCBAQCBkZXNjcmliZV9vYmooc3RydWN0IHNlcV9maWxlICptLCBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ICAJc2VxX3ByaW50ZihtLCAiIChwaW5u ZWQgeCAlZCkiLCBwaW5fY291bnQpOwo+ICAJaWYgKG9iai0+c3RvbGVuKQo+ICAJCXNlcV9wcmlu dGYobSwgIiAoc3RvbGVuOiAlMDhsbHgpIiwgb2JqLT5zdG9sZW4tPnN0YXJ0KTsKPiAtCWlmIChv YmotPnBpbl9nbG9iYWwpCj4gLQkJc2VxX3ByaW50ZihtLCAiIChnbG9iYWwpIik7Cj4gKwlpZiAo aTkxNV9nZW1fb2JqZWN0X2lzX2ZyYW1lYnVmZmVyKG9iaikpCj4gKwkJc2VxX3ByaW50ZihtLCAi IChmYikiKTsKPiAgCj4gIAllbmdpbmUgPSBpOTE1X2dlbV9vYmplY3RfbGFzdF93cml0ZV9lbmdp bmUob2JqKTsKPiAgCWlmIChlbmdpbmUpCj4gLS0gCj4gMi4yMy4wCgotLSAKVmlsbGUgU3lyasOk bMOkCkludGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==