From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sharat Masetty Subject: Re: [PATCH] drm/scheduler: Add drm_sched_suspend/resume timeout functions Date: Wed, 14 Nov 2018 22:59:08 +0530 Message-ID: References: <1541684554-17115-1-git-send-email-smasetty@codeaurora.org> <75831be1-c6b1-80d7-d594-651712f05b00@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <75831be1-c6b1-80d7-d594-651712f05b00-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: "Koenig, Christian" , "freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" Cc: "linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org" , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" List-Id: linux-arm-msm@vger.kernel.org CgpPbiAxMS84LzIwMTggODoxMSBQTSwgS29lbmlnLCBDaHJpc3RpYW4gd3JvdGU6Cj4gQW0gMDgu MTEuMTggdW0gMTQ6NDIgc2NocmllYiBTaGFyYXQgTWFzZXR0eToKPj4gSGkgQ2hyaXN0aWFuLAo+ Pgo+PiBDYW4geW91IHBsZWFzZSByZXZpZXcgdGhpcyBwYXRjaD8gSXQgaXMgYSBjb250aW51YXRp b24gb2YgdGhlIGRpc2N1c3Npb24gYXQgWzFdLgo+PiBBdCBmaXJzdCBJIHdhcyB0aGlua2luZyBv ZiB1c2luZyBhIGNhbmNlbCBmb3Igc3VzcGVuZCBpbnN0ZWFkIG9mIGEgbW9kKHRvIGFuCj4+IGFy Yml0cmFyaWx5IGxhcmdlIHZhbHVlKSwgYnV0IEkgY291bGRuJ3QgZ2V0IGl0IHRvIGZpdCBpbiBh cyBJIGhhdmUgYW4gYWRkaXRpb25hbAo+PiBjb25zdHJhaW50IG9mIGJlaW5nIGFibGUgdG8gY2Fs bCB0aGVzZSBmdW5jdGlvbnMgZnJvbSBhbiBJUlEgY29udGV4dC4KPj4KPj4gVGhlc2UgbmV3IGZ1 bmN0aW9ucyByYWNlIHdpdGggb3RoZXIgY29udGV4dHMsIHByaW1hcmlseSBmaW5pc2hfam9iKCks Cj4+IHRpbWVkb3V0X2pvYigpIGFuZCByZWNvdmVyeSgpLCBidXQgSSBkaWQgZ28gdGhyb3VnaCB0 aGUgcG9zc2libGUgcmFjZXMgYmV0d2Vlbgo+PiB0aGVzZShJIHRoaW5rKS4gUGxlYXNlIGxldCBt ZSBrbm93IHdoYXQgeW91IHRoaW5rIG9mIHRoaXM/IEkgaGF2ZSBub3QgdGVzdGVkCj4+IHRoaXMg eWV0IGFuZCBpZiB0aGlzIGlzIHNvbWV0aGluZyBpbiB0aGUgcmlnaHQgZGlyZWN0aW9uLCBJIHdp bGwgcHV0IHRoaXMKPj4gdGhyb3VnaCBteSB0ZXN0aW5nIGRyaWxsIGFuZCBwb2xpc2ggaXQuCj4+ Cj4+IElNTyBJIHRoaW5rIEkgcHJlZmVyIHRoZSBjYWxsYmFjayBhcHByb2FjaCBhcyBpdCBhcHBl YXJzIHRvIGJlIHNpbXBsZSwgbGVzcwo+PiBlcnJvciBwcm9uZSBmb3IgYm90aCB0aGUgc2NoZWR1 bGVyIGFuZCB0aGUgZHJpdmVycy4KPiAKPiBXZWxsIEkgYWdyZWUgdGhhdCB0aGlzIGlzIHdheSB0 byBjb21wbGljYXRlZCBhbmQgbG9va3MgcmFjeSB0byBtZSBhcwo+IHdlbGwuIEJ1dCB0aGlzIGlz IGJlY2F1c2UgeW91IG1vdmVkIGF3YXkgZnJvbSBteSBpbml0aWFsIHN1Z2dlc3Rpb24uCj4gCj4g U28gaGVyZSBpcyBvbmNlIG1vcmUgaG93IHRvIGRvIGl0IHdpdGhvdXQgYW55IGFkZGl0aW9uYWwg bG9ja3Mgb3IgcmFjZXM6Cj4gCj4gLyoqCj4gICDCoCogZHJtX3NjaGVkX3N1c3BlbmRfdGltZW91 dCAtIHN1c3BlbmQgdGltZW91dCBmb3IgcmVzZXQgd29ya2VyCj4gICDCoCoKPiAgIMKgKiBAc2No ZWQ6IHNjaGVkdWxlciBpbnN0YW5jZSBmb3Igd2hpY2ggdG8gc3VzcGVuZCB0aGUgdGltZW91dAo+ ICAgwqAqCj4gICDCoCogU3VzcGVuZCB0aGUgZGVsYXllZCB3b3JrIHRpbWVvdXQgZm9yIHRoZSBz Y2hlZHVsZXIuIE5vdGUgdGhhdAo+ICAgwqAqIHRoaXMgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBm cm9tIGFuIElSUSBjb250ZXh0LiBJdCByZXR1cm5zIHRoZQo+IHRpbWVvdXQgcmVtYWluaW5nLgo+ ICAgwqAqLwo+IHVuc2lnbmVkIGxvbmcgZHJtX3NjaGVkX3N1c3BlbmRfdGltZW91dChzdHJ1Y3Qg ZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkKQo+IHsKPiAKPiAJdW5zaWduZWQgbG9uZyB0aW1lb3V0 LCBjdXJyZW50ID0gamlmZmllcwo+IAo+IAl0aW1lb3V0ID0gc2NoZWQtPndvcmtfdGRyLnRpbWVy LmV4cGlyZXM7Cj4gCj4gCS8qCj4gCSAqIFNldCB0aW1lb3V0IHRvIGFuIGFyYml0cmFyaWx5IGxh cmdlIHZhbHVlLCB0aGlzIGFsc28gcHJldmVudHMgdGhlIHRpbWVyIHRvIGJlCj4gCSAqIHN0YXJ0 ZWQgd2hlbiBuZXcgc3VibWlzc2lvbnMgYXJyaXZlLgo+IAkgKi8KPiAJaWYgKG1vZF9kZWxheWVk X3dvcmsoc3lzdGVtX3dxLCAmc2NoZWQtPndvcmtfdGRyLCBzY2hlZC0+dGltZW91dCAqIDEwKSAm Jgo+IAkgICAgdGltZV9hZnRlcih0aW1lb3V0LCBjdXJyZW50KSkKPiAJCXJldHVybiB0aW1lb3V0 IC0gY3VycmVudDsKPiAJZWxzZQo+IAkJcmV0dXJuIHNjaGVkLT50aW1lb3V0Owo+IH0KPiAKPiAv KioKPiAgICAqIGRybV9zY2hlZF9yZXN1bWVfdGltZW91dCAtIHJlc3VtZSB0aW1lb3V0IGZvciBy ZXNldCB3b3JrZXIKPiAgICAqCj4gICAgKiBAc2NoZWQ6IHNjaGVkdWxlciBpbnN0YW5jZSBmb3Ig d2hpY2ggdG8gcmVzdW1lIHRoZSB0aW1lb3V0Cj4gICAgKiBAcmVtYWluaW5nOiByZW1haW5pbmcg dGltZW91dAo+ICAgwqAqCj4gICAgKiBSZXN1bWUgdGhlIGRlbGF5ZWQgd29yayB0aW1lb3V0IGZv ciB0aGUgc2NoZWR1bGVyLiBOb3RlIHRoYXQKPiAgICAqIHRoaXMgZnVuY3Rpb24gY2FuIGJlIGNh bGxlZCBmcm9tIGFuIElSUSBjb250ZXh0Lgo+ICAgICovCj4gdm9pZCBkcm1fc2NoZWRfcmVzdW1l X3RpbWVvdXQoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCwgdW5zaWduZWQgbG9uZyBy ZW1haW5pbmcpCj4gewo+IAlpZiAobGlzdF9lbXB0eSgmc2NoZWQtPnJpbmdfbWlycm9yX2xpc3Qp KQo+IAkJY2FuY2VsX2RlbGF5ZWRfd29yaygmc2NoZWQtPndvcmtfdGRyKTsKPiAJZWxzZQo+IAkJ bW9kX2RlbGF5ZWRfd29yayhzeXN0ZW1fd3EsICZzY2hlZC0+d29ya190ZHIsIHJlbWFpbmluZyk7 Cj4gfQpIaSBDaHJpc3RpYW4sCgpUaGFuayB5b3UgZm9yIHRoZSBzdWdnZXN0aW9ucyAtIEkgd2Fz IGFibGUgdG8gdHJ5IHRoaXMgb3V0IHRoaXMgd2Vlay4gSXQgCndvcmtzIGZvciB0aGUgbW9zdCBw YXJ0LCBidXQgdGhlcmUgYXJlIGEgY291cGxlIG9mIHJhY2VzIHdoaWNoIG5lZWQgCmZ1cnRoZXIg Y29uc2lkZXJhdGlvbnMuCgoxKSBUaGUgZHJtX3NjaGVkX3Jlc3VtZV90aW1lb3V0KCkgY2FuIHJh Y2Ugd2l0aCBib3RoIHRoZSAKZHJtX3NjaGVkX2pvYl9maW5pc2goKSBhbmQgYWxzbyBuZXcgam9i IHN1Ym1pc3Npb25zLiBJbiB0aGUgZHJpdmVyIHRoZSAKam9iIHN1Ym1pc3Npb24gd2hpY2ggdHJp Z2dlcmVkIHRoZSBwcmVlbXB0aW9uIGNhbiBiZSBjb21wbGV0ZSBhcyBzb29uIGFzIAp0aGUgc3dp dGNoIGhhcHBlbnMgYW5kIGl0IGlzIHF1aXRlIHBvc3NpYmxlIHRoYXQgSSBnZXQgdGhlIHByZWVt cHRpb24gCmNvbXBsZXRlIGFuZCB0aGUgam9iIGRvbmUgaW50ZXJydXB0IGF0IHRoZSBzYW1lIHRp bWUuIFNvIHRoaXMgbWVhbnMgdGhhdCAKZHJtX3NjaGVkX3Jlc3VtZV90aW1lb3V0KCkgaW4gSVJR IGNvbnRleHQgY2FuIHJhY2Ugd2l0aCAKZHJtX3NjaGVkX2pvYl9maW5pc2goKSBpbiB3b3JrZXIg dGhyZWFkIGNvbnRleHQgb24gYW5vdGhlciBDUFUuIEFsc28gaW4gCnBhcmFsbGVsIG5ldyBqb2Jz IGNhbiBiZSBzdWJtaXR0ZWQsIHdoaWNoIHdpbGwgYWxzbyB1cGRhdGUgdGhlIHJpbmcgCm1pcnJv ciBsaXN0IC4gVGhlc2UgcmFjZXMgY2FuIGJlIGFkZHJlc3NlZCBob3dldmVyIHdpdGggbG9ja2lu ZyB0aGUgCmpvYl9saXN0X2xvY2sgaW5zaWRlIHRoZSBkcm1fc2NoZWRfcmVzdW1lX3RpbWVvdXQo KS4KCjIpIFRoaXMgb25lIGlzIGEgbGl0dGxlIG1vcmUgdHJpY2t5IC0gSW4gdGhlIGRyaXZlciBJ IHN0YXJ0IG9mZiB3aXRoIGFsbCAKdGhlIHRpbWVvdXRzIHN1c3BlbmRlZChleGNlcHQgdGhlIG9u ZSBmb3IgdGhlIGRlZmF1bHQgcmluZyksIHRoZW4gb24gCmV2ZXJ5IHByZWVtcHRpb24gaW50ZXJy dXB0IEkgc3VzcGVuZCB0aGUgb3V0Z29pbmcgcmluZyBhbmQgcmVzdW1lIHRoZSAKaW5jb21pbmcg cmluZy4gSSBjYW4gb25seSByZXN1bWUgaWYgaXQgd2FzIHByZXZpb3VzbHkgc3VzcGVuZGVkLiBU aGlzIGlzIApob3cgaXQgaXMgc2V0IHVwLiBUaGUgcHJvYmxlbSB0aGF0IGJlY29tZXMgYXBwYXJl bnQgd2l0aCB0aGlzIGFwcHJvYWNoIAppcyB0aGF0IGZvciB0aGUgc3VzcGVuZGVkIHJpbmdzIHRo aXMgYXJiaXRyYXJpbHkgbGFyZ2UgdGltZW91dCBjYW4gZmlyZSAKYXQgc29tZSBwb2ludChiZWNh dXNlIG9mIG5vIHdvcmspIGFuZCBqdXN0IGJlZm9yZSAKZHJtX3NjaGVkX3RpbWVkb3V0X2pvYigp IHJ1bnMgYSBuZXcgam9iIGNhbiBiZSBpbnNlcnRlZCBpbnRvIHRoZSBtaXJyb3IgCmxpc3QuIFNv IGluIHRoaXMgY2FzZSB3ZSBnZXQgYW4gaW5jb3JyZWN0IHRpbWVvdXQuCgpXaGF0IGFyZSB5b3Vy IHRob3VnaHRzIG9uIHVzaW5nIGNhbmNlbF9kZWxheWVkX3dvcmsoKSBpbnN0ZWFkIG9mIG1vZCBp biAKc3VzcGVuZF90aW1lb3V0LiBZZXMgd2Ugd2lsbCBsb3NlIHRoZSBiZW5lZml0cyBvZiBtb2Qs IGJ1dCB3ZSBzaG91bGQgYmUgCmFibGUgdG8gc3luY2hyb25pemUgZHJtX3NjaGVkX3N1c3BlbmRf dGltZW91dCgpIGFuZCAKZHJtX3NjaGVkX3N0YXJ0X3RpbWVvdXQoKSB3aXRoIHNvbWUgYmFzaWMg c3RhdGUuIEkgaGF2ZSBub3QgdGhvdWdodCB0aGlzIApjb21wbGV0ZWx5IHRocm91Z2ggc28gSSBt YXkgYmUgbWlzc2luZyBzb21ldGhpbmcgaGVyZS4KClBsZWFzZSBzaGFyZSB5b3VyIHRob3VnaHRz IG9uIHRoaXMKClRoYW5rIHlvdQoKU2hhcmF0Cj4gCj4gCj4gUmVnYXJkcywKPiBDaHJpc3RpYW4u Cj4gCj4+Cj4+IFsxXSAgaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoLzI1 OTkxNC8KPj4KPj4gU2lnbmVkLW9mZi1ieTogU2hhcmF0IE1hc2V0dHkgPHNtYXNldHR5QGNvZGVh dXJvcmEub3JnPgo+PiAtLS0KPj4gICAgZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9t YWluLmMgfCA4MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCj4+ICAgIGluY2x1 ZGUvZHJtL2dwdV9zY2hlZHVsZXIuaCAgICAgICAgICAgIHwgIDUgKysrCj4+ICAgIDIgZmlsZXMg Y2hhbmdlZCwgODUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+Pgo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWluLmMgYi9kcml2ZXJzL2dwdS9k cm0vc2NoZWR1bGVyL3NjaGVkX21haW4uYwo+PiBpbmRleCBjOTkzZDEwLi45NjQ1Nzg5IDEwMDY0 NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX21haW4uYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX21haW4uYwo+PiBAQCAtMTkxLDExICsx OTEsODQgQEAgYm9vbCBkcm1fc2NoZWRfZGVwZW5kZW5jeV9vcHRpbWl6ZWQoc3RydWN0IGRtYV9m ZW5jZSogZmVuY2UsCj4+ICAgICAqLwo+PiAgICBzdGF0aWMgdm9pZCBkcm1fc2NoZWRfc3RhcnRf dGltZW91dChzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkKQo+PiAgICB7Cj4+ICsJdW5z aWduZWQgbG9uZyBmbGFnczsKPj4gKwo+PiArCXNwaW5fbG9ja19pcnFzYXZlKCZzY2hlZC0+dGRy X3N1c3BlbmRfbG9jaywgZmxhZ3MpOwo+PiArCj4+ICsJc2NoZWQtPnRpbWVvdXRfcmVtYWluaW5n ID0gc2NoZWQtPnRpbWVvdXQ7Cj4+ICsKPj4gICAgCWlmIChzY2hlZC0+dGltZW91dCAhPSBNQVhf U0NIRURVTEVfVElNRU9VVCAmJgo+PiAtCSAgICAhbGlzdF9lbXB0eSgmc2NoZWQtPnJpbmdfbWly cm9yX2xpc3QpKQo+PiArCSAgICAhbGlzdF9lbXB0eSgmc2NoZWQtPnJpbmdfbWlycm9yX2xpc3Qp ICYmICFzY2hlZC0+d29ya190ZHJfc3VzcGVuZGVkKQo+PiAgICAJCXNjaGVkdWxlX2RlbGF5ZWRf d29yaygmc2NoZWQtPndvcmtfdGRyLCBzY2hlZC0+dGltZW91dCk7Cj4+ICsKPj4gKwlzcGluX3Vu bG9ja19pcnFyZXN0b3JlKCZzY2hlZC0+dGRyX3N1c3BlbmRfbG9jaywgZmxhZ3MpOwo+PiAgICB9 Cj4+Cj4+ICsvKioKPj4gKyAqIGRybV9zY2hlZF9zdXNwZW5kX3RpbWVvdXQgLSBzdXNwZW5kIHRp bWVvdXQgZm9yIHJlc2V0IHdvcmtlcgo+PiArICoKPj4gKyAqIEBzY2hlZDogc2NoZWR1bGVyIGlu c3RhbmNlIGZvciB3aGljaCB0byBzdXNwZW5kIHRoZSB0aW1lb3V0Cj4+ICsgKgo+PiArICogU3Vz cGVuZCB0aGUgZGVsYXllZCB3b3JrIHRpbWVvdXQgZm9yIHRoZSBzY2hlZHVsZXIuIE5vdGUgdGhh dAo+PiArICogdGhpcyBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIGZyb20gYW4gSVJRIGNvbnRleHQu Cj4+ICsgKi8KPj4gK3ZvaWQgZHJtX3NjaGVkX3N1c3BlbmRfdGltZW91dChzdHJ1Y3QgZHJtX2dw dV9zY2hlZHVsZXIgKnNjaGVkKQo+PiArewo+PiArCXVuc2lnbmVkIGxvbmcgZmxhZ3MsIHRpbWVv dXQ7Cj4+ICsKPj4gKwlzcGluX2xvY2tfaXJxc2F2ZSgmc2NoZWQtPnRkcl9zdXNwZW5kX2xvY2ss IGZsYWdzKTsKPj4gKwo+PiArCWlmIChzY2hlZC0+d29ya190ZHJfc3VzcGVuZGVkIHx8Cj4+ICsJ CQlzY2hlZC0+dGltZW91dCA9PSBNQVhfU0NIRURVTEVfVElNRU9VVCB8fAo+PiArCQkJbGlzdF9l bXB0eSgmc2NoZWQtPnJpbmdfbWlycm9yX2xpc3QpKQo+PiArCQlnb3RvIGRvbmU7Cj4+ICsKPj4g Kwl0aW1lb3V0ID0gc2NoZWQtPndvcmtfdGRyLnRpbWVyLmV4cGlyZXM7Cj4+ICsKPj4gKwkvKgo+ PiArCSAqIFJlc2V0IHRpbWVvdXQgdG8gYW4gYXJiaXRyYXJpbHkgbGFyZ2UgdmFsdWUKPj4gKwkg Ki8KPj4gKwltb2RfZGVsYXllZF93b3JrKHN5c3RlbV93cSwgJnNjaGVkLT53b3JrX3Rkciwgc2No ZWQtPnRpbWVvdXQgKiAxMCk7Cj4+ICsKPj4gKwl0aW1lb3V0IC09IGppZmZpZXM7Cj4+ICsKPj4g KwkvKiBGSVhNRTogQ2FuIGppZmZpZXMgYmUgYWZ0ZXIgdGltZW91dD8gKi8KPj4gKwlzY2hlZC0+ dGltZW91dF9yZW1haW5pbmcgPSB0aW1lX2FmdGVyKGppZmZpZXMsIHRpbWVvdXQpPyAwOiB0aW1l b3V0Owo+PiArCXNjaGVkLT53b3JrX3Rkcl9zdXNwZW5kZWQgPSB0cnVlOwo+PiArCj4+ICtkb25l Ogo+PiArCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNjaGVkLT50ZHJfc3VzcGVuZF9sb2NrLCBm bGFncyk7Cj4+ICt9Cj4+ICtFWFBPUlRfU1lNQk9MKGRybV9zY2hlZF9zdXNwZW5kX3RpbWVvdXQp Owo+PiArCj4+ICsvKioKPj4gKyAqIGRybV9zY2hlZF9yZXN1bWVfdGltZW91dCAtIHJlc3VtZSB0 aW1lb3V0IGZvciByZXNldCB3b3JrZXIKPj4gKyAqCj4+ICsgKiBAc2NoZWQ6IHNjaGVkdWxlciBp bnN0YW5jZSBmb3Igd2hpY2ggdG8gcmVzdW1lIHRoZSB0aW1lb3V0Cj4+ICsgKgo+PiArICogUmVz dW1lIHRoZSBkZWxheWVkIHdvcmsgdGltZW91dCBmb3IgdGhlIHNjaGVkdWxlci4gTm90ZSB0aGF0 Cj4+ICsgKiB0aGlzIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgZnJvbSBhbiBJUlEgY29udGV4dC4K Pj4gKyAqLwo+PiArdm9pZCBkcm1fc2NoZWRfcmVzdW1lX3RpbWVvdXQoc3RydWN0IGRybV9ncHVf c2NoZWR1bGVyICpzY2hlZCkKPj4gK3sKPj4gKwl1bnNpZ25lZCBsb25nIGZsYWdzOwo+PiArCj4+ ICsJc3Bpbl9sb2NrX2lycXNhdmUoJnNjaGVkLT50ZHJfc3VzcGVuZF9sb2NrLCBmbGFncyk7Cj4+ ICsKPj4gKwlpZiAoIXNjaGVkLT53b3JrX3Rkcl9zdXNwZW5kZWQgfHwKPj4gKwkJCXNjaGVkLT50 aW1lb3V0ID09IE1BWF9TQ0hFRFVMRV9USU1FT1VUKSB7Cj4+ICsJCXNwaW5fdW5sb2NrX2lycXJl c3RvcmUoJnNjaGVkLT50ZHJfc3VzcGVuZF9sb2NrLCBmbGFncyk7Cj4+ICsJCXJldHVybjsKPj4g Kwl9Cj4+ICsKPj4gKwltb2RfZGVsYXllZF93b3JrKHN5c3RlbV93cSwgJnNjaGVkLT53b3JrX3Rk ciwgc2NoZWQtPnRpbWVvdXRfcmVtYWluaW5nKTsKPj4gKwo+PiArCXNjaGVkLT53b3JrX3Rkcl9z dXNwZW5kZWQgPSBmYWxzZTsKPj4gKwo+PiArCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNjaGVk LT50ZHJfc3VzcGVuZF9sb2NrLCBmbGFncyk7Cj4+ICt9Cj4+ICtFWFBPUlRfU1lNQk9MKGRybV9z Y2hlZF9yZXN1bWVfdGltZW91dCk7Cj4+ICsKPj4gICAgLyogam9iX2ZpbmlzaCBpcyBjYWxsZWQg YWZ0ZXIgaHcgZmVuY2Ugc2lnbmFsZWQKPj4gICAgICovCj4+ICAgIHN0YXRpYyB2b2lkIGRybV9z Y2hlZF9qb2JfZmluaXNoKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPj4gQEAgLTM0OCw2ICs0 MjEsMTEgQEAgdm9pZCBkcm1fc2NoZWRfam9iX3JlY292ZXJ5KHN0cnVjdCBkcm1fZ3B1X3NjaGVk dWxlciAqc2NoZWQpCj4+ICAgIAlzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc19qb2IsICp0bXA7Cj4+ ICAgIAlib29sIGZvdW5kX2d1aWx0eSA9IGZhbHNlOwo+PiAgICAJaW50IHI7Cj4+ICsJdW5zaWdu ZWQgbG9uZyBmbGFnczsKPj4gKwo+PiArCXNwaW5fbG9ja19pcnFzYXZlKCZzY2hlZC0+dGRyX3N1 c3BlbmRfbG9jaywgZmxhZ3MpOwo+PiArCXNjaGVkLT53b3JrX3Rkcl9zdXNwZW5kZWQgPSBmYWxz ZTsKPj4gKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2hlZC0+dGRyX3N1c3BlbmRfbG9jaywg ZmxhZ3MpOwo+Pgo+PiAgICAJc3Bpbl9sb2NrKCZzY2hlZC0+am9iX2xpc3RfbG9jayk7Cj4+ICAg IAlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoc19qb2IsIHRtcCwgJnNjaGVkLT5yaW5nX21pcnJv cl9saXN0LCBub2RlKSB7Cj4+IEBAIC02MDcsNiArNjg1LDcgQEAgaW50IGRybV9zY2hlZF9pbml0 KHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQsCj4+ICAgIAlpbml0X3dhaXRxdWV1ZV9o ZWFkKCZzY2hlZC0+am9iX3NjaGVkdWxlZCk7Cj4+ICAgIAlJTklUX0xJU1RfSEVBRCgmc2NoZWQt PnJpbmdfbWlycm9yX2xpc3QpOwo+PiAgICAJc3Bpbl9sb2NrX2luaXQoJnNjaGVkLT5qb2JfbGlz dF9sb2NrKTsKPj4gKwlzcGluX2xvY2tfaW5pdCgmc2NoZWQtPnRkcl9zdXNwZW5kX2xvY2spOwo+ PiAgICAJYXRvbWljX3NldCgmc2NoZWQtPmh3X3JxX2NvdW50LCAwKTsKPj4gICAgCUlOSVRfREVM QVlFRF9XT1JLKCZzY2hlZC0+d29ya190ZHIsIGRybV9zY2hlZF9qb2JfdGltZWRvdXQpOwo+PiAg ICAJYXRvbWljX3NldCgmc2NoZWQtPm51bV9qb2JzLCAwKTsKPj4gZGlmZiAtLWdpdCBhL2luY2x1 ZGUvZHJtL2dwdV9zY2hlZHVsZXIuaCBiL2luY2x1ZGUvZHJtL2dwdV9zY2hlZHVsZXIuaAo+PiBp bmRleCBkODdiMjY4Li41ZDM5NTcyIDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL2RybS9ncHVfc2No ZWR1bGVyLmgKPj4gKysrIGIvaW5jbHVkZS9kcm0vZ3B1X3NjaGVkdWxlci5oCj4+IEBAIC0yNzgs NiArMjc4LDkgQEAgc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyIHsKPj4gICAgCWF0b21pY190CQkJ aHdfcnFfY291bnQ7Cj4+ICAgIAlhdG9taWM2NF90CQkJam9iX2lkX2NvdW50Owo+PiAgICAJc3Ry dWN0IGRlbGF5ZWRfd29yawkJd29ya190ZHI7Cj4+ICsJdW5zaWduZWQgbG9uZwkJCXRpbWVvdXRf cmVtYWluaW5nOwo+PiArCWJvb2wJCQkJd29ya190ZHJfc3VzcGVuZGVkOwo+PiArCXNwaW5sb2Nr X3QJCQl0ZHJfc3VzcGVuZF9sb2NrOwo+PiAgICAJc3RydWN0IHRhc2tfc3RydWN0CQkqdGhyZWFk Owo+PiAgICAJc3RydWN0IGxpc3RfaGVhZAkJcmluZ19taXJyb3JfbGlzdDsKPj4gICAgCXNwaW5s b2NrX3QJCQlqb2JfbGlzdF9sb2NrOwo+PiBAQCAtMzAwLDYgKzMwMyw4IEBAIHZvaWQgZHJtX3Nj aGVkX2h3X2pvYl9yZXNldChzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkLAo+PiAgICBi b29sIGRybV9zY2hlZF9kZXBlbmRlbmN5X29wdGltaXplZChzdHJ1Y3QgZG1hX2ZlbmNlKiBmZW5j ZSwKPj4gICAgCQkJCSAgICBzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5KTsKPj4gICAg dm9pZCBkcm1fc2NoZWRfam9iX2tpY2tvdXQoc3RydWN0IGRybV9zY2hlZF9qb2IgKnNfam9iKTsK Pj4gK3ZvaWQgZHJtX3NjaGVkX3N1c3BlbmRfdGltZW91dChzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVs ZXIgKnNjaGVkKTsKPj4gK3ZvaWQgZHJtX3NjaGVkX3Jlc3VtZV90aW1lb3V0KHN0cnVjdCBkcm1f Z3B1X3NjaGVkdWxlciAqc2NoZWQpOwo+Pgo+PiAgICB2b2lkIGRybV9zY2hlZF9ycV9hZGRfZW50 aXR5KHN0cnVjdCBkcm1fc2NoZWRfcnEgKnJxLAo+PiAgICAJCQkgICAgIHN0cnVjdCBkcm1fc2No ZWRfZW50aXR5ICplbnRpdHkpOwo+PiAtLQo+PiAxLjkuMQo+Pgo+IAo+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gRnJlZWRyZW5vIG1haWxpbmcgbGlz dAo+IEZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo+IAoKLS0gClRoZSBRdWFsY29t bSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiB0aGUgQ29kZSBBdXJvcmEg Rm9ydW0sCkxpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0Cl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxp c3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=