From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [Intel-gfx] [PATCH 11/16] drm/vblank: Switch drm_driver->get_vblank_timestamp to return a bool Date: Wed, 22 Mar 2017 12:33:35 +0200 Message-ID: <8737e5a9ds.fsf@intel.com> References: <20170322083617.13361-1-daniel.vetter@ffwll.ch> <20170322083617.13361-12-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170322083617.13361-12-daniel.vetter-/w4YWyX8dFk@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Intel Graphics Development Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, DRI Development , Ben Skeggs , Mario Kleiner , Daniel Vetter , Alex Deucher , Daniel Vetter , freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Christian =?utf-8?Q?K=C3=B6nig?= List-Id: linux-arm-msm@vger.kernel.org T24gV2VkLCAyMiBNYXIgMjAxNywgRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5j aD4gd3JvdGU6Cj4gVGhlcmUncyByZWFsbHkgbm8gcmVhc29uIGZvciBhbnl0aGluZyBtb3JlOgo+ IC0gQ2FsbGluZyB0aGlzIHdoaWxlIHRoZSBjcnRjIHZibGFuayBzdHVmZiBpc24ndCBzZXQgdXAg aXMgYSBkcml2ZXIKPiAgIGJ1Zy4gVGhvc2UgcGxhY2VzIGFybHJlYWR5IERSTV9FUlJPUi4KPiAt IENhbGxpbmcgdGhpcyB3aGVuIHRoZSBjcnRjIGlzIG9mZiBpcyBlaXRoZXIgYSBkcml2ZXIgYnVn IChjYWxsaW4KPiAgIGRybV9jcnRjX2hhbmRsZV92YmxhbmsgYXQgdGhlIHdyb25nIHRpbWUpIG9y IGEgY29yZSBidWcgKGZvcgo+ICAgYW55dGhpbmcgZWxzZSkuIEFnYWluLCB3ZSBEUk1fRVJST1Iu Cj4gLSBFSU5WQUwgaXMgY2hlY2tlZCBhdCBoaWdoZXIgbGV2ZWxzIGFscmVhZHksIGFuZCBpZiB3 ZSdkIHVzZSBzdHJ1Y3QKPiAgIGRybV9jcnRjICogaW5zdGVhZCBvZiAoZGV2LCBwaXBlKSBpdCB3 b3VsZCBiZSByZWFsIG9idmlvdXMgdGhhdAo+ICAgdGhvc2UgYXJlIGFnYWluIGNvcmUgYnVncy4K Pgo+IFRoZSBvbmx5IHZhbGlkIGZhaWx1cmUgbW9kZSBpcyBjcmFwIGhhcmR3YXJlIHRoYXQgY291 bGRuJ3Qgc2FtcGxlIGEKPiB1c2VmdWwgdGltZXN0YW1wLCB0byBhc2sgdGhlIGNvcmUgdG8ganVz dCBncmFiIGEgbm90LXNvLWFjY3VyYXRlCj4gdGltZXN0YW1wZS4gQm9vbCBpcyBwZXJmZWN0bHkg ZmluZSBmb3IgdGhhdC4KCkZXSVcsIEknbSBub3QgYWxsIHRoYXQgdGhyaWxsZWQgYWJvdXQgY2hh bmdpbmcgaW50IHJldHVybnMgdG8gYm9vbHMsCmJlY2F1c2UgaXQgY2hhbmdlcyB0aGUgY2hlY2sg Zm9yIHN1Y2Nlc3MgZnJvbSAhcmV0IHRvIHJldCwgYW5kIHRoZQpjb21waWxlciB3b24ndCBoZWxw IHlvdS4gU3VyZSwgdGhlcmUgYXJlbid0IG1hbnkgY2FsbCBzaXRlcyBmb3IgdGhlCmZ1bmN0aW9u LCBidXQsIGNhc2UgaW4gcG9pbnQsIHlvdSBmb3Jnb3QgdG8gY2hhbmdlIHRoYXQgbG9uZSBjYWxs CnNpdGUuIFRob3VnaCBpdCBzdGlsbCB3b3JrcyBieSBjb2luY2lkZW5jZS4KCkJSLApKYW5pLgoK Pgo+IENjOiBNYXJpbyBLbGVpbmVyIDxtYXJpby5rbGVpbmVyQHR1ZWJpbmdlbi5tcGcuZGU+Cj4g Q2M6IEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+Cj4gQ2M6IFJvYiBDbGFyayA8cm9iZGNs YXJrQGdtYWlsLmNvbT4KPiBDYzogbGludXgtYXJtLW1zbUB2Z2VyLmtlcm5lbC5vcmcKPiBDYzog ZnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IENjOiBBbGV4IERldWNoZXIgPGFsZXhh bmRlci5kZXVjaGVyQGFtZC5jb20+Cj4gQ2M6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5r b2VuaWdAYW1kLmNvbT4KPiBDYzogQmVuIFNrZWdncyA8YnNrZWdnc0ByZWRoYXQuY29tPgo+IFNp Z25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IC0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCAgICAgICB8ICA4ICsrKy0t LS0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ttcy5jICAgfCAxNCArKysr KystLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYyAgICAgICAgICAgICAgICAgfCAz NyArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfaXJxLmMgICAgICAgICAgIHwgIDggKysrLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNt L21kcC9tZHA1L21kcDVfa21zLmMgICB8IDEyICsrKysrLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJt L25vdXZlYXUvbm91dmVhdV9kaXNwbGF5LmMgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L25vdXZlYXVfZGlzcGxheS5oIHwgIDQgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9kcnYuYyAgICAgICB8ICA4ICsrKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fa21zLmMgICAgICAgfCAxNCArKysrKystLS0tLS0KPiAgZHJpdmVycy9ncHUv ZHJtL3ZjNC92YzRfY3J0Yy5jICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0v dmM0L3ZjNF9kcnYuaCAgICAgICAgICAgICB8ICAyICstCj4gIGluY2x1ZGUvZHJtL2RybVAuaCAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDEgLQo+ICBpbmNsdWRlL2RybS9kcm1fZHJ2LmggICAg ICAgICAgICAgICAgICAgICB8ICA3ICsrKy0tLQo+ICBpbmNsdWRlL2RybS9kcm1faXJxLmggICAg ICAgICAgICAgICAgICAgICB8IDEwICsrKystLS0tLQo+ICAxNCBmaWxlcyBjaGFuZ2VkLCA1OSBp bnNlcnRpb25zKCspLCA3MiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdS5oCj4gaW5kZXggYzg4NjBmMDViZmI5Li5hY2Q4NjMxZDgwMjQgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHUuaAo+IEBAIC0xNzY4LDEwICsxNzY4LDEwIEBAIGludCBhbWRn cHVfZGV2aWNlX3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29sIHJlc3VtZSwgYm9v bCBmYmNvbik7Cj4gIHUzMiBhbWRncHVfZ2V0X3ZibGFua19jb3VudGVyX2ttcyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSk7Cj4gIGludCBhbWRncHVfZW5hYmxlX3Zi bGFua19rbXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUpOwo+ICB2 b2lkIGFtZGdwdV9kaXNhYmxlX3ZibGFua19rbXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5z aWduZWQgaW50IHBpcGUpOwo+IC1pbnQgYW1kZ3B1X2dldF92YmxhbmtfdGltZXN0YW1wX2ttcyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSwKPiAtCQkJCSAgICBpbnQg Km1heF9lcnJvciwKPiAtCQkJCSAgICBzdHJ1Y3QgdGltZXZhbCAqdmJsYW5rX3RpbWUsCj4gLQkJ CQkgICAgdW5zaWduZWQgZmxhZ3MpOwo+ICtib29sIGFtZGdwdV9nZXRfdmJsYW5rX3RpbWVzdGFt cF9rbXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUsCj4gKwkJCQkg ICAgIGludCAqbWF4X2Vycm9yLAo+ICsJCQkJICAgICBzdHJ1Y3QgdGltZXZhbCAqdmJsYW5rX3Rp bWUsCj4gKwkJCQkgICAgIHVuc2lnbmVkIGZsYWdzKTsKPiAgbG9uZyBhbWRncHVfa21zX2NvbXBh dF9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlscCwgdW5zaWduZWQgaW50IGNtZCwKPiAgCQkJICAgICB1 bnNpZ25lZCBsb25nIGFyZyk7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf a21zLmMKPiBpbmRleCA1NWY5NTFiY2M5MWYuLmFjNDJmNzA3YzA0NiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfa21zLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfa21zLmMKPiBAQCAtODM4LDE5ICs4MzgsMTkgQEAgdm9p ZCBhbWRncHVfZGlzYWJsZV92Ymxhbmtfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2ln bmVkIGludCBwaXBlKQo+ICAgKgo+ICAgKiBHZXRzIHRoZSB0aW1lc3RhbXAgb24gdGhlIHJlcXVl c3RlZCBjcnRjIGJhc2VkIG9uIHRoZQo+ICAgKiBzY2Fub3V0IHBvc2l0aW9uLiAgKGFsbCBhc2lj cykuCj4gLSAqIFJldHVybnMgcG9zdGl2ZSBzdGF0dXMgZmxhZ3Mgb24gc3VjY2VzcywgbmVnYXRp dmUgZXJyb3Igb24gZmFpbHVyZS4KPiArICogUmV0dXJucyB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNl IG9uIGZhaWx1cmUuCj4gICAqLwo+IC1pbnQgYW1kZ3B1X2dldF92YmxhbmtfdGltZXN0YW1wX2tt cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSwKPiAtCQkJCSAgICBp bnQgKm1heF9lcnJvciwKPiAtCQkJCSAgICBzdHJ1Y3QgdGltZXZhbCAqdmJsYW5rX3RpbWUsCj4g LQkJCQkgICAgdW5zaWduZWQgZmxhZ3MpCj4gK2Jvb2wgYW1kZ3B1X2dldF92YmxhbmtfdGltZXN0 YW1wX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSwKPiArCQkJ CSAgICAgaW50ICptYXhfZXJyb3IsCj4gKwkJCQkgICAgIHN0cnVjdCB0aW1ldmFsICp2Ymxhbmtf dGltZSwKPiArCQkJCSAgICAgdW5zaWduZWQgZmxhZ3MpCj4gIHsKPiAgCXN0cnVjdCBkcm1fY3J0 YyAqY3J0YzsKPiAgCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKPiAgCj4gIAlpZiAocGlwZSA+PSBkZXYtPm51bV9jcnRjcykgewo+ICAJCURSTV9FUlJPUigi SW52YWxpZCBjcnRjICV1XG4iLCBwaXBlKTsKPiAtCQlyZXR1cm4gLUVJTlZBTDsKPiArCQlyZXR1 cm4gZmFsc2U7Cj4gIAl9Cj4gIAo+ICAJLyogR2V0IGFzc29jaWF0ZWQgZHJtX2NydGM6ICovCj4g QEAgLTg1OSw3ICs4NTksNyBAQCBpbnQgYW1kZ3B1X2dldF92YmxhbmtfdGltZXN0YW1wX2ttcyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSwKPiAgCQkvKiBUaGlzIGNh biBvY2N1ciBvbiBkcml2ZXIgbG9hZCBpZiBzb21lIGNvbXBvbmVudCBmYWlscyB0bwo+ICAJCSAq IGluaXRpYWxpemUgY29tcGxldGVseSBhbmQgZHJpdmVyIGlzIHVubG9hZGVkICovCj4gIAkJRFJN X0VSUk9SKCJVbmluaXRpYWxpemVkIGNydGMgJWRcbiIsIHBpcGUpOwo+IC0JCXJldHVybiAtRUlO VkFMOwo+ICsJCXJldHVybiBmYWxzZTsKPiAgCX0KPiAgCj4gIAkvKiBIZWxwZXIgcm91dGluZSBp biBEUk0gY29yZSBkb2VzIGFsbCB0aGUgd29yazogKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faXJxLmMKPiBpbmRleCA0YjBj NzQ3NWVkMTMuLjIxMjFlYTI5ZTFiMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2lycS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYwo+IEBAIC03MjIsNDMgKzcy MiwzMiBAQCBFWFBPUlRfU1lNQk9MKGRybV9jYWxjX3RpbWVzdGFtcGluZ19jb25zdGFudHMpOwo+ ICAgKiBhY3RpdmUuIEhpZ2hlciBsZXZlbCBjb2RlIGlzIGV4cGVjdGVkIHRvIGhhbmRsZSB0aGlz Lgo+ICAgKgo+ICAgKiBSZXR1cm5zOgo+IC0gKiBOZWdhdGl2ZSB2YWx1ZSBvbiBlcnJvciwgZmFp bHVyZSBvciBpZiBub3Qgc3VwcG9ydGVkIGluIGN1cnJlbnQKPiAtICogdmlkZW8gbW9kZToKPiAt ICoKPiAtICogLUVJTlZBTCAgICBJbnZhbGlkIENSVEMuCj4gLSAqIC1FQUdBSU4gICAgVGVtcG9y YXJ5IHVuYXZhaWxhYmxlLCBlLmcuLCBjYWxsZWQgYmVmb3JlIGluaXRpYWwgbW9kZXNldC4KPiAt ICogLUVOT1RTVVBQICBGdW5jdGlvbiBub3Qgc3VwcG9ydGVkIGluIGN1cnJlbnQgZGlzcGxheSBt b2RlLgo+IC0gKiAtRUlPICAgICAgIEZhaWxlZCwgZS5nLiwgZHVlIHRvIGZhaWxlZCBzY2Fub3V0 IHBvc2l0aW9uIHF1ZXJ5Lgo+IC0gKgo+IC0gKiBSZXR1cm5zIG9yJ2VkIHBvc2l0aXZlIHN0YXR1 cyBmbGFncyBvbiBzdWNjZXNzOgo+IC0gKgo+IC0gKiBEUk1fVkJMQU5LVElNRV9TQ0FOT1VUUE9T X01FVEhPRCAtIFNpZ25hbCB0aGlzIG1ldGhvZCB1c2VkIGZvciB0aW1lc3RhbXBpbmcuCj4gLSAq IERSTV9WQkxBTktUSU1FX0lOVkJMIC0gVGltZXN0YW1wIHRha2VuIHdoaWxlIHNjYW5vdXQgd2Fz IGluIHZibGFuayBpbnRlcnZhbC4KPiAgICoKPiArICogUmV0dXJucyB0cnVlIG9uIHN1Y2Nlc3Ms IGFuZCBmYWxzZSBvbiBmYWlsdXJlLCBpLmUuIHdoZW4gbm8gYWNjdXJhdGUKPiArICogdGltZXN0 YW1wIGNvdWxkIGJlIGFjcXVpcmVkLgo+ICAgKi8KPiAtaW50IGRybV9jYWxjX3ZibHRpbWVzdGFt cF9mcm9tX3NjYW5vdXRwb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAtCQkJCQkgIHVuc2ln bmVkIGludCBwaXBlLAo+IC0JCQkJCSAgaW50ICptYXhfZXJyb3IsCj4gLQkJCQkJICBzdHJ1Y3Qg dGltZXZhbCAqdmJsYW5rX3RpbWUsCj4gLQkJCQkJICB1bnNpZ25lZCBmbGFncywKPiAtCQkJCQkg IGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICtib29sIGRybV9jYWxjX3Zi bHRpbWVzdGFtcF9mcm9tX3NjYW5vdXRwb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiArCQkJ CQkgICB1bnNpZ25lZCBpbnQgcGlwZSwKPiArCQkJCQkgICBpbnQgKm1heF9lcnJvciwKPiArCQkJ CQkgICBzdHJ1Y3QgdGltZXZhbCAqdmJsYW5rX3RpbWUsCj4gKwkJCQkJICAgdW5zaWduZWQgZmxh Z3MsCj4gKwkJCQkJICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIHsK PiAgCXN0cnVjdCB0aW1ldmFsIHR2X2V0aW1lOwo+ICAJa3RpbWVfdCBzdGltZSwgZXRpbWU7Cj4g IAl1bnNpZ25lZCBpbnQgdmJsX3N0YXR1czsKPiAtCWludCByZXQgPSBEUk1fVkJMQU5LVElNRV9T Q0FOT1VUUE9TX01FVEhPRDsKPiAgCWludCB2cG9zLCBocG9zLCBpOwo+ICAJaW50IGRlbHRhX25z LCBkdXJhdGlvbl9uczsKPiAgCj4gIAlpZiAocGlwZSA+PSBkZXYtPm51bV9jcnRjcykgewo+ICAJ CURSTV9FUlJPUigiSW52YWxpZCBjcnRjICV1XG4iLCBwaXBlKTsKPiAtCQlyZXR1cm4gLUVJTlZB TDsKPiArCQlyZXR1cm4gZmFsc2U7Cj4gIAl9Cj4gIAo+ICAJLyogU2Nhbm91dCBwb3NpdGlvbiBx dWVyeSBub3Qgc3VwcG9ydGVkPyBTaG91bGQgbm90IGhhcHBlbi4gKi8KPiAgCWlmICghZGV2LT5k cml2ZXItPmdldF9zY2Fub3V0X3Bvc2l0aW9uKSB7Cj4gIAkJRFJNX0VSUk9SKCJDYWxsZWQgZnJv bSBkcml2ZXIgdy9vIGdldF9zY2Fub3V0X3Bvc2l0aW9uKCkhP1xuIik7Cj4gLQkJcmV0dXJuIC1F SU87Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICAJfQo+ICAKPiAgCS8qIElmIG1vZGUgdGltaW5nIHVu ZGVmaW5lZCwganVzdCByZXR1cm4gYXMgbm8tb3A6Cj4gQEAgLTc2Niw3ICs3NTUsNyBAQCBpbnQg ZHJtX2NhbGNfdmJsdGltZXN0YW1wX2Zyb21fc2Nhbm91dHBvcyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+ICAJICovCj4gIAlpZiAobW9kZS0+Y3J0Y19jbG9jayA9PSAwKSB7Cj4gIAkJRFJNX0RF QlVHKCJjcnRjICV1OiBOb29wIGR1ZSB0byB1bmluaXRpYWxpemVkIG1vZGUuXG4iLCBwaXBlKTsK PiAtCQlyZXR1cm4gLUVBR0FJTjsKPiArCQlyZXR1cm4gZmFsc2U7Cj4gIAl9Cj4gIAo+ICAJLyog R2V0IGN1cnJlbnQgc2Nhbm91dCBwb3NpdGlvbiB3aXRoIHN5c3RlbSB0aW1lc3RhbXAuCj4gQEAg LTc5MCw3ICs3NzksNyBAQCBpbnQgZHJtX2NhbGNfdmJsdGltZXN0YW1wX2Zyb21fc2Nhbm91dHBv cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCWlmICghKHZibF9zdGF0dXMgJiBEUk1fU0NB Tk9VVFBPU19WQUxJRCkpIHsKPiAgCQkJRFJNX0RFQlVHKCJjcnRjICV1IDogc2Nhbm91dHBvcyBx dWVyeSBmYWlsZWQgWzB4JXhdLlxuIiwKPiAgCQkJCSAgcGlwZSwgdmJsX3N0YXR1cyk7Cj4gLQkJ CXJldHVybiAtRUlPOwo+ICsJCQlyZXR1cm4gZmFsc2U7Cj4gIAkJfQo+ICAKPiAgCQkvKiBDb21w dXRlIHVuY2VydGFpbnR5IGluIHRpbWVzdGFtcCBvZiBzY2Fub3V0IHBvc2l0aW9uIHF1ZXJ5LiAq Lwo+IEBAIC04MzQsNyArODIzLDcgQEAgaW50IGRybV9jYWxjX3ZibHRpbWVzdGFtcF9mcm9tX3Nj YW5vdXRwb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkgICAgICAobG9uZyl2Ymxhbmtf dGltZS0+dHZfc2VjLCAobG9uZyl2YmxhbmtfdGltZS0+dHZfdXNlYywKPiAgCQkgICAgICBkdXJh dGlvbl9ucy8xMDAwLCBpKTsKPiAgCj4gLQlyZXR1cm4gcmV0Owo+ICsJcmV0dXJuIHRydWU7Cj4g IH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fY2FsY192Ymx0aW1lc3RhbXBfZnJvbV9zY2Fub3V0cG9z KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gaW5kZXggMjZhYTFjMTcwYjQzLi5kZjE0 OWQxNTljZTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiBAQCAtOTY0LDcgKzk2NCw3 IEBAIGludCBpbnRlbF9nZXRfY3J0Y19zY2FubGluZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykK PiAgCXJldHVybiBwb3NpdGlvbjsKPiAgfQo+ICAKPiAtc3RhdGljIGludCBpOTE1X2dldF92Ymxh bmtfdGltZXN0YW1wKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlLAo+ ICtzdGF0aWMgYm9vbCBpOTE1X2dldF92YmxhbmtfdGltZXN0YW1wKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHVuc2lnbmVkIGludCBwaXBlLAo+ICAJCQkgICAgICBpbnQgKm1heF9lcnJvciwKPiAg CQkJICAgICAgc3RydWN0IHRpbWV2YWwgKnZibGFua190aW1lLAo+ICAJCQkgICAgICB1bnNpZ25l ZCBmbGFncykKPiBAQCAtOTc0LDE5ICs5NzQsMTkgQEAgc3RhdGljIGludCBpOTE1X2dldF92Ymxh bmtfdGltZXN0YW1wKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlLAo+ ICAKPiAgCWlmIChwaXBlID49IElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1fcGlwZXMpIHsKPiAg CQlEUk1fRVJST1IoIkludmFsaWQgY3J0YyAldVxuIiwgcGlwZSk7Cj4gLQkJcmV0dXJuIC1FSU5W QUw7Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICAJfQo+ICAKPiAgCS8qIEdldCBkcm1fY3J0YyB0byB0 aW1lc3RhbXA6ICovCj4gIAljcnRjID0gaW50ZWxfZ2V0X2NydGNfZm9yX3BpcGUoZGV2X3ByaXYs IHBpcGUpOwo+ICAJaWYgKGNydGMgPT0gTlVMTCkgewo+ICAJCURSTV9FUlJPUigiSW52YWxpZCBj cnRjICV1XG4iLCBwaXBlKTsKPiAtCQlyZXR1cm4gLUVJTlZBTDsKPiArCQlyZXR1cm4gZmFsc2U7 Cj4gIAl9Cj4gIAo+ICAJaWYgKCFjcnRjLT5iYXNlLmh3bW9kZS5jcnRjX2Nsb2NrKSB7Cj4gIAkJ RFJNX0RFQlVHX0tNUygiY3J0YyAldSBpcyBkaXNhYmxlZFxuIiwgcGlwZSk7Cj4gLQkJcmV0dXJu IC1FQlVTWTsKPiArCQlyZXR1cm4gZmFsc2U7Cj4gIAl9Cj4gIAo+ICAJLyogSGVscGVyIHJvdXRp bmUgaW4gRFJNIGNvcmUgZG9lcyBhbGwgdGhlIHdvcms6ICovCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v bWRwL21kcDUvbWRwNV9rbXMuYwo+IGluZGV4IDQxY2NkMmExNWQzYy4uNjU1NzAwZWI0MmJhIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuYwo+IEBAIC01OTUsMjMg KzU5NSwyMyBAQCBzdGF0aWMgaW50IG1kcDVfZ2V0X3NjYW5vdXRwb3Moc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUsCj4gIAlyZXR1cm4gcmV0Owo+ICB9Cj4gIAo+IC1z dGF0aWMgaW50IG1kcDVfZ2V0X3ZibGFua190aW1lc3RhbXAoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdW5zaWduZWQgaW50IHBpcGUsCj4gLQkJCQkgICAgIGludCAqbWF4X2Vycm9yLAo+IC0JCQkJ ICAgICBzdHJ1Y3QgdGltZXZhbCAqdmJsYW5rX3RpbWUsCj4gLQkJCQkgICAgIHVuc2lnbmVkIGZs YWdzKQo+ICtzdGF0aWMgYm9vbCBtZHA1X2dldF92YmxhbmtfdGltZXN0YW1wKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlLAo+ICsJCQkJICAgICAgaW50ICptYXhfZXJy b3IsCj4gKwkJCQkgICAgICBzdHJ1Y3QgdGltZXZhbCAqdmJsYW5rX3RpbWUsCj4gKwkJCQkgICAg ICB1bnNpZ25lZCBmbGFncykKPiAgewo+ICAJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9 IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4gIAo+ICAJaWYg KHBpcGUgPCAwIHx8IHBpcGUgPj0gcHJpdi0+bnVtX2NydGNzKSB7Cj4gIAkJRFJNX0VSUk9SKCJJ bnZhbGlkIGNydGMgJWRcbiIsIHBpcGUpOwo+IC0JCXJldHVybiAtRUlOVkFMOwo+ICsJCXJldHVy biBmYWxzZTsKPiAgCX0KPiAgCj4gIAljcnRjID0gcHJpdi0+Y3J0Y3NbcGlwZV07Cj4gIAlpZiAo IWNydGMpIHsKPiAgCQlEUk1fRVJST1IoIkludmFsaWQgY3J0YyAlZFxuIiwgcGlwZSk7Cj4gLQkJ cmV0dXJuIC1FSU5WQUw7Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICAJfQo+ICAKPiAgCXJldHVybiBk cm1fY2FsY192Ymx0aW1lc3RhbXBfZnJvbV9zY2Fub3V0cG9zKGRldiwgcGlwZSwgbWF4X2Vycm9y LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rpc3BsYXku YyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5jCj4gaW5kZXggMzMy NjljN2RmMzBmLi40MmYxOGIwYjljNDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbm91dmVhdV9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9u b3V2ZWF1X2Rpc3BsYXkuYwo+IEBAIC0xNTYsNyArMTU2LDcgQEAgbm91dmVhdV9kaXNwbGF5X3Nj YW5vdXRwb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUsCj4gIAly ZXR1cm4gMDsKPiAgfQo+ICAKPiAtaW50Cj4gK2Jvb2wKPiAgbm91dmVhdV9kaXNwbGF5X3ZibHN0 YW1wKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlLAo+ICAJCQkgaW50 ICptYXhfZXJyb3IsIHN0cnVjdCB0aW1ldmFsICp0aW1lLCB1bnNpZ25lZCBmbGFncykKPiAgewo+ IEBAIC0xNzQsNyArMTc0LDcgQEAgbm91dmVhdV9kaXNwbGF5X3ZibHN0YW1wKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlLAo+ICAJCX0KPiAgCX0KPiAgCj4gLQlyZXR1 cm4gLUVJTlZBTDsKPiArCXJldHVybiBmYWxzZTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kaXNwbGF5LmggYi9k cml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rpc3BsYXkuaAo+IGluZGV4IDRhNzVkZjA2 YzEzOS4uYmM5ZDFlN2IwMTE3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1 L25vdXZlYXVfZGlzcGxheS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVh dV9kaXNwbGF5LmgKPiBAQCAtNzEsOCArNzEsOCBAQCB2b2lkIG5vdXZlYXVfZGlzcGxheV92Ymxh bmtfZGlzYWJsZShzdHJ1Y3QgZHJtX2RldmljZSAqLCB1bnNpZ25lZCBpbnQpOwo+ICBpbnQgIG5v dXZlYXVfZGlzcGxheV9zY2Fub3V0cG9zKHN0cnVjdCBkcm1fZGV2aWNlICosIHVuc2lnbmVkIGlu dCwKPiAgCQkJCXVuc2lnbmVkIGludCwgaW50ICosIGludCAqLCBrdGltZV90ICosCj4gIAkJCQlr dGltZV90ICosIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICopOwo+IC1pbnQgIG5vdXZl YXVfZGlzcGxheV92YmxzdGFtcChzdHJ1Y3QgZHJtX2RldmljZSAqLCB1bnNpZ25lZCBpbnQsIGlu dCAqLAo+IC0JCQkgICAgICBzdHJ1Y3QgdGltZXZhbCAqLCB1bnNpZ25lZCk7Cj4gK2Jvb2wgIG5v dXZlYXVfZGlzcGxheV92YmxzdGFtcChzdHJ1Y3QgZHJtX2RldmljZSAqLCB1bnNpZ25lZCBpbnQs IGludCAqLAo+ICsJCQkgICAgICAgc3RydWN0IHRpbWV2YWwgKiwgdW5zaWduZWQpOwo+ICAKPiAg aW50ICBub3V2ZWF1X2NydGNfcGFnZV9mbGlwKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yywgc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqZmIsCj4gIAkJCSAgICBzdHJ1Y3QgZHJtX3BlbmRpbmdfdmJsYW5r X2V2ZW50ICpldmVudCwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcnYuYwo+IGluZGV4IDMx MjQzNmE4ZDllNS4uNmQ3OWI1YzI4MDViIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vcmFkZW9uX2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25f ZHJ2LmMKPiBAQCAtMTE0LDEwICsxMTQsMTAgQEAgaW50IHJhZGVvbl9yZXN1bWVfa21zKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgcmVzdW1lLCBib29sIGZiY29uKTsKPiAgdTMyIHJhZGVv bl9nZXRfdmJsYW5rX2NvdW50ZXJfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVk IGludCBwaXBlKTsKPiAgaW50IHJhZGVvbl9lbmFibGVfdmJsYW5rX2ttcyhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSk7Cj4gIHZvaWQgcmFkZW9uX2Rpc2FibGVfdmJs YW5rX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSk7Cj4gLWlu dCByYWRlb25fZ2V0X3ZibGFua190aW1lc3RhbXBfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHVuc2lnbmVkIGludCBwaXBlLAo+IC0JCQkJICAgIGludCAqbWF4X2Vycm9yLAo+IC0JCQkJICAg IHN0cnVjdCB0aW1ldmFsICp2YmxhbmtfdGltZSwKPiAtCQkJCSAgICB1bnNpZ25lZCBmbGFncyk7 Cj4gK2Jvb2wgcmFkZW9uX2dldF92YmxhbmtfdGltZXN0YW1wX2ttcyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSwKPiArCQkJCSAgICAgaW50ICptYXhfZXJyb3IsCj4g KwkJCQkgICAgIHN0cnVjdCB0aW1ldmFsICp2YmxhbmtfdGltZSwKPiArCQkJCSAgICAgdW5zaWdu ZWQgZmxhZ3MpOwo+ICB2b2lkIHJhZGVvbl9kcml2ZXJfaXJxX3ByZWluc3RhbGxfa21zKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpOwo+ICBpbnQgcmFkZW9uX2RyaXZlcl9pcnFfcG9zdGluc3RhbGxf a21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICB2b2lkIHJhZGVvbl9kcml2ZXJfaXJxX3Vu aW5zdGFsbF9rbXMoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fa21zLmMKPiBpbmRleCBhMzJhNjJlMDNhNDQuLjlhZmU3MjAxMGM2NCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9rbXMuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX2ttcy5jCj4gQEAgLTg2OCwyNSArODY4LDI1IEBAIHZvaWQg cmFkZW9uX2Rpc2FibGVfdmJsYW5rX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgY3J0 YykKPiAgICoKPiAgICogR2V0cyB0aGUgdGltZXN0YW1wIG9uIHRoZSByZXF1ZXN0ZWQgY3J0YyBi YXNlZCBvbiB0aGUKPiAgICogc2Nhbm91dCBwb3NpdGlvbi4gIChhbGwgYXNpY3MpLgo+IC0gKiBS ZXR1cm5zIHBvc3RpdmUgc3RhdHVzIGZsYWdzIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm9yIG9u IGZhaWx1cmUuCj4gKyAqIFJldHVybnMgdHJ1ZSBvbiBzdWNjZXNzLCBmYWxzZSBvbiBmYWlsdXJl Lgo+ICAgKi8KPiAtaW50IHJhZGVvbl9nZXRfdmJsYW5rX3RpbWVzdGFtcF9rbXMoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgaW50IGNydGMsCj4gLQkJCQkgICAgaW50ICptYXhfZXJyb3IsCj4gLQkJ CQkgICAgc3RydWN0IHRpbWV2YWwgKnZibGFua190aW1lLAo+IC0JCQkJICAgIHVuc2lnbmVkIGZs YWdzKQo+ICtib29sIHJhZGVvbl9nZXRfdmJsYW5rX3RpbWVzdGFtcF9rbXMoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgaW50IGNydGMsCj4gKwkJCQkgICAgIGludCAqbWF4X2Vycm9yLAo+ICsJCQkJ ICAgICBzdHJ1Y3QgdGltZXZhbCAqdmJsYW5rX3RpbWUsCj4gKwkJCQkgICAgIHVuc2lnbmVkIGZs YWdzKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmRybWNydGM7Cj4gIAlzdHJ1Y3QgcmFkZW9u X2RldmljZSAqcmRldiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAo+ICAJaWYgKGNydGMgPCAwIHx8 IGNydGMgPj0gZGV2LT5udW1fY3J0Y3MpIHsKPiAgCQlEUk1fRVJST1IoIkludmFsaWQgY3J0YyAl ZFxuIiwgY3J0Yyk7Cj4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICAJ fQo+ICAKPiAgCS8qIEdldCBhc3NvY2lhdGVkIGRybV9jcnRjOiAqLwo+ICAJZHJtY3J0YyA9ICZy ZGV2LT5tb2RlX2luZm8uY3J0Y3NbY3J0Y10tPmJhc2U7Cj4gIAlpZiAoIWRybWNydGMpCj4gLQkJ cmV0dXJuIC1FSU5WQUw7Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICAKPiAgCS8qIEhlbHBlciByb3V0 aW5lIGluIERSTSBjb3JlIGRvZXMgYWxsIHRoZSB3b3JrOiAqLwo+ICAJcmV0dXJuIGRybV9jYWxj X3ZibHRpbWVzdGFtcF9mcm9tX3NjYW5vdXRwb3MoZGV2LCBjcnRjLCBtYXhfZXJyb3IsCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS92YzQvdmM0X2NydGMuYwo+IGluZGV4IDI0ZWRkMGMyMmNjOS4uNzQyNjA5OTBiNmJmIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2NydGMuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS92YzQvdmM0X2NydGMuYwo+IEBAIC0yNzAsNyArMjcwLDcgQEAgaW50IHZjNF9jcnRj X2dldF9zY2Fub3V0cG9zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBjcnRj X2lkLAo+ICAJcmV0dXJuIHJldDsKPiAgfQo+ICAKPiAtaW50IHZjNF9jcnRjX2dldF92Ymxhbmtf dGltZXN0YW1wKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBjcnRjX2lkLAo+ ICtib29sIHZjNF9jcnRjX2dldF92YmxhbmtfdGltZXN0YW1wKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHVuc2lnbmVkIGludCBjcnRjX2lkLAo+ICAJCQkJICBpbnQgKm1heF9lcnJvciwgc3RydWN0 IHRpbWV2YWwgKnZibGFua190aW1lLAo+ICAJCQkJICB1bnNpZ25lZCBmbGFncykKPiAgewo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS92YzQvdmM0X2Rydi5oCj4gaW5kZXggZGZmY2U2MjkzZDg3Li44YTVkMGUxMmVlMDIgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vdmM0L3ZjNF9kcnYuaAo+IEBAIC00NTAsNyArNDUwLDcgQEAgaW50IHZjNF9jcnRjX2dl dF9zY2Fub3V0cG9zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBjcnRjX2lk LAo+ICAJCQkgICAgdW5zaWduZWQgaW50IGZsYWdzLCBpbnQgKnZwb3MsIGludCAqaHBvcywKPiAg CQkJICAgIGt0aW1lX3QgKnN0aW1lLCBrdGltZV90ICpldGltZSwKPiAgCQkJICAgIGNvbnN0IHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsKPiAtaW50IHZjNF9jcnRjX2dldF92Ymxhbmtf dGltZXN0YW1wKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBjcnRjX2lkLAo+ ICtib29sIHZjNF9jcnRjX2dldF92YmxhbmtfdGltZXN0YW1wKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHVuc2lnbmVkIGludCBjcnRjX2lkLAo+ICAJCQkJICBpbnQgKm1heF9lcnJvciwgc3RydWN0 IHRpbWV2YWwgKnZibGFua190aW1lLAo+ICAJCQkJICB1bnNpZ25lZCBmbGFncyk7Cj4gIAo+IGRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1QLmggYi9pbmNsdWRlL2RybS9kcm1QLmgKPiBpbmRl eCAyN2VjZmNkYmY3NTIuLjYzMDRkZTdlMDQxZSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9k cm1QLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1QLmgKPiBAQCAtMzIyLDcgKzMyMiw2IEBAIHN0 cnVjdCBwY2lfY29udHJvbGxlcjsKPiAgCj4gIC8qIEZsYWdzIGFuZCByZXR1cm4gY29kZXMgZm9y IGdldF92YmxhbmtfdGltZXN0YW1wKCkgZHJpdmVyIGZ1bmN0aW9uLiAqLwo+ICAjZGVmaW5lIERS TV9DQUxMRURfRlJPTV9WQkxJUlEgMQo+IC0jZGVmaW5lIERSTV9WQkxBTktUSU1FX1NDQU5PVVRQ T1NfTUVUSE9EICgxIDw8IDApCj4gIAo+ICAvKiBnZXRfc2Nhbm91dF9wb3NpdGlvbigpIHJldHVy biBmbGFncyAqLwo+ICAjZGVmaW5lIERSTV9TQ0FOT1VUUE9TX1ZBTElEICAgICAgICAoMSA8PCAw KQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZHJ2LmggYi9pbmNsdWRlL2RybS9kcm1f ZHJ2LmgKPiBpbmRleCBkMGI1ZjM2M2JmYTEuLmRhNzhlMjQ4ZDlkOCAxMDA2NDQKPiAtLS0gYS9p bmNsdWRlL2RybS9kcm1fZHJ2LmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fZHJ2LmgKPiBAQCAt MzE2LDExICszMTYsMTAgQEAgc3RydWN0IGRybV9kcml2ZXIgewo+ICAJICoKPiAgCSAqIFJldHVy bnM6Cj4gIAkgKgo+IC0JICogWmVybyBpZiB0aW1lc3RhbXBpbmcgaXNuJ3Qgc3VwcG9ydGVkIGlu IGN1cnJlbnQgZGlzcGxheSBtb2RlIG9yIGEKPiAtCSAqIG5lZ2F0aXZlIG51bWJlciBvbiBmYWls dXJlLiBBIHBvc2l0aXZlIHN0YXR1cyBjb2RlIG9uIHN1Y2Nlc3MsCj4gLQkgKiB3aGljaCBkZXNj cmliZXMgaG93IHRoZSB2YmxhbmtfdGltZSB0aW1lc3RhbXAgd2FzIGNvbXB1dGVkLgo+ICsJICog VHJ1ZSBvbiBzdWNjZXNzLCBmYWxzZSBvbiBmYWlsdXJlLCB3aGljaCBtZWFucyB0aGUgY29yZSBz aG91bGQKPiArCSAqIGZhbGxiYWNrIHRvIGEgc2ltcGxlIHRpbWVzdGFtcCB0YWtlbiBpbiBkcm1f Y3J0Y19oYW5kbGVfdmJsYW5rKCkuCj4gIAkgKi8KPiAtCWludCAoKmdldF92YmxhbmtfdGltZXN0 YW1wKSAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUsCj4gKwlib29s ICgqZ2V0X3ZibGFua190aW1lc3RhbXApIChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25l ZCBpbnQgcGlwZSwKPiAgCQkJCSAgICAgaW50ICptYXhfZXJyb3IsCj4gIAkJCQkgICAgIHN0cnVj dCB0aW1ldmFsICp2YmxhbmtfdGltZSwKPiAgCQkJCSAgICAgdW5zaWduZWQgZmxhZ3MpOwo+IGRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1faXJxLmggYi9pbmNsdWRlL2RybS9kcm1faXJxLmgK PiBpbmRleCBjZjBiZTY1OTRjOGMuLmYwZDVjY2Y5YjI4MiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRl L2RybS9kcm1faXJxLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1faXJxLmgKPiBAQCAtMTUzLDEx ICsxNTMsMTEgQEAgdm9pZCBkcm1fY3J0Y192Ymxhbmtfb24oc3RydWN0IGRybV9jcnRjICpjcnRj KTsKPiAgdm9pZCBkcm1fdmJsYW5rX2NsZWFudXAoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4g IHUzMiBkcm1fYWNjdXJhdGVfdmJsYW5rX2NvdW50KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4g IAo+IC1pbnQgZHJtX2NhbGNfdmJsdGltZXN0YW1wX2Zyb21fc2Nhbm91dHBvcyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+IC0JCQkJCSAgdW5zaWduZWQgaW50IHBpcGUsIGludCAqbWF4X2Vycm9y LAo+IC0JCQkJCSAgc3RydWN0IHRpbWV2YWwgKnZibGFua190aW1lLAo+IC0JCQkJCSAgdW5zaWdu ZWQgZmxhZ3MsCj4gLQkJCQkJICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSk7 Cj4gK2Jvb2wgZHJtX2NhbGNfdmJsdGltZXN0YW1wX2Zyb21fc2Nhbm91dHBvcyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+ICsJCQkJCSAgIHVuc2lnbmVkIGludCBwaXBlLCBpbnQgKm1heF9lcnJv ciwKPiArCQkJCQkgICBzdHJ1Y3QgdGltZXZhbCAqdmJsYW5rX3RpbWUsCj4gKwkJCQkJICAgdW5z aWduZWQgZmxhZ3MsCj4gKwkJCQkJICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGUpOwo+ICB2b2lkIGRybV9jYWxjX3RpbWVzdGFtcGluZ19jb25zdGFudHMoc3RydWN0IGRybV9j cnRjICpjcnRjLAo+ICAJCQkJICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSk7CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVy Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVu byBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=