From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: Re: [PATCH v3 4/8] drm: Add driver-private objects to atomic state Date: Wed, 15 Feb 2017 16:53:05 +0530 Message-ID: <76f93609-fa7e-1f0c-f2f8-ae8010662bc2@codeaurora.org> References: <1486622291-3524-1-git-send-email-dhinakaran.pandiyan@intel.com> <1486622291-3524-5-git-send-email-dhinakaran.pandiyan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1486622291-3524-5-git-send-email-dhinakaran.pandiyan@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Dhinakaran Pandiyan , intel-gfx@lists.freedesktop.org, Daniel Vetter Cc: Alex Deucher , Maarten Lankhorst , dri-devel@lists.freedesktop.org, Ben Skeggs List-Id: dri-devel@lists.freedesktop.org SGksCgpPbiAwMi8wOS8yMDE3IDEyOjA4IFBNLCBEaGluYWthcmFuIFBhbmRpeWFuIHdyb3RlOgo+ IEl0IGlzIG5lY2Vzc2FyeSB0byB0cmFjayBzdGF0ZXMgZm9yIG9iamVjdHMgb3RoZXIgdGhhbiBj b25uZWN0b3IsIGNydGMKPiBhbmQgcGxhbmUgZm9yIGF0b21pYyBtb2Rlc2V0cy4gQnV0IGFkZGlu ZyBvYmplY3RzIGxpa2UgRFAgTVNUIGxpbmsKPiBiYW5kd2lkdGggdG8gZHJtX2F0b21pY19zdGF0 ZSB3b3VsZCBtZWFuIHRoYXQgYSBub24tY29yZSBvYmplY3Qgd2lsbCBiZQo+IG1vZGlmaWVkIGJ5 IHRoZSBjb3JlIGhlbHBlciBmdW5jdGlvbnMgZm9yIHN3YXBwaW5nIGFuZCBjbGVhcmluZwo+IGl0 J3Mgc3RhdGUuIFNvLCBsZXRzIGFkZCB2b2lkICogb2JqZWN0cyBhbmQgaGVscGVyIGZ1bmN0aW9u cyB0aGF0IG9wZXJhdGUKPiBvbiB2b2lkICogdHlwZXMgdG8ga2VlcCB0aGVzZSBvYmplY3RzIGFu ZCBzdGF0ZXMgcHJpdmF0ZSB0byB0aGUgY29yZS4KPiBEcml2ZXJzIGNhbiB0aGVuIGltcGxlbWVu dCBzcGVjaWZpYyBmdW5jdGlvbnMgdG8gc3dhcCBhbmQgY2xlYXIgc3RhdGVzLgo+IFRoZSBvdGhl ciBhZHZhbnRhZ2UgaGF2aW5nIGp1c3Qgdm9pZCAqIGZvciB0aGVzZSBvYmplY3RzIGluCj4gZHJt X2F0b21pY19zdGF0ZSBpcyB0aGF0IG9iamVjdHMgb2YgZGlmZmVyZW50IHR5cGVzIGNhbiBiZSBt YW5hZ2VkIGluIHRoZQo+IHNhbWUgc3RhdGUgYXJyYXkuCj4KPiB2MjogQWRkZWQgZG9jcyBhbmQg bmV3IGl0ZXJhdG9yIHRvIGZpbHRlciBwcml2YXRlIG9iamVjdHMgKERhbmllbCkKPgo+IFN1Z2dl c3RlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiBTaWduZWQt b2ZmLWJ5OiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNv bT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgfCA2OCArKysr KysrKysrKysrKysrKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVs cGVyLmMgfCAgNSArKwo+ICBpbmNsdWRlL2RybS9kcm1fYXRvbWljLmggICAgICAgICAgICB8IDkx ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgMyBmaWxlcyBjaGFuZ2Vk LCAxNjQgaW5zZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gaW5kZXggYTU2NzMxMC4u MWE5ZmZlOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IEBAIC01Nyw2ICs1Nyw3IEBAIHZvaWQg ZHJtX2F0b21pY19zdGF0ZV9kZWZhdWx0X3JlbGVhc2Uoc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlKQo+ICAJa2ZyZWUoc3RhdGUtPmNvbm5lY3RvcnMpOwo+ICAJa2ZyZWUoc3RhdGUtPmNy dGNzKTsKPiAgCWtmcmVlKHN0YXRlLT5wbGFuZXMpOwo+ICsJa2ZyZWUoc3RhdGUtPnByaXZhdGVf b2Jqcyk7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX3N0YXRlX2RlZmF1bHRfcmVs ZWFzZSk7Cj4KPiBAQCAtMTg0LDYgKzE4NSwyMCBAQCB2b2lkIGRybV9hdG9taWNfc3RhdGVfZGVm YXVsdF9jbGVhcihzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAkJc3RhdGUtPnBs YW5lc1tpXS5wdHIgPSBOVUxMOwo+ICAJCXN0YXRlLT5wbGFuZXNbaV0uc3RhdGUgPSBOVUxMOwo+ ICAJfQo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBzdGF0ZS0+bnVtX3ByaXZhdGVfb2JqczsgaSsr KSB7Cj4gKwkJdm9pZCAqcHJpdmF0ZV9vYmogPSBzdGF0ZS0+cHJpdmF0ZV9vYmpzW2ldLm9iajsK PiArCQl2b2lkICpvYmpfc3RhdGUgPSBzdGF0ZS0+cHJpdmF0ZV9vYmpzW2ldLm9ial9zdGF0ZTsK PiArCj4gKwkJaWYgKCFwcml2YXRlX29iaikKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCXN0YXRl LT5wcml2YXRlX29ianNbaV0uZnVuY3MtPmRlc3Ryb3lfc3RhdGUob2JqX3N0YXRlKTsKPiArCQlz dGF0ZS0+cHJpdmF0ZV9vYmpzW2ldLm9iaiA9IE5VTEw7Cj4gKwkJc3RhdGUtPnByaXZhdGVfb2Jq c1tpXS5vYmpfc3RhdGUgPSBOVUxMOwo+ICsJCXN0YXRlLT5wcml2YXRlX29ianNbaV0uZnVuY3Mg PSBOVUxMOwo+ICsJfQo+ICsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfc3RhdGVf ZGVmYXVsdF9jbGVhcik7Cj4KPiBAQCAtOTc0LDYgKzk4OSw1OSBAQCBzdGF0aWMgdm9pZCBkcm1f YXRvbWljX3BsYW5lX3ByaW50X3N0YXRlKHN0cnVjdCBkcm1fcHJpbnRlciAqcCwKPiAgfQo+Cj4g IC8qKgo+ICsgKiBkcm1fYXRvbWljX2dldF9wcml2YXRlX29ial9zdGF0ZSAtIGdldCBwcml2YXRl IG9iamVjdCBzdGF0ZQo+ICsgKiBAc3RhdGU6IGdsb2JhbCBhdG9taWMgc3RhdGUKPiArICogQG9i ajogcHJpdmF0ZSBvYmplY3QgdG8gZ2V0IHRoZSBzdGF0ZSBmb3IKPiArICogQGZ1bmNzOiBwb2lu dGVyIHRvIHRoZSBzdHJ1Y3Qgb2YgZnVuY3Rpb24gcG9pbnRlcnMgdGhhdCBpZGVudGlmeSB0aGUg b2JqZWN0Cj4gKyAqIHR5cGUKPiArICoKPiArICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBw cml2YXRlIG9iamVjdCBzdGF0ZSBmb3IgdGhlIGdpdmVuIHByaXZhdGUgb2JqZWN0LAo+ICsgKiBh bGxvY2F0aW5nIHRoZSBzdGF0ZSBpZiBuZWVkZWQuIEl0IGRvZXMgbm90IGdyYWIgYW55IGxvY2tz IGFzIHRoZSBjYWxsZXIgaXMKPiArICogZXhwZWN0ZWQgdG8gY2FyZSBvZiBhbnkgcmVxdWlyZWQg bG9ja2luZy4KPiArICoKPiArICogUkVUVVJOUzoKPiArICoKPiArICogRWl0aGVyIHRoZSBhbGxv Y2F0ZWQgc3RhdGUgb3IgdGhlIGVycm9yIGNvZGUgZW5jb2RlZCBpbnRvIGEgcG9pbnRlci4KPiAr ICovCj4gK3ZvaWQgKgo+ICtkcm1fYXRvbWljX2dldF9wcml2YXRlX29ial9zdGF0ZShzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsIHZvaWQgKm9iaiwKPiArCQkJICAgICAgY29uc3Qgc3Ry dWN0IGRybV9wcml2YXRlX3N0YXRlX2Z1bmNzICpmdW5jcykKPiArewo+ICsJaW50IGluZGV4LCBu dW1fb2JqcywgaTsKPiArCXNpemVfdCBzaXplOwo+ICsJc3RydWN0IF9fZHJtX3ByaXZhdGVfb2Jq c19zdGF0ZSAqYXJyOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBzdGF0ZS0+bnVtX3ByaXZhdGVf b2JqczsgaSsrKQo+ICsJCWlmIChvYmogPT0gc3RhdGUtPnByaXZhdGVfb2Jqc1tpXS5vYmogJiYK PiArCQkgICAgc3RhdGUtPnByaXZhdGVfb2Jqc1tpXS5vYmpfc3RhdGUpCj4gKwkJCXJldHVybiBz dGF0ZS0+cHJpdmF0ZV9vYmpzW2ldLm9ial9zdGF0ZTsKCkNvbXBhcmluZyB0aGlzIGZ1bmMgdG8g ZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUvZHJtX2F0b21pY19nZXRfY3J0Y19zdGF0ZSwgaXQK ZG9lc24ndCBzZWVtIHRvIGNhbGwgZHJtX21vZGVzZXRfbG9jayBpZiB0aGUgb2JqX3N0YXRlIGRv ZXNuJ3QgYWxyZWFkeSBleGlzdC4gSQpkb24ndCB1bmRlcnN0YW5kIHRoZSBsb2NraW5nIHN0dWZm IHRvb3dlbGwsIEkganVzdCBub3RpY2VkIHRoaXMgZGlmZmVyZW5jZSB3aGVuCmNvbXBhcmluZyB0 aGlzIGFwcHJvYWNoIHdpdGggd2hhdCBpcyBkb25lIGluIHRoZSBtc20ga21zIGRyaXZlciAod2hl cmUgd2UKaGF2ZSBzdWJjbGFzc2VkIGRybV9hdG9taWNfc3RhdGUgdG8gbXNtX2ttc19zdGF0ZSku CgpUaGFua3MsCkFyY2hpdAoKPiArCj4gKwludW1fb2JqcyA9IHN0YXRlLT5udW1fcHJpdmF0ZV9v YmpzICsgMTsKPiArCXNpemUgPSBzaXplb2YoKnN0YXRlLT5wcml2YXRlX29ianMpICogbnVtX29i anM7Cj4gKwlhcnIgPSBrcmVhbGxvYyhzdGF0ZS0+cHJpdmF0ZV9vYmpzLCBzaXplLCBHRlBfS0VS TkVMKTsKPiArCWlmICghYXJyKQo+ICsJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwo+ICsKPiAr CXN0YXRlLT5wcml2YXRlX29ianMgPSBhcnI7Cj4gKwlpbmRleCA9IHN0YXRlLT5udW1fcHJpdmF0 ZV9vYmpzOwo+ICsJbWVtc2V0KCZzdGF0ZS0+cHJpdmF0ZV9vYmpzW2luZGV4XSwgMCwgc2l6ZW9m KCpzdGF0ZS0+cHJpdmF0ZV9vYmpzKSk7Cj4gKwo+ICsJc3RhdGUtPnByaXZhdGVfb2Jqc1tpbmRl eF0ub2JqX3N0YXRlID0gZnVuY3MtPmR1cGxpY2F0ZV9zdGF0ZShzdGF0ZSwgb2JqKTsKPiArCWlm ICghc3RhdGUtPnByaXZhdGVfb2Jqc1tpbmRleF0ub2JqX3N0YXRlKQo+ICsJCXJldHVybiBFUlJf UFRSKC1FTk9NRU0pOwo+ICsKPiArCXN0YXRlLT5wcml2YXRlX29ianNbaW5kZXhdLm9iaiA9IG9i ajsKPiArCXN0YXRlLT5wcml2YXRlX29ianNbaW5kZXhdLmZ1bmNzID0gZnVuY3M7Cj4gKwlzdGF0 ZS0+bnVtX3ByaXZhdGVfb2JqcyA9IG51bV9vYmpzOwo+ICsKPiArCURSTV9ERUJVR19BVE9NSUMo IkFkZGVkIG5ldyBwcml2YXRlIG9iamVjdCBzdGF0ZSAlcCB0byAlcFxuIiwKPiArCQkJIHN0YXRl LT5wcml2YXRlX29ianNbaW5kZXhdLm9ial9zdGF0ZSwgc3RhdGUpOwo+ICsKPiArCXJldHVybiBz dGF0ZS0+cHJpdmF0ZV9vYmpzW2luZGV4XS5vYmpfc3RhdGU7Cj4gK30KPiArRVhQT1JUX1NZTUJP TChkcm1fYXRvbWljX2dldF9wcml2YXRlX29ial9zdGF0ZSk7Cj4gKwo+ICsvKioKPiAgICogZHJt X2F0b21pY19nZXRfY29ubmVjdG9yX3N0YXRlIC0gZ2V0IGNvbm5lY3RvciBzdGF0ZQo+ICAgKiBA c3RhdGU6IGdsb2JhbCBhdG9taWMgc3RhdGUgb2JqZWN0Cj4gICAqIEBjb25uZWN0b3I6IGNvbm5l Y3RvciB0byBnZXQgc3RhdGUgb2JqZWN0IGZvcgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBl ci5jCj4gaW5kZXggM2E0MzgzZi4uODc5NTA4OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj X2hlbHBlci5jCj4gQEAgLTE5ODMsNiArMTk4Myw4IEBAIHZvaWQgZHJtX2F0b21pY19oZWxwZXJf c3dhcF9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAlzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZTsKPiAgCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOwo+ ICAJc3RydWN0IGRybV9jcnRjX2NvbW1pdCAqY29tbWl0Owo+ICsJdm9pZCAqb2JqLCAqb2JqX3N0 YXRlOwo+ICsJY29uc3Qgc3RydWN0IGRybV9wcml2YXRlX3N0YXRlX2Z1bmNzICpmdW5jczsKPgo+ ICAJaWYgKHN0YWxsKSB7Cj4gIAkJZm9yX2VhY2hfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0Yywg Y3J0Y19zdGF0ZSwgaSkgewo+IEBAIC0yMDMxLDYgKzIwMzMsOSBAQCB2b2lkIGRybV9hdG9taWNf aGVscGVyX3N3YXBfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAJCXN3 YXAoc3RhdGUtPnBsYW5lc1tpXS5zdGF0ZSwgcGxhbmUtPnN0YXRlKTsKPiAgCQlwbGFuZS0+c3Rh dGUtPnN0YXRlID0gTlVMTDsKPiAgCX0KPiArCj4gKwlfX2Zvcl9lYWNoX3ByaXZhdGVfb2JqKHN0 YXRlLCBvYmosIG9ial9zdGF0ZSwgaSwgZnVuY3MpCj4gKwkJZnVuY3MtPnN3YXBfc3RhdGUob2Jq LCAmc3RhdGUtPnByaXZhdGVfb2Jqc1tpXS5vYmpfc3RhdGUpOwo+ICB9Cj4gIEVYUE9SVF9TWU1C T0woZHJtX2F0b21pY19oZWxwZXJfc3dhcF9zdGF0ZSk7Cj4KPiBkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9kcm0vZHJtX2F0b21pYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCj4gaW5kZXggMDUy YWIxNi4uY2FmYTQwNCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPiAr KysgYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPiBAQCAtMTU1LDYgKzE1NSw1MyBAQCBzdHJ1 Y3QgX19kcm1fY29ubm5lY3RvcnNfc3RhdGUgewo+ICB9Owo+Cj4gIC8qKgo+ICsgKiBzdHJ1Y3Qg ZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3MgLSBhdG9taWMgc3RhdGUgZnVuY3Rpb25zIGZvciBwcml2 YXRlIG9iamVjdHMKPiArICoKPiArICogVGhlc2UgaG9va3MgYXJlIHVzZWQgYnkgYXRvbWljIGhl bHBlcnMgdG8gY3JlYXRlLCBzd2FwIGFuZCBkZXN0cm95IHN0YXRlcyBvZgo+ICsgKiBwcml2YXRl IG9iamVjdHMuIFRoZSBzdHJ1Y3R1cmUgaXRzZWxmIGlzIHVzZWQgYXMgYSB2dGFibGUgdG8gaWRl bnRpZnkgdGhlCj4gKyAqIGFzc29jaWF0ZWQgcHJpdmF0ZSBvYmplY3QgdHlwZS4gRWFjaCBwcml2 YXRlIG9iamVjdCB0eXBlIHRoYXQgbmVlZHMgdG8gYmUKPiArICogYWRkZWQgdG8gdGhlIGF0b21p YyBzdGF0ZXMgaXMgZXhwZWN0ZWQgdG8gaGF2ZSBhbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGVzZQo+ ICsgKiBob29rcyBhbmQgcGFzcyBhIHBvaW50ZXIgdG8gaXQncyBkcm1fcHJpdmF0ZV9zdGF0ZV9m dW5jcyBzdHJ1Y3QgdG8KPiArICogZHJtX2F0b21pY19nZXRfcHJpdmF0ZV9vYmpfc3RhdGUoKS4K PiArICovCj4gK3N0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZV9mdW5jcyB7Cj4gKwkvKioKPiArCSAq IEBkdXBsaWNhdGVfc3RhdGU6Cj4gKwkgKgo+ICsJICogRHVwbGljYXRlIHRoZSBjdXJyZW50IHN0 YXRlIG9mIHRoZSBwcml2YXRlIG9iamVjdCBhbmQgcmV0dXJuIGl0LiBJdAo+ICsJICogaXMgYW4g ZXJyb3IgdG8gY2FsbCB0aGlzIGJlZm9yZSBvYmotPnN0YXRlIGhhcyBiZWVuIGluaXRpYWxpemVk Lgo+ICsJICoKPiArCSAqIFJFVFVSTlM6Cj4gKwkgKgo+ICsJICogRHVwbGljYXRlZCBhdG9taWMg c3RhdGUgb3IgTlVMTCB3aGVuIG9iai0+c3RhdGUgaXMgbm90Cj4gKwkgKiBpbml0aWFsaXplZCBv ciBhbGxvY2F0aW9uIGZhaWxlZC4KPiArCSAqLwo+ICsJdm9pZCAqKCpkdXBsaWNhdGVfc3RhdGUp KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwgdm9pZCAqb2JqKTsKPiArCj4gKwkvKioK PiArCSAqIEBzd2FwX3N0YXRlOgo+ICsJICoKPiArCSAqIFRoaXMgZnVuY3Rpb24gc3dhcHMgdGhl IGV4aXN0aW5nIHN0YXRlIG9mIGEgcHJpdmF0ZSBvYmplY3QgQG9iaiB3aXRoCj4gKwkgKiBpdCdz IG5ld2x5IGNyZWF0ZWQgc3RhdGUsIHRoZSBwb2ludGVyIHRvIHdoaWNoIGlzIHBhc3NlZCBhcwo+ ICsJICogQG9ial9zdGF0ZV9wdHIuCj4gKwkgKi8KPiArCXZvaWQgKCpzd2FwX3N0YXRlKSh2b2lk ICpvYmosIHZvaWQgKipvYmpfc3RhdGVfcHRyKTsKPiArCj4gKwkvKioKPiArCSAqIEBkZXN0cm95 X3N0YXRlOgo+ICsJICoKPiArCSAqIEZyZWVzIHRoZSBwcml2YXRlIG9iamVjdCBzdGF0ZSBjcmVh dGVkIHdpdGggQGR1cGxpY2F0ZV9zdGF0ZS4KPiArCSAqLwo+ICsJdm9pZCAoKmRlc3Ryb3lfc3Rh dGUpKHZvaWQgKm9ial9zdGF0ZSk7Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgX19kcm1fcHJpdmF0ZV9v YmpzX3N0YXRlIHsKPiArCXZvaWQgKm9iajsKPiArCXZvaWQgKm9ial9zdGF0ZTsKPiArCWNvbnN0 IHN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZV9mdW5jcyAqZnVuY3M7Cj4gK307Cj4gKwo+ICsvKioK PiAgICogc3RydWN0IGRybV9hdG9taWNfc3RhdGUgLSB0aGUgZ2xvYmFsIHN0YXRlIG9iamVjdCBm b3IgYXRvbWljIHVwZGF0ZXMKPiAgICogQHJlZjogY291bnQgb2YgYWxsIHJlZmVyZW5jZXMgdG8g dGhpcyBzdGF0ZSAod2lsbCBub3QgYmUgZnJlZWQgdW50aWwgemVybykKPiAgICogQGRldjogcGFy ZW50IERSTSBkZXZpY2UKPiBAQCAtMTY1LDYgKzIxMiw4IEBAIHN0cnVjdCBfX2RybV9jb25ubmVj dG9yc19zdGF0ZSB7Cj4gICAqIEBjcnRjczogcG9pbnRlciB0byBhcnJheSBvZiBDUlRDIHBvaW50 ZXJzCj4gICAqIEBudW1fY29ubmVjdG9yOiBzaXplIG9mIHRoZSBAY29ubmVjdG9ycyBhbmQgQGNv bm5lY3Rvcl9zdGF0ZXMgYXJyYXlzCj4gICAqIEBjb25uZWN0b3JzOiBwb2ludGVyIHRvIGFycmF5 IG9mIHN0cnVjdHVyZXMgd2l0aCBwZXItY29ubmVjdG9yIGRhdGEKPiArICogQG51bV9wcml2YXRl X29ianM6IHNpemUgb2YgdGhlIEBwcml2YXRlX29ianMgYXJyYXkKPiArICogQHByaXZhdGVfb2Jq czogcG9pbnRlciB0byBhcnJheSBvZiBwcml2YXRlIG9iamVjdCBwb2ludGVycwo+ICAgKiBAYWNx dWlyZV9jdHg6IGFjcXVpcmUgY29udGV4dCBmb3IgdGhpcyBhdG9taWMgbW9kZXNldCBzdGF0ZSB1 cGRhdGUKPiAgICovCj4gIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlIHsKPiBAQCAtMTc4LDYgKzIy Nyw4IEBAIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlIHsKPiAgCXN0cnVjdCBfX2RybV9jcnRjc19z dGF0ZSAqY3J0Y3M7Cj4gIAlpbnQgbnVtX2Nvbm5lY3RvcjsKPiAgCXN0cnVjdCBfX2RybV9jb25u bmVjdG9yc19zdGF0ZSAqY29ubmVjdG9yczsKPiArCWludCBudW1fcHJpdmF0ZV9vYmpzOwo+ICsJ c3RydWN0IF9fZHJtX3ByaXZhdGVfb2Jqc19zdGF0ZSAqcHJpdmF0ZV9vYmpzOwo+Cj4gIAlzdHJ1 Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKmFjcXVpcmVfY3R4Owo+Cj4gQEAgLTI3MCw2ICsz MjEsMTEgQEAgaW50IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpz dGF0ZSwgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCj4gIAkJdWludDY0X3QgdmFsKTsK Pgo+ICt2b2lkICogX19tdXN0X2NoZWNrCj4gK2RybV9hdG9taWNfZ2V0X3ByaXZhdGVfb2JqX3N0 YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiArCQkJICAgICAgdm9pZCAqb2Jq LAo+ICsJCQkgICAgICBjb25zdCBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3MgKmZ1bmNz KTsKPiArCj4gIC8qKgo+ICAgKiBkcm1fYXRvbWljX2dldF9leGlzdGluZ19jcnRjX3N0YXRlIC0g Z2V0IGNydGMgc3RhdGUsIGlmIGl0IGV4aXN0cwo+ICAgKiBAc3RhdGU6IGdsb2JhbCBhdG9taWMg c3RhdGUgb2JqZWN0Cj4gQEAgLTQxNSw2ICs0NzEsNDEgQEAgdm9pZCBkcm1fc3RhdGVfZHVtcChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3ByaW50ZXIgKnApOwo+ICAJCWZvcl9l YWNoX2lmIChwbGFuZV9zdGF0ZSkKPgo+ICAvKioKPiArICogX19mb3JfZWFjaF9wcml2YXRlX29i aiAtIGl0ZXJhdGUgb3ZlciBhbGwgcHJpdmF0ZSBvYmplY3RzCj4gKyAqIEBfX3N0YXRlOiB0aGUg YXRvbWljIHN0YXRlCj4gKyAqCj4gKyAqIFRoaXMgbWFjcm8gaXRlcmF0ZXMgb3ZlciB0aGUgYXJy YXkgY29udGFpbmluZyBwcml2YXRlIG9iamVjdCBkYXRhIGluIGF0b21pYwo+ICsgKiBzdGF0ZQo+ ICsgKi8KPiArI2RlZmluZSBfX2Zvcl9lYWNoX3ByaXZhdGVfb2JqKF9fc3RhdGUsIG9iaiwgb2Jq X3N0YXRlLCBfX2ksIF9fZnVuY3MpCVwKPiArCWZvciAoKF9faSkgPSAwOwkJCQkJCQlcCj4gKwkg ICAgIChfX2kpIDwgKF9fc3RhdGUpLT5udW1fcHJpdmF0ZV9vYmpzICYmCQkJXAo+ICsJICAgICAo KG9iaikgPSAoX19zdGF0ZSktPnByaXZhdGVfb2Jqc1tfX2ldLm9iaiwJCQlcCj4gKwkgICAgIChf X2Z1bmNzKSA9IChfX3N0YXRlKS0+cHJpdmF0ZV9vYmpzW19faV0uZnVuY3MsCQlcCj4gKwkgICAg IChvYmpfc3RhdGUpID0gKF9fc3RhdGUpLT5wcml2YXRlX29ianNbX19pXS5vYmpfc3RhdGUsIDEp OwlcCj4gKwkgICAgIChfX2kpKyspCQkJCQkJCVwKPiArCQlmb3JfZWFjaF9pZiAoX19mdW5jcykK PiArCj4gKy8qKgo+ICsgKiBmb3JfZWFjaF9wcml2YXRlX29iaiAtIGl0ZXJhdGUgb3ZlciBhIHNw ZWNpZnkgdHlwZSBvZiBwcml2YXRlIG9iamVjdAo+ICsgKiBAX19zdGF0ZTogdGhlIGF0b21pYyBz dGF0ZQo+ICsgKiBAb2JqX2Z1bmNzOiBmdW5jdGlvbiB0YWJsZSB0byBmaWx0ZXIgdGhlIHByaXZh dGUgb2JqZWN0cwo+ICsgKgo+ICsgKiBUaGlzIG1hY3JvIGl0ZXJhdGVzIG92ZXIgdGhlIHByaXZh dGUgb2JqZWN0cyBzdGF0ZSBhcnJheSB3aGlsZSBmaWx0ZXJpbmcgdGhlCj4gKyAqIG9iamVjdHMg YmFzZWQgb24gdGhlIHZmdW5jIHRhYmxlIHRoYXQgaXMgcGFzc2VkIGFzIEBvYmpfZnVuY3MuIE5l dyBtYWNyb3MKPiArICogY2FuIGJlIGNyZWF0ZWQgYnkgcGFzc2luZyBpbiB0aGUgdmZ1bmMgdGFi bGUgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMKPiArICogcHJpdmF0ZSBvYmplY3QuCj4gKyAq Lwo+ICsjZGVmaW5lIGZvcl9lYWNoX3ByaXZhdGVfb2JqKF9fc3RhdGUsIG9ial9mdW5jcywgb2Jq LCBvYmpfc3RhdGUsIF9faSwgX19mdW5jcykJXAo+ICsJZm9yICgoX19pKSA9IDA7CQkJCQkJCVwK PiArCSAgICAgKF9faSkgPCAoX19zdGF0ZSktPm51bV9wcml2YXRlX29ianMgJiYJCQlcCj4gKwkg ICAgICgob2JqKSA9IChfX3N0YXRlKS0+cHJpdmF0ZV9vYmpzW19faV0ub2JqLAkJCVwKPiArCSAg ICAgKF9fZnVuY3MpID0gKF9fc3RhdGUpLT5wcml2YXRlX29ianNbX19pXS5mdW5jcywJCVwKPiAr CSAgICAgKG9ial9zdGF0ZSkgPSAoX19zdGF0ZSktPnByaXZhdGVfb2Jqc1tfX2ldLm9ial9zdGF0 ZSwgMSk7CVwKPiArCSAgICAgKF9faSkrKykJCQkJCQkJXAo+ICsJCWZvcl9lYWNoX2lmIChfX2Z1 bmNzID09IG9ial9mdW5jcykKPiArCj4gKy8qKgo+ICAgKiBkcm1fYXRvbWljX2NydGNfbmVlZHNf bW9kZXNldCAtIGNvbXB1dGUgY29tYmluZWQgbW9kZXNldCBuZWVkCj4gICAqIEBzdGF0ZTogJmRy bV9jcnRjX3N0YXRlIGZvciB0aGUgQ1JUQwo+ICAgKgo+CgotLSAKUXVhbGNvbW0gSW5ub3ZhdGlv biBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgQ29kZSBBdXJvcmEgRm9ydW0sCmEgTGludXgg Rm91bmRhdGlvbiBDb2xsYWJvcmF0aXZlIFByb2plY3QKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==