From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 2/3] drm: export gem dmabuf_ops for drivers to reuse Date: Wed, 10 Jan 2018 09:17:10 +0100 Message-ID: <20180110081710.GD13066@phenom.ffwll.local> References: <1515100334-6845-1-git-send-email-Samuel.Li@amd.com> <20180109092201.GE26573@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Alex Deucher Cc: "Li, Samuel" , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , Daniel Vetter , "Deucher, Alexander" , "Koenig, Christian" List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBKYW4gMDksIDIwMTggYXQgMDE6MTM6MDhQTSAtMDUwMCwgQWxleCBEZXVjaGVyIHdy b3RlOgo+IE9uIFR1ZSwgSmFuIDksIDIwMTggYXQgMTA6NTYgQU0sIERldWNoZXIsIEFsZXhhbmRl cgo+IDxBbGV4YW5kZXIuRGV1Y2hlckBhbWQuY29tPiB3cm90ZToKPiA+IEknbGwgY2FuIHB1c2gg dGhpcyBhbmQgYSBmZXcgb3RoZXIgbWlzYyBwYXRjaGVzIHRvZGF5Lgo+ID4KPiAKPiBQdXNoZWQg dG8gZHJtLW1pc2MtbmV4dC4KCk9uZSB0aGluZyBJIGp1c3Qgbm90aWNlZDogU29tZSBrZXJuZWxk b2MgZm9yIHRoZSBuZXdseSBleHBvcnRlZCBmdW5jdGlvbnMKYW5kIG1heWJlIGEgc21hbGwgdXBk YXRlIHRvIHRoZSBpbnRybyBzZWN0aW9uIHRvIGV4cGxhaW4gd2hhdCB0byBkbyB3aXRoCnRoaXMg d291bGQgYmUgbmVhdC4KLURhbmllbAoKPiAKPiBUaGFua3MsCj4gCj4gQWxleAo+IAo+IAo+ID4K PiA+IEFsZXgKPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBGcm9tOiBh bWQtZ2Z4IDxhbWQtZ2Z4LWJvdW5jZXNAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPiBvbiBiZWhhbGYg b2YgTGksCj4gPiBTYW11ZWwgPFNhbXVlbC5MaUBhbWQuY29tPgo+ID4gU2VudDogVHVlc2RheSwg SmFudWFyeSA5LCAyMDE4IDEwOjIwIEFNCj4gPiBUbzogRGFuaWVsIFZldHRlcjsgS29lbmlnLCBD aHJpc3RpYW4KPiA+IENjOiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gU3ViamVjdDogUkU6IFtQQVRDSCAyLzNdIGRybTog ZXhwb3J0IGdlbSBkbWFidWZfb3BzIGZvciBkcml2ZXJzIHRvIHJldXNlCj4gPgo+ID4gWWVzLCBw bGVhc2UgaHVzaCB0aGlzIGZvciBtZS4KPiA+Cj4gPiBSZWdhcmRzLAo+ID4gU2FtdWVsIExpCj4g Pgo+ID4KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4+IEZyb206IERhbmllbCBW ZXR0ZXIgW21haWx0bzpkYW5pZWwudmV0dGVyQGZmd2xsLmNoXSBPbiBCZWhhbGYgT2YgRGFuaWVs Cj4gPj4gVmV0dGVyCj4gPj4gU2VudDogVHVlc2RheSwgSmFudWFyeSAwOSwgMjAxOCA0OjIyIEFN Cj4gPj4gVG86IEtvZW5pZywgQ2hyaXN0aWFuIDxDaHJpc3RpYW4uS29lbmlnQGFtZC5jb20+Cj4g Pj4gQ2M6IExpLCBTYW11ZWwgPFNhbXVlbC5MaUBhbWQuY29tPjsgZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZzsgYW1kLQo+ID4+IGdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+PiBT dWJqZWN0OiBSZTogW1BBVENIIDIvM10gZHJtOiBleHBvcnQgZ2VtIGRtYWJ1Zl9vcHMgZm9yIGRy aXZlcnMgdG8gcmV1c2UKPiA+Pgo+ID4+IE9uIEZyaSwgSmFuIDA1LCAyMDE4IGF0IDEwOjE2OjA0 QU0gKzAxMDAsIENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6Cj4gPj4gPiBBbSAwNC4wMS4yMDE4IHVt IDIyOjEyIHNjaHJpZWIgU2FtdWVsIExpOgo+ID4+ID4gPiBDaGFuZ2UtSWQ6IEkwM2MyMmE4OTBk MjMwNWYzMjQzZDg4MDE5ZDFhMjhiZGRkNGRkZGE3Cj4gPj4gPiA+IFNpZ25lZC1vZmYtYnk6IFNh bXVlbCBMaSA8U2FtdWVsLkxpQGFtZC5jb20+Cj4gPj4gPgo+ID4+ID4gUmV2aWV3ZWQtYnk6IENo cmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KPiA+Pgo+ID4+IFdhbnQg dG8gcHVzaCB0byBkcm0tbWlzYyBvciBzb21lIG90aGVyIHBsYW4gd2l0aCB0aGlzPwo+ID4+IC1E YW5pZWwKPiA+Pgo+ID4+ID4KPiA+PiA+ID4gLS0tCj4gPj4gPiA+ICAgZHJpdmVycy9ncHUvZHJt L2RybV9wcmltZS5jIHwgNTMgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KPiA+PiAtLS0t LS0tLS0tLS0tLS0tCj4gPj4gPiA+ICAgaW5jbHVkZS9kcm0vZHJtX3ByaW1lLmggICAgIHwgMjIg KysrKysrKysrKysrKysrKysrKwo+ID4+ID4gPiAgIDIgZmlsZXMgY2hhbmdlZCwgNTMgaW5zZXJ0 aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCj4gPj4gPiA+Cj4gPj4gPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX3ByaW1lLmMKPiA+PiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vZHJt X3ByaW1lLmMgaW5kZXggOGRlOTNhMi4uNjhhNjllOSAxMDA2NDQKPiA+PiA+ID4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9wcmltZS5jCj4gPj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fcHJpbWUuYwo+ID4+ID4gPiBAQCAtMTgwLDkgKzE4MCw4IEBAIHN0YXRpYyBpbnQgZHJtX3By aW1lX2xvb2t1cF9idWZfaGFuZGxlKHN0cnVjdAo+ID4+IGRybV9wcmltZV9maWxlX3ByaXZhdGUg KnByaW1lX2ZwcmkKPiA+PiA+ID4gICAgcmV0dXJuIC1FTk9FTlQ7Cj4gPj4gPiA+ICAgfQo+ID4+ ID4gPiAtc3RhdGljIGludCBkcm1fZ2VtX21hcF9hdHRhY2goc3RydWN0IGRtYV9idWYgKmRtYV9i dWYsCj4gPj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkZXZpY2UgKnRhcmdl dF9kZXYsCj4gPj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkbWFfYnVmX2F0 dGFjaG1lbnQgKmF0dGFjaCkKPiA+PiA+ID4gK2ludCBkcm1fZ2VtX21hcF9hdHRhY2goc3RydWN0 IGRtYV9idWYgKmRtYV9idWYsIHN0cnVjdCBkZXZpY2UKPiA+PiAqdGFyZ2V0X2RldiwKPiA+PiA+ ID4gKyAgICAgICAgICAgICAgICBzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICphdHRhY2gpCj4g Pj4gPiA+ICAgewo+ID4+ID4gPiAgICBzdHJ1Y3QgZHJtX3ByaW1lX2F0dGFjaG1lbnQgKnByaW1l X2F0dGFjaDsKPiA+PiA+ID4gICAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmogPSBkbWFfYnVm LT5wcml2OyBAQCAtMjAwLDkgKzE5OSwxMAo+ID4+IEBACj4gPj4gPiA+IHN0YXRpYyBpbnQgZHJt X2dlbV9tYXBfYXR0YWNoKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLAo+ID4+ID4gPiAgICByZXR1 cm4gZGV2LT5kcml2ZXItPmdlbV9wcmltZV9waW4ob2JqKTsKPiA+PiA+ID4gICB9Cj4gPj4gPiA+ ICtFWFBPUlRfU1lNQk9MKGRybV9nZW1fbWFwX2F0dGFjaCk7Cj4gPj4gPiA+IC1zdGF0aWMgdm9p ZCBkcm1fZ2VtX21hcF9kZXRhY2goc3RydWN0IGRtYV9idWYgKmRtYV9idWYsCj4gPj4gPiA+IC0g ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICphdHRhY2gp Cj4gPj4gPiA+ICt2b2lkIGRybV9nZW1fbWFwX2RldGFjaChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1 ZiwKPiA+PiA+ID4gKyAgICAgICAgICAgICAgICAgc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAq YXR0YWNoKQo+ID4+ID4gPiAgIHsKPiA+PiA+ID4gICAgc3RydWN0IGRybV9wcmltZV9hdHRhY2ht ZW50ICpwcmltZV9hdHRhY2ggPSBhdHRhY2gtPnByaXY7Cj4gPj4gPiA+ICAgIHN0cnVjdCBkcm1f Z2VtX29iamVjdCAqb2JqID0gZG1hX2J1Zi0+cHJpdjsgQEAgLTIyNyw2ICsyMjcsNwo+ID4+IEBA Cj4gPj4gPiA+IHN0YXRpYyB2b2lkIGRybV9nZW1fbWFwX2RldGFjaChzdHJ1Y3QgZG1hX2J1ZiAq ZG1hX2J1ZiwKPiA+PiA+ID4gICAga2ZyZWUocHJpbWVfYXR0YWNoKTsKPiA+PiA+ID4gICAgYXR0 YWNoLT5wcml2ID0gTlVMTDsKPiA+PiA+ID4gICB9Cj4gPj4gPiA+ICtFWFBPUlRfU1lNQk9MKGRy bV9nZW1fbWFwX2RldGFjaCk7Cj4gPj4gPiA+ICAgdm9pZCBkcm1fcHJpbWVfcmVtb3ZlX2J1Zl9o YW5kbGVfbG9ja2VkKHN0cnVjdAo+ID4+IGRybV9wcmltZV9maWxlX3ByaXZhdGUgKnByaW1lX2Zw cml2LAo+ID4+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBk bWFfYnVmICpkbWFfYnVmKQo+ID4+ID4gPiBAQCAtMjUzLDggKzI1NCw4IEBAIHZvaWQKPiA+PiBk cm1fcHJpbWVfcmVtb3ZlX2J1Zl9oYW5kbGVfbG9ja2VkKHN0cnVjdCBkcm1fcHJpbWVfZmlsZV9w cml2YXRlCj4gPj4gKnByaW1lX2Zwcgo+ID4+ID4gPiAgICB9Cj4gPj4gPiA+ICAgfQo+ID4+ID4g PiAtc3RhdGljIHN0cnVjdCBzZ190YWJsZSAqZHJtX2dlbV9tYXBfZG1hX2J1ZihzdHJ1Y3QKPiA+ PiBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaCwKPiA+PiA+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIpCj4gPj4gPiA+ ICtzdHJ1Y3Qgc2dfdGFibGUgKmRybV9nZW1fbWFwX2RtYV9idWYoc3RydWN0IGRtYV9idWZfYXR0 YWNobWVudAo+ID4+ICphdHRhY2gsCj4gPj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIpCj4gPj4gPiA+ICAgewo+ID4+ID4gPiAg ICBzdHJ1Y3QgZHJtX3ByaW1lX2F0dGFjaG1lbnQgKnByaW1lX2F0dGFjaCA9IGF0dGFjaC0+cHJp djsKPiA+PiA+ID4gICAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmogPSBhdHRhY2gtPmRtYWJ1 Zi0+cHJpdjsgQEAgLTI4OSwxMwo+ID4+ID4gPiArMjkwLDE1IEBAIHN0YXRpYyBzdHJ1Y3Qgc2df dGFibGUgKmRybV9nZW1fbWFwX2RtYV9idWYoc3RydWN0Cj4gPj4gZG1hX2J1Zl9hdHRhY2htZW50 ICphdHRhY2gsCj4gPj4gPiA+ICAgIHJldHVybiBzZ3Q7Cj4gPj4gPiA+ICAgfQo+ID4+ID4gPiAr RVhQT1JUX1NZTUJPTChkcm1fZ2VtX21hcF9kbWFfYnVmKTsKPiA+PiA+ID4gLXN0YXRpYyB2b2lk IGRybV9nZW1fdW5tYXBfZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50Cj4gPj4gKmF0 dGFjaCwKPiA+PiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzZ190YWJs ZSAqc2d0LAo+ID4+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBkbWFfZGF0 YV9kaXJlY3Rpb24gZGlyKQo+ID4+ID4gPiArdm9pZCBkcm1fZ2VtX3VubWFwX2RtYV9idWYoc3Ry dWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoLAo+ID4+ID4gPiArICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnNndCwKPiA+PiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKQo+ID4+ID4gPiAgIHsKPiA+PiA+ID4gICAgLyog bm90aGluZyB0byBiZSBkb25lIGhlcmUgKi8KPiA+PiA+ID4gICB9Cj4gPj4gPiA+ICtFWFBPUlRf U1lNQk9MKGRybV9nZW1fdW5tYXBfZG1hX2J1Zik7Cj4gPj4gPiA+ICAgLyoqCj4gPj4gPiA+ICAg ICogZHJtX2dlbV9kbWFidWZfZXhwb3J0IC0gZG1hX2J1ZiBleHBvcnQgaW1wbGVtZW50YXRpb24g Zm9yCj4gPj4gR0VNCj4gPj4gPiA+IEBAIC0zNDYsNDcgKzM0OSw1MiBAQCB2b2lkIGRybV9nZW1f ZG1hYnVmX3JlbGVhc2Uoc3RydWN0Cj4gPj4gZG1hX2J1ZiAqZG1hX2J1ZikKPiA+PiA+ID4gICB9 Cj4gPj4gPiA+ICAgRVhQT1JUX1NZTUJPTChkcm1fZ2VtX2RtYWJ1Zl9yZWxlYXNlKTsKPiA+PiA+ ID4gLXN0YXRpYyB2b2lkICpkcm1fZ2VtX2RtYWJ1Zl92bWFwKHN0cnVjdCBkbWFfYnVmICpkbWFf YnVmKQo+ID4+ID4gPiArdm9pZCAqZHJtX2dlbV9kbWFidWZfdm1hcChzdHJ1Y3QgZG1hX2J1ZiAq ZG1hX2J1ZikKPiA+PiA+ID4gICB7Cj4gPj4gPiA+ICAgIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq b2JqID0gZG1hX2J1Zi0+cHJpdjsKPiA+PiA+ID4gICAgc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IG9iai0+ZGV2Owo+ID4+ID4gPiAgICByZXR1cm4gZGV2LT5kcml2ZXItPmdlbV9wcmltZV92bWFw KG9iaik7Cj4gPj4gPiA+ICAgfQo+ID4+ID4gPiArRVhQT1JUX1NZTUJPTChkcm1fZ2VtX2RtYWJ1 Zl92bWFwKTsKPiA+PiA+ID4gLXN0YXRpYyB2b2lkIGRybV9nZW1fZG1hYnVmX3Z1bm1hcChzdHJ1 Y3QgZG1hX2J1ZiAqZG1hX2J1Ziwgdm9pZAo+ID4+ID4gPiAqdmFkZHIpCj4gPj4gPiA+ICt2b2lk IGRybV9nZW1fZG1hYnVmX3Z1bm1hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1Ziwgdm9pZAo+ID4+ ICp2YWRkcikKPiA+PiA+ID4gICB7Cj4gPj4gPiA+ICAgIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq b2JqID0gZG1hX2J1Zi0+cHJpdjsKPiA+PiA+ID4gICAgc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IG9iai0+ZGV2Owo+ID4+ID4gPiAgICBkZXYtPmRyaXZlci0+Z2VtX3ByaW1lX3Z1bm1hcChvYmos IHZhZGRyKTsKPiA+PiA+ID4gICB9Cj4gPj4gPiA+ICtFWFBPUlRfU1lNQk9MKGRybV9nZW1fZG1h YnVmX3Z1bm1hcCk7Cj4gPj4gPiA+IC1zdGF0aWMgdm9pZCAqZHJtX2dlbV9kbWFidWZfa21hcF9h dG9taWMoc3RydWN0IGRtYV9idWYKPiA+PiAqZG1hX2J1ZiwKPiA+PiA+ID4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgcGFnZV9udW0pCj4gPj4gPiA+ICt2 b2lkICpkcm1fZ2VtX2RtYWJ1Zl9rbWFwX2F0b21pYyhzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZiwK PiA+PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwYWdlX251 bSkKPiA+PiA+ID4gICB7Cj4gPj4gPiA+ICAgIHJldHVybiBOVUxMOwo+ID4+ID4gPiAgIH0KPiA+ PiA+ID4gK0VYUE9SVF9TWU1CT0woZHJtX2dlbV9kbWFidWZfa21hcF9hdG9taWMpOwo+ID4+ID4g PiAtc3RhdGljIHZvaWQgZHJtX2dlbV9kbWFidWZfa3VubWFwX2F0b21pYyhzdHJ1Y3QgZG1hX2J1 Zgo+ID4+ICpkbWFfYnVmLAo+ID4+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGxvbmcgcGFnZV9udW0sIHZvaWQgKmFkZHIpCj4gPj4gPiA+ICt2b2lkIGRy bV9nZW1fZG1hYnVmX2t1bm1hcF9hdG9taWMoc3RydWN0IGRtYV9idWYgKmRtYV9idWYsCj4gPj4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHBhZ2VfbnVtLCB2 b2lkICphZGRyKQo+ID4+ID4gPiAgIHsKPiA+PiA+ID4gICB9Cj4gPj4gPiA+IC1zdGF0aWMgdm9p ZCAqZHJtX2dlbV9kbWFidWZfa21hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZiwKPiA+PiA+ID4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwYWdlX251bSkKPiA+PiA+ ID4gK0VYUE9SVF9TWU1CT0woZHJtX2dlbV9kbWFidWZfa3VubWFwX2F0b21pYyk7Cj4gPj4gPiA+ ICsKPiA+PiA+ID4gK3ZvaWQgKmRybV9nZW1fZG1hYnVmX2ttYXAoc3RydWN0IGRtYV9idWYgKmRt YV9idWYsIHVuc2lnbmVkCj4gPj4gbG9uZwo+ID4+ID4gPiArcGFnZV9udW0pCj4gPj4gPiA+ICAg ewo+ID4+ID4gPiAgICByZXR1cm4gTlVMTDsKPiA+PiA+ID4gICB9Cj4gPj4gPiA+ICtFWFBPUlRf U1lNQk9MKGRybV9nZW1fZG1hYnVmX2ttYXApOwo+ID4+ID4gPiAtc3RhdGljIHZvaWQgZHJtX2dl bV9kbWFidWZfa3VubWFwKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLAo+ID4+ID4gPiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwYWdlX251bSwgdm9pZCAqYWRkcikK PiA+PiA+ID4gK3ZvaWQgZHJtX2dlbV9kbWFidWZfa3VubWFwKHN0cnVjdCBkbWFfYnVmICpkbWFf YnVmLCB1bnNpZ25lZAo+ID4+IGxvbmcgcGFnZV9udW0sCj4gPj4gPiA+ICsgICAgICAgICAgICAg ICAgICAgIHZvaWQgKmFkZHIpCj4gPj4gPiA+ICAgewo+ID4+ID4gPiAgIH0KPiA+PiA+ID4gK0VY UE9SVF9TWU1CT0woZHJtX2dlbV9kbWFidWZfa3VubWFwKTsKPiA+PiA+ID4gLXN0YXRpYyBpbnQg ZHJtX2dlbV9kbWFidWZfbW1hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZiwKPiA+PiA+ID4gLSAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQo+ID4+ID4g PiAraW50IGRybV9nZW1fZG1hYnVmX21tYXAoc3RydWN0IGRtYV9idWYgKmRtYV9idWYsIHN0cnVj dAo+ID4+ID4gPiArdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKPiA+PiA+ID4gICB7Cj4gPj4gPiA+ICAg IHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqID0gZG1hX2J1Zi0+cHJpdjsKPiA+PiA+ID4gICAg c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG9iai0+ZGV2OyBAQCAtMzk2LDYgKzQwNCw3IEBAIHN0 YXRpYyBpbnQKPiA+PiA+ID4gZHJtX2dlbV9kbWFidWZfbW1hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1h X2J1ZiwKPiA+PiA+ID4gICAgcmV0dXJuIGRldi0+ZHJpdmVyLT5nZW1fcHJpbWVfbW1hcChvYmos IHZtYSk7Cj4gPj4gPiA+ICAgfQo+ID4+ID4gPiArRVhQT1JUX1NZTUJPTChkcm1fZ2VtX2RtYWJ1 Zl9tbWFwKTsKPiA+PiA+ID4gICBzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9idWZfb3BzIGRybV9n ZW1fcHJpbWVfZG1hYnVmX29wcyA9ICB7Cj4gPj4gPiA+ICAgIC5hdHRhY2ggPSBkcm1fZ2VtX21h cF9hdHRhY2gsCj4gPj4gPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fcHJpbWUuaCBi L2luY2x1ZGUvZHJtL2RybV9wcmltZS5oIGluZGV4Cj4gPj4gPiA+IDljZDllMzYuLjRkNWY1ZDYg MTAwNjQ0Cj4gPj4gPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9wcmltZS5oCj4gPj4gPiA+ICsr KyBiL2luY2x1ZGUvZHJtL2RybV9wcmltZS5oCj4gPj4gPiA+IEBAIC01NCw2ICs1NCw5IEBAIHN0 cnVjdCBkZXZpY2U7Cj4gPj4gPiA+ICAgc3RydWN0IGRtYV9idWZfZXhwb3J0X2luZm87Cj4gPj4g PiA+ICAgc3RydWN0IGRtYV9idWY7Cj4gPj4gPiA+ICtzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50 Owo+ID4+ID4gPiArCj4gPj4gPiA+ICtlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbjsKPiA+PiA+ID4g ICBzdHJ1Y3QgZHJtX2RldmljZTsKPiA+PiA+ID4gICBzdHJ1Y3QgZHJtX2dlbV9vYmplY3Q7Cj4g Pj4gPiA+IEBAIC03OSw2ICs4MiwyNSBAQCBpbnQgZHJtX2dlbV9wcmltZV9mZF90b19oYW5kbGUo c3RydWN0Cj4gPj4gZHJtX2RldmljZSAqZGV2LAo+ID4+ID4gPiAgIHN0cnVjdCBkbWFfYnVmICpk cm1fZ2VtX2RtYWJ1Zl9leHBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+PiA+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRtYV9idWZfZXhwb3J0X2luZm8K PiA+PiA+ID4gKmV4cF9pbmZvKTsKPiA+PiA+ID4gICB2b2lkIGRybV9nZW1fZG1hYnVmX3JlbGVh c2Uoc3RydWN0IGRtYV9idWYgKmRtYV9idWYpOwo+ID4+ID4gPiAraW50IGRybV9nZW1fbWFwX2F0 dGFjaChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1Ziwgc3RydWN0IGRldmljZQo+ID4+ICp0YXJnZXRf ZGV2LAo+ID4+ID4gPiArICAgICAgICAgICAgICAgIHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQg KmF0dGFjaCk7IHZvaWQKPiA+PiA+ID4gK2RybV9nZW1fbWFwX2RldGFjaChzdHJ1Y3QgZG1hX2J1 ZiAqZG1hX2J1ZiwKPiA+PiA+ID4gKyAgICAgICAgICAgICAgICAgc3RydWN0IGRtYV9idWZfYXR0 YWNobWVudCAqYXR0YWNoKTsgc3RydWN0IHNnX3RhYmxlCj4gPj4gPiA+ICsqZHJtX2dlbV9tYXBf ZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICphdHRhY2gsCj4gPj4gPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIpOyB2 b2lkCj4gPj4gPiA+ICtkcm1fZ2VtX3VubWFwX2RtYV9idWYoc3RydWN0IGRtYV9idWZfYXR0YWNo bWVudCAqYXR0YWNoLAo+ID4+ID4gPiArICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2dfdGFi bGUgKnNndCwKPiA+PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgZW51bSBkbWFfZGF0YV9kaXJl Y3Rpb24gZGlyKTsgdm9pZAo+ID4+ID4gPiArKmRybV9nZW1fZG1hYnVmX3ZtYXAoc3RydWN0IGRt YV9idWYgKmRtYV9idWYpOyB2b2lkCj4gPj4gPiA+ICtkcm1fZ2VtX2RtYWJ1Zl92dW5tYXAoc3Ry dWN0IGRtYV9idWYgKmRtYV9idWYsIHZvaWQgKnZhZGRyKTsKPiA+PiB2b2lkCj4gPj4gPiA+ICsq ZHJtX2dlbV9kbWFidWZfa21hcF9hdG9taWMoc3RydWN0IGRtYV9idWYgKmRtYV9idWYsCj4gPj4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgcGFnZV9udW0pOwo+ ID4+ID4gPiArdm9pZCBkcm1fZ2VtX2RtYWJ1Zl9rdW5tYXBfYXRvbWljKHN0cnVjdCBkbWFfYnVm ICpkbWFfYnVmLAo+ID4+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg bG9uZyBwYWdlX251bSwgdm9pZCAqYWRkcik7IHZvaWQKPiA+PiA+ID4gKypkcm1fZ2VtX2RtYWJ1 Zl9rbWFwKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLCB1bnNpZ25lZCBsb25nCj4gPj4gPiA+ICtw YWdlX251bSk7IHZvaWQgZHJtX2dlbV9kbWFidWZfa3VubWFwKHN0cnVjdCBkbWFfYnVmCj4gPj4g KmRtYV9idWYsIHVuc2lnbmVkIGxvbmcgcGFnZV9udW0sCj4gPj4gPiA+ICsgICAgICAgICAgICAg ICAgICAgIHZvaWQgKmFkZHIpOwo+ID4+ID4gPiAraW50IGRybV9nZW1fZG1hYnVmX21tYXAoc3Ry dWN0IGRtYV9idWYgKmRtYV9idWYsIHN0cnVjdAo+ID4+ID4gPiArdm1fYXJlYV9zdHJ1Y3QgKnZt YSk7Cj4gPj4gPiA+ICAgaW50IGRybV9wcmltZV9zZ190b19wYWdlX2FkZHJfYXJyYXlzKHN0cnVj dCBzZ190YWJsZSAqc2d0LCBzdHJ1Y3QKPiA+PiBwYWdlICoqcGFnZXMsCj4gPj4gPiA+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1hX2FkZHJfdCAqYWRkcnMsIGludCBtYXhfcGFn ZXMpOwo+ID4+ID4KPiA+PiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gPj4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPj4gPiBkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+ID4+Cj4gPj4gLS0KPiA+PiBEYW5pZWwgVmV0 dGVyCj4gPj4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gPj4gaHR0cDov L2Jsb2cuZmZ3bGwuY2gKPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gPiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gYW1kLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vYW1kLWdmeAo+ID4KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4gPiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gYW1kLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vYW1kLWdmeAo+ID4KCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVy LCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK