From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH] drm/radeon: Support DRM_MODE_PAGE_FLIP_ASYNC Date: Fri, 1 Apr 2016 14:39:15 +0200 Message-ID: <56FE6BF3.2040904@vodafone.de> References: <1459504294-1802-1-git-send-email-michel@daenzer.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from pegasos-out.vodafone.de (pegasos-out.vodafone.de [80.84.1.38]) by gabe.freedesktop.org (Postfix) with ESMTP id 642546E4BB for ; Fri, 1 Apr 2016 12:39:23 +0000 (UTC) In-Reply-To: <1459504294-1802-1-git-send-email-michel@daenzer.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?Q?Michel_D=c3=a4nzer?= , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org QW0gMDEuMDQuMjAxNiB1bSAxMTo1MSBzY2hyaWViIE1pY2hlbCBEw6RuemVyOgo+IEZyb206IE1p Y2hlbCBEw6RuemVyIDxtaWNoZWwuZGFlbnplckBhbWQuY29tPgo+Cj4gV2hlbiB0aGlzIGZsYWcg aXMgc2V0LCB3ZSBwcm9ncmFtIHRoZSBoYXJkd2FyZSB0byBleGVjdXRlIHRoZSBmbGlwCj4gZHVy aW5nIGhvcml6b250YWwgYmxhbmsgKGkuZS4gZm9yIHRoZSBuZXh0IHNjYW5saW5lKSBpbnN0ZWFk IG9mIGR1cmluZwo+IHZlcnRpY2FsIGJsYW5rIChpLmUuIGZvciB0aGUgbmV4dCBmcmFtZSkuCj4K PiBDdXJyZW50bHkgdGhpcyBpcyBvbmx5IHN1cHBvcnRlZCBvbiBBU0lDcyB3aGljaCBoYXZlIGEg cGFnZSBmbGlwCj4gY29tcGxldGlvbiBpbnRlcnJ1cHQgKD49IFI2MDApLCBhbmQgb25seSBpZiB0 aGUgdXNlX3BmbGlwaXJxIHBhcmFtZXRlcgo+IGhhcyB2YWx1ZSAyICh0aGUgZGVmYXVsdCkuCj4K PiBTaWduZWQtb2ZmLWJ5OiBNaWNoZWwgRMOkbnplciA8bWljaGVsLmRhZW56ZXJAYW1kLmNvbT4K ClJldmlld2VkLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+ Cgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9hdG9tYmlvc19jcnRjLmMgIHwgMjQg KysrKysrKysrKystLS0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJn cmVlbi5jICAgICAgfCAgNSArKysrLQo+ICAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMTAwLmMg ICAgICAgICAgIHwgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmggICAg ICAgICB8ICA1ICsrKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hc2ljLmgg ICAgfCAgOSArKysrKy0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rpc3Bs YXkuYyB8ICA2ICsrKysrLQo+ICAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yczYwMC5jICAgICAg ICAgIHwgIDQgKysrLQo+ICAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ydjc3MC5jICAgICAgICAg IHwgIDQgKysrLQo+ICAgOCBmaWxlcyBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCAyNCBkZWxl dGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2F0b21iaW9z X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vYXRvbWJpb3NfY3J0Yy5jCj4gaW5kZXgg YjgwYjA4Zi4uYmRjN2I5ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2F0 b21iaW9zX2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vYXRvbWJpb3NfY3J0 Yy5jCj4gQEAgLTEzNzUsNiArMTM3NSwxMSBAQCBzdGF0aWMgaW50IGRjZTRfY3J0Y19kb19zZXRf YmFzZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gICAJCWJyZWFrOwo+ICAgCX0KPiAgIAo+ICsJ LyogTWFrZSBzdXJlIHN1cmZhY2UgYWRkcmVzcyBpcyB1cGRhdGVkIGF0IHZlcnRpY2FsIGJsYW5r IHJhdGhlciB0aGFuCj4gKwkgKiBob3Jpem9udGFsIGJsYW5rCj4gKwkgKi8KPiArCVdSRUczMihF VkVSR1JFRU5fR1JQSF9GTElQX0NPTlRST0wgKyByYWRlb25fY3J0Yy0+Y3J0Y19vZmZzZXQsIDAp Owo+ICsKPiAgIAlXUkVHMzIoRVZFUkdSRUVOX0dSUEhfUFJJTUFSWV9TVVJGQUNFX0FERFJFU1Nf SElHSCArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCwKPiAgIAkgICAgICAgdXBwZXJfMzJfYml0 cyhmYl9sb2NhdGlvbikpOwo+ICAgCVdSRUczMihFVkVSR1JFRU5fR1JQSF9TRUNPTkRBUllfU1VS RkFDRV9BRERSRVNTX0hJR0ggKyByYWRlb25fY3J0Yy0+Y3J0Y19vZmZzZXQsCj4gQEAgLTE0Mjcs MTIgKzE0MzIsNiBAQCBzdGF0aWMgaW50IGRjZTRfY3J0Y19kb19zZXRfYmFzZShzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCj4gICAJV1JFRzMyKEVWRVJHUkVFTl9WSUVXUE9SVF9TSVpFICsgcmFkZW9u X2NydGMtPmNydGNfb2Zmc2V0LAo+ICAgCSAgICAgICAodmlld3BvcnRfdyA8PCAxNikgfCB2aWV3 cG9ydF9oKTsKPiAgIAo+IC0JLyogcGFnZWZsaXAgc2V0dXAgKi8KPiAtCS8qIG1ha2Ugc3VyZSBm bGlwIGlzIGF0IHZiIHJhdGhlciB0aGFuIGhiICovCj4gLQl0bXAgPSBSUkVHMzIoRVZFUkdSRUVO X0dSUEhfRkxJUF9DT05UUk9MICsgcmFkZW9uX2NydGMtPmNydGNfb2Zmc2V0KTsKPiAtCXRtcCAm PSB+RVZFUkdSRUVOX0dSUEhfU1VSRkFDRV9VUERBVEVfSF9SRVRSQUNFX0VOOwo+IC0JV1JFRzMy KEVWRVJHUkVFTl9HUlBIX0ZMSVBfQ09OVFJPTCArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCwg dG1wKTsKPiAtCj4gICAJLyogc2V0IHBhZ2VmbGlwIHRvIGhhcHBlbiBvbmx5IGF0IHN0YXJ0IG9m IHZibGFuayBpbnRlcnZhbCAoZnJvbnQgcG9yY2gpICovCj4gICAJV1JFRzMyKEVWRVJHUkVFTl9N QVNURVJfVVBEQVRFX01PREUgKyByYWRlb25fY3J0Yy0+Y3J0Y19vZmZzZXQsIDMpOwo+ICAgCj4g QEAgLTE0NjYsNyArMTQ2NSw3IEBAIHN0YXRpYyBpbnQgYXZpdm9fY3J0Y19kb19zZXRfYmFzZShz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gICAJdWludDY0X3QgZmJfbG9jYXRpb247Cj4gICAJdWlu dDMyX3QgZmJfZm9ybWF0LCBmYl9waXRjaF9waXhlbHMsIHRpbGluZ19mbGFnczsKPiAgIAl1MzIg ZmJfc3dhcCA9IFI2MDBfRDFHUlBIX1NXQVBfRU5ESUFOX05PTkU7Cj4gLQl1MzIgdG1wLCB2aWV3 cG9ydF93LCB2aWV3cG9ydF9oOwo+ICsJdTMyIHZpZXdwb3J0X3csIHZpZXdwb3J0X2g7Cj4gICAJ aW50IHI7Cj4gICAJYm9vbCBieXBhc3NfbHV0ID0gZmFsc2U7Cj4gICAKPiBAQCAtMTU4MSw2ICsx NTgwLDExIEBAIHN0YXRpYyBpbnQgYXZpdm9fY3J0Y19kb19zZXRfYmFzZShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCj4gICAJZWxzZQo+ICAgCQlXUkVHMzIoQVZJVk9fRDJWR0FfQ09OVFJPTCwgMCk7 Cj4gICAKPiArCS8qIE1ha2Ugc3VyZSBzdXJmYWNlIGFkZHJlc3MgaXMgdXBkYXRlIGF0IHZlcnRp Y2FsIGJsYW5rIHJhdGhlciB0aGFuCj4gKwkgKiBob3Jpem9udGFsIGJsYW5rCj4gKwkgKi8KPiAr CVdSRUczMihBVklWT19EMUdSUEhfRkxJUF9DT05UUk9MICsgcmFkZW9uX2NydGMtPmNydGNfb2Zm c2V0LCAwKTsKPiArCj4gICAJaWYgKHJkZXYtPmZhbWlseSA+PSBDSElQX1JWNzcwKSB7Cj4gICAJ CWlmIChyYWRlb25fY3J0Yy0+Y3J0Y19pZCkgewo+ICAgCQkJV1JFRzMyKFI3MDBfRDJHUlBIX1BS SU1BUllfU1VSRkFDRV9BRERSRVNTX0hJR0gsIHVwcGVyXzMyX2JpdHMoZmJfbG9jYXRpb24pKTsK PiBAQCAtMTYyNywxMiArMTYzMSw2IEBAIHN0YXRpYyBpbnQgYXZpdm9fY3J0Y19kb19zZXRfYmFz ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gICAJV1JFRzMyKEFWSVZPX0QxTU9ERV9WSUVXUE9S VF9TSVpFICsgcmFkZW9uX2NydGMtPmNydGNfb2Zmc2V0LAo+ICAgCSAgICAgICAodmlld3BvcnRf dyA8PCAxNikgfCB2aWV3cG9ydF9oKTsKPiAgIAo+IC0JLyogcGFnZWZsaXAgc2V0dXAgKi8KPiAt CS8qIG1ha2Ugc3VyZSBmbGlwIGlzIGF0IHZiIHJhdGhlciB0aGFuIGhiICovCj4gLQl0bXAgPSBS UkVHMzIoQVZJVk9fRDFHUlBIX0ZMSVBfQ09OVFJPTCArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNl dCk7Cj4gLQl0bXAgJj0gfkFWSVZPX0QxR1JQSF9TVVJGQUNFX1VQREFURV9IX1JFVFJBQ0VfRU47 Cj4gLQlXUkVHMzIoQVZJVk9fRDFHUlBIX0ZMSVBfQ09OVFJPTCArIHJhZGVvbl9jcnRjLT5jcnRj X29mZnNldCwgdG1wKTsKPiAtCj4gICAJLyogc2V0IHBhZ2VmbGlwIHRvIGhhcHBlbiBvbmx5IGF0 IHN0YXJ0IG9mIHZibGFuayBpbnRlcnZhbCAoZnJvbnQgcG9yY2gpICovCj4gICAJV1JFRzMyKEFW SVZPX0QxTU9ERV9NQVNURVJfVVBEQVRFX01PREUgKyByYWRlb25fY3J0Yy0+Y3J0Y19vZmZzZXQs IDMpOwo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVu LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5jCj4gaW5kZXggNzZjNGJkZi4u ZTEwOTIzOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYwo+IEBAIC0xNDA3LDEx ICsxNDA3LDE0IEBAIHZvaWQgZGNlNF93YWl0X2Zvcl92Ymxhbmsoc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYsIGludCBjcnRjKQo+ICAgICogVHJpZ2dlcnMgdGhlIGFjdHVhbCBwYWdlZmxpcCBi eSB1cGRhdGluZyB0aGUgcHJpbWFyeQo+ICAgICogc3VyZmFjZSBiYXNlIGFkZHJlc3MgKGV2ZXJn cmVlbispLgo+ICAgICovCj4gLXZvaWQgZXZlcmdyZWVuX3BhZ2VfZmxpcChzdHJ1Y3QgcmFkZW9u X2RldmljZSAqcmRldiwgaW50IGNydGNfaWQsIHU2NCBjcnRjX2Jhc2UpCj4gK3ZvaWQgZXZlcmdy ZWVuX3BhZ2VfZmxpcChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IGNydGNfaWQsIHU2 NCBjcnRjX2Jhc2UsCj4gKwkJCSBib29sIGFzeW5jKQo+ICAgewo+ICAgCXN0cnVjdCByYWRlb25f Y3J0YyAqcmFkZW9uX2NydGMgPSByZGV2LT5tb2RlX2luZm8uY3J0Y3NbY3J0Y19pZF07Cj4gICAK PiAgIAkvKiB1cGRhdGUgdGhlIHNjYW5vdXQgYWRkcmVzc2VzICovCj4gKwlXUkVHMzIoRVZFUkdS RUVOX0dSUEhfRkxJUF9DT05UUk9MICsgcmFkZW9uX2NydGMtPmNydGNfb2Zmc2V0LAo+ICsJICAg ICAgIGFzeW5jID8gRVZFUkdSRUVOX0dSUEhfU1VSRkFDRV9VUERBVEVfSF9SRVRSQUNFX0VOIDog MCk7Cj4gICAJV1JFRzMyKEVWRVJHUkVFTl9HUlBIX1BSSU1BUllfU1VSRkFDRV9BRERSRVNTX0hJ R0ggKyByYWRlb25fY3J0Yy0+Y3J0Y19vZmZzZXQsCj4gICAJICAgICAgIHVwcGVyXzMyX2JpdHMo Y3J0Y19iYXNlKSk7Cj4gICAJV1JFRzMyKEVWRVJHUkVFTl9HUlBIX1BSSU1BUllfU1VSRkFDRV9B RERSRVNTICsgcmFkZW9uX2NydGMtPmNydGNfb2Zmc2V0LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3IxMDAuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjEwMC5jCj4g aW5kZXggNmU0NzhhMi4uZGUxMWE3ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3IxMDAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjEwMC5jCj4gQEAgLTE1 Myw3ICsxNTMsNyBAQCB2b2lkIHIxMDBfd2FpdF9mb3JfdmJsYW5rKHN0cnVjdCByYWRlb25fZGV2 aWNlICpyZGV2LCBpbnQgY3J0YykKPiAgICAqIGJpdCB0byBnbyBoaWdoLCB3aGVuIGl0IGRvZXMs IHdlIHJlbGVhc2UgdGhlIGxvY2ssIGFuZCBhbGxvdyB0aGUKPiAgICAqIGRvdWJsZSBidWZmZXJl ZCB1cGRhdGUgdG8gdGFrZSBwbGFjZS4KPiAgICAqLwo+IC12b2lkIHIxMDBfcGFnZV9mbGlwKHN0 cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0Y19pZCwgdTY0IGNydGNfYmFzZSkKPiAr dm9pZCByMTAwX3BhZ2VfZmxpcChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IGNydGNf aWQsIHU2NCBjcnRjX2Jhc2UsIGJvb2wgYXN5bmMpCj4gICB7Cj4gICAJc3RydWN0IHJhZGVvbl9j cnRjICpyYWRlb25fY3J0YyA9IHJkZXYtPm1vZGVfaW5mby5jcnRjc1tjcnRjX2lkXTsKPiAgIAl1 MzIgdG1wID0gKCh1MzIpY3J0Y19iYXNlKSB8IFJBREVPTl9DUlRDX09GRlNFVF9fT0ZGU0VUX0xP Q0s7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmggYi9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCj4gaW5kZXggMDA3YmUyOS4uZjgzNjk5MyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaAo+IEBAIC03NDQsNiArNzQ0LDcgQEAgc3RydWN0IHJh ZGVvbl9mbGlwX3dvcmsgewo+ICAgCXN0cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKmV2 ZW50Owo+ICAgCXN0cnVjdCByYWRlb25fYm8JCSpvbGRfcmJvOwo+ICAgCXN0cnVjdCBmZW5jZQkJ CSpmZW5jZTsKPiArCWJvb2wJCQkJYXN5bmM7Cj4gICB9Owo+ICAgCj4gICBzdHJ1Y3QgcjUwMF9p cnFfc3RhdF9yZWdzIHsKPiBAQCAtMTk5OCw3ICsxOTk5LDcgQEAgc3RydWN0IHJhZGVvbl9hc2lj IHsKPiAgIAl9IGRwbTsKPiAgIAkvKiBwYWdlZmxpcHBpbmcgKi8KPiAgIAlzdHJ1Y3Qgewo+IC0J CXZvaWQgKCpwYWdlX2ZsaXApKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0Yywg dTY0IGNydGNfYmFzZSk7Cj4gKwkJdm9pZCAoKnBhZ2VfZmxpcCkoc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYsIGludCBjcnRjLCB1NjQgY3J0Y19iYXNlLCBib29sIGFzeW5jKTsKPiAgIAkJYm9v bCAoKnBhZ2VfZmxpcF9wZW5kaW5nKShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IGNy dGMpOwo+ICAgCX0gcGZsaXA7Cj4gICB9Owo+IEBAIC0yNzc1LDcgKzI3NzYsNyBAQCBzdGF0aWMg aW5saW5lIHZvaWQgcmFkZW9uX3Jpbmdfd3JpdGUoc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nLCB1 aW50MzJfdCB2KQo+ICAgI2RlZmluZSByYWRlb25fcG1fZmluaXNoKHJkZXYpIChyZGV2KS0+YXNp Yy0+cG0uZmluaXNoKChyZGV2KSkKPiAgICNkZWZpbmUgcmFkZW9uX3BtX2luaXRfcHJvZmlsZShy ZGV2KSAocmRldiktPmFzaWMtPnBtLmluaXRfcHJvZmlsZSgocmRldikpCj4gICAjZGVmaW5lIHJh ZGVvbl9wbV9nZXRfZHlucG1fc3RhdGUocmRldikgKHJkZXYpLT5hc2ljLT5wbS5nZXRfZHlucG1f c3RhdGUoKHJkZXYpKQo+IC0jZGVmaW5lIHJhZGVvbl9wYWdlX2ZsaXAocmRldiwgY3J0YywgYmFz ZSkgKHJkZXYpLT5hc2ljLT5wZmxpcC5wYWdlX2ZsaXAoKHJkZXYpLCAoY3J0YyksIChiYXNlKSkK PiArI2RlZmluZSByYWRlb25fcGFnZV9mbGlwKHJkZXYsIGNydGMsIGJhc2UsIGFzeW5jKSAocmRl diktPmFzaWMtPnBmbGlwLnBhZ2VfZmxpcCgocmRldiksIChjcnRjKSwgKGJhc2UpLCAoYXN5bmMp KQo+ICAgI2RlZmluZSByYWRlb25fcGFnZV9mbGlwX3BlbmRpbmcocmRldiwgY3J0YykgKHJkZXYp LT5hc2ljLT5wZmxpcC5wYWdlX2ZsaXBfcGVuZGluZygocmRldiksIChjcnRjKSkKPiAgICNkZWZp bmUgcmFkZW9uX3dhaXRfZm9yX3ZibGFuayhyZGV2LCBjcnRjKSAocmRldiktPmFzaWMtPmRpc3Bs YXkud2FpdF9mb3JfdmJsYW5rKChyZGV2KSwgKGNydGMpKQo+ICAgI2RlZmluZSByYWRlb25fbWNf d2FpdF9mb3JfaWRsZShyZGV2KSAocmRldiktPmFzaWMtPm1jX3dhaXRfZm9yX2lkbGUoKHJkZXYp KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hc2ljLmggYi9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hc2ljLmgKPiBpbmRleCBlMGFhMzMyLi5hM2Rl ZWQ5MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hc2ljLmgK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hc2ljLmgKPiBAQCAtMTM4LDcg KzEzOCw3IEBAIGV4dGVybiB2b2lkIHIxMDBfcG1fZmluaXNoKHN0cnVjdCByYWRlb25fZGV2aWNl ICpyZGV2KTsKPiAgIGV4dGVybiB2b2lkIHIxMDBfcG1faW5pdF9wcm9maWxlKHN0cnVjdCByYWRl b25fZGV2aWNlICpyZGV2KTsKPiAgIGV4dGVybiB2b2lkIHIxMDBfcG1fZ2V0X2R5bnBtX3N0YXRl KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsKPiAgIGV4dGVybiB2b2lkIHIxMDBfcGFnZV9m bGlwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0YywKPiAtCQkJICAgdTY0IGNy dGNfYmFzZSk7Cj4gKwkJCSAgIHU2NCBjcnRjX2Jhc2UsIGJvb2wgYXN5bmMpOwo+ICAgZXh0ZXJu IGJvb2wgcjEwMF9wYWdlX2ZsaXBfcGVuZGluZyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwg aW50IGNydGMpOwo+ICAgZXh0ZXJuIHZvaWQgcjEwMF93YWl0X2Zvcl92Ymxhbmsoc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjKTsKPiAgIGV4dGVybiBpbnQgcjEwMF9tY193YWl0 X2Zvcl9pZGxlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsKPiBAQCAtMjUwLDcgKzI1MCw3 IEBAIGV4dGVybiB2b2lkIHJzNjAwX3BtX21pc2Moc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYp Owo+ICAgZXh0ZXJuIHZvaWQgcnM2MDBfcG1fcHJlcGFyZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAq cmRldik7Cj4gICBleHRlcm4gdm9pZCByczYwMF9wbV9maW5pc2goc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYpOwo+ICAgZXh0ZXJuIHZvaWQgcnM2MDBfcGFnZV9mbGlwKHN0cnVjdCByYWRlb25f ZGV2aWNlICpyZGV2LCBpbnQgY3J0YywKPiAtCQkJICAgIHU2NCBjcnRjX2Jhc2UpOwo+ICsJCQkg ICAgdTY0IGNydGNfYmFzZSwgYm9vbCBhc3luYyk7Cj4gICBleHRlcm4gYm9vbCByczYwMF9wYWdl X2ZsaXBfcGVuZGluZyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IGNydGMpOwo+ICAg dm9pZCByczYwMF9zZXRfc2FmZV9yZWdpc3RlcnMoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYp Owo+ICAgZXh0ZXJuIHZvaWQgYXZpdm9fd2FpdF9mb3JfdmJsYW5rKHN0cnVjdCByYWRlb25fZGV2 aWNlICpyZGV2LCBpbnQgY3J0Yyk7Cj4gQEAgLTQ2NCw3ICs0NjQsOCBAQCB2b2lkIHJ2NzcwX2Zp bmkoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwo+ICAgaW50IHJ2NzcwX3N1c3BlbmQoc3Ry dWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwo+ICAgaW50IHJ2NzcwX3Jlc3VtZShzdHJ1Y3QgcmFk ZW9uX2RldmljZSAqcmRldik7Cj4gICB2b2lkIHJ2NzcwX3BtX21pc2Moc3RydWN0IHJhZGVvbl9k ZXZpY2UgKnJkZXYpOwo+IC12b2lkIHJ2NzcwX3BhZ2VfZmxpcChzdHJ1Y3QgcmFkZW9uX2Rldmlj ZSAqcmRldiwgaW50IGNydGMsIHU2NCBjcnRjX2Jhc2UpOwo+ICt2b2lkIHJ2NzcwX3BhZ2VfZmxp cChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IGNydGMsIHU2NCBjcnRjX2Jhc2UsCj4g KwkJICAgICBib29sIGFzeW5jKTsKPiAgIGJvb2wgcnY3NzBfcGFnZV9mbGlwX3BlbmRpbmcoc3Ry dWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjKTsKPiAgIHZvaWQgcjcwMF92cmFtX2d0 dF9sb2NhdGlvbihzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9tYyAq bWMpOwo+ICAgdm9pZCByNzAwX2NwX3N0b3Aoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwo+ IEBAIC01MzQsNyArNTM1LDcgQEAgZXh0ZXJuIHZvaWQgYnRjX3BtX2luaXRfcHJvZmlsZShzdHJ1 Y3QgcmFkZW9uX2RldmljZSAqcmRldik7Cj4gICBpbnQgc3Vtb19zZXRfdXZkX2Nsb2NrcyhzdHJ1 Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgdTMyIHZjbGssIHUzMiBkY2xrKTsKPiAgIGludCBldmVy Z3JlZW5fc2V0X3V2ZF9jbG9ja3Moc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHUzMiB2Y2xr LCB1MzIgZGNsayk7Cj4gICBleHRlcm4gdm9pZCBldmVyZ3JlZW5fcGFnZV9mbGlwKHN0cnVjdCBy YWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0YywKPiAtCQkJCXU2NCBjcnRjX2Jhc2UpOwo+ICsJ CQkJdTY0IGNydGNfYmFzZSwgYm9vbCBhc3luYyk7Cj4gICBleHRlcm4gYm9vbCBldmVyZ3JlZW5f cGFnZV9mbGlwX3BlbmRpbmcoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjKTsK PiAgIGV4dGVybiB2b2lkIGRjZTRfd2FpdF9mb3JfdmJsYW5rKHN0cnVjdCByYWRlb25fZGV2aWNl ICpyZGV2LCBpbnQgY3J0Yyk7Cj4gICB2b2lkIGV2ZXJncmVlbl9kaXNhYmxlX2ludGVycnVwdF9z dGF0ZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2Rpc3BsYXkuYwo+IGluZGV4IGZjYzc0ODMuLjdmMTc2ZWMgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fZGlzcGxheS5jCj4gQEAgLTQ5MCw3ICs0OTAsNyBAQCBzdGF0 aWMgdm9pZCByYWRlb25fZmxpcF93b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICpfX3dvcmsp Cj4gICAJCQkJIHZibGFuay0+bGluZWR1cl9ucyAvIDEwMDAsIHN0YXQsIHZwb3MsIGhwb3MpOwo+ ICAgCj4gICAJLyogZG8gdGhlIGZsaXAgKG1taW8pICovCj4gLQlyYWRlb25fcGFnZV9mbGlwKHJk ZXYsIHJhZGVvbl9jcnRjLT5jcnRjX2lkLCB3b3JrLT5iYXNlKTsKPiArCXJhZGVvbl9wYWdlX2Zs aXAocmRldiwgcmFkZW9uX2NydGMtPmNydGNfaWQsIHdvcmstPmJhc2UsIHdvcmstPmFzeW5jKTsK PiAgIAo+ICAgCXJhZGVvbl9jcnRjLT5mbGlwX3N0YXR1cyA9IFJBREVPTl9GTElQX1NVQk1JVFRF RDsKPiAgIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjcnRjLT5kZXYtPmV2ZW50X2xvY2ssIGZs YWdzKTsKPiBAQCAtNTI1LDYgKzUyNSw3IEBAIHN0YXRpYyBpbnQgcmFkZW9uX2NydGNfcGFnZV9m bGlwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgIAl3b3JrLT5yZGV2ID0gcmRldjsKPiAgIAl3 b3JrLT5jcnRjX2lkID0gcmFkZW9uX2NydGMtPmNydGNfaWQ7Cj4gICAJd29yay0+ZXZlbnQgPSBl dmVudDsKPiArCXdvcmstPmFzeW5jID0gKHBhZ2VfZmxpcF9mbGFncyAmIERSTV9NT0RFX1BBR0Vf RkxJUF9BU1lOQykgIT0gMDsKPiAgIAo+ICAgCS8qIHNjaGVkdWxlIHVucGluIG9mIHRoZSBvbGQg YnVmZmVyICovCj4gICAJb2xkX3JhZGVvbl9mYiA9IHRvX3JhZGVvbl9mcmFtZWJ1ZmZlcihjcnRj LT5wcmltYXJ5LT5mYik7Cj4gQEAgLTE2MzAsNiArMTYzMSw5IEBAIGludCByYWRlb25fbW9kZXNl dF9pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQo+ICAgCj4gICAJcmRldi0+ZGRldi0+ bW9kZV9jb25maWcuZnVuY3MgPSAmcmFkZW9uX21vZGVfZnVuY3M7Cj4gICAKPiArCWlmIChyYWRl b25fdXNlX3BmbGlwaXJxID09IDIgJiYgcmRldi0+ZmFtaWx5ID49IENISVBfUjYwMCkKPiArCQly ZGV2LT5kZGV2LT5tb2RlX2NvbmZpZy5hc3luY19wYWdlX2ZsaXAgPSB0cnVlOwo+ICsKPiAgIAlp ZiAoQVNJQ19JU19EQ0U1KHJkZXYpKSB7Cj4gICAJCXJkZXYtPmRkZXYtPm1vZGVfY29uZmlnLm1h eF93aWR0aCA9IDE2Mzg0Owo+ICAgCQlyZGV2LT5kZGV2LT5tb2RlX2NvbmZpZy5tYXhfaGVpZ2h0 ID0gMTYzODQ7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnM2MDAuYyBi L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnM2MDAuYwo+IGluZGV4IDYyNDRmNGUuLjkwYjA0ZDAg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yczYwMC5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yczYwMC5jCj4gQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIGF2 aXZvX3dhaXRfZm9yX3ZibGFuayhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IGNydGMp Cj4gICAJfQo+ICAgfQo+ICAgCj4gLXZvaWQgcnM2MDBfcGFnZV9mbGlwKHN0cnVjdCByYWRlb25f ZGV2aWNlICpyZGV2LCBpbnQgY3J0Y19pZCwgdTY0IGNydGNfYmFzZSkKPiArdm9pZCByczYwMF9w YWdlX2ZsaXAoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjX2lkLCB1NjQgY3J0 Y19iYXNlLCBib29sIGFzeW5jKQo+ICAgewo+ICAgCXN0cnVjdCByYWRlb25fY3J0YyAqcmFkZW9u X2NydGMgPSByZGV2LT5tb2RlX2luZm8uY3J0Y3NbY3J0Y19pZF07Cj4gICAJdTMyIHRtcCA9IFJS RUczMihBVklWT19EMUdSUEhfVVBEQVRFICsgcmFkZW9uX2NydGMtPmNydGNfb2Zmc2V0KTsKPiBA QCAtMTIxLDYgKzEyMSw4IEBAIHZvaWQgcnM2MDBfcGFnZV9mbGlwKHN0cnVjdCByYWRlb25fZGV2 aWNlICpyZGV2LCBpbnQgY3J0Y19pZCwgdTY0IGNydGNfYmFzZSkKPiAgIAlXUkVHMzIoQVZJVk9f RDFHUlBIX1VQREFURSArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCwgdG1wKTsKPiAgIAo+ICAg CS8qIHVwZGF0ZSB0aGUgc2Nhbm91dCBhZGRyZXNzZXMgKi8KPiArCVdSRUczMihBVklWT19EMUdS UEhfRkxJUF9DT05UUk9MICsgcmFkZW9uX2NydGMtPmNydGNfb2Zmc2V0LAo+ICsJICAgICAgIGFz eW5jID8gQVZJVk9fRDFHUlBIX1NVUkZBQ0VfVVBEQVRFX0hfUkVUUkFDRV9FTiA6IDApOwo+ICAg CVdSRUczMihBVklWT19EMUdSUEhfU0VDT05EQVJZX1NVUkZBQ0VfQUREUkVTUyArIHJhZGVvbl9j cnRjLT5jcnRjX29mZnNldCwKPiAgIAkgICAgICAgKHUzMiljcnRjX2Jhc2UpOwo+ICAgCVdSRUcz MihBVklWT19EMUdSUEhfUFJJTUFSWV9TVVJGQUNFX0FERFJFU1MgKyByYWRlb25fY3J0Yy0+Y3J0 Y19vZmZzZXQsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnY3NzAuYyBi L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnY3NzAuYwo+IGluZGV4IDAxZWU5NmEuLjJkZjc5MDEg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ydjc3MC5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9ydjc3MC5jCj4gQEAgLTgwMSw3ICs4MDEsNyBAQCB1MzIgcnY3 NzBfZ2V0X3hjbGsoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCj4gICAJcmV0dXJuIHJlZmVy ZW5jZV9jbG9jazsKPiAgIH0KPiAgIAo+IC12b2lkIHJ2NzcwX3BhZ2VfZmxpcChzdHJ1Y3QgcmFk ZW9uX2RldmljZSAqcmRldiwgaW50IGNydGNfaWQsIHU2NCBjcnRjX2Jhc2UpCj4gK3ZvaWQgcnY3 NzBfcGFnZV9mbGlwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBpbnQgY3J0Y19pZCwgdTY0 IGNydGNfYmFzZSwgYm9vbCBhc3luYykKPiAgIHsKPiAgIAlzdHJ1Y3QgcmFkZW9uX2NydGMgKnJh ZGVvbl9jcnRjID0gcmRldi0+bW9kZV9pbmZvLmNydGNzW2NydGNfaWRdOwo+ICAgCXUzMiB0bXAg PSBSUkVHMzIoQVZJVk9fRDFHUlBIX1VQREFURSArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCk7 Cj4gQEAgLTgxMiw2ICs4MTIsOCBAQCB2b2lkIHJ2NzcwX3BhZ2VfZmxpcChzdHJ1Y3QgcmFkZW9u X2RldmljZSAqcmRldiwgaW50IGNydGNfaWQsIHU2NCBjcnRjX2Jhc2UpCj4gICAJV1JFRzMyKEFW SVZPX0QxR1JQSF9VUERBVEUgKyByYWRlb25fY3J0Yy0+Y3J0Y19vZmZzZXQsIHRtcCk7Cj4gICAK PiAgIAkvKiB1cGRhdGUgdGhlIHNjYW5vdXQgYWRkcmVzc2VzICovCj4gKwlXUkVHMzIoQVZJVk9f RDFHUlBIX0ZMSVBfQ09OVFJPTCArIHJhZGVvbl9jcnRjLT5jcnRjX29mZnNldCwKPiArCSAgICAg ICBhc3luYyA/IEFWSVZPX0QxR1JQSF9TVVJGQUNFX1VQREFURV9IX1JFVFJBQ0VfRU4gOiAwKTsK PiAgIAlpZiAocmFkZW9uX2NydGMtPmNydGNfaWQpIHsKPiAgIAkJV1JFRzMyKEQyR1JQSF9TRUNP TkRBUllfU1VSRkFDRV9BRERSRVNTX0hJR0gsIHVwcGVyXzMyX2JpdHMoY3J0Y19iYXNlKSk7Cj4g ICAJCVdSRUczMihEMkdSUEhfUFJJTUFSWV9TVVJGQUNFX0FERFJFU1NfSElHSCwgdXBwZXJfMzJf Yml0cyhjcnRjX2Jhc2UpKTsKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=