From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Hellstrom Subject: Re: [RFC 1/3] drm: Add DAMAGE_CLIPS property to plane Date: Thu, 5 Apr 2018 11:00:15 +0200 Message-ID: References: <1522885748-67122-1-git-send-email-drawat@vmware.com> <1522885748-67122-2-git-send-email-drawat@vmware.com> <20180405073525.GP3881@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0053.outbound.protection.outlook.com [104.47.34.53]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1B3BB6E6FA for ; Thu, 5 Apr 2018 09:00:32 +0000 (UTC) In-Reply-To: <20180405073525.GP3881@phenom.ffwll.local> 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: Deepak Rawat , dri-devel@lists.freedesktop.org, syeh@vmware.com, linux-graphics-maintainer@vmware.com, ville.syrjala@linux.intel.com, lukasz.spintzyk@displaylink.com, noralf@tronnes.org, robdclark@gmail.com, gustavo@padovan.org, maarten.lankhorst@linux.intel.com, seanpaul@chromium.org, airlied@linux.ie, linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org T24gMDQvMDUvMjAxOCAwOTozNSBBTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBXZWQsIEFw ciAwNCwgMjAxOCBhdCAwNDo0OTowNlBNIC0wNzAwLCBEZWVwYWsgUmF3YXQgd3JvdGU6Cj4+IEZy b206IEx1a2FzeiBTcGludHp5ayA8bHVrYXN6LnNwaW50enlrQGRpc3BsYXlsaW5rLmNvbT4KPj4K Pj4gT3B0aW9uYWwgcGxhbmUgcHJvcGVydHkgdG8gbWFyayBkYW1hZ2VkIHJlZ2lvbnMgb24gdGhl IHBsYW5lIGluCj4+IGZyYW1lYnVmZmVyIGNvb3JkaW5hdGVzIG9mIHRoZSBmcmFtZWJ1ZmZlciBh dHRhY2hlZCB0byB0aGUgcGxhbmUuCj4+Cj4+IFRoZSBsYXlvdXQgb2YgYmxvYiBkYXRhIGlzIHNp bXBseSBhbiBhcnJheSBvZiBkcm1fbW9kZV9yZWN0IHdpdGggbWF4aW11bQo+PiBhcnJheSBzaXpl IGxpbWl0ZWQgYnkgRFJNX01PREVfRkJfRElSVFlfTUFYX0NMSVBTLiBVbmxpa2UgcGxhbmUgc3Jj Cj4+IGNvb3JkaW5hdGVzLCBkYW1hZ2UgY2xpcHMgYXJlIG5vdCBpbiAxNi4xNiBmaXhlZCBwb2lu dC4KPj4KPj4gRGFtYWdlIGNsaXBzIGFyZSBhIGhpbnQgdG8ga2VybmVsIGFzIHdoaWNoIGFyZWEg b2YgZnJhbWVidWZmZXIgaGFzCj4+IGNoYW5nZWQgc2luY2UgbGFzdCBwYWdlLWZsaXAuIFRoaXMg c2hvdWxkIGJlIGhlbHBmdWwgZm9yIHNvbWUgZHJpdmVycwo+PiBlc3BlY2lhbGx5IGZvciB2aXJ0 dWFsIGRldmljZXMgd2hlcmUgZWFjaCBmcmFtZWJ1ZmZlciBjaGFuZ2UgbmVlZHMgdG8KPj4gYmUg dHJhbnNtaXR0ZWQgb3ZlciBuZXR3b3JrLCB1c2IsIGV0Yy4KPj4KPj4gRHJpdmVyIHdoaWNoIGFy ZSBpbnRlcmVzdGVkIGluIGVuYWJsaW5nIERBTUFHRV9DTElQUyBwcm9wZXJ0eSBmb3IgYQo+PiBw bGFuZSBzaG91bGQgZW5hYmxlIHRoaXMgcHJvcGVydHkgdXNpbmcgZHJtX3BsYW5lX2VuYWJsZV9k YW1hZ2VfY2xpcHMuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEx1a2FzeiBTcGludHp5ayA8bHVrYXN6 LnNwaW50enlrQGRpc3BsYXlsaW5rLmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogRGVlcGFrIFJhd2F0 IDxkcmF3YXRAdm13YXJlLmNvbT4KPiBUaGUgcHJvcGVydHkgdWFwaSBzZWN0aW9uIGlzIG1pc3Np bmcsIHNlZToKPgo+IGh0dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1o dHRwcy0zQV9fZHJpLmZyZWVkZXNrdG9wLm9yZ19kb2NzX2RybV9ncHVfZHJtLTJEa21zLmh0bWwt MjNwbGFuZS0yRGNvbXBvc2l0aW9uLTJEcHJvcGVydGllcyZkPUR3SUJBZyZjPXVpbGFLOTBENFRP Vm9INThKTlhSZ1Emcj13blNsZ09DcWZwTlM0ZDAydlA2OF9FOXEyQk5NQ3dmRDJPWl82ZENGVlFR Jm09SjMxWU5WMXV6M0lWUmFvck0tZW80OG1zaTlfX3NRdXJxUlpyaWcyVUUxcyZzPXZ6c3VxdUYx YWdiT3c1NEhTQ18xOEtrMms5ajgzbThSdXNtREN0UEFGV1EmZT0KPgo+IFBsYW5lIGNvbXBvc2l0 aW9uIGZlZWxzIGxpa2UgdGhlIGJlc3QgcGxhY2UgdG8gcHV0IHRoaXMuIFBsZWFzZSB1c2UgdGhh dAo+IHNlY3Rpb24gdG8gdGllIGFsbCB0aGUgdmFyaW91cyBiaXRzIHRvZ2V0aGVyLCBpbmNsdWRp bmcgdGhlIGhlbHBlcnMgeW91J3JlCj4gYWRkaW5nIGluIHRoZSBmb2xsb3dpbmcgcGF0Y2hlcyBm b3IgZHJpdmVycyB0byB1c2UuCj4KPiBCdW5jaCBvZiBuaXRwaWNrcyBiZWxvdywgYnV0IG92ZXJh bGwgSSdtIGFncmVlaW5nIG5vdyB3aXRoIGp1c3QgZ29pbmcgd2l0aAo+IGZiIGNvb3JkaW5hdGUg ZGFtYWdlIHJlY3RzLgo+Cj4gTGlrZSB5b3Ugc2F5LCB0aGUgdGhpbmcgbmVlZGVkIGhlcmUgbm93 IGlzIHVzZXJzcGFjZSArIGRyaXZlciBhY3R1YWxseQo+IGltcGxlbWVudGluZyB0aGlzLiBJJ2Qg YWxzbyBzYXkgdGhlIGNvbXBhdCBoZWxwZXIgdG8gbWFwIHRoZSBsZWdhY3kKPiBmYi0+ZGlydHkg dG8gdGhpcyBuZXcgYXRvbWljIHdheSBvZiBkb2luZyB0aGluZ3Mgc2hvdWxkIGJlIGluY2x1ZGVk IGhlcmUKPiAoZ2l2ZXMgdXMgYSBsb3QgbW9yZSB0ZXN0aW5nIGZvciB0aGVzZSBuZXcgcGF0aHMp Lgo+Cj4gSWNpbmcgb24gdGhlIGNha2Ugd291bGQgYmUgYW4gaWd0IHRvIG1ha2Ugc3VyZSBrZXJu ZWwgcmVqZWN0cyBpbnZhbGlkIGNsaXAKPiByZWN0cyBjb3JyZWN0bHkuCj4KPj4gLS0tCj4+ICAg ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgfCA0MiArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCj4+ICAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVs cGVyLmMgfCAgNCArKysrCj4+ICAgZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX2NvbmZpZy5jICAg fCAgNSArKysrKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYyAgICAgICAgIHwgMTIg KysrKysrKysrKysKPj4gICBpbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCAgICAgICB8IDE1 ICsrKysrKysrKysrKysKPj4gICBpbmNsdWRlL2RybS9kcm1fcGxhbmUuaCAgICAgICAgICAgICB8 IDE2ICsrKysrKysrKysrKysrCj4+ICAgaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICAg ICAgfCAxNSArKysrKysrKysrKysrCj4+ICAgNyBmaWxlcyBjaGFuZ2VkLCAxMDkgaW5zZXJ0aW9u cygrKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPj4gaW5kZXggN2QyNWM0Mi4uOTIyNmQyNCAxMDA2 NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pYy5jCj4+IEBAIC02NjksNiArNjY5LDQwIEBAIHN0YXRpYyB2b2lk IGRybV9hdG9taWNfY3J0Y19wcmludF9zdGF0ZShzdHJ1Y3QgZHJtX3ByaW50ZXIgKnAsCj4+ICAg fQo+PiAgIAo+PiAgIC8qKgo+PiArICogZHJtX2F0b21pY19zZXRfZGFtYWdlX2Zvcl9wbGFuZSAt IHNldHMgdGhlIGRhbWFnZSBjbGlwcyBwcm9wZXJ0eSB0byBwbGFuZQo+PiArICogQHN0YXRlOiBw bGFuZSBzdGF0ZQo+PiArICogQGJsb2I6IGRhbWFnZSBjbGlwcyBpbiBmcmFtZWJ1ZmZlciBjb29y ZGluYXRlcwo+PiArICoKPj4gKyAqIFJldHVybnM6Cj4+ICsgKgo+PiArICogWmVybyBvbiBzdWNj ZXNzLCBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCj4+ICsgKi8KPj4gK3N0YXRpYyBpbnQgZHJtX2F0 b21pY19zZXRfZGFtYWdlX2Zvcl9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSwK Pj4gKwkJCQkJICAgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iKQo+PiArewo+PiArCWlm IChibG9iID09IHN0YXRlLT5kYW1hZ2VfY2xpcHMpCj4+ICsJCXJldHVybiAwOwo+PiArCj4+ICsJ ZHJtX3Byb3BlcnR5X2Jsb2JfcHV0KHN0YXRlLT5kYW1hZ2VfY2xpcHMpOwo+PiArCXN0YXRlLT5k YW1hZ2VfY2xpcHMgPSBOVUxMOwo+PiArCj4+ICsJaWYgKGJsb2IpIHsKPj4gKwkJdWludDMyX3Qg Y291bnQgPSBibG9iLT5sZW5ndGgvc2l6ZW9mKHN0cnVjdCBkcm1fcmVjdCk7Cj4+ICsKPj4gKwkJ aWYgKGNvdW50ID4gRFJNX01PREVfRkJfRElSVFlfTUFYX0NMSVBTKQo+PiArCQkJcmV0dXJuIC1F SU5WQUw7Cj4+ICsKPj4gKwkJc3RhdGUtPmRhbWFnZV9jbGlwcyA9IGRybV9wcm9wZXJ0eV9ibG9i X2dldChibG9iKTsKPj4gKwkJc3RhdGUtPm51bV9jbGlwcyA9IGNvdW50Owo+PiArCX0gZWxzZSB7 Cj4+ICsJCXN0YXRlLT5kYW1hZ2VfY2xpcHMgPSBOVUxMOwo+PiArCQlzdGF0ZS0+bnVtX2NsaXBz ID0gMDsKPj4gKwl9Cj4+ICsKPj4gKwlyZXR1cm4gMDsKPj4gK30KPj4gKwo+PiArLyoqCj4+ICAg ICogZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUgLSBnZXQgcGxhbmUgc3RhdGUKPj4gICAgKiBA c3RhdGU6IGdsb2JhbCBhdG9taWMgc3RhdGUgb2JqZWN0Cj4+ICAgICogQHBsYW5lOiBwbGFuZSB0 byBnZXQgc3RhdGUgb2JqZWN0IGZvcgo+PiBAQCAtNzkzLDYgKzgyNywxMiBAQCBzdGF0aWMgaW50 IGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ PiAgIAkJc3RhdGUtPmNvbG9yX2VuY29kaW5nID0gdmFsOwo+PiAgIAl9IGVsc2UgaWYgKHByb3Bl cnR5ID09IHBsYW5lLT5jb2xvcl9yYW5nZV9wcm9wZXJ0eSkgewo+PiAgIAkJc3RhdGUtPmNvbG9y X3JhbmdlID0gdmFsOwo+PiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5wcm9wX2Rh bWFnZV9jbGlwcykgewo+PiArCQlzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IgPQo+PiAr CQkJZHJtX3Byb3BlcnR5X2xvb2t1cF9ibG9iKGRldiwgdmFsKTsKPj4gKwkJaW50IHJldCA9IGRy bV9hdG9taWNfc2V0X2RhbWFnZV9mb3JfcGxhbmUoc3RhdGUsIGJsb2IpOwo+IFRoZXJlJ3MgYWxy ZWFkeSBhIGhlbHBlciB3aXRoIHNpemUtY2hlY2tpbmcgYnVpbHQtaW4sIHNlZQo+IGRybV9hdG9t aWNfcmVwbGFjZV9wcm9wZXJ0eV9ibG9iX2Zyb21faWQoKS4gV3J0IGNvbXB1dGluZyBudW1fY2xp cHMgSSdkCj4ganVzdCBwcm92aWRlIGEgbGl0dGxlIGlubGluZSBoZWxwZXIgdGhhdCBkb2VzIHRo ZQo+IGJsb2ItPmxlbmd0aC9zaXplb2YoZHJtX3JlY3QpIGNvbnZlcnNpb24gKGl0J3MganVzdCBh IHNoaWZ0LCBzbyBmYXN0KS4KPgo+PiArCQlkcm1fcHJvcGVydHlfYmxvYl9wdXQoYmxvYik7Cj4+ ICsJCXJldHVybiByZXQ7Cj4+ICAgCX0gZWxzZSBpZiAocGxhbmUtPmZ1bmNzLT5hdG9taWNfc2V0 X3Byb3BlcnR5KSB7Cj4+ICAgCQlyZXR1cm4gcGxhbmUtPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3Bl cnR5KHBsYW5lLCBzdGF0ZSwKPj4gICAJCQkJcHJvcGVydHksIHZhbCk7Cj4+IEBAIC04NTYsNiAr ODk2LDggQEAgZHJtX2F0b21pY19wbGFuZV9nZXRfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsCj4+ICAgCQkqdmFsID0gc3RhdGUtPmNvbG9yX2VuY29kaW5nOwo+PiAgIAl9IGVsc2Ug aWYgKHByb3BlcnR5ID09IHBsYW5lLT5jb2xvcl9yYW5nZV9wcm9wZXJ0eSkgewo+PiAgIAkJKnZh bCA9IHN0YXRlLT5jb2xvcl9yYW5nZTsKPj4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZp Zy0+cHJvcF9kYW1hZ2VfY2xpcHMpIHsKPj4gKwkJKnZhbCA9IChzdGF0ZS0+ZGFtYWdlX2NsaXBz KSA/IHN0YXRlLT5kYW1hZ2VfY2xpcHMtPmJhc2UuaWQgOiAwOwo+PiAgIAl9IGVsc2UgaWYgKHBs YW5lLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eSkgewo+PiAgIAkJcmV0dXJuIHBsYW5lLT5m dW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eShwbGFuZSwgc3RhdGUsIHByb3BlcnR5LCB2YWwpOwo+ PiAgIAl9IGVsc2Ugewo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNf aGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+PiBpbmRleCBj MzU2NTQ1Li41NWI0NGUzIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Y19oZWxwZXIuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ PiBAQCAtMzUwNiw2ICszNTA2LDggQEAgdm9pZCBfX2RybV9hdG9taWNfaGVscGVyX3BsYW5lX2R1 cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPj4gICAKPj4gICAJc3RhdGUt PmZlbmNlID0gTlVMTDsKPj4gICAJc3RhdGUtPmNvbW1pdCA9IE5VTEw7Cj4+ICsJc3RhdGUtPmRh bWFnZV9jbGlwcyA9IE5VTEw7Cj4+ICsJc3RhdGUtPm51bV9jbGlwcyA9IDA7Cj4+ICAgfQo+PiAg IEVYUE9SVF9TWU1CT0woX19kcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9kdXBsaWNhdGVfc3RhdGUp Owo+PiAgIAo+PiBAQCAtMzU1MCw2ICszNTUyLDggQEAgdm9pZCBfX2RybV9hdG9taWNfaGVscGVy X3BsYW5lX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUpCj4+ICAg Cj4+ICAgCWlmIChzdGF0ZS0+Y29tbWl0KQo+PiAgIAkJZHJtX2NydGNfY29tbWl0X3B1dChzdGF0 ZS0+Y29tbWl0KTsKPj4gKwo+PiArCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChzdGF0ZS0+ZGFtYWdl X2NsaXBzKTsKPj4gICB9Cj4+ICAgRVhQT1JUX1NZTUJPTChfX2RybV9hdG9taWNfaGVscGVyX3Bs YW5lX2Rlc3Ryb3lfc3RhdGUpOwo+PiAgIAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9tb2RlX2NvbmZpZy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX2NvbmZpZy5jCj4+ IGluZGV4IGU1YzY1MzMuLmU5M2IxMjcgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fbW9kZV9jb25maWcuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVfY29uZmln LmMKPj4gQEAgLTI5Myw2ICsyOTMsMTEgQEAgc3RhdGljIGludCBkcm1fbW9kZV9jcmVhdGVfc3Rh bmRhcmRfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+PiAgIAkJcmV0dXJuIC1F Tk9NRU07Cj4+ICAgCWRldi0+bW9kZV9jb25maWcucHJvcF9jcnRjX2lkID0gcHJvcDsKPj4gICAK Pj4gKwlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZShkZXYsIERSTV9NT0RFX1BST1BfQkxPQiwg IkRBTUFHRV9DTElQUyIsIDApOwo+IEJpdCBhIGJpa2VzaGVkLCBidXQgc2luY2UgdGhlIGNvb3Jk aW5hdGVzIGFyZSBpbiBmYiBwaXhlbHMsIG5vdCBwbGFuZQo+IHBpeGVscywgSSdkIGNhbGwgdGhp cyAiRkJfREFNQUdFX0NMSVBTIi4KPgo+PiArCWlmICghcHJvcCkKPj4gKwkJcmV0dXJuIC1FTk9N RU07Cj4+ICsJZGV2LT5tb2RlX2NvbmZpZy5wcm9wX2RhbWFnZV9jbGlwcyA9IHByb3A7Cj4+ICsK Pj4gICAJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfYm9vbChkZXYsIERSTV9NT0RFX1BST1Bf QVRPTUlDLAo+PiAgIAkJCSJBQ1RJVkUiKTsKPj4gICAJaWYgKCFwcm9wKQo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFu ZS5jCj4+IGluZGV4IDZkMmE2ZTQuLjA3MTIyMWIgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fcGxhbmUuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMKPj4g QEAgLTExMDEsMyArMTEwMSwxNSBAQCBpbnQgZHJtX21vZGVfcGFnZV9mbGlwX2lvY3RsKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCj4+ICAgCj4+ICAgCXJldHVybiByZXQ7Cj4+ICAgfQo+PiArCj4+ ICsvKioKPj4gKyAqIGRybV9wbGFuZV9lbmFibGVfZGFtYWdlX2NsaXBzIC0gZW5hYmxlIGRhbWFn ZSBjbGlwcyBwcm9wZXJ0eQo+PiArICogQHBsYW5lOiBwbGFuZSBvbiB3aGljaCB0aGlzIHByb3Bl cnR5IHRvIGVuYWJsZS4KPj4gKyAqLwo+PiArdm9pZCBkcm1fcGxhbmVfZW5hYmxlX2RhbWFnZV9j bGlwcyhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPj4gK3sKPj4gKwlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gcGxhbmUtPmRldjsKPj4gKwlzdHJ1Y3QgZHJtX21vZGVfY29uZmlnICpjb25maWcg PSAmZGV2LT5tb2RlX2NvbmZpZzsKPj4gKwo+PiArCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5 KCZwbGFuZS0+YmFzZSwgY29uZmlnLT5wcm9wX2RhbWFnZV9jbGlwcywgMCk7Cj4+ICt9Cj4+IGRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCBiL2luY2x1ZGUvZHJtL2Ry bV9tb2RlX2NvbmZpZy5oCj4+IGluZGV4IDc1NjlmMjIuLmQ4NzY3ZGEgMTAwNjQ0Cj4+IC0tLSBh L2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9t b2RlX2NvbmZpZy5oCj4+IEBAIC02MjgsNiArNjI4LDIxIEBAIHN0cnVjdCBkcm1fbW9kZV9jb25m aWcgewo+PiAgIAkgKi8KPj4gICAJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcF9jcnRjX2lkOwo+ PiAgIAkvKioKPj4gKwkgKiBAcHJvcF9kYW1hZ2VfY2xpcHM6IE9wdGlvbmFsIHBsYW5lIHByb3Bl cnR5IHRvIG1hcmsgZGFtYWdlZCByZWdpb25zCj4+ICsJICogb24gdGhlIHBsYW5lIGluIGZyYW1l YnVmZmVyIGNvb3JkaW5hdGVzIG9mIHRoZSBmcmFtZWJ1ZmZlciBhdHRhY2hlZAo+PiArCSAqIHRv IHRoZSBwbGFuZS4KPiBXaHkgc2hvdWxkIHdlIG1ha2UgdGhpcyBvcHRpb25hbD8gTG9va3MgbGlr ZSBqdXN0IGFub3RoZXIgdGhpbmcgZHJpdmVycwo+IG1pZ2h0IHNjcmV3IHVwLCBzaW5jZSB3ZSBo YXZlIG11bHRpcGxlIGNhbGxiYWNrcyBhbmQgdGhpbmdzIHRvIHNldCB1cCBmb3IKPiBwcm9wZXIg ZGlydHkgdHJhY2tpbmcuCj4KPiBPbmUgb3B0aW9uIEknbSBzZWVpbmcgaXMgdGhhdCBpZiB0aGlz IGlzIHNldCwgYW5kIGl0J3MgYW4gYXRvbWljIGRyaXZlciwKPiB0aGVuIHdlIGp1c3QgZGlyZWN0 bHkgY2FsbCBpbnRvIHRoZSBkZWZhdWx0IGF0b21pYyBmYi0+ZGlydHkKPiBpbXBsZW1lbnRhdGlv bi4gVGhhdCB3YXkgdGhlcmUncyBvbmx5IDEgdGhpbmcgZHJpdmVycyBuZWVkIHRvIGRvIHRvIHNl dCB1cAo+IGRpcnR5IHJlY3QgdHJhY2tpbmcsIGFuZCB0aGV5J2xsIGdldCBhbGwgb2YgaXQuCj4K Pj4gKwkgKgo+PiArCSAqIFRoZSBsYXlvdXQgb2YgYmxvYiBkYXRhIGlzIHNpbXBseSBhbiBhcnJh eSBvZiBkcm1fbW9kZV9yZWN0IHdpdGgKPj4gKwkgKiBtYXhpbXVtIGFycmF5IHNpemUgbGltaXRl ZCBieSBEUk1fTU9ERV9GQl9ESVJUWV9NQVhfQ0xJUFMuIFVubGlrZQo+PiArCSAqIHBsYW5lIHNy YyBjb29yZGluYXRlcywgZGFtYWdlIGNsaXBzIGFyZSBub3QgaW4gMTYuMTYgZml4ZWQgcG9pbnQu Cj4gSSBob25lc3RseSBoYXZlIG5vIGlkZWEgd2hlcmUgdGhpcyBsaW1pdCBpcyBmcm9tLiBXb3J0 aCBrZWVwaW5nPyBJIGNhbgo+IGVhc2lseSBpbWFnaW5lIHRoYXQgdXNlcnNwYWNlIGNvdWxkIHRy aXAgb3ZlciB0aGlzIC0gaXQncyBmYWlybHkgaGlnaCwgYnV0Cj4gbm90IHVubGltaXRlZC4KPgo+ PiArCSAqCj4+ICsJICogRGFtYWdlIGNsaXBzIGFyZSBhIGhpbnQgdG8ga2VybmVsIGFzIHdoaWNo IGFyZWEgb2YgZnJhbWVidWZmZXIgaGFzCj4+ICsJICogY2hhbmdlZCBzaW5jZSBsYXN0IHBhZ2Ut ZmxpcC4gVGhpcyBzaG91bGQgYmUgaGVscGZ1bAo+PiArCSAqIGZvciBzb21lIGRyaXZlcnMgZXNw ZWNpYWxseSBmb3IgdmlydHVhbCBkZXZpY2VzIHdoZXJlIGVhY2gKPj4gKwkgKiBmcmFtZWJ1ZmZl ciBjaGFuZ2UgbmVlZHMgdG8gYmUgdHJhbnNtaXR0ZWQgb3ZlciBuZXR3b3JrLCB1c2IsIGV0Yy4K PiBJJ2QgYWxzbyBjbGFyaWZ5IHRoYXQgdXNlcnNwYWNlIHN0aWxsIG11c3QgcmVuZGVyIHRoZSBl bnRpcmUgc2NyZWVuLCBpLmUuCj4gbWFrZSBpdCBtb3JlIGNsZWFyIHRoYXQgaXQncyByZWFsbHkg anVzdCBhIGhpbnQgYW5kIG5vdCBtYW5kYXRvcnkgdG8gb25seQo+IHNjYW4gb3V0IHRoZSBkYW1h Z2VkIHBhcnRzLgo+Cj4+ICsJICovCj4+ICsJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcF9kYW1h Z2VfY2xpcHM7Cj4+ICsJLyoqCj4+ICAgCSAqIEBwcm9wX2FjdGl2ZTogRGVmYXVsdCBhdG9taWMg Q1JUQyBwcm9wZXJ0eSB0byBjb250cm9sIHRoZSBhY3RpdmUKPj4gICAJICogc3RhdGUsIHdoaWNo IGlzIHRoZSBzaW1wbGlmaWVkIGltcGxlbWVudGF0aW9uIGZvciBEUE1TIGluIGF0b21pYwo+PiAg IAkgKiBkcml2ZXJzLgo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmggYi9p bmNsdWRlL2RybS9kcm1fcGxhbmUuaAo+PiBpbmRleCBmN2JmNGE0Li45ZjI0NTQ4IDEwMDY0NAo+ PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaAo+PiArKysgYi9pbmNsdWRlL2RybS9kcm1f cGxhbmUuaAo+PiBAQCAtMTQ2LDYgKzE0NiwyMSBAQCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlIHsK Pj4gICAJICovCj4+ICAgCXN0cnVjdCBkcm1fY3J0Y19jb21taXQgKmNvbW1pdDsKPj4gICAKPj4g KwkvKgo+PiArCSAqIEBkYW1hZ2VfY2xpcHMKPj4gKwkgKgo+PiArCSAqIGJsb2IgcHJvcGVydHkg d2l0aCBkYW1hZ2UgYXMgYXJyYXkgb2YgZHJtX3JlY3QgaW4gZnJhbWVidWZmZXIKPiAmZHJtX3Jl Y3QgZ2l2ZXMgeW91IGEgbmljZSBoeXBlcmxpbmsgaW4gdGhlIGdlbmVyYXRlZCBkb2NzLgo+Cj4+ ICsJICogY29vZGluYXRlcy4KPj4gKwkgKi8KPj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2Ig KmRhbWFnZV9jbGlwczsKPj4gKwo+PiArCS8qCj4+ICsJICogQG51bV9jbGlwcwo+PiArCSAqCj4+ ICsJICogTnVtYmVyIG9mIGRybV9yZWN0IGluIEBkYW1hZ2VfY2xpcHMuCj4+ICsJICovCj4+ICsJ dWludDMyX3QgbnVtX2NsaXBzOwo+PiArCj4+ICAgCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZTsKPj4gICB9Owo+PiAgIAo+PiBAQCAtNjExLDYgKzYyNiw3IEBAIGludCBkcm1fcGxhbmVf aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiAgIAkJICAgY29uc3QgdWludDMyX3QgKmZv cm1hdHMsIHVuc2lnbmVkIGludCBmb3JtYXRfY291bnQsCj4+ICAgCQkgICBib29sIGlzX3ByaW1h cnkpOwo+PiAgIHZvaWQgZHJtX3BsYW5lX2NsZWFudXAoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUp Owo+PiArdm9pZCBkcm1fcGxhbmVfZW5hYmxlX2RhbWFnZV9jbGlwcyhzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSk7Cj4+ICAgCj4+ICAgLyoqCj4+ICAgICogZHJtX3BsYW5lX2luZGV4IC0gZmluZCB0 aGUgaW5kZXggb2YgYSByZWdpc3RlcmVkIHBsYW5lCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3Vh cGkvZHJtL2RybV9tb2RlLmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKPj4gaW5kZXgg NTBiY2Y0Mi4uMGFkMGQ1YiAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9k ZS5oCj4+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAo+PiBAQCAtODczLDYgKzg3 MywyMSBAQCBzdHJ1Y3QgZHJtX21vZGVfcmV2b2tlX2xlYXNlIHsKPj4gICAJX191MzIgbGVzc2Vl X2lkOwo+PiAgIH07Cj4+ICAgCj4+ICsvKioKPj4gKyAqIHN0cnVjdCBkcm1fbW9kZV9yZWN0IC0g dHdvIGRpbWVuc2lvbmFsIHJlY3RhbmdsZSBkcm1fcmVjdCBleHBvcnRlZCB0bwo+PiArICogdXNl ci1zcGFjZS4KPj4gKyAqIEB4MTogaG9yaXpvbnRhbCBzdGFydGluZyBjb29yZGluYXRlIChpbmNs dXNpdmUpCj4+ICsgKiBAeTE6IHZlcnRpY2FsIHN0YXJ0aW5nIGNvb3JkaW5hdGUgKGluY2x1c2l2 ZSkKPj4gKyAqIEB4MjogaG9yaXpvbnRhbCBlbmRpbmcgY29vcmRpbmF0ZSAoZXhjbHVzaXZlKQo+ PiArICogQHkyOiB2ZXJ0aWNhbCBlbmRpbmcgY29vcmRpbmF0ZSAoZXhjbHVzaXZlKQo+PiArICov Cj4+ICtzdHJ1Y3QgZHJtX21vZGVfcmVjdCB7Cj4+ICsJX19zMzIgeDE7Cj4+ICsJX19zMzIgeTE7 Cj4+ICsJX19zMzIgeDI7Cj4+ICsJX19zMzIgeTI7Cj4gV2h5IHNpZ25lZD8gTmVnYXRpdmUgZGFt YWdlIHJlY3RzIG9uIGFuIGZiIGRvbid0IG1ha2Ugc2Vuc2UgdG8gbWUuIEFsc28sCj4gcGxlYXNl IHNwZWNpZnkgd2hhdCB0aGlzIGlzIGV4YWN0bHkgKHRvIGF2b2lkIGNvbmZ1c2lvbiB3aXRoIHRo ZSAxNi4xNgo+IGZpeGVkIHBvaW50IHNyYyByZWN0cyksIGFuZCBtYXliZSBtZW50aW9uIGluIHRo ZSBjb21taXQgbWVzc2FnZSB3aHkgd2UncmUKPiBub3QgdXNpbmcgZHJtX2NsaXBfcmVjdCAoZ29p bmcgdG8gcHJvcGVyIHVhcGkgdHlwZXMgYW5kIDMyYml0IG1ha2VzIHNlbnNlCj4gdG8gbWUpLgoK SU1PLCB3aGlsZSB3ZSBkb24ndCBleHBlY3QgbmVnYXRpdmUgZGFtYWdlIGNvb3JkaW5hdGVzLAp0 byBhdm9pZCB5ZXQgYW5vdGhlciBkcm0gdWFwaSByZWN0IGluIHRoZSBmdXR1cmUgd2hlbiB3ZSBh Y3R1YWxseSBuZWVkIApuZWdhdGl2ZSBudW1iZXJzIHNpZ25lZCBpcyBhIGdvb2QgY2hvaWNlLi4u CgovVGhvbWFzCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg==