From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [Intel-gfx] [PATCH 15/23] drm: Stop updating plane->crtc/fb/old_fb on atomic drivers Date: Mon, 26 Mar 2018 22:56:45 +0200 Message-ID: <20180326205645.GF14155@phenom.ffwll.local> References: <20180322152313.6561-1-ville.syrjala@linux.intel.com> <20180322152313.6561-16-ville.syrjala@linux.intel.com> <20180326205258.GE14155@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7A6A589A0E for ; Mon, 26 Mar 2018 20:56:49 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id v21so17954728wmc.1 for ; Mon, 26 Mar 2018 13:56:49 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20180326205258.GE14155@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ville Syrjala Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBNYXIgMjYsIDIwMTggYXQgMTA6NTI6NThQTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBUaHUsIE1hciAyMiwgMjAxOCBhdCAwNToyMzowNVBNICswMjAwLCBWaWxsZSBT eXJqYWxhIHdyb3RlOgo+ID4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KPiA+IAo+ID4gU3RvcCBwbGF5aW5nIGFyb3VuZCB3aXRoIHBsYW5lLT5j cnRjL2ZiL29sZF9mYiB3aXRoIGF0b21pYwo+ID4gZHJpdmVycy4gTWFrZSBsaWZlIGEgbG90IHNp bXBsZXIgd2hlbiB3ZSBkb24ndCBoYXZlIHRvIGRvIHRoZQo+ID4gbWFnaWMgb2xkX2ZiIHZzLiBm YiBkYW5jZSBhcm91bmQgcGxhbmUgdXBkYXRlcy4gVGhhdCB3YXkgd2UKPiA+IGNhbid0IHJpc2sg cGxhbmUtPmZiIGdldHRpbmcgb3V0IG9mIHN5bmMgd2l0aCBwbGFuZS0+c3RhdGUtPmZiCj4gPiBh bmQgd2UncmUgbGVzcyBsaWtlbHkgdG8gbGVhayBhbnkgcmVmY291bnRzIGFzIHdlbGwuCj4gPiAK PiA+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAg ICB8IDU1ICsrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ICBkcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyB8IDE1ICstLS0tLS0tLS0KPiA+ICBkcml2ZXJz L2dwdS9kcm0vZHJtX2NydGMuYyAgICAgICAgICB8ICA4ICsrKystLQo+ID4gIGRyaXZlcnMvZ3B1 L2RybS9kcm1fZmJfaGVscGVyLmMgICAgIHwgIDcgLS0tLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2ZyYW1lYnVmZmVyLmMgICB8ICA1IC0tLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3Bs YW5lLmMgICAgICAgICB8IDE0ICsrKysrKy0tLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3Bs YW5lX2hlbHBlci5jICB8ICA0ICsrLQo+ID4gIGluY2x1ZGUvZHJtL2RybV9hdG9taWMuaCAgICAg ICAgICAgIHwgIDMgLS0KPiA+ICA4IGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDg3 IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiA+IGluZGV4IDdkMjVjNDJm MjJkYi4uYjE2Y2MzN2UyYWRmIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ID4gQEAgLTY5 Miw2ICs2OTIsMTEgQEAgZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlLAo+ID4gIAo+ID4gIAlXQVJOX09OKCFzdGF0ZS0+YWNxdWlyZV9jdHgp Owo+ID4gIAo+ID4gKwkvKiB0aGUgbGVnYWN5IHBvaW50ZXJzIHNob3VsZCBuZXZlciBiZSBzZXQg Ki8KPiA+ICsJV0FSTl9PTihwbGFuZS0+ZmIpOwo+ID4gKwlXQVJOX09OKHBsYW5lLT5vbGRfZmIp Owo+ID4gKwlXQVJOX09OKHBsYW5lLT5jcnRjKTsKPiAKPiBJIGRpZCBhbHJlYWR5IHJldmlldyBh bGwgdGhlIHVzZXJzIGZvciBwbGFuZS0+Y3J0YyBhbmQgZm91bmQ6Cj4gCj4gYXJtYWRhICsgc2ht b2I6IG5vdCBhdG9taWMsIHNob3VsZCBiZSBmaW5lCj4gCj4gQnV0IHRoZXJlJ3MgYWxzbyBleHlu b3MsIG1zbS9tZHA1LCBzdGkgYW5kIHZjNCBkb2luZyB2YXJpb3VzIHNpbGx5IHRoaW5ncwo+IHdp dGggc2V0dGluZyBwbGFuZS0+Y3J0Yy4gSSB0aGluayBiZWZvcmUgeW91IGNhbiBhZGQgdGhpcyBX QVJOX09OIHdlIG5lZWQKPiB0byBjbGVhbiB1cCB0aGF0IGNydWZ0IChpdCBsb29rcyBsaWtlIDEw MCUgY2FyZ28gY3VsdGluZywgc28gc2hvdWxkIGJlCj4gcXVpdCkuCgpBaCwgZm9sbG93LXVwIHBh dGNoZXMgdGFrZSBjYXJlIG9mIG1vc3Qgb2YgdGhpcy4gQnV0IG5vdGUgdGhhdCBtc20gc2V0cwpw bGFuZS0+Y3J0YyBpbiBpdHMgX2luaXQgZnVuY3Rpb24sIHNvIHdpbGwgdHJpcCBvdmVyIHlvdXIg V0FSTl9PTiBoZXJlLgoKQW5kIHlvdSBzZWVtIHRvIGhhdmUgbWlzc2VkIHN0aSwgd2hpY2ggbG9v a3MgYXQgcGxhbmUtPmNydGMgaW5zdGVhZCBvZgpwbGFuZS0+c3RhdGUtPmNydGMgKGFuZCBhcHBy b3ByaWF0ZSBsb2NraW5nKSBpbiBpdHMgZGVidWdmcyBjb2RlLgotRGFuaWVsCgo+IAo+IEdvaW5n IHRvIHRoaW5rIGFib3V0IHRoZSBvdGhlciBwYXRjaGVzIHRvbW9ycm93Lgo+IC1EYW5pZWwKPiAK PiA+ICsKPiA+ICAJcGxhbmVfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9leGlzdGluZ19wbGFuZV9z dGF0ZShzdGF0ZSwgcGxhbmUpOwo+ID4gIAlpZiAocGxhbmVfc3RhdGUpCj4gPiAgCQlyZXR1cm4g cGxhbmVfc3RhdGU7Cj4gPiBAQCAtMjAyMSw0NSArMjAyNiw2IEBAIGludCBkcm1fYXRvbWljX3Nl dF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gPiAgCXJldHVybiBy ZXQ7Cj4gPiAgfQo+ID4gIAo+ID4gLS8qKgo+ID4gLSAqIGRybV9hdG9taWNfY2xlYW5fb2xkX2Zi IC0tIFVuc2V0IG9sZF9mYiBwb2ludGVycyBhbmQgc2V0IHBsYW5lLT5mYiBwb2ludGVycy4KPiA+ IC0gKgo+ID4gLSAqIEBkZXY6IGRybSBkZXZpY2UgdG8gY2hlY2suCj4gPiAtICogQHBsYW5lX21h c2s6IHBsYW5lIG1hc2sgZm9yIHBsYW5lcyB0aGF0IHdlcmUgdXBkYXRlZC4KPiA+IC0gKiBAcmV0 OiByZXR1cm4gdmFsdWUsIGNhbiBiZSAtRURFQURMSyBmb3IgYSByZXRyeS4KPiA+IC0gKgo+ID4g LSAqIEJlZm9yZSBkb2luZyBhbiB1cGRhdGUgJmRybV9wbGFuZS5vbGRfZmIgaXMgc2V0IHRvICZk cm1fcGxhbmUuZmIsIGJ1dCBiZWZvcmUKPiA+IC0gKiBkcm9wcGluZyB0aGUgbG9ja3Mgb2xkX2Zi IG5lZWRzIHRvIGJlIHNldCB0byBOVUxMIGFuZCBwbGFuZS0+ZmIgdXBkYXRlZC4gVGhpcwo+ID4g LSAqIGlzIGEgY29tbW9uIG9wZXJhdGlvbiBmb3IgZWFjaCBhdG9taWMgdXBkYXRlLCBzbyB0aGlz IGNhbGwgaXMgc3BsaXQgb2ZmIGFzIGEKPiA+IC0gKiBoZWxwZXIuCj4gPiAtICovCj4gPiAtdm9p ZCBkcm1fYXRvbWljX2NsZWFuX29sZF9mYihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gLQkJ CSAgICAgdW5zaWduZWQgcGxhbmVfbWFzaywKPiA+IC0JCQkgICAgIGludCByZXQpCj4gPiAtewo+ ID4gLQlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKPiA+IC0KPiA+IC0JLyogaWYgc3VjY2VlZGVk LCBmaXh1cCBsZWdhY3kgcGxhbmUgY3J0Yy9mYiBwdHJzIGJlZm9yZSBkcm9wcGluZwo+ID4gLQkg KiBsb2NrcyAoaWUuIHdoaWxlIGl0IGlzIHN0aWxsIHNhZmUgdG8gZGVyZWYgcGxhbmUtPnN0YXRl KS4gIFdlCj4gPiAtCSAqIG5lZWQgdG8gZG8gdGhpcyBoZXJlIGJlY2F1c2UgdGhlIGRyaXZlciBl bnRyeSBwb2ludHMgY2Fubm90Cj4gPiAtCSAqIGRpc3Rpbmd1aXNoIGJldHdlZW4gbGVnYWN5IGFu ZCBhdG9taWMgaW9jdGxzLgo+ID4gLQkgKi8KPiA+IC0JZHJtX2Zvcl9lYWNoX3BsYW5lX21hc2so cGxhbmUsIGRldiwgcGxhbmVfbWFzaykgewo+ID4gLQkJaWYgKHJldCA9PSAwKSB7Cj4gPiAtCQkJ c3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqbmV3X2ZiID0gcGxhbmUtPnN0YXRlLT5mYjsKPiA+IC0J CQlpZiAobmV3X2ZiKQo+ID4gLQkJCQlkcm1fZnJhbWVidWZmZXJfZ2V0KG5ld19mYik7Cj4gPiAt CQkJcGxhbmUtPmZiID0gbmV3X2ZiOwo+ID4gLQkJCXBsYW5lLT5jcnRjID0gcGxhbmUtPnN0YXRl LT5jcnRjOwo+ID4gLQo+ID4gLQkJCWlmIChwbGFuZS0+b2xkX2ZiKQo+ID4gLQkJCQlkcm1fZnJh bWVidWZmZXJfcHV0KHBsYW5lLT5vbGRfZmIpOwo+ID4gLQkJfQo+ID4gLQkJcGxhbmUtPm9sZF9m YiA9IE5VTEw7Cj4gPiAtCX0KPiA+IC19Cj4gPiAtRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2Ns ZWFuX29sZF9mYik7Cj4gPiAtCj4gPiAgLyoqCj4gPiAgICogRE9DOiBleHBsaWNpdCBmZW5jaW5n IHByb3BlcnRpZXMKPiA+ICAgKgo+ID4gQEAgLTIyODAsOSArMjI0Niw3IEBAIGludCBkcm1fbW9k ZV9hdG9taWNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ICAJdW5zaWduZWQgaW50 IGNvcGllZF9vYmpzLCBjb3BpZWRfcHJvcHM7Cj4gPiAgCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpzdGF0ZTsKPiA+ICAJc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4IGN0eDsKPiA+IC0J c3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gPiAgCXN0cnVjdCBkcm1fb3V0X2ZlbmNlX3N0YXRl ICpmZW5jZV9zdGF0ZTsKPiA+IC0JdW5zaWduZWQgcGxhbmVfbWFzazsKPiA+ICAJaW50IHJldCA9 IDA7Cj4gPiAgCXVuc2lnbmVkIGludCBpLCBqLCBudW1fZmVuY2VzOwo+ID4gIAo+ID4gQEAgLTIz MjIsNyArMjI4Niw2IEBAIGludCBkcm1fbW9kZV9hdG9taWNfaW9jdGwoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiA+ICAJc3RhdGUtPmFsbG93X21vZGVzZXQgPSAhIShhcmctPmZsYWdzICYgRFJN X01PREVfQVRPTUlDX0FMTE9XX01PREVTRVQpOwo+ID4gIAo+ID4gIHJldHJ5Ogo+ID4gLQlwbGFu ZV9tYXNrID0gMDsKPiA+ICAJY29waWVkX29ianMgPSAwOwo+ID4gIAljb3BpZWRfcHJvcHMgPSAw Owo+ID4gIAlmZW5jZV9zdGF0ZSA9IE5VTEw7Cj4gPiBAQCAtMjM5MywxMiArMjM1Niw2IEBAIGlu dCBkcm1fbW9kZV9hdG9taWNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ICAJCQlj b3BpZWRfcHJvcHMrKzsKPiA+ICAJCX0KPiA+ICAKPiA+IC0JCWlmIChvYmotPnR5cGUgPT0gRFJN X01PREVfT0JKRUNUX1BMQU5FICYmIGNvdW50X3Byb3BzICYmCj4gPiAtCQkgICAgIShhcmctPmZs YWdzICYgRFJNX01PREVfQVRPTUlDX1RFU1RfT05MWSkpIHsKPiA+IC0JCQlwbGFuZSA9IG9ial90 b19wbGFuZShvYmopOwo+ID4gLQkJCXBsYW5lX21hc2sgfD0gKDEgPDwgZHJtX3BsYW5lX2luZGV4 KHBsYW5lKSk7Cj4gPiAtCQkJcGxhbmUtPm9sZF9mYiA9IHBsYW5lLT5mYjsKPiA+IC0JCX0KPiA+ ICAJCWRybV9tb2RlX29iamVjdF9wdXQob2JqKTsKPiA+ICAJfQo+ID4gIAo+ID4gQEAgLTI0MTks OCArMjM3Niw2IEBAIGludCBkcm1fbW9kZV9hdG9taWNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPiA+ICAJfQo+ID4gIAo+ID4gIG91dDoKPiA+IC0JZHJtX2F0b21pY19jbGVhbl9vbGRf ZmIoZGV2LCBwbGFuZV9tYXNrLCByZXQpOwo+ID4gLQo+ID4gIAljb21wbGV0ZV9jcnRjX3NpZ25h bGluZyhkZXYsIHN0YXRlLCBmZW5jZV9zdGF0ZSwgbnVtX2ZlbmNlcywgIXJldCk7Cj4gPiAgCj4g PiAgCWlmIChyZXQgPT0gLUVERUFETEspIHsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jCj4gPiBpbmRleCAwZTgwNmYwNzBkMDAuLmQ0MmQ4OGI5NzM5NiAxMDA2NDQKPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ID4gQEAgLTI4OTIsNyArMjg5Miw2IEBAIHN0YXRp YyBpbnQgX19kcm1fYXRvbWljX2hlbHBlcl9kaXNhYmxlX2FsbChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+ID4gIAlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKPiA+ICAJc3RydWN0IGRybV9jcnRj X3N0YXRlICpjcnRjX3N0YXRlOwo+ID4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4gPiAtCXVu c2lnbmVkIGludCBwbGFuZV9tYXNrID0gMDsKPiA+ICAJaW50IHJldCwgaTsKPiA+ICAKPiA+ICAJ c3RhdGUgPSBkcm1fYXRvbWljX3N0YXRlX2FsbG9jKGRldik7Cj4gPiBAQCAtMjkzNSwxNyArMjkz NCwxMCBAQCBzdGF0aWMgaW50IF9fZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9hbGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPiA+ICAJCQlnb3RvIGZyZWU7Cj4gPiAgCj4gPiAgCQlkcm1fYXRv bWljX3NldF9mYl9mb3JfcGxhbmUocGxhbmVfc3RhdGUsIE5VTEwpOwo+ID4gLQo+ID4gLQkJaWYg KGNsZWFuX29sZF9mYnMpIHsKPiA+IC0JCQlwbGFuZS0+b2xkX2ZiID0gcGxhbmUtPmZiOwo+ID4g LQkJCXBsYW5lX21hc2sgfD0gQklUKGRybV9wbGFuZV9pbmRleChwbGFuZSkpOwo+ID4gLQkJfQo+ ID4gIAl9Cj4gPiAgCj4gPiAgCXJldCA9IGRybV9hdG9taWNfY29tbWl0KHN0YXRlKTsKPiA+ICBm cmVlOgo+ID4gLQlkcm1fYXRvbWljX2NsZWFuX29sZF9mYihkZXYsIHBsYW5lX21hc2ssIHJldCk7 Cj4gPiAtCj4gPiAgCWRybV9hdG9taWNfc3RhdGVfcHV0KHN0YXRlKTsKPiA+ICAJcmV0dXJuIHJl dDsKPiA+ICB9Cj4gPiBAQCAtMzEwNiwxMyArMzA5OCw4IEBAIGludCBkcm1fYXRvbWljX2hlbHBl cl9jb21taXRfZHVwbGljYXRlZF9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUs Cj4gPiAgCj4gPiAgCXN0YXRlLT5hY3F1aXJlX2N0eCA9IGN0eDsKPiA+ICAKPiA+IC0JZm9yX2Vh Y2hfbmV3X3BsYW5lX2luX3N0YXRlKHN0YXRlLCBwbGFuZSwgbmV3X3BsYW5lX3N0YXRlLCBpKSB7 Cj4gPiAtCQlXQVJOX09OKHBsYW5lLT5jcnRjICE9IG5ld19wbGFuZV9zdGF0ZS0+Y3J0Yyk7Cj4g PiAtCQlXQVJOX09OKHBsYW5lLT5mYiAhPSBuZXdfcGxhbmVfc3RhdGUtPmZiKTsKPiA+IC0JCVdB Uk5fT04ocGxhbmUtPm9sZF9mYik7Cj4gPiAtCj4gPiArCWZvcl9lYWNoX25ld19wbGFuZV9pbl9z dGF0ZShzdGF0ZSwgcGxhbmUsIG5ld19wbGFuZV9zdGF0ZSwgaSkKPiA+ICAJCXN0YXRlLT5wbGFu ZXNbaV0ub2xkX3N0YXRlID0gcGxhbmUtPnN0YXRlOwo+ID4gLQl9Cj4gPiAgCj4gPiAgCWZvcl9l YWNoX25ld19jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBuZXdfY3J0Y19zdGF0ZSwgaSkKPiA+ ICAJCXN0YXRlLT5jcnRjc1tpXS5vbGRfc3RhdGUgPSBjcnRjLT5zdGF0ZTsKPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0 Yy5jCj4gPiBpbmRleCBhMjMxZGQ1ZGNlMTYuLjRlM2MxYThkMTE4YSAxMDA2NDQKPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2NydGMuYwo+ID4gQEAgLTQ3NCw4ICs0NzQsMTIgQEAgc3RhdGljIGludCBfX2RybV9tb2RlX3Nl dF9jb25maWdfaW50ZXJuYWwoc3RydWN0IGRybV9tb2RlX3NldCAqc2V0LAo+ID4gIAo+ID4gIAly ZXQgPSBjcnRjLT5mdW5jcy0+c2V0X2NvbmZpZyhzZXQsIGN0eCk7Cj4gPiAgCWlmIChyZXQgPT0g MCkgewo+ID4gLQkJY3J0Yy0+cHJpbWFyeS0+Y3J0YyA9IGZiID8gY3J0YyA6IE5VTEw7Cj4gPiAt CQljcnRjLT5wcmltYXJ5LT5mYiA9IGZiOwo+ID4gKwkJc3RydWN0IGRybV9wbGFuZSAqcGxhbmUg PSBjcnRjLT5wcmltYXJ5Owo+ID4gKwo+ID4gKwkJaWYgKCFwbGFuZS0+c3RhdGUpIHsKPiA+ICsJ CQlwbGFuZS0+Y3J0YyA9IGZiID8gY3J0YyA6IE5VTEw7Cj4gPiArCQkJcGxhbmUtPmZiID0gZmI7 Cj4gPiArCQl9Cj4gPiAgCX0KPiA+ICAKPiA+ICAJZHJtX2Zvcl9lYWNoX2NydGModG1wLCBjcnRj LT5kZXYpIHsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5j IGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwo+ID4gaW5kZXggMDY0NmIxMDgwMzBi Li41NjM5ZTgwNGEwY2QgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hl bHBlci5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCj4gPiBAQCAt MzY4LDcgKzM2OCw2IEBAIHN0YXRpYyBpbnQgcmVzdG9yZV9mYmRldl9tb2RlX2F0b21pYyhzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLCBib29sIGFjdGl2Cj4gPiAgCXN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lOwo+ID4gIAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gPiAg CWludCBpLCByZXQ7Cj4gPiAtCXVuc2lnbmVkIGludCBwbGFuZV9tYXNrOwo+ID4gIAlzdHJ1Y3Qg ZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggY3R4Owo+ID4gIAo+ID4gIAlkcm1fbW9kZXNldF9hY3F1 aXJlX2luaXQoJmN0eCwgMCk7Cj4gPiBAQCAtMzgxLDcgKzM4MCw2IEBAIHN0YXRpYyBpbnQgcmVz dG9yZV9mYmRldl9tb2RlX2F0b21pYyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLCBi b29sIGFjdGl2Cj4gPiAgCj4gPiAgCXN0YXRlLT5hY3F1aXJlX2N0eCA9ICZjdHg7Cj4gPiAgcmV0 cnk6Cj4gPiAtCXBsYW5lX21hc2sgPSAwOwo+ID4gIAlkcm1fZm9yX2VhY2hfcGxhbmUocGxhbmUs IGRldikgewo+ID4gIAkJcGxhbmVfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9wbGFuZV9zdGF0ZShz dGF0ZSwgcGxhbmUpOwo+ID4gIAkJaWYgKElTX0VSUihwbGFuZV9zdGF0ZSkpIHsKPiA+IEBAIC0z OTEsOSArMzg5LDYgQEAgc3RhdGljIGludCByZXN0b3JlX2ZiZGV2X21vZGVfYXRvbWljKHN0cnVj dCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsIGJvb2wgYWN0aXYKPiA+ICAKPiA+ICAJCXBsYW5l X3N0YXRlLT5yb3RhdGlvbiA9IERSTV9NT0RFX1JPVEFURV8wOwo+ID4gIAo+ID4gLQkJcGxhbmUt Pm9sZF9mYiA9IHBsYW5lLT5mYjsKPiA+IC0JCXBsYW5lX21hc2sgfD0gMSA8PCBkcm1fcGxhbmVf aW5kZXgocGxhbmUpOwo+ID4gLQo+ID4gIAkJLyogZGlzYWJsZSBub24tcHJpbWFyeTogKi8KPiA+ ICAJCWlmIChwbGFuZS0+dHlwZSA9PSBEUk1fUExBTkVfVFlQRV9QUklNQVJZKQo+ID4gIAkJCWNv bnRpbnVlOwo+ID4gQEAgLTQzMCw4ICs0MjUsNiBAQCBzdGF0aWMgaW50IHJlc3RvcmVfZmJkZXZf bW9kZV9hdG9taWMoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwgYm9vbCBhY3Rpdgo+ ID4gIAlyZXQgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7Cj4gPiAgCj4gPiAgb3V0X3N0YXRl Ogo+ID4gLQlkcm1fYXRvbWljX2NsZWFuX29sZF9mYihkZXYsIHBsYW5lX21hc2ssIHJldCk7Cj4g PiAtCj4gPiAgCWlmIChyZXQgPT0gLUVERUFETEspCj4gPiAgCQlnb3RvIGJhY2tvZmY7Cj4gPiAg Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jCj4gPiBpbmRleCBhZDY3MjAzZGU3MTUuLjQy MWE3N2MyYTRhYyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVidWZm ZXIuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jCj4gPiBAQCAt ODM1LDggKzgzNSw2IEBAIHN0YXRpYyBpbnQgYXRvbWljX3JlbW92ZV9mYihzdHJ1Y3QgZHJtX2Zy YW1lYnVmZmVyICpmYikKPiA+ICAJCQlnb3RvIHVubG9jazsKPiA+ICAKPiA+ICAJCXBsYW5lX21h c2sgfD0gQklUKGRybV9wbGFuZV9pbmRleChwbGFuZSkpOwo+ID4gLQo+ID4gLQkJcGxhbmUtPm9s ZF9mYiA9IHBsYW5lLT5mYjsKPiA+ICAJfQo+ID4gIAo+ID4gIAkvKiBUaGlzIGxpc3QgaXMgb25s eSBmaWxsZWQgd2hlbiBkaXNhYmxlX2NydGNzIGlzIHNldC4gKi8KPiA+IEBAIC04NTEsOSArODQ5 LDYgQEAgc3RhdGljIGludCBhdG9taWNfcmVtb3ZlX2ZiKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIg KmZiKQo+ID4gIAkJcmV0ID0gZHJtX2F0b21pY19jb21taXQoc3RhdGUpOwo+ID4gIAo+ID4gIHVu bG9jazoKPiA+IC0JaWYgKHBsYW5lX21hc2spCj4gPiAtCQlkcm1fYXRvbWljX2NsZWFuX29sZF9m YihkZXYsIHBsYW5lX21hc2ssIHJldCk7Cj4gPiAtCj4gPiAgCWlmIChyZXQgPT0gLUVERUFETEsp IHsKPiA+ICAJCWRybV9hdG9taWNfc3RhdGVfY2xlYXIoc3RhdGUpOwo+ID4gIAkJZHJtX21vZGVz ZXRfYmFja29mZigmY3R4KTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3Bs YW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMKPiA+IGluZGV4IDAzNTA1NDQ1NTMw MS4uMTQzMDQxNjY2MDk2IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFu ZS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMKPiA+IEBAIC02NTAsOSAr NjUwLDExIEBAIHN0YXRpYyBpbnQgX19zZXRwbGFuZV9pbnRlcm5hbChzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKPiA+ICAJCQkJCSBjcnRjX3gsIGNydGNfeSwgY3J0Y193LCBjcnRjX2gsCj4gPiAg CQkJCQkgc3JjX3gsIHNyY195LCBzcmNfdywgc3JjX2gsIGN0eCk7Cj4gPiAgCWlmICghcmV0KSB7 Cj4gPiAtCQlwbGFuZS0+Y3J0YyA9IGNydGM7Cj4gPiAtCQlwbGFuZS0+ZmIgPSBmYjsKPiA+IC0J CWRybV9mcmFtZWJ1ZmZlcl9nZXQocGxhbmUtPmZiKTsKPiA+ICsJCWlmICghcGxhbmUtPnN0YXRl KSB7Cj4gPiArCQkJcGxhbmUtPmNydGMgPSBjcnRjOwo+ID4gKwkJCXBsYW5lLT5mYiA9IGZiOwo+ ID4gKwkJCWRybV9mcmFtZWJ1ZmZlcl9nZXQocGxhbmUtPmZiKTsKPiA+ICsJCX0KPiA+ICAJfSBl bHNlIHsKPiA+ICAJCXBsYW5lLT5vbGRfZmIgPSBOVUxMOwo+ID4gIAl9Cj4gPiBAQCAtMTA5Miw4 ICsxMDk0LDEwIEBAIGludCBkcm1fbW9kZV9wYWdlX2ZsaXBfaW9jdGwoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiA+ICAJCS8qIEtlZXAgdGhlIG9sZCBmYiwgZG9uJ3QgdW5yZWYgaXQuICovCj4g PiAgCQlwbGFuZS0+b2xkX2ZiID0gTlVMTDsKPiA+ICAJfSBlbHNlIHsKPiA+IC0JCXBsYW5lLT5m YiA9IGZiOwo+ID4gLQkJZHJtX2ZyYW1lYnVmZmVyX2dldChmYik7Cj4gPiArCQlpZiAoIXBsYW5l LT5zdGF0ZSkgewo+ID4gKwkJCXBsYW5lLT5mYiA9IGZiOwo+ID4gKwkJCWRybV9mcmFtZWJ1ZmZl cl9nZXQoZmIpOwo+ID4gKwkJfQo+ID4gIAl9Cj4gPiAgCj4gPiAgb3V0Ogo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX3BsYW5lX2hlbHBlci5jCj4gPiBpbmRleCBmODhmNjgxNjE1MTkuLjIwMTA3OTQ5NDNiYyAx MDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVscGVyLmMKPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVscGVyLmMKPiA+IEBAIC01MDIsNiArNTAy LDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fcGxhbmVfaGVscGVyX3VwZGF0ZSk7Cj4gPiAgaW50IGRy bV9wbGFuZV9oZWxwZXJfZGlzYWJsZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiA+ICB7Cj4g PiAgCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOwo+ID4gKwlzdHJ1Y3QgZHJt X2ZyYW1lYnVmZmVyICpvbGRfZmI7Cj4gPiAgCj4gPiAgCS8qIGNydGMgaGVscGVycyBsb3ZlIHRv IGNhbGwgZGlzYWJsZSBmdW5jdGlvbnMgZm9yIGFscmVhZHkgZGlzYWJsZWQgaHcKPiA+ICAJICog ZnVuY3Rpb25zLiBTbyBjb3BlIHdpdGggdGhhdC4gKi8KPiA+IEBAIC01MjEsOCArNTIyLDkgQEAg aW50IGRybV9wbGFuZV9oZWxwZXJfZGlzYWJsZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiA+ ICAJcGxhbmVfc3RhdGUtPnBsYW5lID0gcGxhbmU7Cj4gPiAgCj4gPiAgCXBsYW5lX3N0YXRlLT5j cnRjID0gTlVMTDsKPiA+ICsJb2xkX2ZiID0gcGxhbmVfc3RhdGUtPmZiOwo+ID4gIAlkcm1fYXRv bWljX3NldF9mYl9mb3JfcGxhbmUocGxhbmVfc3RhdGUsIE5VTEwpOwo+ID4gIAo+ID4gLQlyZXR1 cm4gZHJtX3BsYW5lX2hlbHBlcl9jb21taXQocGxhbmUsIHBsYW5lX3N0YXRlLCBwbGFuZS0+ZmIp Owo+ID4gKwlyZXR1cm4gZHJtX3BsYW5lX2hlbHBlcl9jb21taXQocGxhbmUsIHBsYW5lX3N0YXRl LCBvbGRfZmIpOwo+ID4gIH0KPiA+ICBFWFBPUlRfU1lNQk9MKGRybV9wbGFuZV9oZWxwZXJfZGlz YWJsZSk7Cj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oIGIvaW5jbHVk ZS9kcm0vZHJtX2F0b21pYy5oCj4gPiBpbmRleCBhNTdhOGFhOTBmZmIuLmNhNDYxYjZjZjcxZiAx MDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaAo+ID4gKysrIGIvaW5jbHVk ZS9kcm0vZHJtX2F0b21pYy5oCj4gPiBAQCAtNjAxLDkgKzYwMSw2IEBAIGludCBfX211c3RfY2hl Y2sKPiA+ICBkcm1fYXRvbWljX2FkZF9hZmZlY3RlZF9wbGFuZXMoc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlLAo+ID4gIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+ID4g IAo+ID4gLXZvaWQKPiA+IC1kcm1fYXRvbWljX2NsZWFuX29sZF9mYihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB1bnNpZ25lZCBwbGFuZV9tYXNrLCBpbnQgcmV0KTsKPiA+IC0KPiA+ICBpbnQgX19t dXN0X2NoZWNrIGRybV9hdG9taWNfY2hlY2tfb25seShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUpOwo+ID4gIGludCBfX211c3RfY2hlY2sgZHJtX2F0b21pY19jb21taXQoc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiA+ICBpbnQgX19tdXN0X2NoZWNrIGRybV9hdG9taWNf bm9uYmxvY2tpbmdfY29tbWl0KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gPiAt LSAKPiA+IDIuMTYuMQo+ID4gCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwo+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiAKPiAtLSAKPiBEYW5pZWwgVmV0dGVyCj4gU29mdHdh cmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKCi0t IApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRw Oi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK