From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 12/13] drm: Stop updating plane->crtc/fb/old_fb on atomic drivers Date: Thu, 5 Apr 2018 18:58:25 +0200 Message-ID: <20180405165825.GL3881@phenom.ffwll.local> References: <20180405151400.11326-1-ville.syrjala@linux.intel.com> <20180405151400.11326-12-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180405151400.11326-12-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville Syrjala Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBBcHIgMDUsIDIwMTggYXQgMDY6MTM6NTlQTSArMDMwMCwgVmlsbGUgU3lyamFsYSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IFN0b3AgcGxheWluZyBhcm91bmQgd2l0aCBwbGFuZS0+Y3J0Yy9mYi9vbGRfZmIg d2l0aCBhdG9taWMKPiBkcml2ZXJzLiBNYWtlIGxpZmUgYSBsb3Qgc2ltcGxlciB3aGVuIHdlIGRv bid0IGhhdmUgdG8gZG8gdGhlCj4gbWFnaWMgb2xkX2ZiIHZzLiBmYiBkYW5jZSBhcm91bmQgcGxh bmUgdXBkYXRlcy4gVGhhdCB3YXkgd2UKPiBjYW4ndCByaXNrIHBsYW5lLT5mYiBnZXR0aW5nIG91 dCBvZiBzeW5jIHdpdGggcGxhbmUtPnN0YXRlLT5mYgo+IGFuZCB3ZSdyZSBsZXNzIGxpa2VseSB0 byBsZWFrIGFueSByZWZjb3VudHMgYXMgd2VsbC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBT eXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IFJldmlld2VkLWJ5OiBN YWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+IEFj a2VkLWJ5OiBIYXJyeSBXZW50bGFuZCA8aGFycnkud2VudGxhbmRAYW1kLmNvbT4KCk1vcmUgYmFk IG5ld3MsIEkgZm91bmQgbW9yZSBwbGFjZXM6CgotIGFyY3BndSBpbiBhcmNfcGd1X2NydGNfYXRv bWljX2Rpc2FibGUoKSwgbm8gaWRlYSB3aGF0IGV4YWN0bHkgdGhhdCBvbmUKICB0cmllcyB0byBh Y2hpZXZlLgoKLSB2bXdnZngsIGVzcGVjaWFsbHkgdm13Z2Z4X3NldF9jb25maWdfaW50ZXJuYWwo KS4gdm13Z2Z4IGZvbGtzIHN0aWxsIG93ZQogIG1lIGEgY29udmVyc2lvbiBvZiB0aGVpciBkcml2 ZXIgdG8gdGhlIGZiZGV2IGhlbHBlcnMgOi0vCgpCdXQgc2xvd2x5IGdldHRpbmcgdGhlcmUgSSB0 aGluay4KCkNoZWVycywgRGFuaWVsCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Yy5jICAgICAgICB8IDU1ICsrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAg ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgfCAxNSArLS0tLS0tLS0tCj4gIGRy aXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jICAgICAgICAgIHwgIDggKysrKy0tCj4gIGRyaXZlcnMv Z3B1L2RybS9kcm1fZmJfaGVscGVyLmMgICAgIHwgIDcgLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJt L2RybV9mcmFtZWJ1ZmZlci5jICAgfCAgNSAtLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGxh bmUuYyAgICAgICAgIHwgMTQgKysrKysrLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5l X2hlbHBlci5jICB8ICA0ICsrLQo+ICBpbmNsdWRlL2RybS9kcm1fYXRvbWljLmggICAgICAgICAg ICB8ICAzIC0tCj4gIDggZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgODcgZGVsZXRp b25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gaW5kZXggN2QyNWM0MmYyMmRiLi5iMTZjYzM3 ZTJhZGYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiBAQCAtNjkyLDYgKzY5MiwxMSBAQCBkcm1f YXRvbWljX2dldF9wbGFuZV9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4g IAo+ICAJV0FSTl9PTighc3RhdGUtPmFjcXVpcmVfY3R4KTsKPiAgCj4gKwkvKiB0aGUgbGVnYWN5 IHBvaW50ZXJzIHNob3VsZCBuZXZlciBiZSBzZXQgKi8KPiArCVdBUk5fT04ocGxhbmUtPmZiKTsK PiArCVdBUk5fT04ocGxhbmUtPm9sZF9mYik7Cj4gKwlXQVJOX09OKHBsYW5lLT5jcnRjKTsKPiAr Cj4gIAlwbGFuZV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X2V4aXN0aW5nX3BsYW5lX3N0YXRlKHN0 YXRlLCBwbGFuZSk7Cj4gIAlpZiAocGxhbmVfc3RhdGUpCj4gIAkJcmV0dXJuIHBsYW5lX3N0YXRl Owo+IEBAIC0yMDIxLDQ1ICsyMDI2LDYgQEAgaW50IGRybV9hdG9taWNfc2V0X3Byb3BlcnR5KHN0 cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgCXJldHVybiByZXQ7Cj4gIH0KPiAgCj4g LS8qKgo+IC0gKiBkcm1fYXRvbWljX2NsZWFuX29sZF9mYiAtLSBVbnNldCBvbGRfZmIgcG9pbnRl cnMgYW5kIHNldCBwbGFuZS0+ZmIgcG9pbnRlcnMuCj4gLSAqCj4gLSAqIEBkZXY6IGRybSBkZXZp Y2UgdG8gY2hlY2suCj4gLSAqIEBwbGFuZV9tYXNrOiBwbGFuZSBtYXNrIGZvciBwbGFuZXMgdGhh dCB3ZXJlIHVwZGF0ZWQuCj4gLSAqIEByZXQ6IHJldHVybiB2YWx1ZSwgY2FuIGJlIC1FREVBRExL IGZvciBhIHJldHJ5Lgo+IC0gKgo+IC0gKiBCZWZvcmUgZG9pbmcgYW4gdXBkYXRlICZkcm1fcGxh bmUub2xkX2ZiIGlzIHNldCB0byAmZHJtX3BsYW5lLmZiLCBidXQgYmVmb3JlCj4gLSAqIGRyb3Bw aW5nIHRoZSBsb2NrcyBvbGRfZmIgbmVlZHMgdG8gYmUgc2V0IHRvIE5VTEwgYW5kIHBsYW5lLT5m YiB1cGRhdGVkLiBUaGlzCj4gLSAqIGlzIGEgY29tbW9uIG9wZXJhdGlvbiBmb3IgZWFjaCBhdG9t aWMgdXBkYXRlLCBzbyB0aGlzIGNhbGwgaXMgc3BsaXQgb2ZmIGFzIGEKPiAtICogaGVscGVyLgo+ IC0gKi8KPiAtdm9pZCBkcm1fYXRvbWljX2NsZWFuX29sZF9mYihzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+IC0JCQkgICAgIHVuc2lnbmVkIHBsYW5lX21hc2ssCj4gLQkJCSAgICAgaW50IHJldCkK PiAtewo+IC0Jc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gLQo+IC0JLyogaWYgc3VjY2VlZGVk LCBmaXh1cCBsZWdhY3kgcGxhbmUgY3J0Yy9mYiBwdHJzIGJlZm9yZSBkcm9wcGluZwo+IC0JICog bG9ja3MgKGllLiB3aGlsZSBpdCBpcyBzdGlsbCBzYWZlIHRvIGRlcmVmIHBsYW5lLT5zdGF0ZSku ICBXZQo+IC0JICogbmVlZCB0byBkbyB0aGlzIGhlcmUgYmVjYXVzZSB0aGUgZHJpdmVyIGVudHJ5 IHBvaW50cyBjYW5ub3QKPiAtCSAqIGRpc3Rpbmd1aXNoIGJldHdlZW4gbGVnYWN5IGFuZCBhdG9t aWMgaW9jdGxzLgo+IC0JICovCj4gLQlkcm1fZm9yX2VhY2hfcGxhbmVfbWFzayhwbGFuZSwgZGV2 LCBwbGFuZV9tYXNrKSB7Cj4gLQkJaWYgKHJldCA9PSAwKSB7Cj4gLQkJCXN0cnVjdCBkcm1fZnJh bWVidWZmZXIgKm5ld19mYiA9IHBsYW5lLT5zdGF0ZS0+ZmI7Cj4gLQkJCWlmIChuZXdfZmIpCj4g LQkJCQlkcm1fZnJhbWVidWZmZXJfZ2V0KG5ld19mYik7Cj4gLQkJCXBsYW5lLT5mYiA9IG5ld19m YjsKPiAtCQkJcGxhbmUtPmNydGMgPSBwbGFuZS0+c3RhdGUtPmNydGM7Cj4gLQo+IC0JCQlpZiAo cGxhbmUtPm9sZF9mYikKPiAtCQkJCWRybV9mcmFtZWJ1ZmZlcl9wdXQocGxhbmUtPm9sZF9mYik7 Cj4gLQkJfQo+IC0JCXBsYW5lLT5vbGRfZmIgPSBOVUxMOwo+IC0JfQo+IC19Cj4gLUVYUE9SVF9T WU1CT0woZHJtX2F0b21pY19jbGVhbl9vbGRfZmIpOwo+IC0KPiAgLyoqCj4gICAqIERPQzogZXhw bGljaXQgZmVuY2luZyBwcm9wZXJ0aWVzCj4gICAqCj4gQEAgLTIyODAsOSArMjI0Niw3IEBAIGlu dCBkcm1fbW9kZV9hdG9taWNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCXVuc2ln bmVkIGludCBjb3BpZWRfb2JqcywgY29waWVkX3Byb3BzOwo+ICAJc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlOwo+ICAJc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4IGN0eDsKPiAt CXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOwo+ICAJc3RydWN0IGRybV9vdXRfZmVuY2Vfc3RhdGUg KmZlbmNlX3N0YXRlOwo+IC0JdW5zaWduZWQgcGxhbmVfbWFzazsKPiAgCWludCByZXQgPSAwOwo+ ICAJdW5zaWduZWQgaW50IGksIGosIG51bV9mZW5jZXM7Cj4gIAo+IEBAIC0yMzIyLDcgKzIyODYs NiBAQCBpbnQgZHJtX21vZGVfYXRvbWljX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4g IAlzdGF0ZS0+YWxsb3dfbW9kZXNldCA9ICEhKGFyZy0+ZmxhZ3MgJiBEUk1fTU9ERV9BVE9NSUNf QUxMT1dfTU9ERVNFVCk7Cj4gIAo+ICByZXRyeToKPiAtCXBsYW5lX21hc2sgPSAwOwo+ICAJY29w aWVkX29ianMgPSAwOwo+ICAJY29waWVkX3Byb3BzID0gMDsKPiAgCWZlbmNlX3N0YXRlID0gTlVM TDsKPiBAQCAtMjM5MywxMiArMjM1Niw2IEBAIGludCBkcm1fbW9kZV9hdG9taWNfaW9jdGwoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkJY29waWVkX3Byb3BzKys7Cj4gIAkJfQo+ICAKPiAt CQlpZiAob2JqLT50eXBlID09IERSTV9NT0RFX09CSkVDVF9QTEFORSAmJiBjb3VudF9wcm9wcyAm Jgo+IC0JCSAgICAhKGFyZy0+ZmxhZ3MgJiBEUk1fTU9ERV9BVE9NSUNfVEVTVF9PTkxZKSkgewo+ IC0JCQlwbGFuZSA9IG9ial90b19wbGFuZShvYmopOwo+IC0JCQlwbGFuZV9tYXNrIHw9ICgxIDw8 IGRybV9wbGFuZV9pbmRleChwbGFuZSkpOwo+IC0JCQlwbGFuZS0+b2xkX2ZiID0gcGxhbmUtPmZi Owo+IC0JCX0KPiAgCQlkcm1fbW9kZV9vYmplY3RfcHV0KG9iaik7Cj4gIAl9Cj4gIAo+IEBAIC0y NDE5LDggKzIzNzYsNiBAQCBpbnQgZHJtX21vZGVfYXRvbWljX2lvY3RsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4gIAl9Cj4gIAo+ICBvdXQ6Cj4gLQlkcm1fYXRvbWljX2NsZWFuX29sZF9mYihk ZXYsIHBsYW5lX21hc2ssIHJldCk7Cj4gLQo+ICAJY29tcGxldGVfY3J0Y19zaWduYWxpbmcoZGV2 LCBzdGF0ZSwgZmVuY2Vfc3RhdGUsIG51bV9mZW5jZXMsICFyZXQpOwo+ICAKPiAgCWlmIChyZXQg PT0gLUVERUFETEspIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNf aGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+IGluZGV4IGVl MDNjMWVkMjUyMS4uMzJkNzc4N2YwZjg5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVs cGVyLmMKPiBAQCAtMjkwMyw3ICsyOTAzLDYgQEAgc3RhdGljIGludCBfX2RybV9hdG9taWNfaGVs cGVyX2Rpc2FibGVfYWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAlzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZTsKPiAgCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiAgCXN0 cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiAtCXVuc2lnbmVkIHBsYW5lX21hc2sgPSAwOwo+ICAJaW50 IHJldCwgaTsKPiAgCj4gIAlzdGF0ZSA9IGRybV9hdG9taWNfc3RhdGVfYWxsb2MoZGV2KTsKPiBA QCAtMjk0NiwxNyArMjk0NSwxMCBAQCBzdGF0aWMgaW50IF9fZHJtX2F0b21pY19oZWxwZXJfZGlz YWJsZV9hbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkJZ290byBmcmVlOwo+ICAKPiAg CQlkcm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUocGxhbmVfc3RhdGUsIE5VTEwpOwo+IC0KPiAt CQlpZiAoY2xlYW5fb2xkX2Zicykgewo+IC0JCQlwbGFuZS0+b2xkX2ZiID0gcGxhbmUtPmZiOwo+ IC0JCQlwbGFuZV9tYXNrIHw9IEJJVChkcm1fcGxhbmVfaW5kZXgocGxhbmUpKTsKPiAtCQl9Cj4g IAl9Cj4gIAo+ICAJcmV0ID0gZHJtX2F0b21pY19jb21taXQoc3RhdGUpOwo+ICBmcmVlOgo+IC0J aWYgKHBsYW5lX21hc2spCj4gLQkJZHJtX2F0b21pY19jbGVhbl9vbGRfZmIoZGV2LCBwbGFuZV9t YXNrLCByZXQpOwo+ICAJZHJtX2F0b21pY19zdGF0ZV9wdXQoc3RhdGUpOwo+ICAJcmV0dXJuIHJl dDsKPiAgfQo+IEBAIC0zMTE4LDEzICszMTEwLDggQEAgaW50IGRybV9hdG9taWNfaGVscGVyX2Nv bW1pdF9kdXBsaWNhdGVkX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAg Cj4gIAlzdGF0ZS0+YWNxdWlyZV9jdHggPSBjdHg7Cj4gIAo+IC0JZm9yX2VhY2hfbmV3X3BsYW5l X2luX3N0YXRlKHN0YXRlLCBwbGFuZSwgbmV3X3BsYW5lX3N0YXRlLCBpKSB7Cj4gLQkJV0FSTl9P TihwbGFuZS0+Y3J0YyAhPSBuZXdfcGxhbmVfc3RhdGUtPmNydGMpOwo+IC0JCVdBUk5fT04ocGxh bmUtPmZiICE9IG5ld19wbGFuZV9zdGF0ZS0+ZmIpOwo+IC0JCVdBUk5fT04ocGxhbmUtPm9sZF9m Yik7Cj4gLQo+ICsJZm9yX2VhY2hfbmV3X3BsYW5lX2luX3N0YXRlKHN0YXRlLCBwbGFuZSwgbmV3 X3BsYW5lX3N0YXRlLCBpKQo+ICAJCXN0YXRlLT5wbGFuZXNbaV0ub2xkX3N0YXRlID0gcGxhbmUt PnN0YXRlOwo+IC0JfQo+ICAKPiAgCWZvcl9lYWNoX25ld19jcnRjX2luX3N0YXRlKHN0YXRlLCBj cnRjLCBuZXdfY3J0Y19zdGF0ZSwgaSkKPiAgCQlzdGF0ZS0+Y3J0Y3NbaV0ub2xkX3N0YXRlID0g Y3J0Yy0+c3RhdGU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKPiBpbmRleCBhMjMxZGQ1ZGNlMTYuLjRlM2MxYThk MTE4YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4gQEAgLTQ3NCw4ICs0NzQsMTIgQEAgc3RhdGljIGlu dCBfX2RybV9tb2RlX3NldF9jb25maWdfaW50ZXJuYWwoc3RydWN0IGRybV9tb2RlX3NldCAqc2V0 LAo+ICAKPiAgCXJldCA9IGNydGMtPmZ1bmNzLT5zZXRfY29uZmlnKHNldCwgY3R4KTsKPiAgCWlm IChyZXQgPT0gMCkgewo+IC0JCWNydGMtPnByaW1hcnktPmNydGMgPSBmYiA/IGNydGMgOiBOVUxM Owo+IC0JCWNydGMtPnByaW1hcnktPmZiID0gZmI7Cj4gKwkJc3RydWN0IGRybV9wbGFuZSAqcGxh bmUgPSBjcnRjLT5wcmltYXJ5Owo+ICsKPiArCQlpZiAoIXBsYW5lLT5zdGF0ZSkgewo+ICsJCQlw bGFuZS0+Y3J0YyA9IGZiID8gY3J0YyA6IE5VTEw7Cj4gKwkJCXBsYW5lLT5mYiA9IGZiOwo+ICsJ CX0KPiAgCX0KPiAgCj4gIAlkcm1fZm9yX2VhY2hfY3J0Yyh0bXAsIGNydGMtPmRldikgewo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9mYl9oZWxwZXIuYwo+IGluZGV4IDA2NDZiMTA4MDMwYi4uNTYzOWU4MDRhMGNkIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCj4gQEAgLTM2OCw3ICszNjgsNiBAQCBzdGF0aWMg aW50IHJlc3RvcmVfZmJkZXZfbW9kZV9hdG9taWMoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hl bHBlciwgYm9vbCBhY3Rpdgo+ICAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gIAlzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gIAlpbnQgaSwgcmV0Owo+IC0JdW5zaWduZWQgaW50 IHBsYW5lX21hc2s7Cj4gIAlzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggY3R4Owo+ICAK PiAgCWRybV9tb2Rlc2V0X2FjcXVpcmVfaW5pdCgmY3R4LCAwKTsKPiBAQCAtMzgxLDcgKzM4MCw2 IEBAIHN0YXRpYyBpbnQgcmVzdG9yZV9mYmRldl9tb2RlX2F0b21pYyhzdHJ1Y3QgZHJtX2ZiX2hl bHBlciAqZmJfaGVscGVyLCBib29sIGFjdGl2Cj4gIAo+ICAJc3RhdGUtPmFjcXVpcmVfY3R4ID0g JmN0eDsKPiAgcmV0cnk6Cj4gLQlwbGFuZV9tYXNrID0gMDsKPiAgCWRybV9mb3JfZWFjaF9wbGFu ZShwbGFuZSwgZGV2KSB7Cj4gIAkJcGxhbmVfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9wbGFuZV9z dGF0ZShzdGF0ZSwgcGxhbmUpOwo+ICAJCWlmIChJU19FUlIocGxhbmVfc3RhdGUpKSB7Cj4gQEAg LTM5MSw5ICszODksNiBAQCBzdGF0aWMgaW50IHJlc3RvcmVfZmJkZXZfbW9kZV9hdG9taWMoc3Ry dWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwgYm9vbCBhY3Rpdgo+ICAKPiAgCQlwbGFuZV9z dGF0ZS0+cm90YXRpb24gPSBEUk1fTU9ERV9ST1RBVEVfMDsKPiAgCj4gLQkJcGxhbmUtPm9sZF9m YiA9IHBsYW5lLT5mYjsKPiAtCQlwbGFuZV9tYXNrIHw9IDEgPDwgZHJtX3BsYW5lX2luZGV4KHBs YW5lKTsKPiAtCj4gIAkJLyogZGlzYWJsZSBub24tcHJpbWFyeTogKi8KPiAgCQlpZiAocGxhbmUt PnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSkKPiAgCQkJY29udGludWU7Cj4gQEAgLTQz MCw4ICs0MjUsNiBAQCBzdGF0aWMgaW50IHJlc3RvcmVfZmJkZXZfbW9kZV9hdG9taWMoc3RydWN0 IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwgYm9vbCBhY3Rpdgo+ICAJcmV0ID0gZHJtX2F0b21p Y19jb21taXQoc3RhdGUpOwo+ICAKPiAgb3V0X3N0YXRlOgo+IC0JZHJtX2F0b21pY19jbGVhbl9v bGRfZmIoZGV2LCBwbGFuZV9tYXNrLCByZXQpOwo+IC0KPiAgCWlmIChyZXQgPT0gLUVERUFETEsp Cj4gIAkJZ290byBiYWNrb2ZmOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9mcmFtZWJ1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jCj4gaW5k ZXggOGM0ZDMyYWRjYzE3Li4xYmFkYTEyZjk3OTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2RybV9mcmFtZWJ1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1 ZmZlci5jCj4gQEAgLTgzNyw4ICs4MzcsNiBAQCBzdGF0aWMgaW50IGF0b21pY19yZW1vdmVfZmIo c3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCj4gIAkJCWdvdG8gdW5sb2NrOwo+ICAKPiAgCQlw bGFuZV9tYXNrIHw9IEJJVChkcm1fcGxhbmVfaW5kZXgocGxhbmUpKTsKPiAtCj4gLQkJcGxhbmUt Pm9sZF9mYiA9IHBsYW5lLT5mYjsKPiAgCX0KPiAgCj4gIAkvKiBUaGlzIGxpc3QgaXMgb25seSBm aWxsZWQgd2hlbiBkaXNhYmxlX2NydGNzIGlzIHNldC4gKi8KPiBAQCAtODUzLDkgKzg1MSw2IEBA IHN0YXRpYyBpbnQgYXRvbWljX3JlbW92ZV9mYihzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYikK PiAgCQlyZXQgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7Cj4gIAo+ICB1bmxvY2s6Cj4gLQlp ZiAocGxhbmVfbWFzaykKPiAtCQlkcm1fYXRvbWljX2NsZWFuX29sZF9mYihkZXYsIHBsYW5lX21h c2ssIHJldCk7Cj4gLQo+ICAJaWYgKHJldCA9PSAtRURFQURMSykgewo+ICAJCWRybV9hdG9taWNf c3RhdGVfY2xlYXIoc3RhdGUpOwo+ICAJCWRybV9tb2Rlc2V0X2JhY2tvZmYoJmN0eCk7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fcGxhbmUuYwo+IGluZGV4IDAzNTA1NDQ1NTMwMS4uMTQzMDQxNjY2MDk2IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fcGxhbmUuYwo+IEBAIC02NTAsOSArNjUwLDExIEBAIHN0YXRpYyBpbnQgX19zZXRwbGFuZV9p bnRlcm5hbChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgCQkJCQkgY3J0Y194LCBjcnRjX3ks IGNydGNfdywgY3J0Y19oLAo+ICAJCQkJCSBzcmNfeCwgc3JjX3ksIHNyY193LCBzcmNfaCwgY3R4 KTsKPiAgCWlmICghcmV0KSB7Cj4gLQkJcGxhbmUtPmNydGMgPSBjcnRjOwo+IC0JCXBsYW5lLT5m YiA9IGZiOwo+IC0JCWRybV9mcmFtZWJ1ZmZlcl9nZXQocGxhbmUtPmZiKTsKPiArCQlpZiAoIXBs YW5lLT5zdGF0ZSkgewo+ICsJCQlwbGFuZS0+Y3J0YyA9IGNydGM7Cj4gKwkJCXBsYW5lLT5mYiA9 IGZiOwo+ICsJCQlkcm1fZnJhbWVidWZmZXJfZ2V0KHBsYW5lLT5mYik7Cj4gKwkJfQo+ICAJfSBl bHNlIHsKPiAgCQlwbGFuZS0+b2xkX2ZiID0gTlVMTDsKPiAgCX0KPiBAQCAtMTA5Miw4ICsxMDk0 LDEwIEBAIGludCBkcm1fbW9kZV9wYWdlX2ZsaXBfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPiAgCQkvKiBLZWVwIHRoZSBvbGQgZmIsIGRvbid0IHVucmVmIGl0LiAqLwo+ICAJCXBsYW5l LT5vbGRfZmIgPSBOVUxMOwo+ICAJfSBlbHNlIHsKPiAtCQlwbGFuZS0+ZmIgPSBmYjsKPiAtCQlk cm1fZnJhbWVidWZmZXJfZ2V0KGZiKTsKPiArCQlpZiAoIXBsYW5lLT5zdGF0ZSkgewo+ICsJCQlw bGFuZS0+ZmIgPSBmYjsKPiArCQkJZHJtX2ZyYW1lYnVmZmVyX2dldChmYik7Cj4gKwkJfQo+ICAJ fQo+ICAKPiAgb3V0Ogo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lX2hl bHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZV9oZWxwZXIuYwo+IGluZGV4IGY4OGY2 ODE2MTUxOS4uMjAxMDc5NDk0M2JjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f cGxhbmVfaGVscGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lX2hlbHBlci5j Cj4gQEAgLTUwMiw2ICs1MDIsNyBAQCBFWFBPUlRfU1lNQk9MKGRybV9wbGFuZV9oZWxwZXJfdXBk YXRlKTsKPiAgaW50IGRybV9wbGFuZV9oZWxwZXJfZGlzYWJsZShzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSkKPiAgewo+ICAJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7Cj4gKwlz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpvbGRfZmI7Cj4gIAo+ICAJLyogY3J0YyBoZWxwZXJzIGxv dmUgdG8gY2FsbCBkaXNhYmxlIGZ1bmN0aW9ucyBmb3IgYWxyZWFkeSBkaXNhYmxlZCBodwo+ICAJ ICogZnVuY3Rpb25zLiBTbyBjb3BlIHdpdGggdGhhdC4gKi8KPiBAQCAtNTIxLDggKzUyMiw5IEBA IGludCBkcm1fcGxhbmVfaGVscGVyX2Rpc2FibGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCj4g IAlwbGFuZV9zdGF0ZS0+cGxhbmUgPSBwbGFuZTsKPiAgCj4gIAlwbGFuZV9zdGF0ZS0+Y3J0YyA9 IE5VTEw7Cj4gKwlvbGRfZmIgPSBwbGFuZV9zdGF0ZS0+ZmI7Cj4gIAlkcm1fYXRvbWljX3NldF9m Yl9mb3JfcGxhbmUocGxhbmVfc3RhdGUsIE5VTEwpOwo+ICAKPiAtCXJldHVybiBkcm1fcGxhbmVf aGVscGVyX2NvbW1pdChwbGFuZSwgcGxhbmVfc3RhdGUsIHBsYW5lLT5mYik7Cj4gKwlyZXR1cm4g ZHJtX3BsYW5lX2hlbHBlcl9jb21taXQocGxhbmUsIHBsYW5lX3N0YXRlLCBvbGRfZmIpOwo+ICB9 Cj4gIEVYUE9SVF9TWU1CT0woZHJtX3BsYW5lX2hlbHBlcl9kaXNhYmxlKTsKPiBkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCj4g aW5kZXggYTU3YThhYTkwZmZiLi5jYTQ2MWI2Y2Y3MWYgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9k cm0vZHJtX2F0b21pYy5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCj4gQEAgLTYw MSw5ICs2MDEsNiBAQCBpbnQgX19tdXN0X2NoZWNrCj4gIGRybV9hdG9taWNfYWRkX2FmZmVjdGVk X3BsYW5lcyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAkJCSAgICAgICBzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpOwo+ICAKPiAtdm9pZAo+IC1kcm1fYXRvbWljX2NsZWFuX29sZF9m YihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBwbGFuZV9tYXNrLCBpbnQgcmV0KTsK PiAtCj4gIGludCBfX211c3RfY2hlY2sgZHJtX2F0b21pY19jaGVja19vbmx5KHN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gIGludCBfX211c3RfY2hlY2sgZHJtX2F0b21pY19jb21t aXQoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiAgaW50IF9fbXVzdF9jaGVjayBk cm1fYXRvbWljX25vbmJsb2NraW5nX2NvbW1pdChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUpOwo+IC0tIAo+IDIuMTYuMQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIs IEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=