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 16:05:59 +0200 Message-ID: <87d1d98kzc.fsf@intel.com> References: <20170322083617.13361-1-daniel.vetter@ffwll.ch> <20170322083617.13361-12-daniel.vetter@ffwll.ch> <8737e5a9ds.fsf@intel.com> <20170322132305.zdtehgbox6erdhbq@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170322132305.zdtehgbox6erdhbq-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Daniel Vetter Cc: Daniel Vetter , Intel Graphics Development , DRI Development , Ben Skeggs , Mario Kleiner , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Alex Deucher , Daniel Vetter , freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Christian =?utf-8?Q?K=C3=B6nig?= List-Id: linux-arm-msm@vger.kernel.org T24gV2VkLCAyMiBNYXIgMjAxNywgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90 ZToKPiBPbiBXZWQsIE1hciAyMiwgMjAxNyBhdCAxMjozMzozNVBNICswMjAwLCBKYW5pIE5pa3Vs YSB3cm90ZToKPj4gT24gV2VkLCAyMiBNYXIgMjAxNywgRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZl dHRlckBmZndsbC5jaD4gd3JvdGU6Cj4+ID4gVGhlcmUncyByZWFsbHkgbm8gcmVhc29uIGZvciBh bnl0aGluZyBtb3JlOgo+PiA+IC0gQ2FsbGluZyB0aGlzIHdoaWxlIHRoZSBjcnRjIHZibGFuayBz dHVmZiBpc24ndCBzZXQgdXAgaXMgYSBkcml2ZXIKPj4gPiAgIGJ1Zy4gVGhvc2UgcGxhY2VzIGFy bHJlYWR5IERSTV9FUlJPUi4KPj4gPiAtIENhbGxpbmcgdGhpcyB3aGVuIHRoZSBjcnRjIGlzIG9m ZiBpcyBlaXRoZXIgYSBkcml2ZXIgYnVnIChjYWxsaW4KPj4gPiAgIGRybV9jcnRjX2hhbmRsZV92 YmxhbmsgYXQgdGhlIHdyb25nIHRpbWUpIG9yIGEgY29yZSBidWcgKGZvcgo+PiA+ICAgYW55dGhp bmcgZWxzZSkuIEFnYWluLCB3ZSBEUk1fRVJST1IuCj4+ID4gLSBFSU5WQUwgaXMgY2hlY2tlZCBh dCBoaWdoZXIgbGV2ZWxzIGFscmVhZHksIGFuZCBpZiB3ZSdkIHVzZSBzdHJ1Y3QKPj4gPiAgIGRy bV9jcnRjICogaW5zdGVhZCBvZiAoZGV2LCBwaXBlKSBpdCB3b3VsZCBiZSByZWFsIG9idmlvdXMg dGhhdAo+PiA+ICAgdGhvc2UgYXJlIGFnYWluIGNvcmUgYnVncy4KPj4gPgo+PiA+IFRoZSBvbmx5 IHZhbGlkIGZhaWx1cmUgbW9kZSBpcyBjcmFwIGhhcmR3YXJlIHRoYXQgY291bGRuJ3Qgc2FtcGxl IGEKPj4gPiB1c2VmdWwgdGltZXN0YW1wLCB0byBhc2sgdGhlIGNvcmUgdG8ganVzdCBncmFiIGEg bm90LXNvLWFjY3VyYXRlCj4+ID4gdGltZXN0YW1wZS4gQm9vbCBpcyBwZXJmZWN0bHkgZmluZSBm b3IgdGhhdC4KPj4gCj4+IEZXSVcsIEknbSBub3QgYWxsIHRoYXQgdGhyaWxsZWQgYWJvdXQgY2hh bmdpbmcgaW50IHJldHVybnMgdG8gYm9vbHMsCj4+IGJlY2F1c2UgaXQgY2hhbmdlcyB0aGUgY2hl Y2sgZm9yIHN1Y2Nlc3MgZnJvbSAhcmV0IHRvIHJldCwgYW5kIHRoZQo+PiBjb21waWxlciB3b24n dCBoZWxwIHlvdS4gU3VyZSwgdGhlcmUgYXJlbid0IG1hbnkgY2FsbCBzaXRlcyBmb3IgdGhlCj4+ IGZ1bmN0aW9uLCBidXQsIGNhc2UgaW4gcG9pbnQsIHlvdSBmb3Jnb3QgdG8gY2hhbmdlIHRoYXQg bG9uZSBjYWxsCj4+IHNpdGUuIFRob3VnaCBpdCBzdGlsbCB3b3JrcyBieSBjb2luY2lkZW5jZS4K Pgo+IFRoZSBvbGQgY2FsbCBzaXRlIHRyZWF0ZWQgPiAwIGFzIHN1Y2Nlc3MsIGFuZCAwIG9yIGFu eXRoaW5nIG5lZ2F0aXZlIGFzCj4gZmFpbHVyZS4gVGhhdCB0aGUgbG9uZSBjYWxsZXIgc3RpbGwg d29ya3MgaXMgdGhlIHJlYXNvbiB3aHkgSSd2ZSBzd2l0Y2hlZAo+IHRvIGJvb2wsIGJlY2F1c2Ug YmVzaWRlcyBhbGwgdGhlIGZ1bm55IHZhbHVlcyB0aGF0IHRoZSBjYWxsZXIgZ2V0cyBhbmQKPiBp Z25yZW9zLCBpdCBhbHJlYWR5IGlzLgo+Cj4gT3IgZGlkIEkgbWlzcyBzb21ldGhpbmc/CgpEb24n dCB5b3UgdGhpbmsgeW91IHNob3VsZCBmaXggdGhlIGNhbGwgc2l0ZSB0b28sIGlmIHlvdSBpbnNp c3Qgb24KY2hhbmdpbmcgdGhlIHJldHVybiB0eXBlPwoKQlIsCkphbmkuCgoKCgo+IC1EYW5pZWwK Pgo+PiAKPj4gQlIsCj4+IEphbmkuCj4+IAo+PiA+Cj4+ID4gQ2M6IE1hcmlvIEtsZWluZXIgPG1h cmlvLmtsZWluZXJAdHVlYmluZ2VuLm1wZy5kZT4KPj4gPiBDYzogRXJpYyBBbmhvbHQgPGVyaWNA YW5ob2x0Lm5ldD4KPj4gPiBDYzogUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPgo+PiA+ IENjOiBsaW51eC1hcm0tbXNtQHZnZXIua2VybmVsLm9yZwo+PiA+IENjOiBmcmVlZHJlbm9AbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4+ID4gQ2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNo ZXJAYW1kLmNvbT4KPj4gPiBDYzogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0Bh bWQuY29tPgo+PiA+IENjOiBCZW4gU2tlZ2dzIDxic2tlZ2dzQHJlZGhhdC5jb20+Cj4+ID4gU2ln bmVkLW9mZi1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4+ID4g LS0tCj4+ID4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oICAgICAgIHwgIDgg KysrLS0tLQo+PiA+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfa21zLmMgICB8 IDE0ICsrKysrKy0tLS0tLQo+PiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2lycS5jICAgICAgICAg ICAgICAgICB8IDM3ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgICAgICAgfCAgOCArKystLS0tCj4+ID4gIGRy aXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuYyAgIHwgMTIgKysrKystLS0tLQo+ PiA+ICBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rpc3BsYXkuYyB8ICA0ICsrLS0K Pj4gPiAgZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kaXNwbGF5LmggfCAgNCArKy0t Cj4+ID4gIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rydi5jICAgICAgIHwgIDggKysr LS0tLQo+PiA+ICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9rbXMuYyAgICAgICB8IDE0 ICsrKysrKy0tLS0tLQo+PiA+ICBkcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9jcnRjLmMgICAgICAg ICAgICB8ICAyICstCj4+ID4gIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5oICAgICAgICAg ICAgIHwgIDIgKy0KPj4gPiAgaW5jbHVkZS9kcm0vZHJtUC5oICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMSAtCj4+ID4gIGluY2x1ZGUvZHJtL2RybV9kcnYuaCAgICAgICAgICAgICAgICAgICAg IHwgIDcgKysrLS0tCj4+ID4gIGluY2x1ZGUvZHJtL2RybV9pcnEuaCAgICAgICAgICAgICAgICAg ICAgIHwgMTAgKysrKy0tLS0tCj4+ID4gIDE0IGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMo KyksIDcyIGRlbGV0aW9ucygtKQo+PiA+Cj4+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 LmgKPj4gPiBpbmRleCBjODg2MGYwNWJmYjkuLmFjZDg2MzFkODAyNCAxMDA2NDQKPj4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAo+PiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCj4+ID4gQEAgLTE3NjgsMTAgKzE3NjgsMTAgQEAg aW50IGFtZGdwdV9kZXZpY2VfcmVzdW1lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgcmVz dW1lLCBib29sIGZiY29uKTsKPj4gPiAgdTMyIGFtZGdwdV9nZXRfdmJsYW5rX2NvdW50ZXJfa21z KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlKTsKPj4gPiAgaW50IGFt ZGdwdV9lbmFibGVfdmJsYW5rX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBp bnQgcGlwZSk7Cj4+ID4gIHZvaWQgYW1kZ3B1X2Rpc2FibGVfdmJsYW5rX2ttcyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSk7Cj4+ID4gLWludCBhbWRncHVfZ2V0X3Zi bGFua190aW1lc3RhbXBfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBw aXBlLAo+PiA+IC0JCQkJICAgIGludCAqbWF4X2Vycm9yLAo+PiA+IC0JCQkJICAgIHN0cnVjdCB0 aW1ldmFsICp2YmxhbmtfdGltZSwKPj4gPiAtCQkJCSAgICB1bnNpZ25lZCBmbGFncyk7Cj4+ID4g K2Jvb2wgYW1kZ3B1X2dldF92YmxhbmtfdGltZXN0YW1wX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSwKPj4gPiArCQkJCSAgICAgaW50ICptYXhfZXJyb3IsCj4+ ID4gKwkJCQkgICAgIHN0cnVjdCB0aW1ldmFsICp2YmxhbmtfdGltZSwKPj4gPiArCQkJCSAgICAg dW5zaWduZWQgZmxhZ3MpOwo+PiA+ICBsb25nIGFtZGdwdV9rbXNfY29tcGF0X2lvY3RsKHN0cnVj dCBmaWxlICpmaWxwLCB1bnNpZ25lZCBpbnQgY21kLAo+PiA+ICAJCQkgICAgIHVuc2lnbmVkIGxv bmcgYXJnKTsKPj4gPiAgCj4+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMu Ywo+PiA+IGluZGV4IDU1Zjk1MWJjYzkxZi4uYWM0MmY3MDdjMDQ2IDEwMDY0NAo+PiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYwo+PiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYwo+PiA+IEBAIC04MzgsMTkgKzgzOCwx OSBAQCB2b2lkIGFtZGdwdV9kaXNhYmxlX3ZibGFua19rbXMoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdW5zaWduZWQgaW50IHBpcGUpCj4+ID4gICAqCj4+ID4gICAqIEdldHMgdGhlIHRpbWVzdGFt cCBvbiB0aGUgcmVxdWVzdGVkIGNydGMgYmFzZWQgb24gdGhlCj4+ID4gICAqIHNjYW5vdXQgcG9z aXRpb24uICAoYWxsIGFzaWNzKS4KPj4gPiAtICogUmV0dXJucyBwb3N0aXZlIHN0YXR1cyBmbGFn cyBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJvciBvbiBmYWlsdXJlLgo+PiA+ICsgKiBSZXR1cm5z IHRydWUgb24gc3VjY2VzcywgZmFsc2Ugb24gZmFpbHVyZS4KPj4gPiAgICovCj4+ID4gLWludCBh bWRncHVfZ2V0X3ZibGFua190aW1lc3RhbXBfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVu c2lnbmVkIGludCBwaXBlLAo+PiA+IC0JCQkJICAgIGludCAqbWF4X2Vycm9yLAo+PiA+IC0JCQkJ ICAgIHN0cnVjdCB0aW1ldmFsICp2YmxhbmtfdGltZSwKPj4gPiAtCQkJCSAgICB1bnNpZ25lZCBm bGFncykKPj4gPiArYm9vbCBhbWRncHVfZ2V0X3ZibGFua190aW1lc3RhbXBfa21zKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlLAo+PiA+ICsJCQkJICAgICBpbnQgKm1h eF9lcnJvciwKPj4gPiArCQkJCSAgICAgc3RydWN0IHRpbWV2YWwgKnZibGFua190aW1lLAo+PiA+ ICsJCQkJICAgICB1bnNpZ25lZCBmbGFncykKPj4gPiAgewo+PiA+ICAJc3RydWN0IGRybV9jcnRj ICpjcnRjOwo+PiA+ICAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBkZXYtPmRldl9wcml2 YXRlOwo+PiA+ICAKPj4gPiAgCWlmIChwaXBlID49IGRldi0+bnVtX2NydGNzKSB7Cj4+ID4gIAkJ RFJNX0VSUk9SKCJJbnZhbGlkIGNydGMgJXVcbiIsIHBpcGUpOwo+PiA+IC0JCXJldHVybiAtRUlO VkFMOwo+PiA+ICsJCXJldHVybiBmYWxzZTsKPj4gPiAgCX0KPj4gPiAgCj4+ID4gIAkvKiBHZXQg YXNzb2NpYXRlZCBkcm1fY3J0YzogKi8KPj4gPiBAQCAtODU5LDcgKzg1OSw3IEBAIGludCBhbWRn cHVfZ2V0X3ZibGFua190aW1lc3RhbXBfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2ln bmVkIGludCBwaXBlLAo+PiA+ICAJCS8qIFRoaXMgY2FuIG9jY3VyIG9uIGRyaXZlciBsb2FkIGlm IHNvbWUgY29tcG9uZW50IGZhaWxzIHRvCj4+ID4gIAkJICogaW5pdGlhbGl6ZSBjb21wbGV0ZWx5 IGFuZCBkcml2ZXIgaXMgdW5sb2FkZWQgKi8KPj4gPiAgCQlEUk1fRVJST1IoIlVuaW5pdGlhbGl6 ZWQgY3J0YyAlZFxuIiwgcGlwZSk7Cj4+ID4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4+ID4gKwkJcmV0 dXJuIGZhbHNlOwo+PiA+ICAJfQo+PiA+ICAKPj4gPiAgCS8qIEhlbHBlciByb3V0aW5lIGluIERS TSBjb3JlIGRvZXMgYWxsIHRoZSB3b3JrOiAqLwo+PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYwo+PiA+IGluZGV4IDRi MGM3NDc1ZWQxMy4uMjEyMWVhMjllMWIyIDEwMDY0NAo+PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1faXJxLmMKPj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lycS5jCj4+ID4gQEAg LTcyMiw0MyArNzIyLDMyIEBAIEVYUE9SVF9TWU1CT0woZHJtX2NhbGNfdGltZXN0YW1waW5nX2Nv bnN0YW50cyk7Cj4+ID4gICAqIGFjdGl2ZS4gSGlnaGVyIGxldmVsIGNvZGUgaXMgZXhwZWN0ZWQg dG8gaGFuZGxlIHRoaXMuCj4+ID4gICAqCj4+ID4gICAqIFJldHVybnM6Cj4+ID4gLSAqIE5lZ2F0 aXZlIHZhbHVlIG9uIGVycm9yLCBmYWlsdXJlIG9yIGlmIG5vdCBzdXBwb3J0ZWQgaW4gY3VycmVu dAo+PiA+IC0gKiB2aWRlbyBtb2RlOgo+PiA+IC0gKgo+PiA+IC0gKiAtRUlOVkFMICAgIEludmFs aWQgQ1JUQy4KPj4gPiAtICogLUVBR0FJTiAgICBUZW1wb3JhcnkgdW5hdmFpbGFibGUsIGUuZy4s IGNhbGxlZCBiZWZvcmUgaW5pdGlhbCBtb2Rlc2V0Lgo+PiA+IC0gKiAtRU5PVFNVUFAgIEZ1bmN0 aW9uIG5vdCBzdXBwb3J0ZWQgaW4gY3VycmVudCBkaXNwbGF5IG1vZGUuCj4+ID4gLSAqIC1FSU8g ICAgICAgRmFpbGVkLCBlLmcuLCBkdWUgdG8gZmFpbGVkIHNjYW5vdXQgcG9zaXRpb24gcXVlcnku Cj4+ID4gLSAqCj4+ID4gLSAqIFJldHVybnMgb3InZWQgcG9zaXRpdmUgc3RhdHVzIGZsYWdzIG9u IHN1Y2Nlc3M6Cj4+ID4gLSAqCj4+ID4gLSAqIERSTV9WQkxBTktUSU1FX1NDQU5PVVRQT1NfTUVU SE9EIC0gU2lnbmFsIHRoaXMgbWV0aG9kIHVzZWQgZm9yIHRpbWVzdGFtcGluZy4KPj4gPiAtICog RFJNX1ZCTEFOS1RJTUVfSU5WQkwgLSBUaW1lc3RhbXAgdGFrZW4gd2hpbGUgc2Nhbm91dCB3YXMg aW4gdmJsYW5rIGludGVydmFsLgo+PiA+ICAgKgo+PiA+ICsgKiBSZXR1cm5zIHRydWUgb24gc3Vj Y2VzcywgYW5kIGZhbHNlIG9uIGZhaWx1cmUsIGkuZS4gd2hlbiBubyBhY2N1cmF0ZQo+PiA+ICsg KiB0aW1lc3RhbXAgY291bGQgYmUgYWNxdWlyZWQuCj4+ID4gICAqLwo+PiA+IC1pbnQgZHJtX2Nh bGNfdmJsdGltZXN0YW1wX2Zyb21fc2Nhbm91dHBvcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ PiA+IC0JCQkJCSAgdW5zaWduZWQgaW50IHBpcGUsCj4+ID4gLQkJCQkJICBpbnQgKm1heF9lcnJv ciwKPj4gPiAtCQkJCQkgIHN0cnVjdCB0aW1ldmFsICp2YmxhbmtfdGltZSwKPj4gPiAtCQkJCQkg IHVuc2lnbmVkIGZsYWdzLAo+PiA+IC0JCQkJCSAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKm1vZGUpCj4+ID4gK2Jvb2wgZHJtX2NhbGNfdmJsdGltZXN0YW1wX2Zyb21fc2Nhbm91dHBv cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiA+ICsJCQkJCSAgIHVuc2lnbmVkIGludCBwaXBl LAo+PiA+ICsJCQkJCSAgIGludCAqbWF4X2Vycm9yLAo+PiA+ICsJCQkJCSAgIHN0cnVjdCB0aW1l dmFsICp2YmxhbmtfdGltZSwKPj4gPiArCQkJCQkgICB1bnNpZ25lZCBmbGFncywKPj4gPiArCQkJ CQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPj4gPiAgewo+PiA+ICAJ c3RydWN0IHRpbWV2YWwgdHZfZXRpbWU7Cj4+ID4gIAlrdGltZV90IHN0aW1lLCBldGltZTsKPj4g PiAgCXVuc2lnbmVkIGludCB2Ymxfc3RhdHVzOwo+PiA+IC0JaW50IHJldCA9IERSTV9WQkxBTktU SU1FX1NDQU5PVVRQT1NfTUVUSE9EOwo+PiA+ICAJaW50IHZwb3MsIGhwb3MsIGk7Cj4+ID4gIAlp bnQgZGVsdGFfbnMsIGR1cmF0aW9uX25zOwo+PiA+ICAKPj4gPiAgCWlmIChwaXBlID49IGRldi0+ bnVtX2NydGNzKSB7Cj4+ID4gIAkJRFJNX0VSUk9SKCJJbnZhbGlkIGNydGMgJXVcbiIsIHBpcGUp Owo+PiA+IC0JCXJldHVybiAtRUlOVkFMOwo+PiA+ICsJCXJldHVybiBmYWxzZTsKPj4gPiAgCX0K Pj4gPiAgCj4+ID4gIAkvKiBTY2Fub3V0IHBvc2l0aW9uIHF1ZXJ5IG5vdCBzdXBwb3J0ZWQ/IFNo b3VsZCBub3QgaGFwcGVuLiAqLwo+PiA+ICAJaWYgKCFkZXYtPmRyaXZlci0+Z2V0X3NjYW5vdXRf cG9zaXRpb24pIHsKPj4gPiAgCQlEUk1fRVJST1IoIkNhbGxlZCBmcm9tIGRyaXZlciB3L28gZ2V0 X3NjYW5vdXRfcG9zaXRpb24oKSE/XG4iKTsKPj4gPiAtCQlyZXR1cm4gLUVJTzsKPj4gPiArCQly ZXR1cm4gZmFsc2U7Cj4+ID4gIAl9Cj4+ID4gIAo+PiA+ICAJLyogSWYgbW9kZSB0aW1pbmcgdW5k ZWZpbmVkLCBqdXN0IHJldHVybiBhcyBuby1vcDoKPj4gPiBAQCAtNzY2LDcgKzc1NSw3IEBAIGlu dCBkcm1fY2FsY192Ymx0aW1lc3RhbXBfZnJvbV9zY2Fub3V0cG9zKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCj4+ID4gIAkgKi8KPj4gPiAgCWlmIChtb2RlLT5jcnRjX2Nsb2NrID09IDApIHsKPj4g PiAgCQlEUk1fREVCVUcoImNydGMgJXU6IE5vb3AgZHVlIHRvIHVuaW5pdGlhbGl6ZWQgbW9kZS5c biIsIHBpcGUpOwo+PiA+IC0JCXJldHVybiAtRUFHQUlOOwo+PiA+ICsJCXJldHVybiBmYWxzZTsK Pj4gPiAgCX0KPj4gPiAgCj4+ID4gIAkvKiBHZXQgY3VycmVudCBzY2Fub3V0IHBvc2l0aW9uIHdp dGggc3lzdGVtIHRpbWVzdGFtcC4KPj4gPiBAQCAtNzkwLDcgKzc3OSw3IEBAIGludCBkcm1fY2Fs Y192Ymx0aW1lc3RhbXBfZnJvbV9zY2Fub3V0cG9zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ ID4gIAkJaWYgKCEodmJsX3N0YXR1cyAmIERSTV9TQ0FOT1VUUE9TX1ZBTElEKSkgewo+PiA+ICAJ CQlEUk1fREVCVUcoImNydGMgJXUgOiBzY2Fub3V0cG9zIHF1ZXJ5IGZhaWxlZCBbMHgleF0uXG4i LAo+PiA+ICAJCQkJICBwaXBlLCB2Ymxfc3RhdHVzKTsKPj4gPiAtCQkJcmV0dXJuIC1FSU87Cj4+ ID4gKwkJCXJldHVybiBmYWxzZTsKPj4gPiAgCQl9Cj4+ID4gIAo+PiA+ICAJCS8qIENvbXB1dGUg dW5jZXJ0YWludHkgaW4gdGltZXN0YW1wIG9mIHNjYW5vdXQgcG9zaXRpb24gcXVlcnkuICovCj4+ ID4gQEAgLTgzNCw3ICs4MjMsNyBAQCBpbnQgZHJtX2NhbGNfdmJsdGltZXN0YW1wX2Zyb21fc2Nh bm91dHBvcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiA+ICAJCSAgICAgIChsb25nKXZibGFu a190aW1lLT50dl9zZWMsIChsb25nKXZibGFua190aW1lLT50dl91c2VjLAo+PiA+ICAJCSAgICAg IGR1cmF0aW9uX25zLzEwMDAsIGkpOwo+PiA+ICAKPj4gPiAtCXJldHVybiByZXQ7Cj4+ID4gKwly ZXR1cm4gdHJ1ZTsKPj4gPiAgfQo+PiA+ICBFWFBPUlRfU1lNQk9MKGRybV9jYWxjX3ZibHRpbWVz dGFtcF9mcm9tX3NjYW5vdXRwb3MpOwo+PiA+ICAKPj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMK Pj4gPiBpbmRleCAyNmFhMWMxNzBiNDMuLmRmMTQ5ZDE1OWNlNyAxMDA2NDQKPj4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9pcnEuYwo+PiA+IEBAIC05NjQsNyArOTY0LDcgQEAgaW50IGludGVsX2dldF9j cnRjX3NjYW5saW5lKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+PiA+ICAJcmV0dXJuIHBvc2l0 aW9uOwo+PiA+ICB9Cj4+ID4gIAo+PiA+IC1zdGF0aWMgaW50IGk5MTVfZ2V0X3ZibGFua190aW1l c3RhbXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUsCj4+ID4gK3N0 YXRpYyBib29sIGk5MTVfZ2V0X3ZibGFua190aW1lc3RhbXAoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdW5zaWduZWQgaW50IHBpcGUsCj4+ID4gIAkJCSAgICAgIGludCAqbWF4X2Vycm9yLAo+PiA+ ICAJCQkgICAgICBzdHJ1Y3QgdGltZXZhbCAqdmJsYW5rX3RpbWUsCj4+ID4gIAkJCSAgICAgIHVu c2lnbmVkIGZsYWdzKQo+PiA+IEBAIC05NzQsMTkgKzk3NCwxOSBAQCBzdGF0aWMgaW50IGk5MTVf Z2V0X3ZibGFua190aW1lc3RhbXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50 IHBpcGUsCj4+ID4gIAo+PiA+ICAJaWYgKHBpcGUgPj0gSU5URUxfSU5GTyhkZXZfcHJpdiktPm51 bV9waXBlcykgewo+PiA+ICAJCURSTV9FUlJPUigiSW52YWxpZCBjcnRjICV1XG4iLCBwaXBlKTsK Pj4gPiAtCQlyZXR1cm4gLUVJTlZBTDsKPj4gPiArCQlyZXR1cm4gZmFsc2U7Cj4+ID4gIAl9Cj4+ ID4gIAo+PiA+ICAJLyogR2V0IGRybV9jcnRjIHRvIHRpbWVzdGFtcDogKi8KPj4gPiAgCWNydGMg PSBpbnRlbF9nZXRfY3J0Y19mb3JfcGlwZShkZXZfcHJpdiwgcGlwZSk7Cj4+ID4gIAlpZiAoY3J0 YyA9PSBOVUxMKSB7Cj4+ID4gIAkJRFJNX0VSUk9SKCJJbnZhbGlkIGNydGMgJXVcbiIsIHBpcGUp Owo+PiA+IC0JCXJldHVybiAtRUlOVkFMOwo+PiA+ICsJCXJldHVybiBmYWxzZTsKPj4gPiAgCX0K Pj4gPiAgCj4+ID4gIAlpZiAoIWNydGMtPmJhc2UuaHdtb2RlLmNydGNfY2xvY2spIHsKPj4gPiAg CQlEUk1fREVCVUdfS01TKCJjcnRjICV1IGlzIGRpc2FibGVkXG4iLCBwaXBlKTsKPj4gPiAtCQly ZXR1cm4gLUVCVVNZOwo+PiA+ICsJCXJldHVybiBmYWxzZTsKPj4gPiAgCX0KPj4gPiAgCj4+ID4g IAkvKiBIZWxwZXIgcm91dGluZSBpbiBEUk0gY29yZSBkb2VzIGFsbCB0aGUgd29yazogKi8KPj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5jIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5jCj4+ID4gaW5kZXggNDFjY2Qy YTE1ZDNjLi42NTU3MDBlYjQyYmEgMTAwNjQ0Cj4+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNS9tZHA1X2ttcy5jCj4+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAv bWRwNS9tZHA1X2ttcy5jCj4+ID4gQEAgLTU5NSwyMyArNTk1LDIzIEBAIHN0YXRpYyBpbnQgbWRw NV9nZXRfc2Nhbm91dHBvcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlw ZSwKPj4gPiAgCXJldHVybiByZXQ7Cj4+ID4gIH0KPj4gPiAgCj4+ID4gLXN0YXRpYyBpbnQgbWRw NV9nZXRfdmJsYW5rX3RpbWVzdGFtcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBp bnQgcGlwZSwKPj4gPiAtCQkJCSAgICAgaW50ICptYXhfZXJyb3IsCj4+ID4gLQkJCQkgICAgIHN0 cnVjdCB0aW1ldmFsICp2YmxhbmtfdGltZSwKPj4gPiAtCQkJCSAgICAgdW5zaWduZWQgZmxhZ3Mp Cj4+ID4gK3N0YXRpYyBib29sIG1kcDVfZ2V0X3ZibGFua190aW1lc3RhbXAoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUsCj4+ID4gKwkJCQkgICAgICBpbnQgKm1heF9l cnJvciwKPj4gPiArCQkJCSAgICAgIHN0cnVjdCB0aW1ldmFsICp2YmxhbmtfdGltZSwKPj4gPiAr CQkJCSAgICAgIHVuc2lnbmVkIGZsYWdzKQo+PiA+ICB7Cj4+ID4gIAlzdHJ1Y3QgbXNtX2RybV9w cml2YXRlICpwcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gPiAgCXN0cnVjdCBkcm1fY3J0YyAq Y3J0YzsKPj4gPiAgCj4+ID4gIAlpZiAocGlwZSA8IDAgfHwgcGlwZSA+PSBwcml2LT5udW1fY3J0 Y3MpIHsKPj4gPiAgCQlEUk1fRVJST1IoIkludmFsaWQgY3J0YyAlZFxuIiwgcGlwZSk7Cj4+ID4g LQkJcmV0dXJuIC1FSU5WQUw7Cj4+ID4gKwkJcmV0dXJuIGZhbHNlOwo+PiA+ICAJfQo+PiA+ICAK Pj4gPiAgCWNydGMgPSBwcml2LT5jcnRjc1twaXBlXTsKPj4gPiAgCWlmICghY3J0Yykgewo+PiA+ ICAJCURSTV9FUlJPUigiSW52YWxpZCBjcnRjICVkXG4iLCBwaXBlKTsKPj4gPiAtCQlyZXR1cm4g LUVJTlZBTDsKPj4gPiArCQlyZXR1cm4gZmFsc2U7Cj4+ID4gIAl9Cj4+ID4gIAo+PiA+ICAJcmV0 dXJuIGRybV9jYWxjX3ZibHRpbWVzdGFtcF9mcm9tX3NjYW5vdXRwb3MoZGV2LCBwaXBlLCBtYXhf ZXJyb3IsCj4+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVf ZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kaXNwbGF5LmMKPj4g PiBpbmRleCAzMzI2OWM3ZGYzMGYuLjQyZjE4YjBiOWM0MyAxMDA2NDQKPj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rpc3BsYXkuYwo+PiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5jCj4+ID4gQEAgLTE1Niw3ICsxNTYsNyBA QCBub3V2ZWF1X2Rpc3BsYXlfc2Nhbm91dHBvcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNp Z25lZCBpbnQgcGlwZSwKPj4gPiAgCXJldHVybiAwOwo+PiA+ICB9Cj4+ID4gIAo+PiA+IC1pbnQK Pj4gPiArYm9vbAo+PiA+ICBub3V2ZWF1X2Rpc3BsYXlfdmJsc3RhbXAoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUsCj4+ID4gIAkJCSBpbnQgKm1heF9lcnJvciwgc3Ry dWN0IHRpbWV2YWwgKnRpbWUsIHVuc2lnbmVkIGZsYWdzKQo+PiA+ICB7Cj4+ID4gQEAgLTE3NCw3 ICsxNzQsNyBAQCBub3V2ZWF1X2Rpc3BsYXlfdmJsc3RhbXAoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdW5zaWduZWQgaW50IHBpcGUsCj4+ID4gIAkJfQo+PiA+ICAJfQo+PiA+ICAKPj4gPiAtCXJl dHVybiAtRUlOVkFMOwo+PiA+ICsJcmV0dXJuIGZhbHNlOwo+PiA+ICB9Cj4+ID4gIAo+PiA+ICBz dGF0aWMgdm9pZAo+PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2 ZWF1X2Rpc3BsYXkuaCBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5o Cj4+ID4gaW5kZXggNGE3NWRmMDZjMTM5Li5iYzlkMWU3YjAxMTcgMTAwNjQ0Cj4+ID4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kaXNwbGF5LmgKPj4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rpc3BsYXkuaAo+PiA+IEBAIC03MSw4ICs3MSw4 IEBAIHZvaWQgbm91dmVhdV9kaXNwbGF5X3ZibGFua19kaXNhYmxlKHN0cnVjdCBkcm1fZGV2aWNl ICosIHVuc2lnbmVkIGludCk7Cj4+ID4gIGludCAgbm91dmVhdV9kaXNwbGF5X3NjYW5vdXRwb3Mo c3RydWN0IGRybV9kZXZpY2UgKiwgdW5zaWduZWQgaW50LAo+PiA+ICAJCQkJdW5zaWduZWQgaW50 LCBpbnQgKiwgaW50ICosIGt0aW1lX3QgKiwKPj4gPiAgCQkJCWt0aW1lX3QgKiwgY29uc3Qgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKik7Cj4+ID4gLWludCAgbm91dmVhdV9kaXNwbGF5X3ZibHN0 YW1wKHN0cnVjdCBkcm1fZGV2aWNlICosIHVuc2lnbmVkIGludCwgaW50ICosCj4+ID4gLQkJCSAg ICAgIHN0cnVjdCB0aW1ldmFsICosIHVuc2lnbmVkKTsKPj4gPiArYm9vbCAgbm91dmVhdV9kaXNw bGF5X3ZibHN0YW1wKHN0cnVjdCBkcm1fZGV2aWNlICosIHVuc2lnbmVkIGludCwgaW50ICosCj4+ ID4gKwkJCSAgICAgICBzdHJ1Y3QgdGltZXZhbCAqLCB1bnNpZ25lZCk7Cj4+ID4gIAo+PiA+ICBp bnQgIG5vdXZlYXVfY3J0Y19wYWdlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3Qg ZHJtX2ZyYW1lYnVmZmVyICpmYiwKPj4gPiAgCQkJICAgIHN0cnVjdCBkcm1fcGVuZGluZ192Ymxh bmtfZXZlbnQgKmV2ZW50LAo+PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rydi5jCj4+ID4g aW5kZXggMzEyNDM2YThkOWU1Li42ZDc5YjVjMjgwNWIgMTAwNjQ0Cj4+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmMKPj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9kcnYuYwo+PiA+IEBAIC0xMTQsMTAgKzExNCwxMCBAQCBpbnQgcmFkZW9u X3Jlc3VtZV9rbXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgYm9vbCByZXN1bWUsIGJvb2wgZmJj b24pOwo+PiA+ICB1MzIgcmFkZW9uX2dldF92YmxhbmtfY291bnRlcl9rbXMoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUpOwo+PiA+ICBpbnQgcmFkZW9uX2VuYWJsZV92 Ymxhbmtfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlKTsKPj4g PiAgdm9pZCByYWRlb25fZGlzYWJsZV92Ymxhbmtfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHVuc2lnbmVkIGludCBwaXBlKTsKPj4gPiAtaW50IHJhZGVvbl9nZXRfdmJsYW5rX3RpbWVzdGFt cF9rbXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUsCj4+ID4gLQkJ CQkgICAgaW50ICptYXhfZXJyb3IsCj4+ID4gLQkJCQkgICAgc3RydWN0IHRpbWV2YWwgKnZibGFu a190aW1lLAo+PiA+IC0JCQkJICAgIHVuc2lnbmVkIGZsYWdzKTsKPj4gPiArYm9vbCByYWRlb25f Z2V0X3ZibGFua190aW1lc3RhbXBfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVk IGludCBwaXBlLAo+PiA+ICsJCQkJICAgICBpbnQgKm1heF9lcnJvciwKPj4gPiArCQkJCSAgICAg c3RydWN0IHRpbWV2YWwgKnZibGFua190aW1lLAo+PiA+ICsJCQkJICAgICB1bnNpZ25lZCBmbGFn cyk7Cj4+ID4gIHZvaWQgcmFkZW9uX2RyaXZlcl9pcnFfcHJlaW5zdGFsbF9rbXMoc3RydWN0IGRy bV9kZXZpY2UgKmRldik7Cj4+ID4gIGludCByYWRlb25fZHJpdmVyX2lycV9wb3N0aW5zdGFsbF9r bXMoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4+ID4gIHZvaWQgcmFkZW9uX2RyaXZlcl9pcnFf dW5pbnN0YWxsX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPj4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9rbXMuYwo+PiA+IGluZGV4IGEzMmE2MmUwM2E0NC4uOWFmZTcyMDEwYzY0IDEw MDY0NAo+PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ttcy5jCj4+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fa21zLmMKPj4gPiBAQCAtODY4LDI1 ICs4NjgsMjUgQEAgdm9pZCByYWRlb25fZGlzYWJsZV92Ymxhbmtfa21zKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIGludCBjcnRjKQo+PiA+ICAgKgo+PiA+ICAgKiBHZXRzIHRoZSB0aW1lc3RhbXAg b24gdGhlIHJlcXVlc3RlZCBjcnRjIGJhc2VkIG9uIHRoZQo+PiA+ICAgKiBzY2Fub3V0IHBvc2l0 aW9uLiAgKGFsbCBhc2ljcykuCj4+ID4gLSAqIFJldHVybnMgcG9zdGl2ZSBzdGF0dXMgZmxhZ3Mg b24gc3VjY2VzcywgbmVnYXRpdmUgZXJyb3Igb24gZmFpbHVyZS4KPj4gPiArICogUmV0dXJucyB0 cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG9uIGZhaWx1cmUuCj4+ID4gICAqLwo+PiA+IC1pbnQgcmFk ZW9uX2dldF92YmxhbmtfdGltZXN0YW1wX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQg Y3J0YywKPj4gPiAtCQkJCSAgICBpbnQgKm1heF9lcnJvciwKPj4gPiAtCQkJCSAgICBzdHJ1Y3Qg dGltZXZhbCAqdmJsYW5rX3RpbWUsCj4+ID4gLQkJCQkgICAgdW5zaWduZWQgZmxhZ3MpCj4+ID4g K2Jvb2wgcmFkZW9uX2dldF92YmxhbmtfdGltZXN0YW1wX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBpbnQgY3J0YywKPj4gPiArCQkJCSAgICAgaW50ICptYXhfZXJyb3IsCj4+ID4gKwkJCQkg ICAgIHN0cnVjdCB0aW1ldmFsICp2YmxhbmtfdGltZSwKPj4gPiArCQkJCSAgICAgdW5zaWduZWQg ZmxhZ3MpCj4+ID4gIHsKPj4gPiAgCXN0cnVjdCBkcm1fY3J0YyAqZHJtY3J0YzsKPj4gPiAgCXN0 cnVjdCByYWRlb25fZGV2aWNlICpyZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gPiAgCj4+ID4g IAlpZiAoY3J0YyA8IDAgfHwgY3J0YyA+PSBkZXYtPm51bV9jcnRjcykgewo+PiA+ICAJCURSTV9F UlJPUigiSW52YWxpZCBjcnRjICVkXG4iLCBjcnRjKTsKPj4gPiAtCQlyZXR1cm4gLUVJTlZBTDsK Pj4gPiArCQlyZXR1cm4gZmFsc2U7Cj4+ID4gIAl9Cj4+ID4gIAo+PiA+ICAJLyogR2V0IGFzc29j aWF0ZWQgZHJtX2NydGM6ICovCj4+ID4gIAlkcm1jcnRjID0gJnJkZXYtPm1vZGVfaW5mby5jcnRj c1tjcnRjXS0+YmFzZTsKPj4gPiAgCWlmICghZHJtY3J0YykKPj4gPiAtCQlyZXR1cm4gLUVJTlZB TDsKPj4gPiArCQlyZXR1cm4gZmFsc2U7Cj4+ID4gIAo+PiA+ICAJLyogSGVscGVyIHJvdXRpbmUg aW4gRFJNIGNvcmUgZG9lcyBhbGwgdGhlIHdvcms6ICovCj4+ID4gIAlyZXR1cm4gZHJtX2NhbGNf dmJsdGltZXN0YW1wX2Zyb21fc2Nhbm91dHBvcyhkZXYsIGNydGMsIG1heF9lcnJvciwKPj4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfY3J0Yy5jIGIvZHJpdmVycy9ncHUv ZHJtL3ZjNC92YzRfY3J0Yy5jCj4+ID4gaW5kZXggMjRlZGQwYzIyY2M5Li43NDI2MDk5MGI2YmYg MTAwNjQ0Cj4+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfY3J0Yy5jCj4+ID4gKysr IGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfY3J0Yy5jCj4+ID4gQEAgLTI3MCw3ICsyNzAsNyBA QCBpbnQgdmM0X2NydGNfZ2V0X3NjYW5vdXRwb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5z aWduZWQgaW50IGNydGNfaWQsCj4+ID4gIAlyZXR1cm4gcmV0Owo+PiA+ICB9Cj4+ID4gIAo+PiA+ IC1pbnQgdmM0X2NydGNfZ2V0X3ZibGFua190aW1lc3RhbXAoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdW5zaWduZWQgaW50IGNydGNfaWQsCj4+ID4gK2Jvb2wgdmM0X2NydGNfZ2V0X3ZibGFua190 aW1lc3RhbXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IGNydGNfaWQsCj4+ ID4gIAkJCQkgIGludCAqbWF4X2Vycm9yLCBzdHJ1Y3QgdGltZXZhbCAqdmJsYW5rX3RpbWUsCj4+ ID4gIAkJCQkgIHVuc2lnbmVkIGZsYWdzKQo+PiA+ICB7Cj4+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS92YzQvdmM0X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHJ2LmgK Pj4gPiBpbmRleCBkZmZjZTYyOTNkODcuLjhhNWQwZTEyZWUwMiAxMDA2NDQKPj4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuaAo+PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92 YzQvdmM0X2Rydi5oCj4+ID4gQEAgLTQ1MCw3ICs0NTAsNyBAQCBpbnQgdmM0X2NydGNfZ2V0X3Nj YW5vdXRwb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IGNydGNfaWQsCj4+ ID4gIAkJCSAgICB1bnNpZ25lZCBpbnQgZmxhZ3MsIGludCAqdnBvcywgaW50ICpocG9zLAo+PiA+ ICAJCQkgICAga3RpbWVfdCAqc3RpbWUsIGt0aW1lX3QgKmV0aW1lLAo+PiA+ICAJCQkgICAgY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwo+PiA+IC1pbnQgdmM0X2NydGNfZ2V0 X3ZibGFua190aW1lc3RhbXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IGNy dGNfaWQsCj4+ID4gK2Jvb2wgdmM0X2NydGNfZ2V0X3ZibGFua190aW1lc3RhbXAoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IGNydGNfaWQsCj4+ID4gIAkJCQkgIGludCAqbWF4 X2Vycm9yLCBzdHJ1Y3QgdGltZXZhbCAqdmJsYW5rX3RpbWUsCj4+ID4gIAkJCQkgIHVuc2lnbmVk IGZsYWdzKTsKPj4gPiAgCj4+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybVAuaCBiL2lu Y2x1ZGUvZHJtL2RybVAuaAo+PiA+IGluZGV4IDI3ZWNmY2RiZjc1Mi4uNjMwNGRlN2UwNDFlIDEw MDY0NAo+PiA+IC0tLSBhL2luY2x1ZGUvZHJtL2RybVAuaAo+PiA+ICsrKyBiL2luY2x1ZGUvZHJt L2RybVAuaAo+PiA+IEBAIC0zMjIsNyArMzIyLDYgQEAgc3RydWN0IHBjaV9jb250cm9sbGVyOwo+ PiA+ICAKPj4gPiAgLyogRmxhZ3MgYW5kIHJldHVybiBjb2RlcyBmb3IgZ2V0X3ZibGFua190aW1l c3RhbXAoKSBkcml2ZXIgZnVuY3Rpb24uICovCj4+ID4gICNkZWZpbmUgRFJNX0NBTExFRF9GUk9N X1ZCTElSUSAxCj4+ID4gLSNkZWZpbmUgRFJNX1ZCTEFOS1RJTUVfU0NBTk9VVFBPU19NRVRIT0Qg KDEgPDwgMCkKPj4gPiAgCj4+ID4gIC8qIGdldF9zY2Fub3V0X3Bvc2l0aW9uKCkgcmV0dXJuIGZs YWdzICovCj4+ID4gICNkZWZpbmUgRFJNX1NDQU5PVVRQT1NfVkFMSUQgICAgICAgICgxIDw8IDAp Cj4+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kcnYuaCBiL2luY2x1ZGUvZHJtL2Ry bV9kcnYuaAo+PiA+IGluZGV4IGQwYjVmMzYzYmZhMS4uZGE3OGUyNDhkOWQ4IDEwMDY0NAo+PiA+ IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9kcnYuaAo+PiA+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9k cnYuaAo+PiA+IEBAIC0zMTYsMTEgKzMxNiwxMCBAQCBzdHJ1Y3QgZHJtX2RyaXZlciB7Cj4+ID4g IAkgKgo+PiA+ICAJICogUmV0dXJuczoKPj4gPiAgCSAqCj4+ID4gLQkgKiBaZXJvIGlmIHRpbWVz dGFtcGluZyBpc24ndCBzdXBwb3J0ZWQgaW4gY3VycmVudCBkaXNwbGF5IG1vZGUgb3IgYQo+PiA+ IC0JICogbmVnYXRpdmUgbnVtYmVyIG9uIGZhaWx1cmUuIEEgcG9zaXRpdmUgc3RhdHVzIGNvZGUg b24gc3VjY2VzcywKPj4gPiAtCSAqIHdoaWNoIGRlc2NyaWJlcyBob3cgdGhlIHZibGFua190aW1l IHRpbWVzdGFtcCB3YXMgY29tcHV0ZWQuCj4+ID4gKwkgKiBUcnVlIG9uIHN1Y2Nlc3MsIGZhbHNl IG9uIGZhaWx1cmUsIHdoaWNoIG1lYW5zIHRoZSBjb3JlIHNob3VsZAo+PiA+ICsJICogZmFsbGJh Y2sgdG8gYSBzaW1wbGUgdGltZXN0YW1wIHRha2VuIGluIGRybV9jcnRjX2hhbmRsZV92Ymxhbmso KS4KPj4gPiAgCSAqLwo+PiA+IC0JaW50ICgqZ2V0X3ZibGFua190aW1lc3RhbXApIChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSwKPj4gPiArCWJvb2wgKCpnZXRfdmJs YW5rX3RpbWVzdGFtcCkgKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBl LAo+PiA+ICAJCQkJICAgICBpbnQgKm1heF9lcnJvciwKPj4gPiAgCQkJCSAgICAgc3RydWN0IHRp bWV2YWwgKnZibGFua190aW1lLAo+PiA+ICAJCQkJICAgICB1bnNpZ25lZCBmbGFncyk7Cj4+ID4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9pcnEuaCBiL2luY2x1ZGUvZHJtL2RybV9pcnEu aAo+PiA+IGluZGV4IGNmMGJlNjU5NGM4Yy4uZjBkNWNjZjliMjgyIDEwMDY0NAo+PiA+IC0tLSBh L2luY2x1ZGUvZHJtL2RybV9pcnEuaAo+PiA+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9pcnEuaAo+ PiA+IEBAIC0xNTMsMTEgKzE1MywxMSBAQCB2b2lkIGRybV9jcnRjX3ZibGFua19vbihzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpOwo+PiA+ICB2b2lkIGRybV92YmxhbmtfY2xlYW51cChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KTsKPj4gPiAgdTMyIGRybV9hY2N1cmF0ZV92YmxhbmtfY291bnQoc3RydWN0 IGRybV9jcnRjICpjcnRjKTsKPj4gPiAgCj4+ID4gLWludCBkcm1fY2FsY192Ymx0aW1lc3RhbXBf ZnJvbV9zY2Fub3V0cG9zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ID4gLQkJCQkJICB1bnNp Z25lZCBpbnQgcGlwZSwgaW50ICptYXhfZXJyb3IsCj4+ID4gLQkJCQkJICBzdHJ1Y3QgdGltZXZh bCAqdmJsYW5rX3RpbWUsCj4+ID4gLQkJCQkJICB1bnNpZ25lZCBmbGFncywKPj4gPiAtCQkJCQkg IGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsKPj4gPiArYm9vbCBkcm1fY2Fs Y192Ymx0aW1lc3RhbXBfZnJvbV9zY2Fub3V0cG9zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ ID4gKwkJCQkJICAgdW5zaWduZWQgaW50IHBpcGUsIGludCAqbWF4X2Vycm9yLAo+PiA+ICsJCQkJ CSAgIHN0cnVjdCB0aW1ldmFsICp2YmxhbmtfdGltZSwKPj4gPiArCQkJCQkgICB1bnNpZ25lZCBm bGFncywKPj4gPiArCQkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSk7 Cj4+ID4gIHZvaWQgZHJtX2NhbGNfdGltZXN0YW1waW5nX2NvbnN0YW50cyhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCj4+ID4gIAkJCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlKTsKPj4gCj4+IC0tIAo+PiBKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5v bG9neSBDZW50ZXIKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9n eSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K RnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==