From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: Re: [PATCH 3/8] drm: Handle properties in the core for atomic drivers Date: Tue, 25 Jul 2017 15:06:53 +0530 Message-ID: <413d1abf-dff6-e332-3da6-2ae8d13d3b77@codeaurora.org> References: <20170725080122.20548-1-daniel.vetter@ffwll.ch> <20170725080122.20548-4-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170725080122.20548-4-daniel.vetter@ffwll.ch> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter , Intel Graphics Development Cc: Daniel Vetter , DRI Development List-Id: intel-gfx@lists.freedesktop.org CgpPbiAwNy8yNS8yMDE3IDAxOjMxIFBNLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+IFRoZSByZWFz b24gYmVoaW5kIHRoZSBvcmlnaW5hbCBpbmRpcmVjdGlvbiB0aHJvdWdoIHRoZSBoZWxwZXIKPiBm dW5jdGlvbnMgd2FzIHRvIGFsbG93IGV4aXN0aW5nIGRyaXZlcnMgdG8gb3ZlcndyaXRlIGhvdyB0 aGV5IGhhbmRsZQo+IHByb3BlcnRpZXMuIEZvciBleGFtcGxlIHdoZW4gYSB2ZW5kb3Itc3BlY2lm aWMgdXNlcnNwYWNlIGhhZAo+IGV4cGVjdGF0aW9ucyB0aGF0IGRpZG4ndCBtYXRjaCBhdG9taWMu IFRoYXQgc2VlbWVkIGxpa2VseSwgc2luY2UKPiBhdG9taWMgaXMgc3RhbmRhcmRpemluZyBhIF9s b3RfIG1vcmUgb2YgdGhlIGJlaGF2aW91ciBvZiBhIGttcyBkcml2ZXIuCj4gCj4gQnV0IDIwIGRy aXZlcnMgbGF0ZXIgdGhlcmUncyBubyBzdWNoIG5lZWQgYXQgYWxsLiBXb3JzZSwgdGhpcyBmb3Jj ZXMKPiBhbGwgZHJpdmVycyB0byBob29rIHVwIHRoZSBkZWZhdWx0IGJlaGF2aW91ciwgYnJlYWtp bmcgdXNlcnNwYWNlIGlmCj4gdGhleSBmb3JnZXQgdG8gZG8gdGhhdC4gQW5kIGl0IGZvcmNlcyB1 cyB0byBleHBvcnQgYSBidW5jaCBvZiBjb3JlCj4gZnVuY3Rpb24ganVzdCBmb3IgdGhvc2UgaGVs cGVycy4KPiAKPiBBbmQgZmluYWxseSwgdGhlc2UgaGVscGVycyBhcmUgdGhlIGxhc3QgcGxhY2Vz IHVzaW5nCj4gZHJtX2F0b21pY19sZWdhY3lfYmFja29mZigpIGFuZCB0aGUgaW1wbGljaXQgYWNx dWlyZV9jdHguCj4gCj4gVGhpcyBwYXRjaCBoZXJlIGp1c3QgaW1wbGVtZW50cyB0aGUgbmV3IGJl aGF2aW91ciBhbmQgdXBkYXRlcyB0aGUKPiBkb2NzLiBGb2xsb3ctdXAgcGF0Y2hlcyB3aWxsIGdh cmJhZ2UtY29sbGVjdCBhbGwgdGhlIGRlYWQgY29kZS4KPiAKPiB2MjogRml4dXAgZG9jcyBldmVu IGJldHRlciEKPiAKPiB2MzogTWFrZSBpdCBhY3R1YWxseSB3b3JrIC4uLgoKUmV2aWV3ZWQtYnk6 IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9yYS5vcmc+Cgo+IAo+IFNpZ25lZC1vZmYt Ynk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgfCAgNjAgKysrKysrKysrKysrKysrKysr LS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgICAgIHwgICA2ICstCj4gICBk cml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMgICB8ICAgMyArLQo+ICAgZHJpdmVycy9n cHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmggfCAgIDcgKysrCj4gICBkcml2ZXJzL2dwdS9kcm0v ZHJtX21vZGVfb2JqZWN0LmMgICB8IDExMCArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0KPiAgIGluY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICAgIHwgIDEwICsrLS0K PiAgIGluY2x1ZGUvZHJtL2RybV9jcnRjLmggICAgICAgICAgICAgIHwgICA2ICstCj4gICBpbmNs dWRlL2RybS9kcm1fcGxhbmUuaCAgICAgICAgICAgICB8ICAgNiArLQo+ICAgOCBmaWxlcyBjaGFu Z2VkLCAxNTggaW5zZXJ0aW9ucygrKSwgNTAgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Yy5jCj4gaW5kZXggMDExOTJkZDNlZDc5Li4wZmQxNGFmZjdhZGQgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljLmMKPiBAQCAtMTg2NCw5ICsxODY0LDYwIEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BlbmRpbmdf dmJsYW5rX2V2ZW50ICpjcmVhdGVfdmJsYW5rX2V2ZW50KAo+ICAgCXJldHVybiBlOwo+ICAgfQo+ ICAgCj4gLXN0YXRpYyBpbnQgYXRvbWljX3NldF9wcm9wKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpzdGF0ZSwKPiAtCQlzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0ICpvYmosIHN0cnVjdCBkcm1fcHJv cGVydHkgKnByb3AsCj4gLQkJdWludDY0X3QgcHJvcF92YWx1ZSkKPiAraW50IGRybV9hdG9taWNf Y29ubmVjdG9yX2NvbW1pdF9kcG1zKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAr CQkJCSAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiArCQkJCSAgICAgaW50 IG1vZGUpCj4gK3sKPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yICp0bXBfY29ubmVjdG9yOwo+ICsJ c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm5ld19jb25uX3N0YXRlOwo+ICsJc3RydWN0IGRy bV9jcnRjICpjcnRjOwo+ICsJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwo+ICsJ aW50IGksIHJldCwgb2xkX21vZGUgPSBjb25uZWN0b3ItPmRwbXM7Cj4gKwlib29sIGFjdGl2ZSA9 IGZhbHNlOwo+ICsKPiArCXJldCA9IGRybV9tb2Rlc2V0X2xvY2soJnN0YXRlLT5kZXYtPm1vZGVf Y29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgsCj4gKwkJCSAgICAgICBzdGF0ZS0+YWNxdWlyZV9jdHgp Owo+ICsJaWYgKHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ICsKPiArCWlmIChtb2RlICE9IERSTV9N T0RFX0RQTVNfT04pCj4gKwkJbW9kZSA9IERSTV9NT0RFX0RQTVNfT0ZGOwo+ICsJY29ubmVjdG9y LT5kcG1zID0gbW9kZTsKPiArCj4gKwljcnRjID0gY29ubmVjdG9yLT5zdGF0ZS0+Y3J0YzsKPiAr CWlmICghY3J0YykKPiArCQlnb3RvIG91dDsKPiArCXJldCA9IGRybV9hdG9taWNfYWRkX2FmZmVj dGVkX2Nvbm5lY3RvcnMoc3RhdGUsIGNydGMpOwo+ICsJaWYgKHJldCkKPiArCQlnb3RvIG91dDsK PiArCj4gKwljcnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0 Yyk7Cj4gKwlpZiAoSVNfRVJSKGNydGNfc3RhdGUpKSB7Cj4gKwkJcmV0ID0gUFRSX0VSUihjcnRj X3N0YXRlKTsKPiArCQlnb3RvIG91dDsKPiArCX0KPiArCj4gKwlmb3JfZWFjaF9uZXdfY29ubmVj dG9yX2luX3N0YXRlKHN0YXRlLCB0bXBfY29ubmVjdG9yLCBuZXdfY29ubl9zdGF0ZSwgaSkgewo+ ICsJCWlmIChuZXdfY29ubl9zdGF0ZS0+Y3J0YyAhPSBjcnRjKQo+ICsJCQljb250aW51ZTsKPiAr CQlpZiAodG1wX2Nvbm5lY3Rvci0+ZHBtcyA9PSBEUk1fTU9ERV9EUE1TX09OKSB7Cj4gKwkJCWFj dGl2ZSA9IHRydWU7Cj4gKwkJCWJyZWFrOwo+ICsJCX0KPiArCX0KPiArCj4gKwljcnRjX3N0YXRl LT5hY3RpdmUgPSBhY3RpdmU7Cj4gKwlyZXQgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7Cj4g K291dDoKPiArCWlmIChyZXQgIT0gMCkKPiArCQljb25uZWN0b3ItPmRwbXMgPSBvbGRfbW9kZTsK PiArCXJldHVybiByZXQ7Cj4gK30KPiArCj4gK2ludCBkcm1fYXRvbWljX3NldF9wcm9wZXJ0eShz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gKwkJCSAgICBzdHJ1Y3QgZHJtX21vZGVf b2JqZWN0ICpvYmosCj4gKwkJCSAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wLAo+ICsJCQkg ICAgdWludDY0X3QgcHJvcF92YWx1ZSkKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0 ICpyZWY7Cj4gICAJaW50IHJldDsKPiBAQCAtMjI4Niw3ICsyMzM3LDggQEAgaW50IGRybV9tb2Rl X2F0b21pY19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAgCQkJCWdvdG8gb3V0Owo+ ICAgCQkJfQo+ICAgCj4gLQkJCXJldCA9IGF0b21pY19zZXRfcHJvcChzdGF0ZSwgb2JqLCBwcm9w LCBwcm9wX3ZhbHVlKTsKPiArCQkJcmV0ID0gZHJtX2F0b21pY19zZXRfcHJvcGVydHkoc3RhdGUs IG9iaiwgcHJvcCwKPiArCQkJCQkJICAgICAgcHJvcF92YWx1ZSk7Cj4gICAJCQlpZiAocmV0KSB7 Cj4gICAJCQkJZHJtX21vZGVfb2JqZWN0X3B1dChvYmopOwo+ICAgCQkJCWdvdG8gb3V0Owo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9jb25uZWN0b3IuYwo+IGluZGV4IDM0OTEwNGVhZGVmZS4uMTIzNzFmMTg0MDE5IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gQEAgLTcxNyw5ICs3MTcsOSBAQCBEUk1fRU5V TV9OQU1FX0ZOKGRybV9nZXRfdHZfc3ViY29ubmVjdG9yX25hbWUsCj4gICAgKiAJZHJpdmVycywg aXQgcmVtYXBzIHRvIGNvbnRyb2xsaW5nIHRoZSAiQUNUSVZFIiBwcm9wZXJ0eSBvbiB0aGUgQ1JU QyB0aGUKPiAgICAqIAljb25uZWN0b3IgaXMgbGlua2VkIHRvLiBEcml2ZXJzIHNob3VsZCBuZXZl ciBzZXQgdGhpcyBwcm9wZXJ0eSBkaXJlY3RseSwKPiAgICAqIAlpdCBpcyBoYW5kbGVkIGJ5IHRo ZSBEUk0gY29yZSBieSBjYWxsaW5nIHRoZSAmZHJtX2Nvbm5lY3Rvcl9mdW5jcy5kcG1zCj4gLSAq IAljYWxsYmFjay4gQXRvbWljIGRyaXZlcnMgc2hvdWxkIGltcGxlbWVudCB0aGlzIGhvb2sgdXNp bmcKPiAtICogCWRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kcG1zKCkuIFRoaXMgaXMgdGhl IG9ubHkgcHJvcGVydHkgc3RhbmRhcmQKPiAtICogCWNvbm5lY3RvciBwcm9wZXJ0eSB0aGF0IHVz ZXJzcGFjZSBjYW4gY2hhbmdlLgo+ICsgKiAJY2FsbGJhY2suIEZvciBhdG9taWMgZHJpdmVycyB0 aGUgcmVtYXBwaW5nIHRvIHRoZSAiQUNUSVZFIiBwcm9wZXJ0eSBpcwo+ICsgKiAJaW1wbGVtZW50 ZWQgaW4gdGhlIERSTSBjb3JlLiAgVGhpcyBpcyB0aGUgb25seSBzdGFuZGFyZCBjb25uZWN0b3IK PiArICogCXByb3BlcnR5IHRoYXQgdXNlcnNwYWNlIGNhbiBjaGFuZ2UuCj4gICAgKiBQQVRIOgo+ ICAgICogCUNvbm5lY3RvciBwYXRoIHByb3BlcnR5IHRvIGlkZW50aWZ5IGhvdyB0aGlzIHNpbmsg aXMgcGh5c2ljYWxseQo+ICAgICogCWNvbm5lY3RlZC4gVXNlZCBieSBEUCBNU1QuIFRoaXMgc2hv dWxkIGJlIHNldCBieSBjYWxsaW5nCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f Y3J0Y19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYwo+IGluZGV4 IDRhZmRmNzkwMmVkYS4uZWFiMzZhNDYwNjM4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fY3J0Y19oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxw ZXIuYwo+IEBAIC04NjMsOCArODYzLDcgQEAgc3RhdGljIGludCBkcm1faGVscGVyX2Nob29zZV9j cnRjX2RwbXMoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAgICogcHJvdmlkZWQgYnkgdGhlIGRy aXZlci4KPiAgICAqCj4gICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQuICBOZXcgZHJp dmVycyBtdXN0IGltcGxlbWVudCBhdG9taWMgbW9kZXNldAo+IC0gKiBzdXBwb3J0LCBmb3Igd2hp Y2ggdGhpcyBmdW5jdGlvbiBpcyB1bnN1aXRhYmxlLiBJbnN0ZWFkIGRyaXZlcnMgc2hvdWxkIHVz ZQo+IC0gKiBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHBtcygpLgo+ICsgKiBzdXBwb3J0 LCB3aGVyZSBEUE1TIGlzIGhhbmRsZWQgaW4gdGhlIERSTSBjb3JlLgo+ICAgICoKPiAgICAqIFJl dHVybnM6Cj4gICAgKiBBbHdheXMgcmV0dXJucyAwLgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2NydGNfaW50ZXJuYWwuaCBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRl cm5hbC5oCj4gaW5kZXggZDA3N2M1NDkwMDQxLi5hNDM1ODIwNzZiMjAgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmgKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2NydGNfaW50ZXJuYWwuaAo+IEBAIC0xNzgsNiArMTc4LDEzIEBAIHN0cnVjdCBkcm1f bWlub3I7Cj4gICBpbnQgZHJtX2F0b21pY19kZWJ1Z2ZzX2luaXQoc3RydWN0IGRybV9taW5vciAq bWlub3IpOwo+ICAgI2VuZGlmCj4gICAKPiAraW50IGRybV9hdG9taWNfY29ubmVjdG9yX2NvbW1p dF9kcG1zKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiArCQkJCSAgICAgc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiArCQkJCSAgICAgaW50IG1vZGUpOwo+ICtpbnQg ZHJtX2F0b21pY19zZXRfcHJvcGVydHkoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ ICsJCQkgICAgc3RydWN0IGRybV9tb2RlX29iamVjdCAqb2JqLAo+ICsJCQkgICAgc3RydWN0IGRy bV9wcm9wZXJ0eSAqcHJvcCwKPiArCQkJICAgIHVpbnQ2NF90IHByb3BfdmFsdWUpOwo+ICAgaW50 IGRybV9hdG9taWNfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwKPiAg IAkJCSAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwgdWludDY0X3QgKnZhbCk7Cj4g ICBpbnQgZHJtX21vZGVfYXRvbWljX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fbW9kZV9vYmplY3QuYwo+IGluZGV4IDkyNzQzYTc5NmJmMC4uMTA1NTUzMzc5MmYz IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9vYmplY3QuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9vYmplY3QuYwo+IEBAIC0zOTIsNiArMzkyLDgzIEBA IHN0cnVjdCBkcm1fcHJvcGVydHkgKmRybV9tb2RlX29ial9maW5kX3Byb3BfaWQoc3RydWN0IGRy bV9tb2RlX29iamVjdCAqb2JqLAo+ICAgCXJldHVybiBOVUxMOwo+ICAgfQo+ICAgCj4gK3N0YXRp YyBpbnQgc2V0X3Byb3BlcnR5X2xlZ2FjeShzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0ICpvYmosCj4g KwkJCSAgICAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wLAo+ICsJCQkgICAgICAgdWludDY0 X3QgcHJvcF92YWx1ZSkKPiArewo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHByb3AtPmRl djsKPiArCXN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKnJlZjsKPiArCWludCByZXQgPSAtRUlOVkFM Owo+ICsKPiArCWlmICghZHJtX3Byb3BlcnR5X2NoYW5nZV92YWxpZF9nZXQocHJvcCwgcHJvcF92 YWx1ZSwgJnJlZikpCj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICsJZHJtX21vZGVzZXRfbG9j a19hbGwoZGV2KTsKPiArCXN3aXRjaCAob2JqLT50eXBlKSB7Cj4gKwljYXNlIERSTV9NT0RFX09C SkVDVF9DT05ORUNUT1I6Cj4gKwkJcmV0ID0gZHJtX21vZGVfY29ubmVjdG9yX3NldF9vYmpfcHJv cChvYmosIHByb3AsCj4gKwkJCQkJCSAgICAgIHByb3BfdmFsdWUpOwo+ICsJCWJyZWFrOwo+ICsJ Y2FzZSBEUk1fTU9ERV9PQkpFQ1RfQ1JUQzoKPiArCQlyZXQgPSBkcm1fbW9kZV9jcnRjX3NldF9v YmpfcHJvcChvYmosIHByb3AsIHByb3BfdmFsdWUpOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBEUk1f TU9ERV9PQkpFQ1RfUExBTkU6Cj4gKwkJcmV0ID0gZHJtX21vZGVfcGxhbmVfc2V0X29ial9wcm9w KG9ial90b19wbGFuZShvYmopLAo+ICsJCQkJCQkgIHByb3AsIHByb3BfdmFsdWUpOwo+ICsJCWJy ZWFrOwo+ICsJfQo+ICsJZHJtX3Byb3BlcnR5X2NoYW5nZV92YWxpZF9wdXQocHJvcCwgcmVmKTsK PiArCWRybV9tb2Rlc2V0X3VubG9ja19hbGwoZGV2KTsKPiArCj4gKwlyZXR1cm4gcmV0Owo+ICt9 Cj4gKwo+ICtzdGF0aWMgaW50IHNldF9wcm9wZXJ0eV9hdG9taWMoc3RydWN0IGRybV9tb2RlX29i amVjdCAqb2JqLAo+ICsJCQkgICAgICAgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcCwKPiArCQkJ ICAgICAgIHVpbnQ2NF90IHByb3BfdmFsdWUpCj4gK3sKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBwcm9wLT5kZXY7Cj4gKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gKwlz dHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggY3R4Owo+ICsJaW50IHJldDsKPiArCj4gKwlk cm1fbW9kZXNldF9hY3F1aXJlX2luaXQoJmN0eCwgMCk7Cj4gKwo+ICsJc3RhdGUgPSBkcm1fYXRv bWljX3N0YXRlX2FsbG9jKGRldik7Cj4gKwlpZiAoIXN0YXRlKQo+ICsJCXJldHVybiAtRU5PTUVN Owo+ICsJc3RhdGUtPmFjcXVpcmVfY3R4ID0gJmN0eDsKPiArcmV0cnk6Cj4gKwlpZiAocHJvcCA9 PSBzdGF0ZS0+ZGV2LT5tb2RlX2NvbmZpZy5kcG1zX3Byb3BlcnR5KSB7Cj4gKwkJaWYgKG9iai0+ dHlwZSAhPSBEUk1fTU9ERV9PQkpFQ1RfQ09OTkVDVE9SKSB7Cj4gKwkJCXJldCA9IC1FSU5WQUw7 Cj4gKwkJCWdvdG8gb3V0Owo+ICsJCX0KPiArCj4gKwkJcmV0ID0gZHJtX2F0b21pY19jb25uZWN0 b3JfY29tbWl0X2RwbXMoc3RhdGUsCj4gKwkJCQkJCSAgICAgICBvYmpfdG9fY29ubmVjdG9yKG9i aiksCj4gKwkJCQkJCSAgICAgICBwcm9wX3ZhbHVlKTsKPiArCX0gZWxzZSB7Cj4gKwkJcmV0ID0g ZHJtX2F0b21pY19zZXRfcHJvcGVydHkoc3RhdGUsIG9iaiwgcHJvcCwgcHJvcF92YWx1ZSk7Cj4g KwkJaWYgKHJldCkKPiArCQkJZ290byBvdXQ7Cj4gKwkJcmV0ID0gZHJtX2F0b21pY19jb21taXQo c3RhdGUpOwo+ICsJfQo+ICtvdXQ6Cj4gKwlpZiAocmV0ID09IC1FREVBRExLKSB7Cj4gKwkJZHJt X2F0b21pY19zdGF0ZV9jbGVhcihzdGF0ZSk7Cj4gKwkJZHJtX21vZGVzZXRfYmFja29mZigmY3R4 KTsKPiArCQlnb3RvIHJldHJ5Owo+ICsJfQo+ICsKPiArCWRybV9hdG9taWNfc3RhdGVfcHV0KHN0 YXRlKTsKPiArCj4gKwlkcm1fbW9kZXNldF9kcm9wX2xvY2tzKCZjdHgpOwo+ICsJZHJtX21vZGVz ZXRfYWNxdWlyZV9maW5pKCZjdHgpOwo+ICsKPiArCXJldHVybiByZXQ7Cj4gK30KPiArCj4gICBp bnQgZHJtX21vZGVfb2JqX3NldF9wcm9wZXJ0eV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAo+ICAgCQkJCSAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKPiAg IHsKPiBAQCAtMzk5LDE4ICs0NzYsMTMgQEAgaW50IGRybV9tb2RlX29ial9zZXRfcHJvcGVydHlf aW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAlzdHJ1Y3QgZHJt X21vZGVfb2JqZWN0ICphcmdfb2JqOwo+ICAgCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5 Owo+ICAgCWludCByZXQgPSAtRUlOVkFMOwo+IC0Jc3RydWN0IGRybV9tb2RlX29iamVjdCAqcmVm Owo+ICAgCj4gICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVT RVQpKQo+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgIAo+IC0JZHJtX21vZGVzZXRfbG9ja19hbGwo ZGV2KTsKPiAtCj4gICAJYXJnX29iaiA9IGRybV9tb2RlX29iamVjdF9maW5kKGRldiwgYXJnLT5v YmpfaWQsIGFyZy0+b2JqX3R5cGUpOwo+IC0JaWYgKCFhcmdfb2JqKSB7Cj4gLQkJcmV0ID0gLUVO T0VOVDsKPiAtCQlnb3RvIG91dDsKPiAtCX0KPiArCWlmICghYXJnX29iaikKPiArCQlyZXR1cm4g LUVOT0VOVDsKPiAgIAo+ICAgCWlmICghYXJnX29iai0+cHJvcGVydGllcykKPiAgIAkJZ290byBv dXRfdW5yZWY7Cj4gQEAgLTQxOSwyOCArNDkxLDEyIEBAIGludCBkcm1fbW9kZV9vYmpfc2V0X3By b3BlcnR5X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJaWYg KCFwcm9wZXJ0eSkKPiAgIAkJZ290byBvdXRfdW5yZWY7Cj4gICAKPiAtCWlmICghZHJtX3Byb3Bl cnR5X2NoYW5nZV92YWxpZF9nZXQocHJvcGVydHksIGFyZy0+dmFsdWUsICZyZWYpKQo+IC0JCWdv dG8gb3V0X3VucmVmOwo+IC0KPiAtCXN3aXRjaCAoYXJnX29iai0+dHlwZSkgewo+IC0JY2FzZSBE Uk1fTU9ERV9PQkpFQ1RfQ09OTkVDVE9SOgo+IC0JCXJldCA9IGRybV9tb2RlX2Nvbm5lY3Rvcl9z ZXRfb2JqX3Byb3AoYXJnX29iaiwgcHJvcGVydHksCj4gLQkJCQkJCSAgICAgIGFyZy0+dmFsdWUp Owo+IC0JCWJyZWFrOwo+IC0JY2FzZSBEUk1fTU9ERV9PQkpFQ1RfQ1JUQzoKPiAtCQlyZXQgPSBk cm1fbW9kZV9jcnRjX3NldF9vYmpfcHJvcChhcmdfb2JqLCBwcm9wZXJ0eSwgYXJnLT52YWx1ZSk7 Cj4gLQkJYnJlYWs7Cj4gLQljYXNlIERSTV9NT0RFX09CSkVDVF9QTEFORToKPiAtCQlyZXQgPSBk cm1fbW9kZV9wbGFuZV9zZXRfb2JqX3Byb3Aob2JqX3RvX3BsYW5lKGFyZ19vYmopLAo+IC0JCQkJ CQkgIHByb3BlcnR5LCBhcmctPnZhbHVlKTsKPiAtCQlicmVhazsKPiAtCX0KPiAtCj4gLQlkcm1f cHJvcGVydHlfY2hhbmdlX3ZhbGlkX3B1dChwcm9wZXJ0eSwgcmVmKTsKPiArCWlmIChkcm1fZHJ2 X3VzZXNfYXRvbWljX21vZGVzZXQocHJvcGVydHktPmRldikpCj4gKwkJcmV0ID0gc2V0X3Byb3Bl cnR5X2F0b21pYyhhcmdfb2JqLCBwcm9wZXJ0eSwgYXJnLT52YWx1ZSk7Cj4gKwllbHNlCj4gKwkJ cmV0ID0gc2V0X3Byb3BlcnR5X2xlZ2FjeShhcmdfb2JqLCBwcm9wZXJ0eSwgYXJnLT52YWx1ZSk7 Cj4gICAKPiAgIG91dF91bnJlZjoKPiAgIAlkcm1fbW9kZV9vYmplY3RfcHV0KGFyZ19vYmopOwo+ IC1vdXQ6Cj4gLQlkcm1fbW9kZXNldF91bmxvY2tfYWxsKGRldik7Cj4gICAJcmV0dXJuIHJldDsK PiAgIH0KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oIGIvaW5jbHVk ZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gaW5kZXggNGJjMDg4MjY5ZDA1Li5lYThkYTQwMWM5M2Mg MTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gKysrIGIvaW5jbHVk ZS9kcm0vZHJtX2Nvbm5lY3Rvci5oCj4gQEAgLTM4Miw4ICszODIsOCBAQCBzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9mdW5jcyB7Cj4gICAJICogaW1wbGVtZW50IHRoZSA0IGxldmVsIERQTVMgc3VwcG9y dCBvbiB0aGUgY29ubmVjdG9yIGFueSBtb3JlLCBidXQKPiAgIAkgKiBpbnN0ZWFkIG9ubHkgaGF2 ZSBhbiBvbi9vZmYgIkFDVElWRSIgcHJvcGVydHkgb24gdGhlIENSVEMgb2JqZWN0Lgo+ICAgCSAq Cj4gLQkgKiBEcml2ZXJzIGltcGxlbWVudGluZyBhdG9taWMgbW9kZXNldCBzaG91bGQgdXNlCj4g LQkgKiBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHBtcygpIHRvIGltcGxlbWVudCB0aGlz IGhvb2suCj4gKwkgKiBUaGlzIGhvb2sgaXMgbm90IHVzZWQgYnkgYXRvbWljIGRyaXZlcnMsIHJl bWFwcGluZyBvZiB0aGUgbGVnYWN5IERQTVMKPiArCSAqIHByb3BlcnR5IGlzIGVudGlyZWx5IGhh bmRsZWQgaW4gdGhlIERSTSBjb3JlLgo+ICAgCSAqCj4gICAJICogUkVUVVJOUzoKPiAgIAkgKgo+ IEBAIC00ODAsMTEgKzQ4MCw5IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIHsKPiAgIAkg KiBUaGlzIGlzIHRoZSBsZWdhY3kgZW50cnkgcG9pbnQgdG8gdXBkYXRlIGEgcHJvcGVydHkgYXR0 YWNoZWQgdG8gdGhlCj4gICAJICogY29ubmVjdG9yLgo+ICAgCSAqCj4gLQkgKiBEcml2ZXJzIGlt cGxlbWVudGluZyBhdG9taWMgbW9kZXNldCBzaG91bGQgdXNlCj4gLQkgKiBkcm1fYXRvbWljX2hl bHBlcl9jb25uZWN0b3Jfc2V0X3Byb3BlcnR5KCkgdG8gaW1wbGVtZW50IHRoaXMgaG9vay4KPiAt CSAqCj4gICAJICogVGhpcyBjYWxsYmFjayBpcyBvcHRpb25hbCBpZiB0aGUgZHJpdmVyIGRvZXMg bm90IHN1cHBvcnQgYW55IGxlZ2FjeQo+IC0JICogZHJpdmVyLXByaXZhdGUgcHJvcGVydGllcy4K PiArCSAqIGRyaXZlci1wcml2YXRlIHByb3BlcnRpZXMuIEZvciBhdG9taWMgZHJpdmVycyBpdCBp cyBub3QgdXNlZCBiZWNhdXNlCj4gKwkgKiBwcm9wZXJ0eSBoYW5kbGluZyBpcyBkb25lIGVudGly ZWx5IGluIHRoZSBEUk0gY29yZS4KPiAgIAkgKgo+ICAgCSAqIFJFVFVSTlM6Cj4gICAJICoKPiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRj LmgKPiBpbmRleCAzYTkxMWE2NGMyNTcuLjljMDFmOTRiMzkzYyAxMDA2NDQKPiAtLS0gYS9pbmNs dWRlL2RybS9kcm1fY3J0Yy5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+IEBAIC00 ODEsMTEgKzQ4MSw5IEBAIHN0cnVjdCBkcm1fY3J0Y19mdW5jcyB7Cj4gICAJICogVGhpcyBpcyB0 aGUgbGVnYWN5IGVudHJ5IHBvaW50IHRvIHVwZGF0ZSBhIHByb3BlcnR5IGF0dGFjaGVkIHRvIHRo ZQo+ICAgCSAqIENSVEMuCj4gICAJICoKPiAtCSAqIERyaXZlcnMgaW1wbGVtZW50aW5nIGF0b21p YyBtb2Rlc2V0IHNob3VsZCB1c2UKPiAtCSAqIGRybV9hdG9taWNfaGVscGVyX2NydGNfc2V0X3By b3BlcnR5KCkgdG8gaW1wbGVtZW50IHRoaXMgaG9vay4KPiAtCSAqCj4gICAJICogVGhpcyBjYWxs YmFjayBpcyBvcHRpb25hbCBpZiB0aGUgZHJpdmVyIGRvZXMgbm90IHN1cHBvcnQgYW55IGxlZ2Fj eQo+IC0JICogZHJpdmVyLXByaXZhdGUgcHJvcGVydGllcy4KPiArCSAqIGRyaXZlci1wcml2YXRl IHByb3BlcnRpZXMuIEZvciBhdG9taWMgZHJpdmVycyBpdCBpcyBub3QgdXNlZCBiZWNhdXNlCj4g KwkgKiBwcm9wZXJ0eSBoYW5kbGluZyBpcyBkb25lIGVudGlyZWx5IGluIHRoZSBEUk0gY29yZS4K PiAgIAkgKgo+ICAgCSAqIFJFVFVSTlM6Cj4gICAJICoKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9k cm0vZHJtX3BsYW5lLmggYi9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaAo+IGluZGV4IDlhYjNlNzA0 NDgxMi4uMjA0YzIxMzgxMGRmIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5o Cj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmgKPiBAQCAtMjMzLDExICsyMzMsOSBAQCBz dHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIHsKPiAgIAkgKiBUaGlzIGlzIHRoZSBsZWdhY3kgZW50cnkg cG9pbnQgdG8gdXBkYXRlIGEgcHJvcGVydHkgYXR0YWNoZWQgdG8gdGhlCj4gICAJICogcGxhbmUu Cj4gICAJICoKPiAtCSAqIERyaXZlcnMgaW1wbGVtZW50aW5nIGF0b21pYyBtb2Rlc2V0IHNob3Vs ZCB1c2UKPiAtCSAqIGRybV9hdG9taWNfaGVscGVyX3BsYW5lX3NldF9wcm9wZXJ0eSgpIHRvIGlt cGxlbWVudCB0aGlzIGhvb2suCj4gLQkgKgo+ICAgCSAqIFRoaXMgY2FsbGJhY2sgaXMgb3B0aW9u YWwgaWYgdGhlIGRyaXZlciBkb2VzIG5vdCBzdXBwb3J0IGFueSBsZWdhY3kKPiAtCSAqIGRyaXZl ci1wcml2YXRlIHByb3BlcnRpZXMuCj4gKwkgKiBkcml2ZXItcHJpdmF0ZSBwcm9wZXJ0aWVzLiBG b3IgYXRvbWljIGRyaXZlcnMgaXQgaXMgbm90IHVzZWQgYmVjYXVzZQo+ICsJICogcHJvcGVydHkg aGFuZGxpbmcgaXMgZG9uZSBlbnRpcmVseSBpbiB0aGUgRFJNIGNvcmUuCj4gICAJICoKPiAgIAkg KiBSRVRVUk5TOgo+ICAgCSAqCj4gCgotLSAKUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIElu Yy4gaXMgYSBtZW1iZXIgb2YgQ29kZSBBdXJvcmEgRm9ydW0sCmEgTGludXggRm91bmRhdGlvbiBD b2xsYWJvcmF0aXZlIFByb2plY3QKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCg==