From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 15/23] drm: Stop updating plane->crtc/fb/old_fb on atomic drivers Date: Mon, 26 Mar 2018 22:52:58 +0200 Message-ID: <20180326205258.GE14155@phenom.ffwll.local> References: <20180322152313.6561-1-ville.syrjala@linux.intel.com> <20180322152313.6561-16-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: <20180322152313.6561-16-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 T24gVGh1LCBNYXIgMjIsIDIwMTggYXQgMDU6MjM6MDVQTSArMDIwMCwgVmlsbGUgU3lyamFsYSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IFN0b3AgcGxheWluZyBhcm91bmQgd2l0aCBwbGFuZS0+Y3J0Yy9mYi9vbGRfZmIg d2l0aCBhdG9taWMKPiBkcml2ZXJzLiBNYWtlIGxpZmUgYSBsb3Qgc2ltcGxlciB3aGVuIHdlIGRv bid0IGhhdmUgdG8gZG8gdGhlCj4gbWFnaWMgb2xkX2ZiIHZzLiBmYiBkYW5jZSBhcm91bmQgcGxh bmUgdXBkYXRlcy4gVGhhdCB3YXkgd2UKPiBjYW4ndCByaXNrIHBsYW5lLT5mYiBnZXR0aW5nIG91 dCBvZiBzeW5jIHdpdGggcGxhbmUtPnN0YXRlLT5mYgo+IGFuZCB3ZSdyZSBsZXNzIGxpa2VseSB0 byBsZWFrIGFueSByZWZjb3VudHMgYXMgd2VsbC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBT eXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAgICB8IDU1ICsrKystLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgfCAx NSArLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jICAgICAgICAgIHwgIDgg KysrKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMgICAgIHwgIDcgLS0tLS0K PiAgZHJpdmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jICAgfCAgNSAtLS0tCj4gIGRyaXZl cnMvZ3B1L2RybS9kcm1fcGxhbmUuYyAgICAgICAgIHwgMTQgKysrKysrLS0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vZHJtX3BsYW5lX2hlbHBlci5jICB8ICA0ICsrLQo+ICBpbmNsdWRlL2RybS9kcm1f YXRvbWljLmggICAgICAgICAgICB8ICAzIC0tCj4gIDggZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0 aW9ucygrKSwgODcgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gaW5kZXggN2Qy NWM0MmYyMmRiLi5iMTZjYzM3ZTJhZGYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiBAQCAtNjky LDYgKzY5MiwxMSBAQCBkcm1fYXRvbWljX2dldF9wbGFuZV9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGUsCj4gIAo+ICAJV0FSTl9PTighc3RhdGUtPmFjcXVpcmVfY3R4KTsKPiAg Cj4gKwkvKiB0aGUgbGVnYWN5IHBvaW50ZXJzIHNob3VsZCBuZXZlciBiZSBzZXQgKi8KPiArCVdB Uk5fT04ocGxhbmUtPmZiKTsKPiArCVdBUk5fT04ocGxhbmUtPm9sZF9mYik7Cj4gKwlXQVJOX09O KHBsYW5lLT5jcnRjKTsKCkkgZGlkIGFscmVhZHkgcmV2aWV3IGFsbCB0aGUgdXNlcnMgZm9yIHBs YW5lLT5jcnRjIGFuZCBmb3VuZDoKCmFybWFkYSArIHNobW9iOiBub3QgYXRvbWljLCBzaG91bGQg YmUgZmluZQoKQnV0IHRoZXJlJ3MgYWxzbyBleHlub3MsIG1zbS9tZHA1LCBzdGkgYW5kIHZjNCBk b2luZyB2YXJpb3VzIHNpbGx5IHRoaW5ncwp3aXRoIHNldHRpbmcgcGxhbmUtPmNydGMuIEkgdGhp bmsgYmVmb3JlIHlvdSBjYW4gYWRkIHRoaXMgV0FSTl9PTiB3ZSBuZWVkCnRvIGNsZWFuIHVwIHRo YXQgY3J1ZnQgKGl0IGxvb2tzIGxpa2UgMTAwJSBjYXJnbyBjdWx0aW5nLCBzbyBzaG91bGQgYmUK cXVpdCkuCgpHb2luZyB0byB0aGluayBhYm91dCB0aGUgb3RoZXIgcGF0Y2hlcyB0b21vcnJvdy4K LURhbmllbAoKPiArCj4gIAlwbGFuZV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X2V4aXN0aW5nX3Bs YW5lX3N0YXRlKHN0YXRlLCBwbGFuZSk7Cj4gIAlpZiAocGxhbmVfc3RhdGUpCj4gIAkJcmV0dXJu IHBsYW5lX3N0YXRlOwo+IEBAIC0yMDIxLDQ1ICsyMDI2LDYgQEAgaW50IGRybV9hdG9taWNfc2V0 X3Byb3BlcnR5KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgCXJldHVybiByZXQ7 Cj4gIH0KPiAgCj4gLS8qKgo+IC0gKiBkcm1fYXRvbWljX2NsZWFuX29sZF9mYiAtLSBVbnNldCBv bGRfZmIgcG9pbnRlcnMgYW5kIHNldCBwbGFuZS0+ZmIgcG9pbnRlcnMuCj4gLSAqCj4gLSAqIEBk ZXY6IGRybSBkZXZpY2UgdG8gY2hlY2suCj4gLSAqIEBwbGFuZV9tYXNrOiBwbGFuZSBtYXNrIGZv ciBwbGFuZXMgdGhhdCB3ZXJlIHVwZGF0ZWQuCj4gLSAqIEByZXQ6IHJldHVybiB2YWx1ZSwgY2Fu IGJlIC1FREVBRExLIGZvciBhIHJldHJ5Lgo+IC0gKgo+IC0gKiBCZWZvcmUgZG9pbmcgYW4gdXBk YXRlICZkcm1fcGxhbmUub2xkX2ZiIGlzIHNldCB0byAmZHJtX3BsYW5lLmZiLCBidXQgYmVmb3Jl Cj4gLSAqIGRyb3BwaW5nIHRoZSBsb2NrcyBvbGRfZmIgbmVlZHMgdG8gYmUgc2V0IHRvIE5VTEwg YW5kIHBsYW5lLT5mYiB1cGRhdGVkLiBUaGlzCj4gLSAqIGlzIGEgY29tbW9uIG9wZXJhdGlvbiBm b3IgZWFjaCBhdG9taWMgdXBkYXRlLCBzbyB0aGlzIGNhbGwgaXMgc3BsaXQgb2ZmIGFzIGEKPiAt ICogaGVscGVyLgo+IC0gKi8KPiAtdm9pZCBkcm1fYXRvbWljX2NsZWFuX29sZF9mYihzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+IC0JCQkgICAgIHVuc2lnbmVkIHBsYW5lX21hc2ssCj4gLQkJCSAg ICAgaW50IHJldCkKPiAtewo+IC0Jc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gLQo+IC0JLyog aWYgc3VjY2VlZGVkLCBmaXh1cCBsZWdhY3kgcGxhbmUgY3J0Yy9mYiBwdHJzIGJlZm9yZSBkcm9w cGluZwo+IC0JICogbG9ja3MgKGllLiB3aGlsZSBpdCBpcyBzdGlsbCBzYWZlIHRvIGRlcmVmIHBs YW5lLT5zdGF0ZSkuICBXZQo+IC0JICogbmVlZCB0byBkbyB0aGlzIGhlcmUgYmVjYXVzZSB0aGUg ZHJpdmVyIGVudHJ5IHBvaW50cyBjYW5ub3QKPiAtCSAqIGRpc3Rpbmd1aXNoIGJldHdlZW4gbGVn YWN5IGFuZCBhdG9taWMgaW9jdGxzLgo+IC0JICovCj4gLQlkcm1fZm9yX2VhY2hfcGxhbmVfbWFz ayhwbGFuZSwgZGV2LCBwbGFuZV9tYXNrKSB7Cj4gLQkJaWYgKHJldCA9PSAwKSB7Cj4gLQkJCXN0 cnVjdCBkcm1fZnJhbWVidWZmZXIgKm5ld19mYiA9IHBsYW5lLT5zdGF0ZS0+ZmI7Cj4gLQkJCWlm IChuZXdfZmIpCj4gLQkJCQlkcm1fZnJhbWVidWZmZXJfZ2V0KG5ld19mYik7Cj4gLQkJCXBsYW5l LT5mYiA9IG5ld19mYjsKPiAtCQkJcGxhbmUtPmNydGMgPSBwbGFuZS0+c3RhdGUtPmNydGM7Cj4g LQo+IC0JCQlpZiAocGxhbmUtPm9sZF9mYikKPiAtCQkJCWRybV9mcmFtZWJ1ZmZlcl9wdXQocGxh bmUtPm9sZF9mYik7Cj4gLQkJfQo+IC0JCXBsYW5lLT5vbGRfZmIgPSBOVUxMOwo+IC0JfQo+IC19 Cj4gLUVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19jbGVhbl9vbGRfZmIpOwo+IC0KPiAgLyoqCj4g ICAqIERPQzogZXhwbGljaXQgZmVuY2luZyBwcm9wZXJ0aWVzCj4gICAqCj4gQEAgLTIyODAsOSAr MjI0Niw3IEBAIGludCBkcm1fbW9kZV9hdG9taWNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPiAgCXVuc2lnbmVkIGludCBjb3BpZWRfb2JqcywgY29waWVkX3Byb3BzOwo+ICAJc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOwo+ICAJc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVf Y3R4IGN0eDsKPiAtCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOwo+ICAJc3RydWN0IGRybV9vdXRf ZmVuY2Vfc3RhdGUgKmZlbmNlX3N0YXRlOwo+IC0JdW5zaWduZWQgcGxhbmVfbWFzazsKPiAgCWlu dCByZXQgPSAwOwo+ICAJdW5zaWduZWQgaW50IGksIGosIG51bV9mZW5jZXM7Cj4gIAo+IEBAIC0y MzIyLDcgKzIyODYsNiBAQCBpbnQgZHJtX21vZGVfYXRvbWljX2lvY3RsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4gIAlzdGF0ZS0+YWxsb3dfbW9kZXNldCA9ICEhKGFyZy0+ZmxhZ3MgJiBEUk1f TU9ERV9BVE9NSUNfQUxMT1dfTU9ERVNFVCk7Cj4gIAo+ICByZXRyeToKPiAtCXBsYW5lX21hc2sg PSAwOwo+ICAJY29waWVkX29ianMgPSAwOwo+ICAJY29waWVkX3Byb3BzID0gMDsKPiAgCWZlbmNl X3N0YXRlID0gTlVMTDsKPiBAQCAtMjM5MywxMiArMjM1Niw2IEBAIGludCBkcm1fbW9kZV9hdG9t aWNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkJY29waWVkX3Byb3BzKys7Cj4g IAkJfQo+ICAKPiAtCQlpZiAob2JqLT50eXBlID09IERSTV9NT0RFX09CSkVDVF9QTEFORSAmJiBj b3VudF9wcm9wcyAmJgo+IC0JCSAgICAhKGFyZy0+ZmxhZ3MgJiBEUk1fTU9ERV9BVE9NSUNfVEVT VF9PTkxZKSkgewo+IC0JCQlwbGFuZSA9IG9ial90b19wbGFuZShvYmopOwo+IC0JCQlwbGFuZV9t YXNrIHw9ICgxIDw8IGRybV9wbGFuZV9pbmRleChwbGFuZSkpOwo+IC0JCQlwbGFuZS0+b2xkX2Zi ID0gcGxhbmUtPmZiOwo+IC0JCX0KPiAgCQlkcm1fbW9kZV9vYmplY3RfcHV0KG9iaik7Cj4gIAl9 Cj4gIAo+IEBAIC0yNDE5LDggKzIzNzYsNiBAQCBpbnQgZHJtX21vZGVfYXRvbWljX2lvY3RsKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAl9Cj4gIAo+ICBvdXQ6Cj4gLQlkcm1fYXRvbWljX2Ns ZWFuX29sZF9mYihkZXYsIHBsYW5lX21hc2ssIHJldCk7Cj4gLQo+ICAJY29tcGxldGVfY3J0Y19z aWduYWxpbmcoZGV2LCBzdGF0ZSwgZmVuY2Vfc3RhdGUsIG51bV9mZW5jZXMsICFyZXQpOwo+ICAK PiAgCWlmIChyZXQgPT0gLUVERUFETEspIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIu Ywo+IGluZGV4IDBlODA2ZjA3MGQwMC4uZDQyZDg4Yjk3Mzk2IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWNfaGVscGVyLmMKPiBAQCAtMjg5Miw3ICsyODkyLDYgQEAgc3RhdGljIGludCBfX2Ry bV9hdG9taWNfaGVscGVyX2Rpc2FibGVfYWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAlz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKPiAgCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZTsKPiAgCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiAtCXVuc2lnbmVkIGludCBwbGFuZV9t YXNrID0gMDsKPiAgCWludCByZXQsIGk7Cj4gIAo+ICAJc3RhdGUgPSBkcm1fYXRvbWljX3N0YXRl X2FsbG9jKGRldik7Cj4gQEAgLTI5MzUsMTcgKzI5MzQsMTAgQEAgc3RhdGljIGludCBfX2RybV9h dG9taWNfaGVscGVyX2Rpc2FibGVfYWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCWdv dG8gZnJlZTsKPiAgCj4gIAkJZHJtX2F0b21pY19zZXRfZmJfZm9yX3BsYW5lKHBsYW5lX3N0YXRl LCBOVUxMKTsKPiAtCj4gLQkJaWYgKGNsZWFuX29sZF9mYnMpIHsKPiAtCQkJcGxhbmUtPm9sZF9m YiA9IHBsYW5lLT5mYjsKPiAtCQkJcGxhbmVfbWFzayB8PSBCSVQoZHJtX3BsYW5lX2luZGV4KHBs YW5lKSk7Cj4gLQkJfQo+ICAJfQo+ICAKPiAgCXJldCA9IGRybV9hdG9taWNfY29tbWl0KHN0YXRl KTsKPiAgZnJlZToKPiAtCWRybV9hdG9taWNfY2xlYW5fb2xkX2ZiKGRldiwgcGxhbmVfbWFzaywg cmV0KTsKPiAtCj4gIAlkcm1fYXRvbWljX3N0YXRlX3B1dChzdGF0ZSk7Cj4gIAlyZXR1cm4gcmV0 Owo+ICB9Cj4gQEAgLTMxMDYsMTMgKzMwOTgsOCBAQCBpbnQgZHJtX2F0b21pY19oZWxwZXJfY29t bWl0X2R1cGxpY2F0ZWRfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAK PiAgCXN0YXRlLT5hY3F1aXJlX2N0eCA9IGN0eDsKPiAgCj4gLQlmb3JfZWFjaF9uZXdfcGxhbmVf aW5fc3RhdGUoc3RhdGUsIHBsYW5lLCBuZXdfcGxhbmVfc3RhdGUsIGkpIHsKPiAtCQlXQVJOX09O KHBsYW5lLT5jcnRjICE9IG5ld19wbGFuZV9zdGF0ZS0+Y3J0Yyk7Cj4gLQkJV0FSTl9PTihwbGFu ZS0+ZmIgIT0gbmV3X3BsYW5lX3N0YXRlLT5mYik7Cj4gLQkJV0FSTl9PTihwbGFuZS0+b2xkX2Zi KTsKPiAtCj4gKwlmb3JfZWFjaF9uZXdfcGxhbmVfaW5fc3RhdGUoc3RhdGUsIHBsYW5lLCBuZXdf cGxhbmVfc3RhdGUsIGkpCj4gIAkJc3RhdGUtPnBsYW5lc1tpXS5vbGRfc3RhdGUgPSBwbGFuZS0+ c3RhdGU7Cj4gLQl9Cj4gIAo+ICAJZm9yX2VhY2hfbmV3X2NydGNfaW5fc3RhdGUoc3RhdGUsIGNy dGMsIG5ld19jcnRjX3N0YXRlLCBpKQo+ICAJCXN0YXRlLT5jcnRjc1tpXS5vbGRfc3RhdGUgPSBj cnRjLT5zdGF0ZTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+IGluZGV4IGEyMzFkZDVkY2UxNi4uNGUzYzFhOGQx MThhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9jcnRjLmMKPiBAQCAtNDc0LDggKzQ3NCwxMiBAQCBzdGF0aWMgaW50 IF9fZHJtX21vZGVfc2V0X2NvbmZpZ19pbnRlcm5hbChzdHJ1Y3QgZHJtX21vZGVfc2V0ICpzZXQs Cj4gIAo+ICAJcmV0ID0gY3J0Yy0+ZnVuY3MtPnNldF9jb25maWcoc2V0LCBjdHgpOwo+ICAJaWYg KHJldCA9PSAwKSB7Cj4gLQkJY3J0Yy0+cHJpbWFyeS0+Y3J0YyA9IGZiID8gY3J0YyA6IE5VTEw7 Cj4gLQkJY3J0Yy0+cHJpbWFyeS0+ZmIgPSBmYjsKPiArCQlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSA9IGNydGMtPnByaW1hcnk7Cj4gKwo+ICsJCWlmICghcGxhbmUtPnN0YXRlKSB7Cj4gKwkJCXBs YW5lLT5jcnRjID0gZmIgPyBjcnRjIDogTlVMTDsKPiArCQkJcGxhbmUtPmZiID0gZmI7Cj4gKwkJ fQo+ICAJfQo+ICAKPiAgCWRybV9mb3JfZWFjaF9jcnRjKHRtcCwgY3J0Yy0+ZGV2KSB7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2ZiX2hlbHBlci5jCj4gaW5kZXggMDY0NmIxMDgwMzBiLi41NjM5ZTgwNGEwY2QgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKPiBAQCAtMzY4LDcgKzM2OCw2IEBAIHN0YXRpYyBp bnQgcmVzdG9yZV9mYmRldl9tb2RlX2F0b21pYyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVs cGVyLCBib29sIGFjdGl2Cj4gIAlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKPiAgCXN0cnVjdCBk cm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKPiAgCWludCBpLCByZXQ7Cj4gLQl1bnNpZ25lZCBpbnQg cGxhbmVfbWFzazsKPiAgCXN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCBjdHg7Cj4gIAo+ ICAJZHJtX21vZGVzZXRfYWNxdWlyZV9pbml0KCZjdHgsIDApOwo+IEBAIC0zODEsNyArMzgwLDYg QEAgc3RhdGljIGludCByZXN0b3JlX2ZiZGV2X21vZGVfYXRvbWljKHN0cnVjdCBkcm1fZmJfaGVs cGVyICpmYl9oZWxwZXIsIGJvb2wgYWN0aXYKPiAgCj4gIAlzdGF0ZS0+YWNxdWlyZV9jdHggPSAm Y3R4Owo+ICByZXRyeToKPiAtCXBsYW5lX21hc2sgPSAwOwo+ICAJZHJtX2Zvcl9lYWNoX3BsYW5l KHBsYW5lLCBkZXYpIHsKPiAgCQlwbGFuZV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0 YXRlKHN0YXRlLCBwbGFuZSk7Cj4gIAkJaWYgKElTX0VSUihwbGFuZV9zdGF0ZSkpIHsKPiBAQCAt MzkxLDkgKzM4OSw2IEBAIHN0YXRpYyBpbnQgcmVzdG9yZV9mYmRldl9tb2RlX2F0b21pYyhzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLCBib29sIGFjdGl2Cj4gIAo+ICAJCXBsYW5lX3N0 YXRlLT5yb3RhdGlvbiA9IERSTV9NT0RFX1JPVEFURV8wOwo+ICAKPiAtCQlwbGFuZS0+b2xkX2Zi ID0gcGxhbmUtPmZiOwo+IC0JCXBsYW5lX21hc2sgfD0gMSA8PCBkcm1fcGxhbmVfaW5kZXgocGxh bmUpOwo+IC0KPiAgCQkvKiBkaXNhYmxlIG5vbi1wcmltYXJ5OiAqLwo+ICAJCWlmIChwbGFuZS0+ dHlwZSA9PSBEUk1fUExBTkVfVFlQRV9QUklNQVJZKQo+ICAJCQljb250aW51ZTsKPiBAQCAtNDMw LDggKzQyNSw2IEBAIHN0YXRpYyBpbnQgcmVzdG9yZV9mYmRldl9tb2RlX2F0b21pYyhzdHJ1Y3Qg ZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLCBib29sIGFjdGl2Cj4gIAlyZXQgPSBkcm1fYXRvbWlj X2NvbW1pdChzdGF0ZSk7Cj4gIAo+ICBvdXRfc3RhdGU6Cj4gLQlkcm1fYXRvbWljX2NsZWFuX29s ZF9mYihkZXYsIHBsYW5lX21hc2ssIHJldCk7Cj4gLQo+ICAJaWYgKHJldCA9PSAtRURFQURMSykK PiAgCQlnb3RvIGJhY2tvZmY7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2ZyYW1lYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMKPiBpbmRl eCBhZDY3MjAzZGU3MTUuLjQyMWE3N2MyYTRhYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2ZyYW1lYnVmZmVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVm ZmVyLmMKPiBAQCAtODM1LDggKzgzNSw2IEBAIHN0YXRpYyBpbnQgYXRvbWljX3JlbW92ZV9mYihz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYikKPiAgCQkJZ290byB1bmxvY2s7Cj4gIAo+ICAJCXBs YW5lX21hc2sgfD0gQklUKGRybV9wbGFuZV9pbmRleChwbGFuZSkpOwo+IC0KPiAtCQlwbGFuZS0+ b2xkX2ZiID0gcGxhbmUtPmZiOwo+ICAJfQo+ICAKPiAgCS8qIFRoaXMgbGlzdCBpcyBvbmx5IGZp bGxlZCB3aGVuIGRpc2FibGVfY3J0Y3MgaXMgc2V0LiAqLwo+IEBAIC04NTEsOSArODQ5LDYgQEAg c3RhdGljIGludCBhdG9taWNfcmVtb3ZlX2ZiKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQo+ ICAJCXJldCA9IGRybV9hdG9taWNfY29tbWl0KHN0YXRlKTsKPiAgCj4gIHVubG9jazoKPiAtCWlm IChwbGFuZV9tYXNrKQo+IC0JCWRybV9hdG9taWNfY2xlYW5fb2xkX2ZiKGRldiwgcGxhbmVfbWFz aywgcmV0KTsKPiAtCj4gIAlpZiAocmV0ID09IC1FREVBRExLKSB7Cj4gIAkJZHJtX2F0b21pY19z dGF0ZV9jbGVhcihzdGF0ZSk7Cj4gIAkJZHJtX21vZGVzZXRfYmFja29mZigmY3R4KTsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9wbGFuZS5jCj4gaW5kZXggMDM1MDU0NDU1MzAxLi4xNDMwNDE2NjYwOTYgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9wbGFuZS5jCj4gQEAgLTY1MCw5ICs2NTAsMTEgQEAgc3RhdGljIGludCBfX3NldHBsYW5lX2lu dGVybmFsKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCQkJCSBjcnRjX3gsIGNydGNfeSwg Y3J0Y193LCBjcnRjX2gsCj4gIAkJCQkJIHNyY194LCBzcmNfeSwgc3JjX3csIHNyY19oLCBjdHgp Owo+ICAJaWYgKCFyZXQpIHsKPiAtCQlwbGFuZS0+Y3J0YyA9IGNydGM7Cj4gLQkJcGxhbmUtPmZi ID0gZmI7Cj4gLQkJZHJtX2ZyYW1lYnVmZmVyX2dldChwbGFuZS0+ZmIpOwo+ICsJCWlmICghcGxh bmUtPnN0YXRlKSB7Cj4gKwkJCXBsYW5lLT5jcnRjID0gY3J0YzsKPiArCQkJcGxhbmUtPmZiID0g ZmI7Cj4gKwkJCWRybV9mcmFtZWJ1ZmZlcl9nZXQocGxhbmUtPmZiKTsKPiArCQl9Cj4gIAl9IGVs c2Ugewo+ICAJCXBsYW5lLT5vbGRfZmIgPSBOVUxMOwo+ICAJfQo+IEBAIC0xMDkyLDggKzEwOTQs MTAgQEAgaW50IGRybV9tb2RlX3BhZ2VfZmxpcF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+ICAJCS8qIEtlZXAgdGhlIG9sZCBmYiwgZG9uJ3QgdW5yZWYgaXQuICovCj4gIAkJcGxhbmUt Pm9sZF9mYiA9IE5VTEw7Cj4gIAl9IGVsc2Ugewo+IC0JCXBsYW5lLT5mYiA9IGZiOwo+IC0JCWRy bV9mcmFtZWJ1ZmZlcl9nZXQoZmIpOwo+ICsJCWlmICghcGxhbmUtPnN0YXRlKSB7Cj4gKwkJCXBs YW5lLT5mYiA9IGZiOwo+ICsJCQlkcm1fZnJhbWVidWZmZXJfZ2V0KGZiKTsKPiArCQl9Cj4gIAl9 Cj4gIAo+ICBvdXQ6Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVs cGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lX2hlbHBlci5jCj4gaW5kZXggZjg4ZjY4 MTYxNTE5Li4yMDEwNzk0OTQzYmMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9w bGFuZV9oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVscGVyLmMK PiBAQCAtNTAyLDYgKzUwMiw3IEBAIEVYUE9SVF9TWU1CT0woZHJtX3BsYW5lX2hlbHBlcl91cGRh dGUpOwo+ICBpbnQgZHJtX3BsYW5lX2hlbHBlcl9kaXNhYmxlKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKPiArCXN0 cnVjdCBkcm1fZnJhbWVidWZmZXIgKm9sZF9mYjsKPiAgCj4gIAkvKiBjcnRjIGhlbHBlcnMgbG92 ZSB0byBjYWxsIGRpc2FibGUgZnVuY3Rpb25zIGZvciBhbHJlYWR5IGRpc2FibGVkIGh3Cj4gIAkg KiBmdW5jdGlvbnMuIFNvIGNvcGUgd2l0aCB0aGF0LiAqLwo+IEBAIC01MjEsOCArNTIyLDkgQEAg aW50IGRybV9wbGFuZV9oZWxwZXJfZGlzYWJsZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiAg CXBsYW5lX3N0YXRlLT5wbGFuZSA9IHBsYW5lOwo+ICAKPiAgCXBsYW5lX3N0YXRlLT5jcnRjID0g TlVMTDsKPiArCW9sZF9mYiA9IHBsYW5lX3N0YXRlLT5mYjsKPiAgCWRybV9hdG9taWNfc2V0X2Zi X2Zvcl9wbGFuZShwbGFuZV9zdGF0ZSwgTlVMTCk7Cj4gIAo+IC0JcmV0dXJuIGRybV9wbGFuZV9o ZWxwZXJfY29tbWl0KHBsYW5lLCBwbGFuZV9zdGF0ZSwgcGxhbmUtPmZiKTsKPiArCXJldHVybiBk cm1fcGxhbmVfaGVscGVyX2NvbW1pdChwbGFuZSwgcGxhbmVfc3RhdGUsIG9sZF9mYik7Cj4gIH0K PiAgRVhQT1JUX1NZTUJPTChkcm1fcGxhbmVfaGVscGVyX2Rpc2FibGUpOwo+IGRpZmYgLS1naXQg YS9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmggYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPiBp bmRleCBhNTdhOGFhOTBmZmIuLmNhNDYxYjZjZjcxZiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2Ry bS9kcm1fYXRvbWljLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPiBAQCAtNjAx LDkgKzYwMSw2IEBAIGludCBfX211c3RfY2hlY2sKPiAgZHJtX2F0b21pY19hZGRfYWZmZWN0ZWRf cGxhbmVzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgCQkJICAgICAgIHN0cnVj dCBkcm1fY3J0YyAqY3J0Yyk7Cj4gIAo+IC12b2lkCj4gLWRybV9hdG9taWNfY2xlYW5fb2xkX2Zi KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIHBsYW5lX21hc2ssIGludCByZXQpOwo+ IC0KPiAgaW50IF9fbXVzdF9jaGVjayBkcm1fYXRvbWljX2NoZWNrX29ubHkoc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlKTsKPiAgaW50IF9fbXVzdF9jaGVjayBkcm1fYXRvbWljX2NvbW1p dChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ICBpbnQgX19tdXN0X2NoZWNrIGRy bV9hdG9taWNfbm9uYmxvY2tpbmdfY29tbWl0KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZSk7Cj4gLS0gCj4gMi4xNi4xCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwg SW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==