From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH 02/22] drm: Add functions to setup/tear down drm_events. Date: Thu, 14 Jan 2016 20:46:30 +0200 Message-ID: <4229787.UcgEYxAl3G@avalon> References: <1452548477-15905-1-git-send-email-daniel.vetter@ffwll.ch> <1452548477-15905-3-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1452548477-15905-3-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Daniel Vetter , Intel Graphics Development , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org SGkgRGFuaWVsLAoKVGhhbmsgeW91IGZvciB0aGUgcGF0Y2guCgpPbiBNb25kYXkgMTEgSmFudWFy eSAyMDE2IDIyOjQwOjU2IERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gQW4gYXR0ZW1wdCBhdCBub3Qg c3ByZWFkaW5nIG91dCB0aGUgZmlsZV9wcml2LT5ldmVudF9zcGFjZSBzdHVmZiBvdXQKPiBxdWl0 ZSBzbyBmYXIgYW5kIHdpZGUuICBBbmQgSSB0aGluayBmaXhlcyBzb21ldGhpbmcgaW4gaXBwX2dl dF9ldmVudCgpCj4gdGhhdCBpcyBicm9rZW4gKG9yIGlmIHRoZXkgYXJlIGRvaW5nIHNvbWV0aGlu ZyBtb3JlIHdlaXJkL3N1YnRsZSwgdGhlbgo+IGJyZWFrcyBpdCBpbiBhIGZ1biB3YXkpLgo+IAo+ IEJhc2VkIHVwb24gYSBwYXRjaCBmcm9tIFJvYiBDbGFyaywgcmViYXNlZCBhbmQgcG9saXNoZWQu Cj4gCj4gdjI6IFNwZWxsaW5nIGZpeGVzIChBbGV4KS4KPiAKPiBDYzogQWxleCBEZXVjaGVyIDxh bGV4ZGV1Y2hlckBnbWFpbC5jb20+Cj4gQWNrZWQtYnk6IERhbmllbCBTdG9uZSA8ZGFuaWVsc0Bj b2xsYWJvcmEuY29tPgo+IFJldmlld2VkLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVj aGVyQGFtZC5jb20+Cj4gQ2M6IFJvYiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4KPiBTaWdu ZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KClJldmll d2VkLWJ5OiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5j b20+Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIHwgNDQgKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgICB8IDM2 ICsrKysrKystLS0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYyAg IHwgNjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgaW5jbHVk ZS9kcm0vZHJtUC5oICAgICAgICAgICB8ICA3ICsrKystCj4gIDQgZmlsZXMgY2hhbmdlZCwgOTQg aW5zZXJ0aW9ucygrKSwgNjAgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gaW5k ZXggM2Y3NDE5Mzg4NWYxLi44ZmI0NjljNGU0YjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiBA QCAtMTM0Nyw0NCArMTM0NywyMyBAQCBzdGF0aWMgc3RydWN0IGRybV9wZW5kaW5nX3ZibGFua19l dmVudAo+ICpjcmVhdGVfdmJsYW5rX2V2ZW50KCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKPiB1aW50NjRfdCB1c2VyX2RhdGEpIHsKPiAgCXN0cnVj dCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKmUgPSBOVUxMOwo+IC0JdW5zaWduZWQgbG9uZyBm bGFnczsKPiAtCj4gLQlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7 Cj4gLQlpZiAoZmlsZV9wcml2LT5ldmVudF9zcGFjZSA8IHNpemVvZiBlLT5ldmVudCkgewo+IC0J CXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRldi0+ZXZlbnRfbG9jaywgZmxhZ3MpOwo+IC0JCWdv dG8gb3V0Owo+IC0JfQo+IC0JZmlsZV9wcml2LT5ldmVudF9zcGFjZSAtPSBzaXplb2YgZS0+ZXZl bnQ7Cj4gLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsK PiArCWludCByZXQ7Cj4gCj4gIAllID0ga3phbGxvYyhzaXplb2YgKmUsIEdGUF9LRVJORUwpOwo+ IC0JaWYgKGUgPT0gTlVMTCkgewo+IC0JCXNwaW5fbG9ja19pcnFzYXZlKCZkZXYtPmV2ZW50X2xv Y2ssIGZsYWdzKTsKPiAtCQlmaWxlX3ByaXYtPmV2ZW50X3NwYWNlICs9IHNpemVvZiBlLT5ldmVu dDsKPiAtCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsK PiAtCQlnb3RvIG91dDsKPiAtCX0KPiArCWlmICghZSkKPiArCQlyZXR1cm4gTlVMTDsKPiAKPiAg CWUtPmV2ZW50LmJhc2UudHlwZSA9IERSTV9FVkVOVF9GTElQX0NPTVBMRVRFOwo+IC0JZS0+ZXZl bnQuYmFzZS5sZW5ndGggPSBzaXplb2YgZS0+ZXZlbnQ7Cj4gKwllLT5ldmVudC5iYXNlLmxlbmd0 aCA9IHNpemVvZihlLT5ldmVudCk7Cj4gIAllLT5ldmVudC51c2VyX2RhdGEgPSB1c2VyX2RhdGE7 Cj4gLQllLT5iYXNlLmV2ZW50ID0gJmUtPmV2ZW50LmJhc2U7Cj4gLQllLT5iYXNlLmZpbGVfcHJp diA9IGZpbGVfcHJpdjsKPiAtCWUtPmJhc2UuZGVzdHJveSA9ICh2b2lkICgqKSAoc3RydWN0IGRy bV9wZW5kaW5nX2V2ZW50ICopKSBrZnJlZTsKPiAtCj4gLW91dDoKPiAtCXJldHVybiBlOwo+IC19 Cj4gCj4gLXN0YXRpYyB2b2lkIGRlc3Ryb3lfdmJsYW5rX2V2ZW50KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCj4gLQkJc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsIHN0cnVjdCBkcm1fcGVuZGlu Z192YmxhbmtfZXZlbnQgKmUpCj4gLXsKPiAtCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4gKwlyZXQg PSBkcm1fZXZlbnRfcmVzZXJ2ZV9pbml0KGRldiwgZmlsZV9wcml2LCAmZS0+YmFzZSwgJmUtPmV2 ZW50LmJhc2UpOwo+ICsJaWYgKHJldCkgewo+ICsJCWtmcmVlKGUpOwo+ICsJCXJldHVybiBOVUxM Owo+ICsJfQo+IAo+IC0Jc3Bpbl9sb2NrX2lycXNhdmUoJmRldi0+ZXZlbnRfbG9jaywgZmxhZ3Mp Owo+IC0JZmlsZV9wcml2LT5ldmVudF9zcGFjZSArPSBzaXplb2YgZS0+ZXZlbnQ7Cj4gLQlzcGlu X3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsKPiAtCWtmcmVlKGUp Owo+ICsJcmV0dXJuIGU7Cj4gIH0KPiAKPiAgc3RhdGljIGludCBhdG9taWNfc2V0X3Byb3Aoc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+IEBAIC0xNjQ2LDggKzE2MjUsNyBAQCBvdXQ6 Cj4gIAkJCWlmICghY3J0Y19zdGF0ZS0+ZXZlbnQpCj4gIAkJCQljb250aW51ZTsKPiAKPiAtCQkJ ZGVzdHJveV92YmxhbmtfZXZlbnQoZGV2LCBmaWxlX3ByaXYsCj4gLQkJCQkJICAgICBjcnRjX3N0 YXRlLT5ldmVudCk7Cj4gKwkJCWRybV9ldmVudF9jYW5jZWxfZnJlZShkZXYsICZjcnRjX3N0YXRl LT5ldmVudC0+YmFzZSk7Cj4gIAkJfQo+ICAJfQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4gaW5kZXggMWU3 NWExNDU4MzRhLi42MGE0MTg0ZDQxYjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+IEBAIC01MjY0LDcg KzUyNjQsNiBAQCBpbnQgZHJtX21vZGVfcGFnZV9mbGlwX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4gIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmYiA9IE5VTEw7Cj4gIAlzdHJ1Y3QgZHJtX3BlbmRpbmdfdmJsYW5rX2V2ZW50ICplID0g TlVMTDsKPiAtCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4gIAlpbnQgcmV0ID0gLUVJTlZBTDsKPiAK PiAgCWlmIChwYWdlX2ZsaXAtPmZsYWdzICYgfkRSTV9NT0RFX1BBR0VfRkxJUF9GTEFHUyB8fAo+ IEBAIC01MzE1LDQxICs1MzE0LDI2IEBAIGludCBkcm1fbW9kZV9wYWdlX2ZsaXBfaW9jdGwoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKPiB9Cj4gCj4gIAlpZiAocGFnZV9mbGlwLT5mbGFncyAmIERS TV9NT0RFX1BBR0VfRkxJUF9FVkVOVCkgewo+IC0JCXJldCA9IC1FTk9NRU07Cj4gLQkJc3Bpbl9s b2NrX2lycXNhdmUoJmRldi0+ZXZlbnRfbG9jaywgZmxhZ3MpOwo+IC0JCWlmIChmaWxlX3ByaXYt PmV2ZW50X3NwYWNlIDwgc2l6ZW9mKGUtPmV2ZW50KSkgewo+IC0JCQlzcGluX3VubG9ja19pcnFy ZXN0b3JlKCZkZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsKPiAtCQkJZ290byBvdXQ7Cj4gLQkJfQo+ IC0JCWZpbGVfcHJpdi0+ZXZlbnRfc3BhY2UgLT0gc2l6ZW9mKGUtPmV2ZW50KTsKPiAtCQlzcGlu X3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsKPiAtCj4gLQkJZSA9 IGt6YWxsb2Moc2l6ZW9mKCplKSwgR0ZQX0tFUk5FTCk7Cj4gLQkJaWYgKGUgPT0gTlVMTCkgewo+ IC0JCQlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7Cj4gLQkJCWZp bGVfcHJpdi0+ZXZlbnRfc3BhY2UgKz0gc2l6ZW9mKGUtPmV2ZW50KTsKPiAtCQkJc3Bpbl91bmxv Y2tfaXJxcmVzdG9yZSgmZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7Cj4gKwkJZSA9IGt6YWxsb2Mo c2l6ZW9mICplLCBHRlBfS0VSTkVMKTsKPiArCQlpZiAoIWUpIHsKPiArCQkJcmV0ID0gLUVOT01F TTsKPiAgCQkJZ290byBvdXQ7Cj4gIAkJfQo+IC0KPiAgCQllLT5ldmVudC5iYXNlLnR5cGUgPSBE Uk1fRVZFTlRfRkxJUF9DT01QTEVURTsKPiAgCQllLT5ldmVudC5iYXNlLmxlbmd0aCA9IHNpemVv ZihlLT5ldmVudCk7Cj4gIAkJZS0+ZXZlbnQudXNlcl9kYXRhID0gcGFnZV9mbGlwLT51c2VyX2Rh dGE7Cj4gLQkJZS0+YmFzZS5ldmVudCA9ICZlLT5ldmVudC5iYXNlOwo+IC0JCWUtPmJhc2UuZmls ZV9wcml2ID0gZmlsZV9wcml2Owo+IC0JCWUtPmJhc2UuZGVzdHJveSA9Cj4gLQkJCSh2b2lkICgq KSAoc3RydWN0IGRybV9wZW5kaW5nX2V2ZW50ICopKSBrZnJlZTsKPiArCQlyZXQgPSBkcm1fZXZl bnRfcmVzZXJ2ZV9pbml0KGRldiwgZmlsZV9wcml2LCAmZS0+YmFzZSwgJmUtCj5ldmVudC5iYXNl KTsKPiArCQlpZiAocmV0KSB7Cj4gKwkJCWtmcmVlKGUpOwo+ICsJCQlnb3RvIG91dDsKPiArCQl9 Cj4gIAl9Cj4gCj4gIAljcnRjLT5wcmltYXJ5LT5vbGRfZmIgPSBjcnRjLT5wcmltYXJ5LT5mYjsK PiAgCXJldCA9IGNydGMtPmZ1bmNzLT5wYWdlX2ZsaXAoY3J0YywgZmIsIGUsIHBhZ2VfZmxpcC0+ ZmxhZ3MpOwo+ICAJaWYgKHJldCkgewo+IC0JCWlmIChwYWdlX2ZsaXAtPmZsYWdzICYgRFJNX01P REVfUEFHRV9GTElQX0VWRU5UKSB7Cj4gLQkJCXNwaW5fbG9ja19pcnFzYXZlKCZkZXYtPmV2ZW50 X2xvY2ssIGZsYWdzKTsKPiAtCQkJZmlsZV9wcml2LT5ldmVudF9zcGFjZSArPSBzaXplb2YoZS0+ ZXZlbnQpOwo+IC0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmV2ZW50X2xvY2ssIGZs YWdzKTsKPiAtCQkJa2ZyZWUoZSk7Cj4gLQkJfQo+ICsJCWlmIChwYWdlX2ZsaXAtPmZsYWdzICYg RFJNX01PREVfUEFHRV9GTElQX0VWRU5UKQo+ICsJCQlkcm1fZXZlbnRfY2FuY2VsX2ZyZWUoZGV2 LCAmZS0+YmFzZSk7Cj4gIAkJLyogS2VlcCB0aGUgb2xkIGZiLCBkb24ndCB1bnJlZiBpdC4gKi8K PiAgCQljcnRjLT5wcmltYXJ5LT5vbGRfZmIgPSBOVUxMOwo+ICAJfSBlbHNlIHsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9mb3BzLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Zv cHMuYwo+IGluZGV4IDczMDc1YTFmYTM4MC4uNDc2NDA4YjYzOGUzIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZm9wcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mb3Bz LmMKPiBAQCAtNjcyLDMgKzY3Miw3MCBAQCB1bnNpZ25lZCBpbnQgZHJtX3BvbGwoc3RydWN0IGZp bGUgKmZpbHAsIHN0cnVjdAo+IHBvbGxfdGFibGVfc3RydWN0ICp3YWl0KSByZXR1cm4gbWFzazsK PiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9wb2xsKTsKPiArCj4gKy8qKgo+ICsgKiBkcm1fZXZl bnRfcmVzZXJ2ZV9pbml0IC0gaW5pdCBhIERSTSBldmVudCBhbmQgcmVzZXJ2ZSBzcGFjZSBmb3Ig aXQKPiArICogQGRldjogRFJNIGRldmljZQo+ICsgKiBAZmlsZV9wcml2OiBEUk0gZmlsZSBwcml2 YXRlIGRhdGEKPiArICogQHA6IHRyYWNraW5nIHN0cnVjdHVyZSBmb3IgdGhlIHBlbmRpbmcgZXZl bnQKPiArICogQGU6IGFjdHVhbCBldmVudCBkYXRhIHRvIGRlbGl2ZXIgdG8gdXNlcnNwYWNlCj4g KyAqCj4gKyAqIFRoaXMgZnVuY3Rpb24gcHJlcGFyZXMgdGhlIHBhc3NlZCBpbiBldmVudCBmb3Ig ZXZlbnR1YWwgZGVsaXZlcnkuIElmIHRoZQo+IGV2ZW50ICsgKiBkb2Vzbid0IGdldCBkZWxpdmVy ZWQgKGJlY2F1c2UgdGhlIElPQ1RMIGZhaWxzIGxhdGVyIG9uLCBiZWZvcmUKPiBxdWV1aW5nIHVw ICsgKiBhbnl0aGluZykgdGhlbiB0aGUgZXZlbiBtdXN0IGJlIGNhbmNlbGxlZCBhbmQgZnJlZWQg dXNpbmcKPiArICogZHJtX2V2ZW50X2NhbmNlbF9mcmVlKCkuCj4gKyAqCj4gKyAqIElmIGNhbGxl cnMgZW1iZWRkZWQgQHAgaW50byBhIGxhcmdlciBzdHJ1Y3R1cmUgaXQgbXVzdCBiZSBhbGxvY2F0 ZWQgd2l0aAo+ICsgKiBrbWFsbG9jIGFuZCBAcCBtdXN0IGJlIHRoZSBmaXJzdCBtZW1iZXIgZWxl bWVudC4KPiArICoKPiArICogUkVUVVJOUzoKPiArICoKPiArICogMCBvbiBzdWNjZXNzIG9yIGEg bmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgo+ICsgKi8KPiAraW50IGRybV9ldmVudF9y ZXNlcnZlX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiArCQkJICAgc3RydWN0IGRybV9m aWxlICpmaWxlX3ByaXYsCj4gKwkJCSAgIHN0cnVjdCBkcm1fcGVuZGluZ19ldmVudCAqcCwKPiAr CQkJICAgc3RydWN0IGRybV9ldmVudCAqZSkKPiArewo+ICsJdW5zaWduZWQgbG9uZyBmbGFnczsK PiArCWludCByZXQgPSAwOwo+ICsKPiArCXNwaW5fbG9ja19pcnFzYXZlKCZkZXYtPmV2ZW50X2xv Y2ssIGZsYWdzKTsKPiArCj4gKwlpZiAoZmlsZV9wcml2LT5ldmVudF9zcGFjZSA8IGUtPmxlbmd0 aCkgewo+ICsJCXJldCA9IC1FTk9NRU07Cj4gKwkJZ290byBvdXQ7Cj4gKwl9Cj4gKwo+ICsJZmls ZV9wcml2LT5ldmVudF9zcGFjZSAtPSBlLT5sZW5ndGg7Cj4gKwo+ICsJcC0+ZXZlbnQgPSBlOwo+ ICsJcC0+ZmlsZV9wcml2ID0gZmlsZV9wcml2Owo+ICsKPiArCS8qIHdlICpjb3VsZCogcGFzcyB0 aGlzIGluIGFzIGFyZywgYnV0IGV2ZXJ5b25lIHVzZXMga2ZyZWU6ICovCj4gKwlwLT5kZXN0cm95 ID0gKHZvaWQgKCopIChzdHJ1Y3QgZHJtX3BlbmRpbmdfZXZlbnQgKikpIGtmcmVlOwo+ICsKPiAr b3V0Ogo+ICsJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7 Cj4gKwlyZXR1cm4gcmV0Owo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZHJtX2V2ZW50X3Jlc2VydmVf aW5pdCk7Cj4gKwo+ICsvKioKPiArICogZHJtX2V2ZW50X2NhbmNlbF9mcmVlIC0gZnJlZSBhIERS TSBldmVudCBhbmQgcmVsZWFzZSBpdCdzIHNwYWNlCj4gKyAqIEBkZXY6IERSTSBkZXZpY2UKPiAr ICogQHA6IHRyYWNraW5nIHN0cnVjdHVyZSBmb3IgdGhlIHBlbmRpbmcgZXZlbnQKPiArICoKPiAr ICogVGhpcyBmdW5jdGlvbiBmcmVlcyB0aGUgZXZlbnQgQHAgaW5pdGlhbGl6ZWQgd2l0aAo+IGRy bV9ldmVudF9yZXNlcnZlX2luaXQoKSArICogYW5kIHJlbGVhc2VzIGFueSBhbGxvY2F0ZWQgc3Bh Y2UuCj4gKyAqLwo+ICt2b2lkIGRybV9ldmVudF9jYW5jZWxfZnJlZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+ICsJCQkgICBzdHJ1Y3QgZHJtX3BlbmRpbmdfZXZlbnQgKnApCj4gK3sKPiArCXVu c2lnbmVkIGxvbmcgZmxhZ3M7Cj4gKwlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2LT5ldmVudF9sb2Nr LCBmbGFncyk7Cj4gKwlwLT5maWxlX3ByaXYtPmV2ZW50X3NwYWNlICs9IHAtPmV2ZW50LT5sZW5n dGg7Cj4gKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsK PiArCXAtPmRlc3Ryb3kocCk7Cj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fZXZlbnRfY2FuY2Vs X2ZyZWUpOwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1QLmggYi9pbmNsdWRlL2RybS9k cm1QLmgKPiBpbmRleCBmYzliOWFkNWIwODkuLmFkNGQwYTMxMjk0ZCAxMDA2NDQKPiAtLS0gYS9p bmNsdWRlL2RybS9kcm1QLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1QLmgKPiBAQCAtOTI1LDgg KzkyNSwxMyBAQCBzc2l6ZV90IGRybV9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNl cgo+ICpidWZmZXIsIHNpemVfdCBjb3VudCwgbG9mZl90ICpvZmZzZXQpOwo+ICBpbnQgZHJtX3Jl bGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApOwo+ICBpbnQgZHJt X25ld19zZXRfbWFzdGVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAq ZnByaXYpOwo+IC0KPiAgdW5zaWduZWQgaW50IGRybV9wb2xsKHN0cnVjdCBmaWxlICpmaWxwLCBz dHJ1Y3QgcG9sbF90YWJsZV9zdHJ1Y3QgKndhaXQpOwo+ICtpbnQgZHJtX2V2ZW50X3Jlc2VydmVf aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsJCQkgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGVfcHJpdiwKPiArCQkJICAgc3RydWN0IGRybV9wZW5kaW5nX2V2ZW50ICpwLAo+ICsJCQkgICBz dHJ1Y3QgZHJtX2V2ZW50ICplKTsKPiArdm9pZCBkcm1fZXZlbnRfY2FuY2VsX2ZyZWUoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPiArCQkJICAgc3RydWN0IGRybV9wZW5kaW5nX2V2ZW50ICpwKTsK PiAKPiAgLyogTWlzYy4gSU9DVEwgc3VwcG9ydCAoZHJtX2lvY3RsLmMpICovCj4gIGludCBkcm1f bm9vcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAoKLS0gClJlZ2FyZHMsCgpM YXVyZW50IFBpbmNoYXJ0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=