From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Grodzovsky, Andrey" Subject: Re: [PATCH v5 1/2] drm/sched: Refactor ring mirror list handling. Date: Fri, 18 Jan 2019 19:15:41 +0000 Message-ID: References: <1545333815-29870-1-git-send-email-andrey.grodzovsky@amd.com> <37ad8228-355e-1d53-593f-b0cb736eadff@amd.com> <5434e38b-c5c6-26e8-d632-bd1b1b52a44a@amd.com> <8a615696-a9ff-7670-5d25-6120282e818b@amd.com> <468f5a41-aa07-2cc2-d7dc-2f6e1d9af7e9@amd.com> <0622c5b7-b54a-c414-c8db-26e1ec3c5ab8@amd.com> <4c43b728-628d-6880-edad-0e5fdb084f06@amd.com> <6d8adac2-b5ab-991f-571d-771b973362a3@amd.com> <99f813cf-ae28-58c7-8b98-1ff69cecbed6@gmail.com> <87ecd86c-4bd2-4cb7-0203-7e088e9e150b@amd.com> <3de2a2bd-83cf-590b-e278-590c4907b78b@amd.com> <13082b0c-d5dc-82c5-56ba-03eb3d301695@amd.com> <99c5c0c7-43c0-152b-0a1a-fba846f8e46f@amd.com> <5c2e2ce1-56bb-213d-e062-bfb6ace85e8b@amd.com> <2c383b45-069e-1498-1b97-d14ac6373c7b@amd.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="_004_abdcbb7060807669793921cbd0031cbdamdcom_" Return-path: In-Reply-To: <2c383b45-069e-1498-1b97-d14ac6373c7b-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "Koenig, Christian" , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org" , "etnaviv-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" Cc: "Liu, Monk" List-Id: dri-devel@lists.freedesktop.org --_004_abdcbb7060807669793921cbd0031cbdamdcom_ Content-Type: text/plain; charset="utf-8" Content-ID: <2F2FD23CD3F5A140B871FDD0D7F957A6-asWib9pRmPqcE4WynfumptQqCkab/8FMAL8bYrjMMd8@public.gmane.org> Content-Transfer-Encoding: base64 QXR0YWNoZWQgc2VyaWVzIGlzIHRoZSBmaXJzdCAyIHBhdGNoZXMgd2UgYWxyZWFkeSBkaXNjdXNz ZWQgYWJvdXQgcmluZyANCm1pcnJvciBsaXN0IGhhbmRsaW5nIHJhY2luZyB3aXRoIGFsbCB5b3Vy IGNvbW1lbnRzIGZpeGVkIChzdGlsbCBub3QgDQpjb21taXR0ZWQpLiBUaGUgdGhpcmQgcGF0Y2gg aXMgYSBwcm90b3R5cGUgYmFzZWQgb24gdGhlIGZpcnN0IDIgcGF0Y2hlcyANCmFuZCBvbiBvdXIg ZGlzY3Vzc2lvbi4NCg0KUGxlYXNlIHRha2UgYSBsb29rLg0KDQpBbmRyZXkNCg0KDQpPbiAwMS8x OC8yMDE5IDAxOjMyIFBNLCBLb2VuaWcsIENocmlzdGlhbiB3cm90ZToNCj4gQW0gMTguMDEuMTkg dW0gMTg6MzQgc2NocmllYiBHcm9kem92c2t5LCBBbmRyZXk6DQo+PiBPbiAwMS8xOC8yMDE5IDEy OjEwIFBNLCBLb2VuaWcsIENocmlzdGlhbiB3cm90ZToNCj4+PiBBbSAxOC4wMS4xOSB1bSAxNjoy MSBzY2hyaWViIEdyb2R6b3Zza3ksIEFuZHJleToNCj4+Pj4gT24gMDEvMTgvMjAxOSAwNDoyNSBB TSwgS29lbmlnLCBDaHJpc3RpYW4gd3JvdGU6DQo+Pj4+PiBbU05JUF0NCj4+Pj4+Pj4+PiBSZS1h cm1pbmcgdGhlIHRpbWVvdXQgc2hvdWxkIHByb2JhYmx5IGhhdmUgYSBtdWNoIHJlZHVjZWQgdmFs dWUNCj4+Pj4+Pj4+PiB3aGVuIHRoZSBqb2IgaGFzbid0IGNoYW5nZWQuIEUuZy4gc29tZXRoaW5n IGxpa2UgYSBmZXcgbXMuDQo+Pj4+Pj4gTm93IGkgZ290IHRoaW5raW5nIGFib3V0IG5vbiBoYW5n ZWQgam9iIGluIHByb2dyZXNzIChqb2IgQSkgYW5kIGxldCdzDQo+Pj4+Pj4gc2F5IGl0J3MgYSBs b25nIGpvYiAsIGl0IGp1c3Qgc3RhcnRlZCBleGVjdXRpbmcgYnV0IGR1ZSB0byB0aW1lIG91dCBv Zg0KPj4+Pj4+IGFub3RoZXIgam9iIChqb2IgQikgb24gYW5vdGhlciAob3IgdGhpcyBzY2hlZHVs ZXIpIGl0J3MgcGFyZW50IGNiIGdvdA0KPj4+Pj4+IGRpc2Nvbm5lY3RlZCwgd2UgZGlzYXJtZWQg dGhlIHRkciB0aW1lciBmb3IgdGhlIGpvYidzIHNjaGVkdWxlciwNCj4+Pj4+PiBtZWFud2hpbGUg dGhlIHRpbWVkIG91dCBqb2IgZGlkIG1hbmFnZSB0byBjb21wbGV0ZSBiZWZvcmUgSFcgcmVzZXQN Cj4+Pj4+PiBjaGVjayBhbmQgaGVuY2Ugd2Ugc2tpcCBIVyByZXNldCwgYXR0YWNoIGJhY2sgdGhl IGNiIGFuZCByZWFybSBqb2IncyBBDQo+Pj4+Pj4gdGRywqAgdGltZXIgd2l0aCBhIGZ1dHVyZSB2 YWx1ZSBvZiBmZXcgbXMgb25seSAtIGFyZW4ndCB3ZSBnb2luZyB0byBnZXQNCj4+Pj4+PiBmYWxz ZSB0ZHIgdHJpZ2dlcmVkIG9uIGpvYiBCIG5vdyBiZWNhdXNlIHdlIGRpZG4ndCBsZXQgaXQgZW5v dWdoIHRpbWUNCj4+Pj4+PiB0byBydW4gYW5kIGNvbXBsZXRlID8gSSB3b3VsZCBwcmVmZXIgdGhl IG90aGVyIGV4dHJlbWUgb2YgbG9uZ2VyIHRpbWUNCj4+Pj4+PiBmb3IgdGltZSBvdXQgdG8gdHJp Z2dlciB0aGVuIGZhbHNlIFREUi4gT3B0aW1hbGx5IHdlIHdvdWxkIGhhdmUgcGVyDQo+Pj4+Pj4g am9iIHRpbWVyIGFuZCByZWFybSB0byBleGFjdGx5IHRoZSByZW1pbmRlciBvZiBpdCdzIHRpbWUg b3V0IHZhbHVlIC0NCj4+Pj4+PiBidXQgd2UgZ2F2ZSB1cCBvbiBwZXIgam9iIHRkciB3b3JrIGxv bmcgYWdvLg0KPj4+Pj4gV2VsbCB3ZSBvbmx5IHJlLWFybSB0aGUgdGltZW91dCB3aXRoIGEgc2hv cnRlciBwZXJpb2QgaWYgaXQgYWxyZWFkeQ0KPj4+Pj4gdHJpZ2dlcmVkIG9uY2UuIElmIHdlIGp1 c3Qgc3VzcGVuZCB0aGUgdGltZW91dCB0aGVuIHdlIHNob3VsZCBzdGlsbCB1c2UNCj4+Pj4+IHRo ZSBsb25nZXIgcGVyaW9kLg0KPj4+PiBDYW4geW91IGV4cGxhaW4gbW9yZSBvbiB0aGlzID8gSSBk b24ndCBnZXQgaXQuDQo+Pj4gU2VlIGRybV9zY2hlZF9qb2JfdGltZWRvdXQoKSwgd2UgcmUtYXJt IHRoZSB0aW1lb3V0IGF0IHRoZSBlbmQgb2YgdGhlDQo+Pj4gcHJvY2VkdXJlLg0KPj4+DQo+Pj4g V2Ugc2hvdWxkIGNoYW5nZSB0aGF0IGFuZCByZS1hcm0gdGhlIHRpbWVyIHdpdGggYSBtdWNoIGxv d2VyIHRpbWVvdXQgaWYNCj4+PiB0aGUgam9iIGlzIHN0aWxsIG5vdCBmaW5pc2hlZC4NCj4+Pg0K Pj4+IENocmlzdGlhbi4NCj4+IEkgc3RpbGwgZG9uJ3Qgc2VlIGhvdyB0aGlzIGNhbiBmaXggdGhl IHByb2JsZW0gb2Ygb2YgbG9uZyBqb2IgaW4NCj4+IHByb2dyZXNzIHRyaWdnZXJpbmcgZmFsc2Ug dGRyIGlmIG5vIEhXIHJlc2V0IHdhcyBkb25lLCBidXQgbWF5YmUgSSBhbQ0KPj4gbWlzc2luZyBv dGhlciBwaWVjZXMgeW91IGhhdmUgaW4gbWluZCwgSSB3aWxsIGZpbmlzaCB0aGUgcGF0Y2ggYW5k IHNlbmQNCj4+IGl0IGFuZCB0aGVuIHdlIGNhbiBiZSBtb3JlIHNwZWNpZmljIGJhc2VkIG9uIHRo ZSBjb2RlLg0KPiBPayBzb3VuZHMgZ29vZC4gV2Ugc2hvdWxkIHByb2JhYmx5IGRpc2N1c3MgbGVz cyBvbiBkZXRhaWxzIGFuZCBwcm90b3R5cGUNCj4gYSBiaXQgbW9yZS4NCj4NCj4gTWlnaHQgYmUg dGhhdCBJJ20gbWlzc2luZyBzb21ldGhpbmcgaGVyZSBhcyB3ZWxsLCBzbyBwcm9iYWJseSBnb29k IHRvDQo+IGhhdmUgc29tZSBjb2RlIHRvIHRhbGsgYWJvdXQgdGhpbmdzIG1vcmUgZGlyZWN0bHku DQo+DQo+IENocmlzdGlhbi4NCj4NCj4+IEFuZHJleQ0KPj4NCj4+Pj4gQW5kcmV5DQo+Pj4+DQo+ Pj4+Pj4gSW4gZ2VuZXJhbCB0aGUgbW9yZSBpIHRoaW5rIGFib3V0IGl0wqAgKGNvcnJlY3QgbWUg aWYgSSBhbSB3cm9uZykgSSBhbQ0KPj4+Pj4+IGxlc3Mgc3VyZSBob3cgbXVjaCB0aGUgb3B0aW1p emF0aW9uIGZlYXR1cmUgaXMgdXNlZnVsIC0gaWYgam9iJ3MgdGltZQ0KPj4+Pj4+IG91dCBkaWQg dHJpZ2dlciB3aGF0IGFyZSB0aGUgY2hhbmNlcyB0aGF0IHRoZSBsaXR0bGUgbW9yZSB0aW1lIHdl IGdpdmUNCj4+Pj4+PiBpdCBiZXR3ZWVuIGJlZ2lubmluZyBvZiB0ZHIgZnVuY3Rpb24gYW5kIHRo ZSB0aW1lIHdlIGRvIHN0YXJ0IHRoZQ0KPj4+Pj4+IGFjdHVhbCBIVyByZXNldCB3aWxsIGJlIGV4 YWN0bHkgd2hhdCBpdCBuZWVkZWQgdG8gY29tcGxldGUuIEFsc28sIHRoaXMNCj4+Pj4+PiBpcyBz dGlsbCBub3Qgd2F0ZXIgcHJvb2YgYXMgdGhlIGpvYiBtaWdodCBjb21wbGV0ZSBhbmQgc2lnbmFs IGl0J3MgSFcNCj4+Pj4+PiBmZW5jZSBleGFjdGx5IGFmdGVyIHdlIGNoZWNrZWQgZm9yIGNvbXBs ZXRpb24gYnV0IGJlZm9yZSBzdGFydGluZyB0aGUNCj4+Pj4+PiBIVyByZXNldCBjb2RlLg0KPj4+ Pj4gSSBkb24ndCBzZWUgdGhpcyBhcyBhbiBvcHRpbWl6YXRpb24sIGJ1dCByYXRoZXIgYXMgbWFu ZGF0b3J5IGZvciBjb3JyZWN0DQo+Pj4+PiBvcGVyYXRpb24uDQo+Pj4+Pg0KPj4+Pj4gU2VlIHdp dGhvdXQgdGhpcyB3ZSBjYW4gcnVuIGludG8gaXNzdWVzIGJlY2F1c2Ugd2UgZXhlY3V0ZSBqb2Jz IG11bHRpcGxlDQo+Pj4+PiB0aW1lcy4gVGhhdCBjYW4gc3RpbGwgaGFwcGVuIHdpdGggdGhpcyBj bGVhbiBoYW5kbGluZywgYnV0IGl0IGlzIG11Y2gNCj4+Pj4+IG1vcmUgdW5saWtlbHkuDQo+Pj4+ Pg0KPj4+Pj4gQ2hyaXN0aWFuLg0KPj4+Pj4NCj4+Pj4+PiBBbmRyZXkNCj4+Pj4+Pg0KPj4+Pj4+ Pj4gQnkgdW5jaGFuZ2VkIHlvdSBtZWFuIHdoZW4gd2UgZGlkbid0IHJlc3VibWl0IHRoZSBqb2Ig YmVjYXVzZSBvZiB0aGUNCj4+Pj4+Pj4+IG9wdGltaXplZCBub24gSFcgcmVzZXQsIHJpZ2h0ID8N Cj4+Pj4+Pj4gQ29ycmVjdCwgeWVzLg0KPj4+Pj4+Pg0KPj4+Pj4+Pj4+PiBBYm91dCBmbHVzaGlu ZyB0ZHIgam9icyBpbiBwcm9ncmVzcyBmcm9tIC5mcmVlX2pvYiBjYiAtIGxvb2tzIGxpa2UNCj4+ Pj4+Pj4+Pj4gZHJtX3NjaGVkX2pvYl9maW5pc2gtPmNhbmNlbF9kZWxheWVkX3dvcmtfc3luYyBp cyBub3QgZW5vdWdoLCB3ZQ0KPj4+Pj4+Pj4+PiBzdGlsbCBuZWVkIHRvIHRha2UgY2FyZSBvZiBm bHVzaGluZyBhbGwgc2NlZC0+d29ya190ZHIgZm9yIGENCj4+Pj4+Pj4+Pj4gZGV2aWNlIGFuZCBm b3IgYWxsIGRldmljZXMgaW4gaGl2ZSBmb3IgWEdNSS4NCj4+Pj4+Pj4+Pj4gV2hhdCBkbyB5b3Ug dGhpbmsgPw0KPj4+Pj4+Pj4+IFdoeSBzaG91bGQgdGhhdCBiZSBuZWNlc3Nhcnk/IFdlIG9ubHkg d2FpdCBmb3IgdGhlIGRlbGF5ZWQgd29yayB0bw0KPj4+Pj4+Pj4+IG1ha2Ugc3VyZSB0aGF0IHRo ZSBqb2IgaXMgbm90IGRlc3Ryb3llZCB3aGlsZSBkZWFsaW5nIHdpdGggaXQuDQo+Pj4+Pj4+Pj4N Cj4+Pj4+Pj4+PiBDaHJpc3RpYW4uDQo+Pj4+Pj4+PiBCdXQgd2UgbWlnaHQgbm90IGJlIHdhaXRp bmcgZm9yIHRoZSBjb3JyZWN0IHNjaGVkLT53b3JrX3Rkciwgd2UgZG8NCj4+Pj4+Pj4+IHRoZSBy ZXNldCByb3V0aW5lIGZvciBhbGwgc2NoZWR1bGVycyBpbiBhIGRldmljZSBhY2Nlc3NpbmcgdGhl aXINCj4+Pj4+Pj4+IGpvYnMgdG9vIGFuZCBub3Qgb25seSBmb3IgdGhlIHNjaGVkdWxlciB0byB3 aGljaCB0aGUgam9iIGJlbG9uZ3MuDQo+Pj4+Pj4+PiBGb3IgWEdNSSBub3Qgb25seSB0aGF0LCB3 ZSByZXNldCBhbGwgdGhlIGRldmljZXMgaW4gdGhlIGhpdmUuDQo+Pj4+Pj4+IFRoYXQgaXMgaGFy bWxlc3MgeW91IG9ubHkgbmVlZCB0byB3YWl0IGZvciB0aGUgd29ya190ZHIgb2YgdGhlDQo+Pj4+ Pj4+IGN1cnJlbnQgc2NoZWR1bGVyLCBub3QgZm9yIGFsbCBvZiB0aGVtLg0KPj4+Pj4+Pg0KPj4+ Pj4+Pj4gSSB3YXMgdGhpbmtpbmcsIGFtZGdwdSBkcml2ZXIgaXMgbm90IGV2ZW4gaW50ZXJlc3Rl ZCBpbiBhbGxvd2luZw0KPj4+Pj4+Pj4gbXVsdGlwbGUgc2NlZC0+dGRyIHRvIGV4ZWN1dGUgdG9n ZXRoZXIgLSB3ZSBoYXZlIHRvIHNlcmlhbGl6ZSBhbGwgb2YNCj4+Pj4+Pj4+IHRoZW0gYW55d2F5 IHdpdGggdGhlIHRyeWxvY2sgbXV0ZXggKGV2ZW4gd2l0aG91dCBYR01JKSwgdjNkIGluDQo+Pj4+ Pj4+PiB2M2Rfam9iX3RpbWVkb3V0IHNlZW1zIGFsc28gdG8gcmVzZXQgYWxsIG9mIGhpcyBzY2hl ZHVsZXJzIGZyb20gdGhlDQo+Pj4+Pj4+PiB0ZHIgd29yay4gV291bGQgaXQgbWFrZSBzZW5zZSB0 byBwcm92aWRlIHRoZSBzY2hlZC0+d29ya190ZCBhcyBpbml0DQo+Pj4+Pj4+PiBwYXJhbWV0ZXIg dG8gc2NoZWR1bGVyIChzYW1lIG9uZSBmb3IgYWxsIHNjaGVkdWxlcnMpIHNvIHdlIGNhbg0KPj4+ Pj4+Pj4gZW5mb3JjZSBzZXJpYWxpemF0aW9uIGJ5IGRpc2FsbG93aW5nIG1vcmUgdGhlbiAxIHRk ciB3b3JrIHRvIGV4ZWN1dGUNCj4+Pj4+Pj4+IGluIHRoZSBzYW1lIHRpbWUgPyBPdGhlciBkcml2 ZXJzIGludGVyZXN0ZWQgdG8gZG8gaW4gcGFyYWxsZWwgY2FuDQo+Pj4+Pj4+PiBwcm92aWRlIHVu aXF1ZSBzY2hlZC0+d29ya190ZHIgcGVyIHNjaGVkdWxlci4gVGhpcyBkb2VzwqAgaW1wbHkNCj4+ Pj4+Pj4+IGRybV9zY2hlZF9qb2JfdGltZWRvdXQgaGFzIHRvIHJlbW92ZWQgYW5kIGRlbGVnYXRl ZCB0byBzcGVjaWZpYw0KPj4+Pj4+Pj4gZHJpdmVyIGltcGxlbWVudGF0aW9uIGFzIHByb2JhYmx5 IG90aGVyIGNvZGUgZGVhbGluZyB3aXRoDQo+Pj4+Pj4+PiBzY2hlZC0+d29ya190ZHIuLi4gTWF5 YmUgZXZlbiBtb3ZlIHRkciBoYW5kbGluZyB0byB0aGUgZHJpdmVyIGFsbA0KPj4+Pj4+Pj4gdG9n ZXRoZXIgPw0KPj4+Pj4+PiBZZWFoLCBJIHdhcyB0aGlua2luZyBzb21ldGhpbmcgc2ltaWxhci4g VGhlIHByb2JsZW0gd2l0aCB0aGlzDQo+Pj4+Pj4+IGFwcHJvYWNoIGlzIHRoYXQgYSBkZWxheWVk IHdvcmsgaXRlbSBjYW4gaGF2ZSBvbmx5IG9uZSBkZWxheSwgYnV0IGZvcg0KPj4+Pj4+PiBtdWx0 aXBsZSBlbmdpbmVzIHdlIG5lZWQgbXVsdGlwbGUgZGVsYXlzLg0KPj4+Pj4+Pg0KPj4+Pj4+PiBX aGF0IHdlIGNvdWxkIGRvIGlzIHRvIG1ha2UgaXQgYSB0aW1lciBpbnN0ZWFkIGFuZCByYWlzZSB0 aGUgd29yaw0KPj4+Pj4+PiBpdGVtIGZyb20gdGhlIGRldmljZSBzcGVjaWZpYyBjYWxsYmFjay4N Cj4+Pj4+Pj4NCj4+Pj4+Pj4gQnV0IHRoYXQgZG9lc24ndCByZWFsbHkgc2F2ZXMgdXMgdGhlIHN0 b3AgYWxsIHNjaGVkdWxlcnMgdHJvdWJsZSwgc28NCj4+Pj4+Pj4gaXQgZG9lc24ndCBidXkgdXMg bXVjaCBpbiB0aGUgZW5kIGlmIEkgc2VlIHRoaXMgY29ycmVjdGx5Lg0KPj4+Pj4+Pg0KPj4+Pj4+ PiBDaHJpc3RpYW4uDQo+Pj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXw0KPj4+Pj4gYW1kLWdmeCBtYWlsaW5nIGxpc3QNCj4+Pj4+IGFtZC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnDQo+Pj4+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2FtZC1nZngNCg0K --_004_abdcbb7060807669793921cbd0031cbdamdcom_ Content-Type: text/x-patch; name="0001-drm-sched-Refactor-ring-mirror-list-handling.patch" Content-Description: 0001-drm-sched-Refactor-ring-mirror-list-handling.patch Content-Disposition: attachment; filename="0001-drm-sched-Refactor-ring-mirror-list-handling.patch"; size=14320; creation-date="Fri, 18 Jan 2019 19:15:41 GMT"; modification-date="Fri, 18 Jan 2019 19:15:41 GMT" Content-ID: Content-Transfer-Encoding: base64 RnJvbSAyOWJiYmI4YTQ1Mzg4ZTJlOGM4MTA1NmFlMjI4NGU4NDIzNGE2OTkwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KRnJvbTogQW5kcmV5IEdyb2R6b3Zza3kgPGFuZHJleS5ncm9kem92c2t5 QGFtZC5jb20+DQpEYXRlOiBUdWUsIDQgRGVjIDIwMTggMTY6NTY6MTQgLTA1MDANClN1YmplY3Q6 IGRybS9zY2hlZDogUmVmYWN0b3IgcmluZyBtaXJyb3IgbGlzdCBoYW5kbGluZy4NCg0KRGVjYXVw bGUgc2NoZWQgdGhyZWFkcyBzdG9wIGFuZCBzdGFydCBhbmQgcmluZyBtaXJyb3INCmxpc3QgaGFu ZGxpbmcgZnJvbSB0aGUgcG9saWN5IG9mIHdoYXQgdG8gZG8gYWJvdXQgdGhlDQpndWlsdHkgam9i cy4NCldoZW4gc3RvcHBwaW5nIHRoZSBzY2hlZCB0aHJlYWQgYW5kIGRldGFjaGluZyBzY2hlZCBm ZW5jZXMNCmZyb20gbm9uIHNpZ25hbGVkIEhXIGZlbmVzIHdhaXQgZm9yIGFsbCBzaWduYWxlZCBI VyBmZW5jZXMNCnRvIGNvbXBsZXRlIGJlZm9yZSByZXJ1bm5pbmcgdGhlIGpvYnMuDQoNCnYyOiBG aXggcmVzdWJtaXNzaW9uIG9mIGd1aWx0eSBqb2IgaW50byBIVyBhZnRlciByZWZhY3RvcmluZy4N Cg0KdjQ6DQpGdWxsIHJlc3RhcnQgZm9yIGFsbCB0aGUgam9icywgbm90IG9ubHkgZnJvbSBndWls dHkgcmluZy4NCkV4dHJhY3Qga2FybWEgaW5jcmVhc2UgaW50byBzdGFuZGFsb25lIGZ1bmN0aW9u Lg0KDQp2NToNClJld29yayB3YWl0aW5nIGZvciBzaWduYWxlZCBqb2JzIHdpdGhvdXQgcmVseWlu ZyBvbiB0aGUgam9iDQpzdHJ1Y3QgaXRzZWxmIGFzIHRob3NlIG1pZ2h0IGFscmVhZHkgYmUgZnJl ZWQgZm9yIG5vbiAnZ3VpbHR5Jw0Kam9iJ3Mgc2NoZWR1bGVycy4NCkV4cG9zZSBrYXJtYSBpbmNy ZWFzZSB0byBkcml2ZXJzLg0KDQp2NjoNClVzZSBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmVfY29u dGludWUgYW5kIGRybV9zY2hlZF9wcm9jZXNzX2pvYg0KaW4gY2FzZSBmZW5jZSBhbHJlYWR5IHNp Z25hbGVkLg0KQ2FsbCBkcm1fc2NoZWRfaW5jcmVhc2Vfa2FybWEgb25seSBvbmNlIGZvciBhbWRn cHUgYW5kIGFkZCBkb2N1bWVudGF0aW9uLg0KDQp2NzoNCldhaXQgb25seSBmb3IgdGhlIGxhdGVz dCBqb2IncyBmZW5jZS4NCg0KU3VnZ2VzdGVkLWJ5OiBDaHJpc3RpYW4gS29lbmlnIDxDaHJpc3Rp YW4uS29lbmlnQGFtZC5jb20+DQpTaWduZWQtb2ZmLWJ5OiBBbmRyZXkgR3JvZHpvdnNreSA8YW5k cmV5Lmdyb2R6b3Zza3lAYW1kLmNvbT4NCi0tLQ0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9kZXZpY2UuYyB8ICAyMCArKy0tDQogZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRu YXZpdl9zY2hlZC5jICAgIHwgIDExICstDQogZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hl ZF9tYWluLmMgICAgIHwgMTcyICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tDQogZHJpdmVy cy9ncHUvZHJtL3YzZC92M2Rfc2NoZWQuYyAgICAgICAgICAgIHwgIDEyICstDQogaW5jbHVkZS9k cm0vZ3B1X3NjaGVkdWxlci5oICAgICAgICAgICAgICAgIHwgICA4ICstDQogNSBmaWxlcyBjaGFu Z2VkLCAxMzQgaW5zZXJ0aW9ucygrKSwgODkgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMNCmluZGV4IDhhNjE3NjQuLmUyZjU3OGEgMTAw NjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMNCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYw0KQEAgLTMzMTMs MTcgKzMzMTMsMTUgQEAgc3RhdGljIGludCBhbWRncHVfZGV2aWNlX3ByZV9hc2ljX3Jlc2V0KHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KIAkJaWYgKCFyaW5nIHx8ICFyaW5nLT5zY2hlZC50 aHJlYWQpDQogCQkJY29udGludWU7DQogDQotCQlrdGhyZWFkX3BhcmsocmluZy0+c2NoZWQudGhy ZWFkKTsNCi0NCi0JCWlmIChqb2IgJiYgam9iLT5iYXNlLnNjaGVkICE9ICZyaW5nLT5zY2hlZCkN Ci0JCQljb250aW51ZTsNCi0NCi0JCWRybV9zY2hlZF9od19qb2JfcmVzZXQoJnJpbmctPnNjaGVk LCBqb2IgPyAmam9iLT5iYXNlIDogTlVMTCk7DQorCQlkcm1fc2NoZWRfc3RvcCgmcmluZy0+c2No ZWQsIGpvYiA/ICZqb2ItPmJhc2UgOiBOVUxMKTsNCiANCiAJCS8qIGFmdGVyIGFsbCBodyBqb2Jz IGFyZSByZXNldCwgaHcgZmVuY2UgaXMgbWVhbmluZ2xlc3MsIHNvIGZvcmNlX2NvbXBsZXRpb24g Ki8NCiAJCWFtZGdwdV9mZW5jZV9kcml2ZXJfZm9yY2VfY29tcGxldGlvbihyaW5nKTsNCiAJfQ0K IA0KKwlpZihqb2IpDQorCQlkcm1fc2NoZWRfaW5jcmVhc2Vfa2FybWEoJmpvYi0+YmFzZSk7DQor DQogDQogDQogCWlmICghYW1kZ3B1X3NyaW92X3ZmKGFkZXYpKSB7DQpAQCAtMzQ2OSwxNCArMzQ2 NywxMCBAQCBzdGF0aWMgdm9pZCBhbWRncHVfZGV2aWNlX3Bvc3RfYXNpY19yZXNldChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwNCiAJCWlmICghcmluZyB8fCAhcmluZy0+c2NoZWQudGhyZWFk KQ0KIAkJCWNvbnRpbnVlOw0KIA0KLQkJLyogb25seSBuZWVkIHJlY292ZXJ5IHNjaGVkIG9mIHRo ZSBnaXZlbiBqb2IncyByaW5nDQotCQkgKiBvciBhbGwgcmluZ3MgKGluIHRoZSBjYXNlIEBqb2Ig aXMgTlVMTCkNCi0JCSAqIGFmdGVyIGFib3ZlIGFtZGdwdV9yZXNldCBhY2NvbXBsaXNoZWQNCi0J CSAqLw0KLQkJaWYgKCgham9iIHx8IGpvYi0+YmFzZS5zY2hlZCA9PSAmcmluZy0+c2NoZWQpICYm ICFhZGV2LT5hc2ljX3Jlc2V0X3JlcykNCi0JCQlkcm1fc2NoZWRfam9iX3JlY292ZXJ5KCZyaW5n LT5zY2hlZCk7DQorCQlpZiAoIWFkZXYtPmFzaWNfcmVzZXRfcmVzKQ0KKwkJCWRybV9zY2hlZF9y ZXN1Ym1pdF9qb2JzKCZyaW5nLT5zY2hlZCk7DQogDQotCQlrdGhyZWFkX3VucGFyayhyaW5nLT5z Y2hlZC50aHJlYWQpOw0KKwkJZHJtX3NjaGVkX3N0YXJ0KCZyaW5nLT5zY2hlZCwgIWFkZXYtPmFz aWNfcmVzZXRfcmVzKTsNCiAJfQ0KIA0KIAlpZiAoIWFtZGdwdV9kZXZpY2VfaGFzX2RjX3N1cHBv cnQoYWRldikpIHsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2 X3NjaGVkLmMgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X3NjaGVkLmMNCmluZGV4 IDQ5YTY3NjMuLjZmMTI2OGYgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9l dG5hdml2X3NjaGVkLmMNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfc2No ZWQuYw0KQEAgLTEwOSwxNiArMTA5LDE5IEBAIHN0YXRpYyB2b2lkIGV0bmF2aXZfc2NoZWRfdGlt ZWRvdXRfam9iKHN0cnVjdCBkcm1fc2NoZWRfam9iICpzY2hlZF9qb2IpDQogCX0NCiANCiAJLyog YmxvY2sgc2NoZWR1bGVyICovDQotCWt0aHJlYWRfcGFyayhncHUtPnNjaGVkLnRocmVhZCk7DQot CWRybV9zY2hlZF9od19qb2JfcmVzZXQoJmdwdS0+c2NoZWQsIHNjaGVkX2pvYik7DQorCWRybV9z Y2hlZF9zdG9wKCZncHUtPnNjaGVkLCBzY2hlZF9qb2IpOw0KKw0KKwlpZihzY2hlZF9qb2IpDQor CQlkcm1fc2NoZWRfaW5jcmVhc2Vfa2FybWEoc2NoZWRfam9iKTsNCiANCiAJLyogZ2V0IHRoZSBH UFUgYmFjayBpbnRvIHRoZSBpbml0IHN0YXRlICovDQogCWV0bmF2aXZfY29yZV9kdW1wKGdwdSk7 DQogCWV0bmF2aXZfZ3B1X3JlY292ZXJfaGFuZyhncHUpOw0KIA0KKwlkcm1fc2NoZWRfcmVzdWJt aXRfam9icygmZ3B1LT5zY2hlZCk7DQorDQogCS8qIHJlc3RhcnQgc2NoZWR1bGVyIGFmdGVyIEdQ VSBpcyB1c2FibGUgYWdhaW4gKi8NCi0JZHJtX3NjaGVkX2pvYl9yZWNvdmVyeSgmZ3B1LT5zY2hl ZCk7DQotCWt0aHJlYWRfdW5wYXJrKGdwdS0+c2NoZWQudGhyZWFkKTsNCisJZHJtX3NjaGVkX3N0 YXJ0KCZncHUtPnNjaGVkLCB0cnVlKTsNCiB9DQogDQogc3RhdGljIHZvaWQgZXRuYXZpdl9zY2hl ZF9mcmVlX2pvYihzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc2NoZWRfam9iKQ0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5jIGIvZHJpdmVycy9ncHUvZHJt L3NjaGVkdWxlci9zY2hlZF9tYWluLmMNCmluZGV4IGRiYjY5MDYuLmU3NThmYzYgMTAwNjQ0DQot LS0gYS9kcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX21haW4uYw0KKysrIGIvZHJpdmVy cy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWluLmMNCkBAIC02MCw4ICs2MCw2IEBADQogDQog c3RhdGljIHZvaWQgZHJtX3NjaGVkX3Byb2Nlc3Nfam9iKHN0cnVjdCBkbWFfZmVuY2UgKmYsIHN0 cnVjdCBkbWFfZmVuY2VfY2IgKmNiKTsNCiANCi1zdGF0aWMgdm9pZCBkcm1fc2NoZWRfZXhwZWxf am9iX3VubG9ja2VkKHN0cnVjdCBkcm1fc2NoZWRfam9iICpzX2pvYik7DQotDQogLyoqDQogICog ZHJtX3NjaGVkX3JxX2luaXQgLSBpbml0aWFsaXplIGEgZ2l2ZW4gcnVuIHF1ZXVlIHN0cnVjdA0K ICAqDQpAQCAtMzM1LDYgKzMzMyw1MSBAQCBzdGF0aWMgdm9pZCBkcm1fc2NoZWRfam9iX3RpbWVk b3V0KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykNCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgm c2NoZWQtPmpvYl9saXN0X2xvY2ssIGZsYWdzKTsNCiB9DQogDQorIC8qKg0KKyAgKiBkcm1fc2No ZWRfaW5jcmVhc2Vfa2FybWEgLSBVcGRhdGUgc2NoZWRfZW50aXR5IGd1aWx0eSBmbGFnDQorICAq DQorICAqIEBiYWQ6IFRoZSBqb2IgZ3VpbHR5IG9mIHRpbWUgb3V0DQorICAqDQorICAqIEluY3Jl bWVudCBvbiBldmVyeSBoYW5nIGNhdXNlZCBieSB0aGUgJ2JhZCcgam9iLiBJZiB0aGlzIGV4Y2Vl ZHMgdGhlIGhhbmcNCisgICogbGltaXQgb2YgdGhlIHNjaGVkdWxlciB0aGVuIHRoZSByZXNwZWN0 aXZlIHNjaGVkIGVudGl0eSBpcyBtYXJrZWQgZ3VpbHR5IGFuZA0KKyAgKiBqb2JzIGZyb20gaXQg d2lsbCBub3QgYmUgc2NoZWR1bGVkIGZ1cnRoZXINCisgICovDQordm9pZCBkcm1fc2NoZWRfaW5j cmVhc2Vfa2FybWEoc3RydWN0IGRybV9zY2hlZF9qb2IgKmJhZCkNCit7DQorCWludCBpOw0KKwlz dHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAqdG1wOw0KKwlzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAq ZW50aXR5Ow0KKwlzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkID0gYmFkLT5zY2hlZDsN CisNCisJLyogZG9uJ3QgaW5jcmVhc2UgQGJhZCdzIGthcm1hIGlmIGl0J3MgZnJvbSBLRVJORUwg UlEsDQorCSAqIGJlY2F1c2Ugc29tZXRpbWVzIEdQVSBoYW5nIHdvdWxkIGNhdXNlIGtlcm5lbCBq b2JzIChsaWtlIFZNIHVwZGF0aW5nIGpvYnMpDQorCSAqIGNvcnJ1cHQgYnV0IGtlZXAgaW4gbWlu ZCB0aGF0IGtlcm5lbCBqb2JzIGFsd2F5cyBjb25zaWRlcmVkIGdvb2QuDQorCSAqLw0KKwlpZiAo YmFkLT5zX3ByaW9yaXR5ICE9IERSTV9TQ0hFRF9QUklPUklUWV9LRVJORUwpIHsNCisJCWF0b21p Y19pbmMoJmJhZC0+a2FybWEpOw0KKwkJZm9yIChpID0gRFJNX1NDSEVEX1BSSU9SSVRZX01JTjsg aSA8IERSTV9TQ0hFRF9QUklPUklUWV9LRVJORUw7DQorCQkgICAgIGkrKykgew0KKwkJCXN0cnVj dCBkcm1fc2NoZWRfcnEgKnJxID0gJnNjaGVkLT5zY2hlZF9ycVtpXTsNCisNCisJCQlzcGluX2xv Y2soJnJxLT5sb2NrKTsNCisJCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZW50aXR5LCB0bXAs ICZycS0+ZW50aXRpZXMsIGxpc3QpIHsNCisJCQkJaWYgKGJhZC0+c19mZW5jZS0+c2NoZWR1bGVk LmNvbnRleHQgPT0NCisJCQkJICAgIGVudGl0eS0+ZmVuY2VfY29udGV4dCkgew0KKwkJCQkJaWYg KGF0b21pY19yZWFkKCZiYWQtPmthcm1hKSA+DQorCQkJCQkgICAgYmFkLT5zY2hlZC0+aGFuZ19s aW1pdCkNCisJCQkJCQlpZiAoZW50aXR5LT5ndWlsdHkpDQorCQkJCQkJCWF0b21pY19zZXQoZW50 aXR5LT5ndWlsdHksIDEpOw0KKwkJCQkJYnJlYWs7DQorCQkJCX0NCisJCQl9DQorCQkJc3Bpbl91 bmxvY2soJnJxLT5sb2NrKTsNCisJCQlpZiAoJmVudGl0eS0+bGlzdCAhPSAmcnEtPmVudGl0aWVz KQ0KKwkJCQlicmVhazsNCisJCX0NCisJfQ0KK30NCitFWFBPUlRfU1lNQk9MKGRybV9zY2hlZF9p bmNyZWFzZV9rYXJtYSk7DQorDQogLyoqDQogICogZHJtX3NjaGVkX2h3X2pvYl9yZXNldCAtIHN0 b3AgdGhlIHNjaGVkdWxlciBpZiBpdCBjb250YWlucyB0aGUgYmFkIGpvYg0KICAqDQpAQCAtMzQy LDEzICszODUsMjIgQEAgc3RhdGljIHZvaWQgZHJtX3NjaGVkX2pvYl90aW1lZG91dChzdHJ1Y3Qg d29ya19zdHJ1Y3QgKndvcmspDQogICogQGJhZDogYmFkIHNjaGVkdWxlciBqb2INCiAgKg0KICAq Lw0KLXZvaWQgZHJtX3NjaGVkX2h3X2pvYl9yZXNldChzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIg KnNjaGVkLCBzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqYmFkKQ0KK3ZvaWQgZHJtX3NjaGVkX3N0b3Ao c3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCwgc3RydWN0IGRybV9zY2hlZF9qb2IgKmJh ZCkNCiB7DQogCXN0cnVjdCBkcm1fc2NoZWRfam9iICpzX2pvYjsNCi0Jc3RydWN0IGRybV9zY2hl ZF9lbnRpdHkgKmVudGl0eSwgKnRtcDsNCiAJdW5zaWduZWQgbG9uZyBmbGFnczsNCi0JaW50IGk7 DQorCXN0cnVjdCBkbWFfZmVuY2UgKmxhc3RfZmVuY2UgPSAgTlVMTDsNCisJaW50IHI7DQorDQor CWt0aHJlYWRfcGFyayhzY2hlZC0+dGhyZWFkKTsNCiANCisJLyoNCisJICogVmVyaWZ5IGFsbCB0 aGUgc2lnbmFsZWQgam9icyBpbiBtaXJyb3IgbGlzdCBhcmUgcmVtb3ZlZCBmcm9tIHRoZSByaW5n DQorCSAqIGJ5IHdhaXRpbmcgZm9yIHRoZSBsYXRlc3Qgam9iIHRvIGVudGVyIHRoZSBsaXN0LiBU aGlzIHNob3VsZCBpbnN1cmUgdGhhdA0KKwkgKiBhbHNvIGFsbCB0aGUgcHJldmlvdXMgam9icyB0 aGF0IHdlcmUgaW4gZmxpZ2h0IGFsc28gYWxyZWFkeSBzaW5nYWxlZA0KKwkgKiBhbmQgcmVtb3Zl ZCBmcm9tIHRoZSBsaXN0Lg0KKwkgKi8NCityZXRyeV93YWl0Og0KIAlzcGluX2xvY2tfaXJxc2F2 ZSgmc2NoZWQtPmpvYl9saXN0X2xvY2ssIGZsYWdzKTsNCiAJbGlzdF9mb3JfZWFjaF9lbnRyeV9y ZXZlcnNlKHNfam9iLCAmc2NoZWQtPnJpbmdfbWlycm9yX2xpc3QsIG5vZGUpIHsNCiAJCWlmIChz X2pvYi0+c19mZW5jZS0+cGFyZW50ICYmDQpAQCAtMzU3LDM1ICs0MDksMjAgQEAgdm9pZCBkcm1f c2NoZWRfaHdfam9iX3Jlc2V0KHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQsIHN0cnVj dCBkcm1fc2NoZWRfam8NCiAJCQlkbWFfZmVuY2VfcHV0KHNfam9iLT5zX2ZlbmNlLT5wYXJlbnQp Ow0KIAkJCXNfam9iLT5zX2ZlbmNlLT5wYXJlbnQgPSBOVUxMOw0KIAkJCWF0b21pY19kZWMoJnNj aGVkLT5od19ycV9jb3VudCk7DQorCQl9IGVsc2Ugew0KKwkJCSBsYXN0X2ZlbmNlID0gZG1hX2Zl bmNlX2dldCgmc19qb2ItPnNfZmVuY2UtPmZpbmlzaGVkKTsNCisJCQkgYnJlYWs7DQogCQl9DQog CX0NCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NoZWQtPmpvYl9saXN0X2xvY2ssIGZsYWdz KTsNCiANCi0JaWYgKGJhZCAmJiBiYWQtPnNfcHJpb3JpdHkgIT0gRFJNX1NDSEVEX1BSSU9SSVRZ X0tFUk5FTCkgew0KLQkJYXRvbWljX2luYygmYmFkLT5rYXJtYSk7DQotCQkvKiBkb24ndCBpbmNy ZWFzZSBAYmFkJ3Mga2FybWEgaWYgaXQncyBmcm9tIEtFUk5FTCBSUSwNCi0JCSAqIGJlY3Vhc2Ug c29tZXRpbWVzIEdQVSBoYW5nIHdvdWxkIGNhdXNlIGtlcm5lbCBqb2JzIChsaWtlIFZNIHVwZGF0 aW5nIGpvYnMpDQotCQkgKiBjb3JydXB0IGJ1dCBrZWVwIGluIG1pbmQgdGhhdCBrZXJuZWwgam9i cyBhbHdheXMgY29uc2lkZXJlZCBnb29kLg0KLQkJICovDQotCQlmb3IgKGkgPSBEUk1fU0NIRURf UFJJT1JJVFlfTUlOOyBpIDwgRFJNX1NDSEVEX1BSSU9SSVRZX0tFUk5FTDsgaSsrICkgew0KLQkJ CXN0cnVjdCBkcm1fc2NoZWRfcnEgKnJxID0gJnNjaGVkLT5zY2hlZF9ycVtpXTsNCi0NCi0JCQlz cGluX2xvY2soJnJxLT5sb2NrKTsNCi0JCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZW50aXR5 LCB0bXAsICZycS0+ZW50aXRpZXMsIGxpc3QpIHsNCi0JCQkJaWYgKGJhZC0+c19mZW5jZS0+c2No ZWR1bGVkLmNvbnRleHQgPT0gZW50aXR5LT5mZW5jZV9jb250ZXh0KSB7DQotCQkJCSAgICBpZiAo YXRvbWljX3JlYWQoJmJhZC0+a2FybWEpID4gYmFkLT5zY2hlZC0+aGFuZ19saW1pdCkNCi0JCQkJ CQlpZiAoZW50aXR5LT5ndWlsdHkpDQotCQkJCQkJCWF0b21pY19zZXQoZW50aXR5LT5ndWlsdHks IDEpOw0KLQkJCQkJYnJlYWs7DQotCQkJCX0NCi0JCQl9DQotCQkJc3Bpbl91bmxvY2soJnJxLT5s b2NrKTsNCi0JCQlpZiAoJmVudGl0eS0+bGlzdCAhPSAmcnEtPmVudGl0aWVzKQ0KLQkJCQlicmVh azsNCi0JCX0NCisJaWYgKGxhc3RfZmVuY2UpIHsNCisJCWRtYV9mZW5jZV93YWl0KGxhc3RfZmVu Y2UsIGZhbHNlKTsNCisJCWRtYV9mZW5jZV9wdXQobGFzdF9mZW5jZSk7DQogCX0NCiB9DQotRVhQ T1JUX1NZTUJPTChkcm1fc2NoZWRfaHdfam9iX3Jlc2V0KTsNCisNCitFWFBPUlRfU1lNQk9MKGRy bV9zY2hlZF9zdG9wKTsNCiANCiAvKioNCiAgKiBkcm1fc2NoZWRfam9iX3JlY292ZXJ5IC0gcmVj b3ZlciBqb2JzIGFmdGVyIGEgcmVzZXQNCkBAIC0zOTMsMzMgKzQzMCwyMSBAQCBFWFBPUlRfU1lN Qk9MKGRybV9zY2hlZF9od19qb2JfcmVzZXQpOw0KICAqIEBzY2hlZDogc2NoZWR1bGVyIGluc3Rh bmNlDQogICoNCiAgKi8NCi12b2lkIGRybV9zY2hlZF9qb2JfcmVjb3Zlcnkoc3RydWN0IGRybV9n cHVfc2NoZWR1bGVyICpzY2hlZCkNCit2b2lkIGRybV9zY2hlZF9zdGFydChzdHJ1Y3QgZHJtX2dw dV9zY2hlZHVsZXIgKnNjaGVkLCBib29sIGZ1bGxfcmVjb3ZlcnkpDQogew0KIAlzdHJ1Y3QgZHJt X3NjaGVkX2pvYiAqc19qb2IsICp0bXA7DQotCWJvb2wgZm91bmRfZ3VpbHR5ID0gZmFsc2U7DQog CXVuc2lnbmVkIGxvbmcgZmxhZ3M7DQogCWludCByOw0KIA0KKwlpZiAoIWZ1bGxfcmVjb3Zlcnkp DQorCQlnb3RvIHVucGFyazsNCisNCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnNjaGVkLT5qb2JfbGlz dF9sb2NrLCBmbGFncyk7DQogCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShzX2pvYiwgdG1wLCAm c2NoZWQtPnJpbmdfbWlycm9yX2xpc3QsIG5vZGUpIHsNCiAJCXN0cnVjdCBkcm1fc2NoZWRfZmVu Y2UgKnNfZmVuY2UgPSBzX2pvYi0+c19mZW5jZTsNCi0JCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNl Ow0KLQkJdWludDY0X3QgZ3VpbHR5X2NvbnRleHQ7DQotDQotCQlpZiAoIWZvdW5kX2d1aWx0eSAm JiBhdG9taWNfcmVhZCgmc19qb2ItPmthcm1hKSA+IHNjaGVkLT5oYW5nX2xpbWl0KSB7DQotCQkJ Zm91bmRfZ3VpbHR5ID0gdHJ1ZTsNCi0JCQlndWlsdHlfY29udGV4dCA9IHNfam9iLT5zX2ZlbmNl LT5zY2hlZHVsZWQuY29udGV4dDsNCi0JCX0NCi0NCi0JCWlmIChmb3VuZF9ndWlsdHkgJiYgc19q b2ItPnNfZmVuY2UtPnNjaGVkdWxlZC5jb250ZXh0ID09IGd1aWx0eV9jb250ZXh0KQ0KLQkJCWRt YV9mZW5jZV9zZXRfZXJyb3IoJnNfZmVuY2UtPmZpbmlzaGVkLCAtRUNBTkNFTEVEKTsNCi0NCi0J CXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNjaGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7DQot CQlmZW5jZSA9IHNjaGVkLT5vcHMtPnJ1bl9qb2Ioc19qb2IpOw0KLQkJYXRvbWljX2luYygmc2No ZWQtPmh3X3JxX2NvdW50KTsNCisJCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlID0gc19qb2ItPnNf ZmVuY2UtPnBhcmVudDsNCiANCiAJCWlmIChmZW5jZSkgew0KLQkJCXNfZmVuY2UtPnBhcmVudCA9 IGRtYV9mZW5jZV9nZXQoZmVuY2UpOw0KIAkJCXIgPSBkbWFfZmVuY2VfYWRkX2NhbGxiYWNrKGZl bmNlLCAmc19mZW5jZS0+Y2IsDQogCQkJCQkJICAgZHJtX3NjaGVkX3Byb2Nlc3Nfam9iKTsNCiAJ CQlpZiAociA9PSAtRU5PRU5UKQ0KQEAgLTQyNywxOCArNDUyLDQ3IEBAIHZvaWQgZHJtX3NjaGVk X2pvYl9yZWNvdmVyeShzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkKQ0KIAkJCWVsc2Ug aWYgKHIpDQogCQkJCURSTV9FUlJPUigiZmVuY2UgYWRkIGNhbGxiYWNrIGZhaWxlZCAoJWQpXG4i LA0KIAkJCQkJICByKTsNCi0JCQlkbWFfZmVuY2VfcHV0KGZlbmNlKTsNCi0JCX0gZWxzZSB7DQot CQkJaWYgKHNfZmVuY2UtPmZpbmlzaGVkLmVycm9yIDwgMCkNCi0JCQkJZHJtX3NjaGVkX2V4cGVs X2pvYl91bmxvY2tlZChzX2pvYik7DQorCQl9IGVsc2UNCiAJCQlkcm1fc2NoZWRfcHJvY2Vzc19q b2IoTlVMTCwgJnNfZmVuY2UtPmNiKTsNCi0JCX0NCi0JCXNwaW5fbG9ja19pcnFzYXZlKCZzY2hl ZC0+am9iX2xpc3RfbG9jaywgZmxhZ3MpOw0KIAl9DQorDQogCWRybV9zY2hlZF9zdGFydF90aW1l b3V0KHNjaGVkKTsNCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NoZWQtPmpvYl9saXN0X2xv Y2ssIGZsYWdzKTsNCisNCit1bnBhcms6DQorCWt0aHJlYWRfdW5wYXJrKHNjaGVkLT50aHJlYWQp Ow0KIH0NCi1FWFBPUlRfU1lNQk9MKGRybV9zY2hlZF9qb2JfcmVjb3ZlcnkpOw0KK0VYUE9SVF9T WU1CT0woZHJtX3NjaGVkX3N0YXJ0KTsNCisNCisvKioNCisgKiBkcm1fc2NoZWRfcmVzdWJtaXRf am9icyAtIGhlbHBlciB0byByZWx1bmNoIGpvYiBmcm9tIG1pcnJvciByaW5nIGxpc3QNCisgKg0K KyAqIEBzY2hlZDogc2NoZWR1bGVyIGluc3RhbmNlDQorICoNCisgKi8NCit2b2lkIGRybV9zY2hl ZF9yZXN1Ym1pdF9qb2JzKHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQpDQorew0KKwlz dHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc19qb2IsICp0bXA7DQorCXVpbnQ2NF90IGd1aWx0eV9jb250 ZXh0Ow0KKwlib29sIGZvdW5kX2d1aWx0eSA9IGZhbHNlOw0KKw0KKwkvKlRPRE8gRE8gd2UgbmVl ZCBzcGlubG9jayBoZXJlID8gKi8NCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHNfam9iLCB0 bXAsICZzY2hlZC0+cmluZ19taXJyb3JfbGlzdCwgbm9kZSkgew0KKwkJc3RydWN0IGRybV9zY2hl ZF9mZW5jZSAqc19mZW5jZSA9IHNfam9iLT5zX2ZlbmNlOw0KKw0KKwkJaWYgKCFmb3VuZF9ndWls dHkgJiYgYXRvbWljX3JlYWQoJnNfam9iLT5rYXJtYSkgPiBzY2hlZC0+aGFuZ19saW1pdCkgew0K KwkJCWZvdW5kX2d1aWx0eSA9IHRydWU7DQorCQkJZ3VpbHR5X2NvbnRleHQgPSBzX2pvYi0+c19m ZW5jZS0+c2NoZWR1bGVkLmNvbnRleHQ7DQorCQl9DQorDQorCQlpZiAoZm91bmRfZ3VpbHR5ICYm IHNfam9iLT5zX2ZlbmNlLT5zY2hlZHVsZWQuY29udGV4dCA9PSBndWlsdHlfY29udGV4dCkNCisJ CQlkbWFfZmVuY2Vfc2V0X2Vycm9yKCZzX2ZlbmNlLT5maW5pc2hlZCwgLUVDQU5DRUxFRCk7DQor DQorCQlzX2pvYi0+c19mZW5jZS0+cGFyZW50ID0gc2NoZWQtPm9wcy0+cnVuX2pvYihzX2pvYik7 DQorCQlhdG9taWNfaW5jKCZzY2hlZC0+aHdfcnFfY291bnQpOw0KKwl9DQorfQ0KK0VYUE9SVF9T WU1CT0woZHJtX3NjaGVkX3Jlc3VibWl0X2pvYnMpOw0KIA0KIC8qKg0KICAqIGRybV9zY2hlZF9q b2JfaW5pdCAtIGluaXQgYSBzY2hlZHVsZXIgam9iDQpAQCAtNjM0LDI2ICs2ODgsMTQgQEAgc3Rh dGljIGludCBkcm1fc2NoZWRfbWFpbih2b2lkICpwYXJhbSkNCiAJCQkJRFJNX0VSUk9SKCJmZW5j ZSBhZGQgY2FsbGJhY2sgZmFpbGVkICglZClcbiIsDQogCQkJCQkgIHIpOw0KIAkJCWRtYV9mZW5j ZV9wdXQoZmVuY2UpOw0KLQkJfSBlbHNlIHsNCi0JCQlpZiAoc19mZW5jZS0+ZmluaXNoZWQuZXJy b3IgPCAwKQ0KLQkJCQlkcm1fc2NoZWRfZXhwZWxfam9iX3VubG9ja2VkKHNjaGVkX2pvYik7DQor CQl9IGVsc2UNCiAJCQlkcm1fc2NoZWRfcHJvY2Vzc19qb2IoTlVMTCwgJnNfZmVuY2UtPmNiKTsN Ci0JCX0NCiANCiAJCXdha2VfdXAoJnNjaGVkLT5qb2Jfc2NoZWR1bGVkKTsNCiAJfQ0KIAlyZXR1 cm4gMDsNCiB9DQogDQotc3RhdGljIHZvaWQgZHJtX3NjaGVkX2V4cGVsX2pvYl91bmxvY2tlZChz dHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc19qb2IpDQotew0KLQlzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVs ZXIgKnNjaGVkID0gc19qb2ItPnNjaGVkOw0KLQ0KLQlzcGluX2xvY2soJnNjaGVkLT5qb2JfbGlz dF9sb2NrKTsNCi0JbGlzdF9kZWxfaW5pdCgmc19qb2ItPm5vZGUpOw0KLQlzcGluX3VubG9jaygm c2NoZWQtPmpvYl9saXN0X2xvY2spOw0KLX0NCi0NCiAvKioNCiAgKiBkcm1fc2NoZWRfaW5pdCAt IEluaXQgYSBncHUgc2NoZWR1bGVyIGluc3RhbmNlDQogICoNCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vdjNkL3YzZF9zY2hlZC5jIGIvZHJpdmVycy9ncHUvZHJtL3YzZC92M2Rfc2NoZWQu Yw0KaW5kZXggNDQ1YjJlZi4uZjc2ZDllZCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS92 M2QvdjNkX3NjaGVkLmMNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92M2QvdjNkX3NjaGVkLmMNCkBA IC0xNzgsMTggKzE3OCwyMiBAQCB2M2Rfam9iX3RpbWVkb3V0KHN0cnVjdCBkcm1fc2NoZWRfam9i ICpzY2hlZF9qb2IpDQogCWZvciAocSA9IDA7IHEgPCBWM0RfTUFYX1FVRVVFUzsgcSsrKSB7DQog CQlzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkID0gJnYzZC0+cXVldWVbcV0uc2NoZWQ7 DQogDQotCQlrdGhyZWFkX3Bhcmsoc2NoZWQtPnRocmVhZCk7DQotCQlkcm1fc2NoZWRfaHdfam9i X3Jlc2V0KHNjaGVkLCAoc2NoZWRfam9iLT5zY2hlZCA9PSBzY2hlZCA/DQorCQlkcm1fc2NoZWRf c3RvcChzY2hlZCwgKHNjaGVkX2pvYi0+c2NoZWQgPT0gc2NoZWQgPw0KIAkJCQkJICAgICAgIHNj aGVkX2pvYiA6IE5VTEwpKTsNCisNCisJCWlmKHNjaGVkX2pvYikNCisJCQlkcm1fc2NoZWRfaW5j cmVhc2Vfa2FybWEoc2NoZWRfam9iKTsNCiAJfQ0KIA0KIAkvKiBnZXQgdGhlIEdQVSBiYWNrIGlu dG8gdGhlIGluaXQgc3RhdGUgKi8NCiAJdjNkX3Jlc2V0KHYzZCk7DQogDQorCWZvciAocSA9IDA7 IHEgPCBWM0RfTUFYX1FVRVVFUzsgcSsrKQ0KKwkJZHJtX3NjaGVkX3Jlc3VibWl0X2pvYnMoc2No ZWRfam9iLT5zY2hlZCk7DQorDQogCS8qIFVuYmxvY2sgc2NoZWR1bGVycyBhbmQgcmVzdGFydCB0 aGVpciBqb2JzLiAqLw0KIAlmb3IgKHEgPSAwOyBxIDwgVjNEX01BWF9RVUVVRVM7IHErKykgew0K LQkJZHJtX3NjaGVkX2pvYl9yZWNvdmVyeSgmdjNkLT5xdWV1ZVtxXS5zY2hlZCk7DQotCQlrdGhy ZWFkX3VucGFyayh2M2QtPnF1ZXVlW3FdLnNjaGVkLnRocmVhZCk7DQorCQlkcm1fc2NoZWRfc3Rh cnQoJnYzZC0+cXVldWVbcV0uc2NoZWQsIHRydWUpOw0KIAl9DQogDQogCW11dGV4X3VubG9jaygm djNkLT5yZXNldF9sb2NrKTsNCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVy LmggYi9pbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmgNCmluZGV4IDQ3ZTE5NzkuLjRmMjFmYWYg MTAwNjQ0DQotLS0gYS9pbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmgNCisrKyBiL2luY2x1ZGUv ZHJtL2dwdV9zY2hlZHVsZXIuaA0KQEAgLTI5OCw5ICsyOTgsMTEgQEAgaW50IGRybV9zY2hlZF9q b2JfaW5pdChzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqam9iLA0KIAkJICAgICAgIHZvaWQgKm93bmVy KTsNCiB2b2lkIGRybV9zY2hlZF9qb2JfY2xlYW51cChzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqam9i KTsNCiB2b2lkIGRybV9zY2hlZF93YWtldXAoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hl ZCk7DQotdm9pZCBkcm1fc2NoZWRfaHdfam9iX3Jlc2V0KHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxl ciAqc2NoZWQsDQotCQkJICAgIHN0cnVjdCBkcm1fc2NoZWRfam9iICpqb2IpOw0KLXZvaWQgZHJt X3NjaGVkX2pvYl9yZWNvdmVyeShzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkKTsNCit2 b2lkIGRybV9zY2hlZF9zdG9wKHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQsDQorCQkg ICAgc3RydWN0IGRybV9zY2hlZF9qb2IgKmpvYik7DQordm9pZCBkcm1fc2NoZWRfc3RhcnQoc3Ry dWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCwgYm9vbCBmdWxsX3JlY292ZXJ5KTsNCit2b2lk IGRybV9zY2hlZF9yZXN1Ym1pdF9qb2JzKHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQp Ow0KK3ZvaWQgZHJtX3NjaGVkX2luY3JlYXNlX2thcm1hKHN0cnVjdCBkcm1fc2NoZWRfam9iICpi YWQpOw0KIGJvb2wgZHJtX3NjaGVkX2RlcGVuZGVuY3lfb3B0aW1pemVkKHN0cnVjdCBkbWFfZmVu Y2UqIGZlbmNlLA0KIAkJCQkgICAgc3RydWN0IGRybV9zY2hlZF9lbnRpdHkgKmVudGl0eSk7DQog dm9pZCBkcm1fc2NoZWRfZmF1bHQoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCk7DQot LSANCjIuNy40DQoNCg== --_004_abdcbb7060807669793921cbd0031cbdamdcom_ Content-Type: text/x-patch; name="0002-drm-sched-Rework-HW-fence-processing.patch" Content-Description: 0002-drm-sched-Rework-HW-fence-processing.patch Content-Disposition: attachment; filename="0002-drm-sched-Rework-HW-fence-processing.patch"; size=7163; creation-date="Fri, 18 Jan 2019 19:15:41 GMT"; modification-date="Fri, 18 Jan 2019 19:15:41 GMT" Content-ID: <7AF9A8C76B702F46B1CB7656F9FFD071-asWib9pRmPqcE4WynfumptQqCkab/8FMAL8bYrjMMd8@public.gmane.org> Content-Transfer-Encoding: base64 RnJvbSAzOGVlMTk1NDU1NWQ3OGE3MDAzNTU4YTY4ZDUzN2U2ZTZmZDQ3NTAxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KRnJvbTogQW5kcmV5IEdyb2R6b3Zza3kgPGFuZHJleS5ncm9kem92c2t5 QGFtZC5jb20+DQpEYXRlOiBXZWQsIDUgRGVjIDIwMTggMTQ6MjE6MjggLTA1MDANClN1YmplY3Q6 IGRybS9zY2hlZDogUmV3b3JrIEhXIGZlbmNlIHByb2Nlc3NpbmcuDQoNCkV4cGVkaXRlIGpvYiBk ZWxldGlvbiBmcm9tIHJpbmcgbWlycm9yIGxpc3QgdG8gdGhlIEhXIGZlbmNlIHNpZ25hbA0KY2Fs bGJhY2sgaW5zdGVhZCBmcm9tIGZpbmlzaF93b3JrLCB0b2dldGhlciB3aXRoIHdhaXRpbmcgZm9y IGFsbA0Kc3VjaCBmZW5jZXMgdG8gc2lnbmFsIGluIGRybV9zY2hlZF9zdG9wIHdlIGdhcmFudGVl IHRoYXQNCmFscmVhZHkgc2lnbmFsZWQgam9iIHdpbGwgbm90IGJlIHByb2Nlc3NlZCB0d2ljZS4N ClJlbW92ZSB0aGUgc2NoZWQgZmluaXNoIGZlbmNlIGNhbGxiYWNrIGFuZCBqdXN0IHN1Ym1pdCBm aW5pc2hfd29yaw0KZGlyZWN0bHkgZnJvbSB0aGUgSFcgZmVuY2UgY2FsbGJhY2suDQoNCnYyOiBG aXggY29tbWVudHMuDQp2MzogQXR0YWNoICBodyBmZW5jZSBjYiB0byBzY2hlZF9qb2INCnY1OiBS ZWJhc2UNCg0KU3VnZ2VzdGVkLWJ5OiBDaHJpc3RpYW4gS29lbmlnIDxDaHJpc3RpYW4uS29lbmln QGFtZC5jb20+DQpTaWduZWQtb2ZmLWJ5OiBBbmRyZXkgR3JvZHpvdnNreSA8YW5kcmV5Lmdyb2R6 b3Zza3lAYW1kLmNvbT4NCi0tLQ0KIGRyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfbWFp bi5jIHwgNTUgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQ0KIGluY2x1ZGUvZHJt L2dwdV9zY2hlZHVsZXIuaCAgICAgICAgICAgIHwgIDYgKystLQ0KIDIgZmlsZXMgY2hhbmdlZCwg MjkgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX21haW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVs ZXIvc2NoZWRfbWFpbi5jDQppbmRleCBlNzU4ZmM2Li4xNmM2MzYzIDEwMDY0NA0KLS0tIGEvZHJp dmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWluLmMNCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5jDQpAQCAtMjg0LDggKzI4NCw2IEBAIHN0YXRpYyB2b2lk IGRybV9zY2hlZF9qb2JfZmluaXNoKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykNCiAJY2FuY2Vs X2RlbGF5ZWRfd29ya19zeW5jKCZzY2hlZC0+d29ya190ZHIpOw0KIA0KIAlzcGluX2xvY2tfaXJx c2F2ZSgmc2NoZWQtPmpvYl9saXN0X2xvY2ssIGZsYWdzKTsNCi0JLyogcmVtb3ZlIGpvYiBmcm9t IHJpbmdfbWlycm9yX2xpc3QgKi8NCi0JbGlzdF9kZWxfaW5pdCgmc19qb2ItPm5vZGUpOw0KIAkv KiBxdWV1ZSBURFIgZm9yIG5leHQgam9iICovDQogCWRybV9zY2hlZF9zdGFydF90aW1lb3V0KHNj aGVkKTsNCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NoZWQtPmpvYl9saXN0X2xvY2ssIGZs YWdzKTsNCkBAIC0yOTMsMjIgKzI5MSwxMSBAQCBzdGF0aWMgdm9pZCBkcm1fc2NoZWRfam9iX2Zp bmlzaChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspDQogCXNjaGVkLT5vcHMtPmZyZWVfam9iKHNf am9iKTsNCiB9DQogDQotc3RhdGljIHZvaWQgZHJtX3NjaGVkX2pvYl9maW5pc2hfY2Ioc3RydWN0 IGRtYV9mZW5jZSAqZiwNCi0JCQkJICAgIHN0cnVjdCBkbWFfZmVuY2VfY2IgKmNiKQ0KLXsNCi0J c3RydWN0IGRybV9zY2hlZF9qb2IgKmpvYiA9IGNvbnRhaW5lcl9vZihjYiwgc3RydWN0IGRybV9z Y2hlZF9qb2IsDQotCQkJCQkJIGZpbmlzaF9jYik7DQotCXNjaGVkdWxlX3dvcmsoJmpvYi0+Zmlu aXNoX3dvcmspOw0KLX0NCi0NCiBzdGF0aWMgdm9pZCBkcm1fc2NoZWRfam9iX2JlZ2luKHN0cnVj dCBkcm1fc2NoZWRfam9iICpzX2pvYikNCiB7DQogCXN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAq c2NoZWQgPSBzX2pvYi0+c2NoZWQ7DQogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7DQogDQotCWRtYV9m ZW5jZV9hZGRfY2FsbGJhY2soJnNfam9iLT5zX2ZlbmNlLT5maW5pc2hlZCwgJnNfam9iLT5maW5p c2hfY2IsDQotCQkJICAgICAgIGRybV9zY2hlZF9qb2JfZmluaXNoX2NiKTsNCi0NCiAJc3Bpbl9s b2NrX2lycXNhdmUoJnNjaGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7DQogCWxpc3RfYWRkX3Rh aWwoJnNfam9iLT5ub2RlLCAmc2NoZWQtPnJpbmdfbWlycm9yX2xpc3QpOw0KIAlkcm1fc2NoZWRf c3RhcnRfdGltZW91dChzY2hlZCk7DQpAQCAtNDA1LDcgKzM5Miw3IEBAIHZvaWQgZHJtX3NjaGVk X3N0b3Aoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCwgc3RydWN0IGRybV9zY2hlZF9q b2IgKmJhZCkNCiAJbGlzdF9mb3JfZWFjaF9lbnRyeV9yZXZlcnNlKHNfam9iLCAmc2NoZWQtPnJp bmdfbWlycm9yX2xpc3QsIG5vZGUpIHsNCiAJCWlmIChzX2pvYi0+c19mZW5jZS0+cGFyZW50ICYm DQogCQkgICAgZG1hX2ZlbmNlX3JlbW92ZV9jYWxsYmFjayhzX2pvYi0+c19mZW5jZS0+cGFyZW50 LA0KLQkJCQkJICAgICAgJnNfam9iLT5zX2ZlbmNlLT5jYikpIHsNCisJCQkJCSAgICAgICZzX2pv Yi0+Y2IpKSB7DQogCQkJZG1hX2ZlbmNlX3B1dChzX2pvYi0+c19mZW5jZS0+cGFyZW50KTsNCiAJ CQlzX2pvYi0+c19mZW5jZS0+cGFyZW50ID0gTlVMTDsNCiAJCQlhdG9taWNfZGVjKCZzY2hlZC0+ aHdfcnFfY291bnQpOw0KQEAgLTQzMywzMSArNDIwLDM0IEBAIEVYUE9SVF9TWU1CT0woZHJtX3Nj aGVkX3N0b3ApOw0KIHZvaWQgZHJtX3NjaGVkX3N0YXJ0KHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxl ciAqc2NoZWQsIGJvb2wgZnVsbF9yZWNvdmVyeSkNCiB7DQogCXN0cnVjdCBkcm1fc2NoZWRfam9i ICpzX2pvYiwgKnRtcDsNCi0JdW5zaWduZWQgbG9uZyBmbGFnczsNCiAJaW50IHI7DQogDQogCWlm ICghZnVsbF9yZWNvdmVyeSkNCiAJCWdvdG8gdW5wYXJrOw0KIA0KLQlzcGluX2xvY2tfaXJxc2F2 ZSgmc2NoZWQtPmpvYl9saXN0X2xvY2ssIGZsYWdzKTsNCisJLyoNCisJICogTG9ja2luZyB0aGUg bGlzdCBpcyBub3QgcmVxdWlyZWQgaGVyZSBhcyB0aGUgc2NoZWQgdGhyZWFkIGlzIHBhcmtlZA0K KwkgKiBzbyBubyBuZXcgam9icyBhcmUgYmVpbmcgcHVzaGVkIGluIHRvIEhXIGFuZCBpbiBkcm1f c2NoZWRfc3RvcCB3ZQ0KKwkgKiBmbHVzaGVkIGFsbCB0aGUgam9icyB3aG8gd2VyZSBzdGlsbCBp biBtaXJyb3IgbGlzdCBidXQgd2hvIGFscmVhZHkNCisJICogc2lnbmFsZWQgYW5kIHJlbW92ZWQg dGhlbSBzZWxmIGZyb20gdGhlIGxpc3QuIEFsc28gY29uY3VycmVudA0KKwkgKiBHUFUgcmVjb3Zl cnMgY2FuJ3QgcnVuIGluIHBhcmFsbGVsLg0KKwkgKi8NCiAJbGlzdF9mb3JfZWFjaF9lbnRyeV9z YWZlKHNfam9iLCB0bXAsICZzY2hlZC0+cmluZ19taXJyb3JfbGlzdCwgbm9kZSkgew0KLQkJc3Ry dWN0IGRybV9zY2hlZF9mZW5jZSAqc19mZW5jZSA9IHNfam9iLT5zX2ZlbmNlOw0KIAkJc3RydWN0 IGRtYV9mZW5jZSAqZmVuY2UgPSBzX2pvYi0+c19mZW5jZS0+cGFyZW50Ow0KIA0KIAkJaWYgKGZl bmNlKSB7DQotCQkJciA9IGRtYV9mZW5jZV9hZGRfY2FsbGJhY2soZmVuY2UsICZzX2ZlbmNlLT5j YiwNCisJCQlyID0gZG1hX2ZlbmNlX2FkZF9jYWxsYmFjayhmZW5jZSwgJnNfam9iLT5jYiwNCiAJ CQkJCQkgICBkcm1fc2NoZWRfcHJvY2Vzc19qb2IpOw0KIAkJCWlmIChyID09IC1FTk9FTlQpDQot CQkJCWRybV9zY2hlZF9wcm9jZXNzX2pvYihmZW5jZSwgJnNfZmVuY2UtPmNiKTsNCisJCQkJZHJt X3NjaGVkX3Byb2Nlc3Nfam9iKGZlbmNlLCAmc19qb2ItPmNiKTsNCiAJCQllbHNlIGlmIChyKQ0K IAkJCQlEUk1fRVJST1IoImZlbmNlIGFkZCBjYWxsYmFjayBmYWlsZWQgKCVkKVxuIiwNCiAJCQkJ CSAgcik7DQogCQl9IGVsc2UNCi0JCQlkcm1fc2NoZWRfcHJvY2Vzc19qb2IoTlVMTCwgJnNfZmVu Y2UtPmNiKTsNCisJCQlkcm1fc2NoZWRfcHJvY2Vzc19qb2IoTlVMTCwgJnNfam9iLT5jYik7DQog CX0NCiANCiAJZHJtX3NjaGVkX3N0YXJ0X3RpbWVvdXQoc2NoZWQpOw0KLQlzcGluX3VubG9ja19p cnFyZXN0b3JlKCZzY2hlZC0+am9iX2xpc3RfbG9jaywgZmxhZ3MpOw0KIA0KIHVucGFyazoNCiAJ a3RocmVhZF91bnBhcmsoc2NoZWQtPnRocmVhZCk7DQpAQCAtNjA2LDE4ICs1OTYsMjcgQEAgZHJt X3NjaGVkX3NlbGVjdF9lbnRpdHkoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCkNCiAg Ki8NCiBzdGF0aWMgdm9pZCBkcm1fc2NoZWRfcHJvY2Vzc19qb2Ioc3RydWN0IGRtYV9mZW5jZSAq Ziwgc3RydWN0IGRtYV9mZW5jZV9jYiAqY2IpDQogew0KLQlzdHJ1Y3QgZHJtX3NjaGVkX2ZlbmNl ICpzX2ZlbmNlID0NCi0JCWNvbnRhaW5lcl9vZihjYiwgc3RydWN0IGRybV9zY2hlZF9mZW5jZSwg Y2IpOw0KKwlzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc19qb2IgPSBjb250YWluZXJfb2YoY2IsIHN0 cnVjdCBkcm1fc2NoZWRfam9iLCBjYik7DQorCXN0cnVjdCBkcm1fc2NoZWRfZmVuY2UgKnNfZmVu Y2UgPSBzX2pvYi0+c19mZW5jZTsNCiAJc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCA9 IHNfZmVuY2UtPnNjaGVkOw0KKwl1bnNpZ25lZCBsb25nIGZsYWdzOw0KKw0KKwljYW5jZWxfZGVs YXllZF93b3JrKCZzY2hlZC0+d29ya190ZHIpOw0KIA0KLQlkbWFfZmVuY2VfZ2V0KCZzX2ZlbmNl LT5maW5pc2hlZCk7DQogCWF0b21pY19kZWMoJnNjaGVkLT5od19ycV9jb3VudCk7DQogCWF0b21p Y19kZWMoJnNjaGVkLT5udW1fam9icyk7DQorDQorCXNwaW5fbG9ja19pcnFzYXZlKCZzY2hlZC0+ am9iX2xpc3RfbG9jaywgZmxhZ3MpOw0KKwkvKiByZW1vdmUgam9iIGZyb20gcmluZ19taXJyb3Jf bGlzdCAqLw0KKwlsaXN0X2RlbF9pbml0KCZzX2pvYi0+bm9kZSk7DQorCXNwaW5fdW5sb2NrX2ly cXJlc3RvcmUoJnNjaGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7DQorDQogCWRybV9zY2hlZF9m ZW5jZV9maW5pc2hlZChzX2ZlbmNlKTsNCiANCiAJdHJhY2VfZHJtX3NjaGVkX3Byb2Nlc3Nfam9i KHNfZmVuY2UpOw0KLQlkbWFfZmVuY2VfcHV0KCZzX2ZlbmNlLT5maW5pc2hlZCk7DQogCXdha2Vf dXBfaW50ZXJydXB0aWJsZSgmc2NoZWQtPndha2VfdXBfd29ya2VyKTsNCisNCisJc2NoZWR1bGVf d29yaygmc19qb2ItPmZpbmlzaF93b3JrKTsNCiB9DQogDQogLyoqDQpAQCAtNjgwLDE2ICs2Nzks MTYgQEAgc3RhdGljIGludCBkcm1fc2NoZWRfbWFpbih2b2lkICpwYXJhbSkNCiANCiAJCWlmIChm ZW5jZSkgew0KIAkJCXNfZmVuY2UtPnBhcmVudCA9IGRtYV9mZW5jZV9nZXQoZmVuY2UpOw0KLQkJ CXIgPSBkbWFfZmVuY2VfYWRkX2NhbGxiYWNrKGZlbmNlLCAmc19mZW5jZS0+Y2IsDQorCQkJciA9 IGRtYV9mZW5jZV9hZGRfY2FsbGJhY2soZmVuY2UsICZzY2hlZF9qb2ItPmNiLA0KIAkJCQkJCSAg IGRybV9zY2hlZF9wcm9jZXNzX2pvYik7DQogCQkJaWYgKHIgPT0gLUVOT0VOVCkNCi0JCQkJZHJt X3NjaGVkX3Byb2Nlc3Nfam9iKGZlbmNlLCAmc19mZW5jZS0+Y2IpOw0KKwkJCQlkcm1fc2NoZWRf cHJvY2Vzc19qb2IoZmVuY2UsICZzY2hlZF9qb2ItPmNiKTsNCiAJCQllbHNlIGlmIChyKQ0KIAkJ CQlEUk1fRVJST1IoImZlbmNlIGFkZCBjYWxsYmFjayBmYWlsZWQgKCVkKVxuIiwNCiAJCQkJCSAg cik7DQogCQkJZG1hX2ZlbmNlX3B1dChmZW5jZSk7DQogCQl9IGVsc2UNCi0JCQlkcm1fc2NoZWRf cHJvY2Vzc19qb2IoTlVMTCwgJnNfZmVuY2UtPmNiKTsNCisJCQlkcm1fc2NoZWRfcHJvY2Vzc19q b2IoTlVMTCwgJnNjaGVkX2pvYi0+Y2IpOw0KIA0KIAkJd2FrZV91cCgmc2NoZWQtPmpvYl9zY2hl ZHVsZWQpOw0KIAl9DQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZ3B1X3NjaGVkdWxlci5oIGIv aW5jbHVkZS9kcm0vZ3B1X3NjaGVkdWxlci5oDQppbmRleCA0ZjIxZmFmLi42MmMyMzUyIDEwMDY0 NA0KLS0tIGEvaW5jbHVkZS9kcm0vZ3B1X3NjaGVkdWxlci5oDQorKysgYi9pbmNsdWRlL2RybS9n cHVfc2NoZWR1bGVyLmgNCkBAIC0xMzgsMTAgKzEzOCw2IEBAIHN0cnVjdCBkcm1fc2NoZWRfZmVu Y2Ugew0KIAlzdHJ1Y3QgZG1hX2ZlbmNlCQlmaW5pc2hlZDsNCiANCiAgICAgICAgIC8qKg0KLSAg ICAgICAgICogQGNiOiB0aGUgY2FsbGJhY2sgZm9yIHRoZSBwYXJlbnQgZmVuY2UgYmVsb3cuDQot ICAgICAgICAgKi8NCi0Jc3RydWN0IGRtYV9mZW5jZV9jYgkJY2I7DQotICAgICAgICAvKioNCiAg ICAgICAgICAqIEBwYXJlbnQ6IHRoZSBmZW5jZSByZXR1cm5lZCBieSAmZHJtX3NjaGVkX2JhY2tl bmRfb3BzLnJ1bl9qb2INCiAgICAgICAgICAqIHdoZW4gc2NoZWR1bGluZyB0aGUgam9iIG9uIGhh cmR3YXJlLiBXZSBzaWduYWwgdGhlDQogICAgICAgICAgKiAmZHJtX3NjaGVkX2ZlbmNlLmZpbmlz aGVkIGZlbmNlIG9uY2UgcGFyZW50IGlzIHNpZ25hbGxlZC4NCkBAIC0xODEsNiArMTc3LDcgQEAg c3RydWN0IGRybV9zY2hlZF9mZW5jZSAqdG9fZHJtX3NjaGVkX2ZlbmNlKHN0cnVjdCBkbWFfZmVu Y2UgKmYpOw0KICAqICAgICAgICAgYmUgc2NoZWR1bGVkIGZ1cnRoZXIuDQogICogQHNfcHJpb3Jp dHk6IHRoZSBwcmlvcml0eSBvZiB0aGUgam9iLg0KICAqIEBlbnRpdHk6IHRoZSBlbnRpdHkgdG8g d2hpY2ggdGhpcyBqb2IgYmVsb25ncy4NCisgKiBAY2I6IHRoZSBjYWxsYmFjayBmb3IgdGhlIHBh cmVudCBmZW5jZSBpbiBzX2ZlbmNlLg0KICAqDQogICogQSBqb2IgaXMgY3JlYXRlZCBieSB0aGUg ZHJpdmVyIHVzaW5nIGRybV9zY2hlZF9qb2JfaW5pdCgpLCBhbmQNCiAgKiBzaG91bGQgY2FsbCBk cm1fc2NoZWRfZW50aXR5X3B1c2hfam9iKCkgb25jZSBpdCB3YW50cyB0aGUgc2NoZWR1bGVyDQpA QCAtMTk3LDYgKzE5NCw3IEBAIHN0cnVjdCBkcm1fc2NoZWRfam9iIHsNCiAJYXRvbWljX3QJCQlr YXJtYTsNCiAJZW51bSBkcm1fc2NoZWRfcHJpb3JpdHkJCXNfcHJpb3JpdHk7DQogCXN0cnVjdCBk cm1fc2NoZWRfZW50aXR5ICAqZW50aXR5Ow0KKwlzdHJ1Y3QgZG1hX2ZlbmNlX2NiCQljYjsNCiB9 Ow0KIA0KIHN0YXRpYyBpbmxpbmUgYm9vbCBkcm1fc2NoZWRfaW52YWxpZGF0ZV9qb2Ioc3RydWN0 IGRybV9zY2hlZF9qb2IgKnNfam9iLA0KLS0gDQoyLjcuNA0KDQo= --_004_abdcbb7060807669793921cbd0031cbdamdcom_ Content-Type: text/x-patch; name="0003-drm-sched-DRAFT-drm-sched-Skip-HW-reset-if-guilty-jo.patch" Content-Description: 0003-drm-sched-DRAFT-drm-sched-Skip-HW-reset-if-guilty-jo.patch Content-Disposition: attachment; filename="0003-drm-sched-DRAFT-drm-sched-Skip-HW-reset-if-guilty-jo.patch"; size=13533; creation-date="Fri, 18 Jan 2019 19:15:41 GMT"; modification-date="Fri, 18 Jan 2019 19:15:41 GMT" Content-ID: <4B48DCEEB5F98548B19BCF8DC00BB034-asWib9pRmPqcE4WynfumptQqCkab/8FMAL8bYrjMMd8@public.gmane.org> Content-Transfer-Encoding: base64 RnJvbSBlODg4NmE0ZDQyNWI1Y2I5MTVhY2ZiN2RhMTY1ZTQyYjkxN2I3NjI2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KRnJvbTogQW5kcmV5IEdyb2R6b3Zza3kgPGFuZHJleS5ncm9kem92c2t5 QGFtZC5jb20+DQpEYXRlOiBGcmksIDE4IEphbiAyMDE5IDE0OjA2OjI1IC0wNTAwDQpTdWJqZWN0 OiBkcm0vc2NoZWQ6IERSQUZUOiBkcm0vc2NoZWQ6IFNraXAgSFcgcmVzZXQgaWYgZ3VpbHR5IGpv YiBpcyBzaWduYWxlZC4NCg0KQWxzbyByZWplY3Qgb3RoZXIgdGRyIGpvYnMgd2hpbGUgY3VycmVu dCBpbiBwcm9ncmVzcyBhcyBpdCBpcyBnb2luZw0KdG8gdGFrZSBjYXJlIG9mIGFsbCB0aGUgc2No ZWR1bHJlcyBmb3IgYSBkZXZpY2UgYW5kIGFsbCBkZXZpY2VzIGZvcg0KWEdNSSBoaXZlLg0KDQpT aWduZWQtb2ZmLWJ5OiBBbmRyZXkgR3JvZHpvdnNreSA8YW5kcmV5Lmdyb2R6b3Zza3lAYW1kLmNv bT4NCi0tLQ0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYyB8IDY1 ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQ0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9qb2IuaCAgICB8ICAxICsNCiBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5h dml2X3NjaGVkLmMgICAgfCAgMiArLQ0KIGRyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRf bWFpbi5jICAgICB8IDQ3ICsrKysrKysrKysrKy0tLS0tLS0tLQ0KIGRyaXZlcnMvZ3B1L2RybS92 M2QvdjNkX3NjaGVkLmMgICAgICAgICAgICB8ICAzICstDQogaW5jbHVkZS9kcm0vZ3B1X3NjaGVk dWxlci5oICAgICAgICAgICAgICAgIHwgIDkgKysrKy0NCiA2IGZpbGVzIGNoYW5nZWQsIDc5IGlu c2VydGlvbnMoKyksIDQ4IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2RldmljZS5jDQppbmRleCBlMmY1NzhhLi5kYjJiOTg0IDEwMDY0NA0KLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jDQorKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMNCkBAIC0zMzEzLDcgKzMzMTMsNyBA QCBzdGF0aWMgaW50IGFtZGdwdV9kZXZpY2VfcHJlX2FzaWNfcmVzZXQoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYsDQogCQlpZiAoIXJpbmcgfHwgIXJpbmctPnNjaGVkLnRocmVhZCkNCiAJCQlj b250aW51ZTsNCiANCi0JCWRybV9zY2hlZF9zdG9wKCZyaW5nLT5zY2hlZCwgam9iID8gJmpvYi0+ YmFzZSA6IE5VTEwpOw0KKwkJZHJtX3NjaGVkX3N0b3AoJnJpbmctPnNjaGVkKTsNCiANCiAJCS8q IGFmdGVyIGFsbCBodyBqb2JzIGFyZSByZXNldCwgaHcgZmVuY2UgaXMgbWVhbmluZ2xlc3MsIHNv IGZvcmNlX2NvbXBsZXRpb24gKi8NCiAJCWFtZGdwdV9mZW5jZV9kcml2ZXJfZm9yY2VfY29tcGxl dGlvbihyaW5nKTsNCkBAIC0zNDU3LDcgKzM0NTcsNyBAQCBzdGF0aWMgaW50IGFtZGdwdV9kb19h c2ljX3Jlc2V0KHN0cnVjdCBhbWRncHVfaGl2ZV9pbmZvICpoaXZlLA0KIH0NCiANCiBzdGF0aWMg dm9pZCBhbWRncHVfZGV2aWNlX3Bvc3RfYXNpY19yZXNldChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldiwNCi0JCQkJCSAgc3RydWN0IGFtZGdwdV9qb2IgKmpvYikNCisJCQkJCSAgYm9vbCByZXN1 Ym1pdCkNCiB7DQogCWludCBpOw0KIA0KQEAgLTM0NjcsNyArMzQ2Nyw3IEBAIHN0YXRpYyB2b2lk IGFtZGdwdV9kZXZpY2VfcG9zdF9hc2ljX3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 LA0KIAkJaWYgKCFyaW5nIHx8ICFyaW5nLT5zY2hlZC50aHJlYWQpDQogCQkJY29udGludWU7DQog DQotCQlpZiAoIWFkZXYtPmFzaWNfcmVzZXRfcmVzKQ0KKwkJaWYgKCFhZGV2LT5hc2ljX3Jlc2V0 X3JlcyAmJiByZXN1Ym1pdCkNCiAJCQlkcm1fc2NoZWRfcmVzdWJtaXRfam9icygmcmluZy0+c2No ZWQpOw0KIA0KIAkJZHJtX3NjaGVkX3N0YXJ0KCZyaW5nLT5zY2hlZCwgIWFkZXYtPmFzaWNfcmVz ZXRfcmVzKTsNCkBAIC0zNDgwLDE0ICszNDgwLDIyIEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9kZXZp Y2VfcG9zdF9hc2ljX3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KIAlhZGV2LT5h c2ljX3Jlc2V0X3JlcyA9IDA7DQogfQ0KIA0KLXN0YXRpYyB2b2lkIGFtZGdwdV9kZXZpY2VfbG9j a19hZGV2KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQ0KK3N0YXRpYyBib29sIGFtZGdwdV9k ZXZpY2VfbG9ja19hZGV2KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBib29sIHRyeWxvY2tf cmVzZXQpDQogew0KLQltdXRleF9sb2NrKCZhZGV2LT5sb2NrX3Jlc2V0KTsNCisJaWYgKHRyeWxv Y2tfcmVzZXQpIHsNCisJCWlmICghbXV0ZXhfdHJ5bG9jaygmYWRldi0+bG9ja19yZXNldCkpDQor CQkJcmV0dXJuIGZhbHNlOw0KKwl9DQorCWVsc2UNCisJCW11dGV4X2xvY2soJmFkZXYtPmxvY2tf cmVzZXQpOw0KKw0KIAlhdG9taWNfaW5jKCZhZGV2LT5ncHVfcmVzZXRfY291bnRlcik7DQogCWFk ZXYtPmluX2dwdV9yZXNldCA9IDE7DQogCS8qIEJsb2NrIGtmZDogU1JJT1Ygd291bGQgZG8gaXQg c2VwYXJhdGVseSAqLw0KIAlpZiAoIWFtZGdwdV9zcmlvdl92ZihhZGV2KSkNCiAgICAgICAgICAg ICAgICAgYW1kZ3B1X2FtZGtmZF9wcmVfcmVzZXQoYWRldik7DQorDQorCXJldHVybiB0cnVlOw0K IH0NCiANCiBzdGF0aWMgdm9pZCBhbWRncHVfZGV2aWNlX3VubG9ja19hZGV2KHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2KQ0KQEAgLTM1MjAsMjMgKzM1MjgsMjkgQEAgaW50IGFtZGdwdV9kZXZp Y2VfZ3B1X3JlY292ZXIoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsDQogCWJvb2wgbmVlZF9m dWxsX3Jlc2V0ID0gZmFsc2U7DQogCXN0cnVjdCBhbWRncHVfZGV2aWNlICp0bXBfYWRldiA9IE5V TEw7DQogCXN0cnVjdCBsaXN0X2hlYWQgZGV2aWNlX2xpc3QsICpkZXZpY2VfbGlzdF9oYW5kbGUg PSAgTlVMTDsNCisJYm9vbCBqb2JfZmluaXNoZWQsIHhnbWlfdG9wb2xvZ3lfcHJlc2VudDsNCiAN CiAJSU5JVF9MSVNUX0hFQUQoJmRldmljZV9saXN0KTsNCiANCiAJZGV2X2luZm8oYWRldi0+ZGV2 LCAiR1BVIHJlc2V0IGJlZ2luIVxuIik7DQogDQorCWhpdmUgPSBhbWRncHVfZ2V0X3hnbWlfaGl2 ZShhZGV2LCAwKTsNCisJeGdtaV90b3BvbG9neV9wcmVzZW50ID0gaGl2ZSAmJiBhZGV2LT5nbWMu eGdtaS5udW1fcGh5c2ljYWxfbm9kZXMgPiAxOw0KKw0KIAkvKg0KLQkgKiBJbiBjYXNlIG9mIFhH TUkgaGl2ZSBkaXNhbGxvdyBjb25jdXJyZW50IHJlc2V0cyB0byBiZSB0cmlnZ2VyZWQNCi0JICog YnkgZGlmZmVyZW50IG5vZGVzLiBObyBwb2ludCBhbHNvIHNpbmNlIHRoZSBvbmUgbm9kZSBhbHJl YWR5IGV4ZWN1dGluZw0KLQkgKiByZXNldCB3aWxsIGFsc28gcmVzZXQgYWxsIHRoZSBvdGhlciBu b2RlcyBpbiB0aGUgaGl2ZS4NCisJICogSGVyZSBhbmQgYmVsbG93IHdlIHRyeWxvY2sgdG8gYXZv aWQgY2hhaW4gb2YgcmVzZXRzIGV4ZWN1dGluZyBmcm9tDQorCSAqIGVpdGhlciB0cmlnZ2VyIGJ5 IGpvYnMgb24gZGlmZmVyZW50IGFkZXZzIGluIFhHTUkgaGl2ZSBvciBqb2JzIG9uDQorCSAqIGRp ZmZlcmVudCBzY2hlZHVsZXJzIGZvciBzYW1lIGRldmljZSB3aGlsZSB0aGlzIHRkciBpcyBydW5u aW5nLg0KKwkgKiBXZSBhbHdheXMgcmVzZXQgYWxsIHNjaGVkdWxlcnMgZm9yIGRldmljZSBhbmQg YWxsIGRldmljZXMgZm9yIFhHTUkNCisJICogaGl2ZSBzbyB0aGF0IHNob3VsZCB0YWtlIGNhcmUg b2YgdGhlbSB0b28uDQogCSAqLw0KLQloaXZlID0gYW1kZ3B1X2dldF94Z21pX2hpdmUoYWRldiwg MCk7DQotCWlmIChoaXZlICYmIGFkZXYtPmdtYy54Z21pLm51bV9waHlzaWNhbF9ub2RlcyA+IDEg JiYNCi0JICAgICFtdXRleF90cnlsb2NrKCZoaXZlLT5yZXNldF9sb2NrKSkNCisJaWYgKHhnbWlf dG9wb2xvZ3lfcHJlc2VudCAmJiAhbXV0ZXhfdHJ5bG9jaygmaGl2ZS0+cmVzZXRfbG9jaykpDQog CQlyZXR1cm4gMDsNCiANCiAJLyogU3RhcnQgd2l0aCBhZGV2IHByZSBhc2ljIHJlc2V0IGZpcnN0 IGZvciBzb2Z0IHJlc2V0IGNoZWNrLiovDQotCWFtZGdwdV9kZXZpY2VfbG9ja19hZGV2KGFkZXYp Ow0KKwlpZiAoIWFtZGdwdV9kZXZpY2VfbG9ja19hZGV2KGFkZXYsICF4Z21pX3RvcG9sb2d5X3By ZXNlbnQpKQ0KKwkJCXJldHVybiAwOw0KKw0KIAlyID0gYW1kZ3B1X2RldmljZV9wcmVfYXNpY19y ZXNldChhZGV2LA0KIAkJCQkJIGpvYiwNCiAJCQkJCSAmbmVlZF9mdWxsX3Jlc2V0KTsNCkBAIC0z NTcxLDcgKzM1ODUsNyBAQCBpbnQgYW1kZ3B1X2RldmljZV9ncHVfcmVjb3ZlcihzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiwNCiAJCWlmICh0bXBfYWRldiA9PSBhZGV2KQ0KIAkJCWNvbnRpbnVl Ow0KIA0KLQkJYW1kZ3B1X2RldmljZV9sb2NrX2FkZXYodG1wX2FkZXYpOw0KKwkJYW1kZ3B1X2Rl dmljZV9sb2NrX2FkZXYodG1wX2FkZXYsIGZhbHNlKTsNCiAJCXIgPSBhbWRncHVfZGV2aWNlX3By ZV9hc2ljX3Jlc2V0KHRtcF9hZGV2LA0KIAkJCQkJCSBOVUxMLA0KIAkJCQkJCSAmbmVlZF9mdWxs X3Jlc2V0KTsNCkBAIC0zNTgzLDIxICszNTk3LDI2IEBAIGludCBhbWRncHVfZGV2aWNlX2dwdV9y ZWNvdmVyKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KIAkJfQ0KIAl9DQogDQorDQorDQog CS8qIEFjdHVhbCBBU0lDIHJlc2V0cyBpZiBuZWVkZWQuKi8NCiAJLyogVE9ETyBJbXBsZW1lbnQg WEdNSSBoaXZlIHJlc2V0IGxvZ2ljIGZvciBTUklPViAqLw0KLQlpZiAoYW1kZ3B1X3NyaW92X3Zm KGFkZXYpKSB7DQotCQlyID0gYW1kZ3B1X2RldmljZV9yZXNldF9zcmlvdihhZGV2LCBqb2IgPyBm YWxzZSA6IHRydWUpOw0KLQkJaWYgKHIpDQotCQkJYWRldi0+YXNpY19yZXNldF9yZXMgPSByOw0K LQl9IGVsc2Ugew0KLQkJciAgPSBhbWRncHVfZG9fYXNpY19yZXNldChoaXZlLCBkZXZpY2VfbGlz dF9oYW5kbGUsICZuZWVkX2Z1bGxfcmVzZXQpOw0KLQkJaWYgKHIgJiYgciA9PSAtRUFHQUlOKQ0K LQkJCWdvdG8gcmV0cnk7DQorDQorCWlmICghKGpvYl9maW5pc2hlZCA9IGRybV9zY2hlZF9qb2Jf ZmluaXNoZWQoJmpvYi0+YmFzZSkpKSB7DQorCQlpZiAoYW1kZ3B1X3NyaW92X3ZmKGFkZXYpKSB7 DQorCQkJciA9IGFtZGdwdV9kZXZpY2VfcmVzZXRfc3Jpb3YoYWRldiwgam9iID8gZmFsc2UgOiB0 cnVlKTsNCisJCQlpZiAocikNCisJCQkJYWRldi0+YXNpY19yZXNldF9yZXMgPSByOw0KKwkJfSBl bHNlIHsNCisJCQlyICA9IGFtZGdwdV9kb19hc2ljX3Jlc2V0KGhpdmUsIGRldmljZV9saXN0X2hh bmRsZSwgJm5lZWRfZnVsbF9yZXNldCk7DQorCQkJaWYgKHIgJiYgciA9PSAtRUFHQUlOKQ0KKwkJ CQlnb3RvIHJldHJ5Ow0KKwkJfQ0KIAl9DQogDQogCS8qIFBvc3QgQVNJQyByZXNldCBmb3IgYWxs IGRldnMgLiovDQogCWxpc3RfZm9yX2VhY2hfZW50cnkodG1wX2FkZXYsIGRldmljZV9saXN0X2hh bmRsZSwgZ21jLnhnbWkuaGVhZCkgew0KLQkJYW1kZ3B1X2RldmljZV9wb3N0X2FzaWNfcmVzZXQo dG1wX2FkZXYsIHRtcF9hZGV2ID09IGFkZXYgPyBqb2IgOiBOVUxMKTsNCisJCWFtZGdwdV9kZXZp Y2VfcG9zdF9hc2ljX3Jlc2V0KHRtcF9hZGV2LCBqb2JfZmluaXNoZWQpOw0KIA0KIAkJaWYgKHIp IHsNCiAJCQkvKiBiYWQgbmV3cywgaG93IHRvIHRlbGwgaXQgdG8gdXNlcnNwYWNlID8gKi8NCkBA IC0zNjEwLDcgKzM2MjksNyBAQCBpbnQgYW1kZ3B1X2RldmljZV9ncHVfcmVjb3ZlcihzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwNCiAJCWFtZGdwdV9kZXZpY2VfdW5sb2NrX2FkZXYodG1wX2Fk ZXYpOw0KIAl9DQogDQotCWlmIChoaXZlICYmIGFkZXYtPmdtYy54Z21pLm51bV9waHlzaWNhbF9u b2RlcyA+IDEpDQorCWlmICh4Z21pX3RvcG9sb2d5X3ByZXNlbnQpDQogCQltdXRleF91bmxvY2so JmhpdmUtPnJlc2V0X2xvY2spOw0KIA0KIAlpZiAocikNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfam9iLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfam9iLmgNCmluZGV4IGUxYjQ2YTYuLmY0MTk1YjkgMTAwNjQ0DQotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfam9iLmgNCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9qb2IuaA0KQEAgLTczLDQgKzczLDUgQEAgaW50IGFtZGdwdV9q b2Jfc3VibWl0KHN0cnVjdCBhbWRncHVfam9iICpqb2IsIHN0cnVjdCBkcm1fc2NoZWRfZW50aXR5 ICplbnRpdHksDQogCQkgICAgICB2b2lkICpvd25lciwgc3RydWN0IGRtYV9mZW5jZSAqKmYpOw0K IGludCBhbWRncHVfam9iX3N1Ym1pdF9kaXJlY3Qoc3RydWN0IGFtZGdwdV9qb2IgKmpvYiwgc3Ry dWN0IGFtZGdwdV9yaW5nICpyaW5nLA0KIAkJCSAgICAgc3RydWN0IGRtYV9mZW5jZSAqKmZlbmNl KTsNCisNCiAjZW5kaWYNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5h dml2X3NjaGVkLmMgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X3NjaGVkLmMNCmlu ZGV4IDZmMTI2OGYuLjY3YWUyNjYgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZp di9ldG5hdml2X3NjaGVkLmMNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZf c2NoZWQuYw0KQEAgLTEwOSw3ICsxMDksNyBAQCBzdGF0aWMgdm9pZCBldG5hdml2X3NjaGVkX3Rp bWVkb3V0X2pvYihzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc2NoZWRfam9iKQ0KIAl9DQogDQogCS8q IGJsb2NrIHNjaGVkdWxlciAqLw0KLQlkcm1fc2NoZWRfc3RvcCgmZ3B1LT5zY2hlZCwgc2NoZWRf am9iKTsNCisJZHJtX3NjaGVkX3N0b3AoJmdwdS0+c2NoZWQpOw0KIA0KIAlpZihzY2hlZF9qb2Ip DQogCQlkcm1fc2NoZWRfaW5jcmVhc2Vfa2FybWEoc2NoZWRfam9iKTsNCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX21haW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9z Y2hlZHVsZXIvc2NoZWRfbWFpbi5jDQppbmRleCAxNmM2MzYzLi40NjE3ZmQ5IDEwMDY0NA0KLS0t IGEvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWluLmMNCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5jDQpAQCAtMTg5LDExICsxODksMTMgQEAgRVhQ T1JUX1NZTUJPTChkcm1fc2NoZWRfZGVwZW5kZW5jeV9vcHRpbWl6ZWQpOw0KICAqDQogICogU3Rh cnQgdGhlIHRpbWVvdXQgZm9yIHRoZSBnaXZlbiBzY2hlZHVsZXIuDQogICovDQotc3RhdGljIHZv aWQgZHJtX3NjaGVkX3N0YXJ0X3RpbWVvdXQoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hl ZCkNCitzdGF0aWMgdm9pZCBkcm1fc2NoZWRfc3RhcnRfdGltZW91dChzdHJ1Y3QgZHJtX2dwdV9z Y2hlZHVsZXIgKnNjaGVkLCBsb25nIGRlbGF5KQ0KIHsNCisJbG9uZyB0aW1lb3V0ID0gZGVsYXkg Pj0gMCA/IGRlbGF5IDogc2NoZWQtPnRpbWVvdXQ7DQorDQogCWlmIChzY2hlZC0+dGltZW91dCAh PSBNQVhfU0NIRURVTEVfVElNRU9VVCAmJg0KIAkgICAgIWxpc3RfZW1wdHkoJnNjaGVkLT5yaW5n X21pcnJvcl9saXN0KSkNCi0JCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmc2NoZWQtPndvcmtfdGRy LCBzY2hlZC0+dGltZW91dCk7DQorCQltb2RfZGVsYXllZF93b3JrKHN5c3RlbV93cSwgJnNjaGVk LT53b3JrX3RkciwgdGltZW91dCk7DQogfQ0KIA0KIC8qKg0KQEAgLTI3NSwxOCArMjc3LDE2IEBA IHN0YXRpYyB2b2lkIGRybV9zY2hlZF9qb2JfZmluaXNoKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29y aykNCiAJdW5zaWduZWQgbG9uZyBmbGFnczsNCiANCiAJLyoNCi0JICogQ2FuY2VsaW5nIHRoZSB0 aW1lb3V0IHdpdGhvdXQgcmVtb3Zpbmcgb3VyIGpvYiBmcm9tIHRoZSByaW5nIG1pcnJvcg0KLQkg KiBsaXN0IGlzIHNhZmUsIGFzIHdlIHdpbGwgb25seSBlbmQgdXAgaW4gdGhpcyB3b3JrZXIgaWYg b3VyIGpvYnMNCi0JICogZmluaXNoZWQgZmVuY2UgaGFzIGJlZW4gc2lnbmFsZWQuIFNvIGV2ZW4g aWYgc29tZSBhbm90aGVyIHdvcmtlcg0KLQkgKiBtYW5hZ2VzIHRvIGZpbmQgdGhpcyBqb2IgYXMg dGhlIG5leHQgam9iIGluIHRoZSBsaXN0LCB0aGUgZmVuY2UNCi0JICogc2lnbmFsZWQgY2hlY2sg YmVsb3cgd2lsbCBwcmV2ZW50IHRoZSB0aW1lb3V0IHRvIGJlIHJlc3RhcnRlZC4NCisJICogQXZv aWQgcmVzdGFydGluZyB0aW1lciBpZiB5b3UgYXJlIHJhY2luZyBhZ2FpbnN0IHRkciBpbiBwcm9n cmVzcw0KKwkgKiBhcyB0ZHIgdGFza3Mgd2lsbCBzdG9wIGFuZCByZXN0YXJ0IHRoZSB0aW1lciBp dHNlbGYgb3RoZXJ3aXNlIHlvdQ0KKwkgKiBjYW4gZW5kIHVwIHJlYXJtaW5nIHRpbWVyIHdoaWNo IHRoZSB0ZHIganVzdCBzdG9wcGVkLg0KIAkgKi8NCi0JY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5j KCZzY2hlZC0+d29ya190ZHIpOw0KLQ0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmc2NoZWQtPmpvYl9s aXN0X2xvY2ssIGZsYWdzKTsNCi0JLyogcXVldWUgVERSIGZvciBuZXh0IGpvYiAqLw0KLQlkcm1f c2NoZWRfc3RhcnRfdGltZW91dChzY2hlZCk7DQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNj aGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7DQorCWlmICghZmx1c2hfZGVsYXllZF93b3JrKCZz Y2hlZC0+d29ya190ZHIpKSB7DQorCQlzcGluX2xvY2tfaXJxc2F2ZSgmc2NoZWQtPmpvYl9saXN0 X2xvY2ssIGZsYWdzKTsNCisJCS8qIHF1ZXVlIFREUiBmb3IgbmV4dCBqb2IgKi8NCisJCWRybV9z Y2hlZF9zdGFydF90aW1lb3V0KHNjaGVkLCAtMSk7DQorCQlzcGluX3VubG9ja19pcnFyZXN0b3Jl KCZzY2hlZC0+am9iX2xpc3RfbG9jaywgZmxhZ3MpOw0KKwl9DQogDQogCXNjaGVkLT5vcHMtPmZy ZWVfam9iKHNfam9iKTsNCiB9DQpAQCAtMjk4LDcgKzI5OCw3IEBAIHN0YXRpYyB2b2lkIGRybV9z Y2hlZF9qb2JfYmVnaW4oc3RydWN0IGRybV9zY2hlZF9qb2IgKnNfam9iKQ0KIA0KIAlzcGluX2xv Y2tfaXJxc2F2ZSgmc2NoZWQtPmpvYl9saXN0X2xvY2ssIGZsYWdzKTsNCiAJbGlzdF9hZGRfdGFp bCgmc19qb2ItPm5vZGUsICZzY2hlZC0+cmluZ19taXJyb3JfbGlzdCk7DQotCWRybV9zY2hlZF9z dGFydF90aW1lb3V0KHNjaGVkKTsNCisJZHJtX3NjaGVkX3N0YXJ0X3RpbWVvdXQoc2NoZWQsIC0x KTsNCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NoZWQtPmpvYl9saXN0X2xvY2ssIGZsYWdz KTsNCiB9DQogDQpAQCAtMzA3LDYgKzMwNyw3IEBAIHN0YXRpYyB2b2lkIGRybV9zY2hlZF9qb2Jf dGltZWRvdXQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQ0KIAlzdHJ1Y3QgZHJtX2dwdV9zY2hl ZHVsZXIgKnNjaGVkOw0KIAlzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqam9iOw0KIAl1bnNpZ25lZCBs b25nIGZsYWdzOw0KKwlsb25nIGRlbGF5ID0gLTE7DQogDQogCXNjaGVkID0gY29udGFpbmVyX29m KHdvcmssIHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciwgd29ya190ZHIud29yayk7DQogCWpvYiA9 IGxpc3RfZmlyc3RfZW50cnlfb3JfbnVsbCgmc2NoZWQtPnJpbmdfbWlycm9yX2xpc3QsDQpAQCAt MzE2LDcgKzMxNyw5IEBAIHN0YXRpYyB2b2lkIGRybV9zY2hlZF9qb2JfdGltZWRvdXQoc3RydWN0 IHdvcmtfc3RydWN0ICp3b3JrKQ0KIAkJam9iLT5zY2hlZC0+b3BzLT50aW1lZG91dF9qb2Ioam9i KTsNCiANCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnNjaGVkLT5qb2JfbGlzdF9sb2NrLCBmbGFncyk7 DQotCWRybV9zY2hlZF9zdGFydF90aW1lb3V0KHNjaGVkKTsNCisJaWYgKGpvYiAmJiBqb2ItPnNf ZmVuY2UtPnBhcmVudCAmJiAhZHJtX3NjaGVkX2pvYl9maW5pc2hlZChqb2IpKQ0KKwkJZGVsYXkg PSBtc2Vjc190b19qaWZmaWVzKDIpOw0KKwlkcm1fc2NoZWRfc3RhcnRfdGltZW91dChzY2hlZCwg ZGVsYXkpOw0KIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2hlZC0+am9iX2xpc3RfbG9jaywg ZmxhZ3MpOw0KIH0NCiANCkBAIC0zNzIsMTIgKzM3NSwxMSBAQCBFWFBPUlRfU1lNQk9MKGRybV9z Y2hlZF9pbmNyZWFzZV9rYXJtYSk7DQogICogQGJhZDogYmFkIHNjaGVkdWxlciBqb2INCiAgKg0K ICAqLw0KLXZvaWQgZHJtX3NjaGVkX3N0b3Aoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hl ZCwgc3RydWN0IGRybV9zY2hlZF9qb2IgKmJhZCkNCit2b2lkIGRybV9zY2hlZF9zdG9wKHN0cnVj dCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQpDQogew0KIAlzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAq c19qb2I7DQogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7DQogCXN0cnVjdCBkbWFfZmVuY2UgKmxhc3Rf ZmVuY2UgPSAgTlVMTDsNCi0JaW50IHI7DQogDQogCWt0aHJlYWRfcGFyayhzY2hlZC0+dGhyZWFk KTsNCiANCkBAIC0zODcsMTQgKzM4OSwxMiBAQCB2b2lkIGRybV9zY2hlZF9zdG9wKHN0cnVjdCBk cm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQsIHN0cnVjdCBkcm1fc2NoZWRfam9iICpiYWQpDQogCSAq IGFsc28gYWxsIHRoZSBwcmV2aW91cyBqb2JzIHRoYXQgd2VyZSBpbiBmbGlnaHQgYWxzbyBhbHJl YWR5IHNpbmdhbGVkDQogCSAqIGFuZCByZW1vdmVkIGZyb20gdGhlIGxpc3QuDQogCSAqLw0KLXJl dHJ5X3dhaXQ6DQogCXNwaW5fbG9ja19pcnFzYXZlKCZzY2hlZC0+am9iX2xpc3RfbG9jaywgZmxh Z3MpOw0KIAlsaXN0X2Zvcl9lYWNoX2VudHJ5X3JldmVyc2Uoc19qb2IsICZzY2hlZC0+cmluZ19t aXJyb3JfbGlzdCwgbm9kZSkgew0KIAkJaWYgKHNfam9iLT5zX2ZlbmNlLT5wYXJlbnQgJiYNCiAJ CSAgICBkbWFfZmVuY2VfcmVtb3ZlX2NhbGxiYWNrKHNfam9iLT5zX2ZlbmNlLT5wYXJlbnQsDQog CQkJCQkgICAgICAmc19qb2ItPmNiKSkgew0KIAkJCWRtYV9mZW5jZV9wdXQoc19qb2ItPnNfZmVu Y2UtPnBhcmVudCk7DQotCQkJc19qb2ItPnNfZmVuY2UtPnBhcmVudCA9IE5VTEw7DQogCQkJYXRv bWljX2RlYygmc2NoZWQtPmh3X3JxX2NvdW50KTsNCiAJCX0gZWxzZSB7DQogCQkJIGxhc3RfZmVu Y2UgPSBkbWFfZmVuY2VfZ2V0KCZzX2pvYi0+c19mZW5jZS0+ZmluaXNoZWQpOw0KQEAgLTQwNyw2 ICs0MDcsMTMgQEAgdm9pZCBkcm1fc2NoZWRfc3RvcChzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIg KnNjaGVkLCBzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqYmFkKQ0KIAkJZG1hX2ZlbmNlX3dhaXQobGFz dF9mZW5jZSwgZmFsc2UpOw0KIAkJZG1hX2ZlbmNlX3B1dChsYXN0X2ZlbmNlKTsNCiAJfQ0KKw0K KwkvKg0KKwkgKiBXZSBwYXJrZWQgdGhlIHNjaGVkIHRocmVhZCBzbyBubyBuZXcgam9iIGNhbiBy ZWFybSB0aGUgdGltZXIgbm93LA0KKwkgKiB3YXMgYWxzbyBhcmUgZmx1c2hpbmcgd29ya190ZHIg ZnJvbSBkcm1fc2NoZWRfam9iX2ZpbmlzaCBzbyBubyBqb2INCisJICogZmluaXNoaW5nIHdvcmsg aW4gcHJvZ3Jlc3MgY2FuIHJlYXJtIHRoZSB0aW1lci4NCisJICovDQorCWNhbmNlbF9kZWxheWVk X3dvcmsoJnNjaGVkLT53b3JrX3Rkcik7DQogfQ0KIA0KIEVYUE9SVF9TWU1CT0woZHJtX3NjaGVk X3N0b3ApOw0KQEAgLTQ0Nyw3ICs0NTQsNyBAQCB2b2lkIGRybV9zY2hlZF9zdGFydChzdHJ1Y3Qg ZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkLCBib29sIGZ1bGxfcmVjb3ZlcnkpDQogCQkJZHJtX3Nj aGVkX3Byb2Nlc3Nfam9iKE5VTEwsICZzX2pvYi0+Y2IpOw0KIAl9DQogDQotCWRybV9zY2hlZF9z dGFydF90aW1lb3V0KHNjaGVkKTsNCisJZHJtX3NjaGVkX3N0YXJ0X3RpbWVvdXQoc2NoZWQsIC0x KTsNCiANCiB1bnBhcms6DQogCWt0aHJlYWRfdW5wYXJrKHNjaGVkLT50aHJlYWQpOw0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92M2QvdjNkX3NjaGVkLmMgYi9kcml2ZXJzL2dwdS9kcm0v djNkL3YzZF9zY2hlZC5jDQppbmRleCBmNzZkOWVkLi45NDI0Mzg4IDEwMDY0NA0KLS0tIGEvZHJp dmVycy9ncHUvZHJtL3YzZC92M2Rfc2NoZWQuYw0KKysrIGIvZHJpdmVycy9ncHUvZHJtL3YzZC92 M2Rfc2NoZWQuYw0KQEAgLTE3OCw4ICsxNzgsNyBAQCB2M2Rfam9iX3RpbWVkb3V0KHN0cnVjdCBk cm1fc2NoZWRfam9iICpzY2hlZF9qb2IpDQogCWZvciAocSA9IDA7IHEgPCBWM0RfTUFYX1FVRVVF UzsgcSsrKSB7DQogCQlzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkID0gJnYzZC0+cXVl dWVbcV0uc2NoZWQ7DQogDQotCQlkcm1fc2NoZWRfc3RvcChzY2hlZCwgKHNjaGVkX2pvYi0+c2No ZWQgPT0gc2NoZWQgPw0KLQkJCQkJICAgICAgIHNjaGVkX2pvYiA6IE5VTEwpKTsNCisJCWRybV9z Y2hlZF9zdG9wKHNjaGVkKTsNCiANCiAJCWlmKHNjaGVkX2pvYikNCiAJCQlkcm1fc2NoZWRfaW5j cmVhc2Vfa2FybWEoc2NoZWRfam9iKTsNCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9ncHVfc2No ZWR1bGVyLmggYi9pbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmgNCmluZGV4IDYyYzIzNTIuLjI0 MDc3ZjYgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmgNCisrKyBiL2lu Y2x1ZGUvZHJtL2dwdV9zY2hlZHVsZXIuaA0KQEAgLTIwMyw2ICsyMDMsMTIgQEAgc3RhdGljIGlu bGluZSBib29sIGRybV9zY2hlZF9pbnZhbGlkYXRlX2pvYihzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAq c19qb2IsDQogCXJldHVybiAoc19qb2IgJiYgYXRvbWljX2luY19yZXR1cm4oJnNfam9iLT5rYXJt YSkgPiB0aHJlc2hvbGQpOw0KIH0NCiANCitzdGF0aWMgaW5saW5lIGJvb2wgZHJtX3NjaGVkX2pv Yl9maW5pc2hlZChzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc19qb2IpDQorew0KKwlXQVJOX09OKCFz X2pvYi0+c19mZW5jZS0+cGFyZW50KTsNCisJcmV0dXJuIGRtYV9mZW5jZV9pc19zaWduYWxlZChz X2pvYi0+c19mZW5jZS0+cGFyZW50KTsNCit9DQorDQogLyoqDQogICogc3RydWN0IGRybV9zY2hl ZF9iYWNrZW5kX29wcw0KICAqDQpAQCAtMjk2LDggKzMwMiw3IEBAIGludCBkcm1fc2NoZWRfam9i X2luaXQoc3RydWN0IGRybV9zY2hlZF9qb2IgKmpvYiwNCiAJCSAgICAgICB2b2lkICpvd25lcik7 DQogdm9pZCBkcm1fc2NoZWRfam9iX2NsZWFudXAoc3RydWN0IGRybV9zY2hlZF9qb2IgKmpvYik7 DQogdm9pZCBkcm1fc2NoZWRfd2FrZXVwKHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQp Ow0KLXZvaWQgZHJtX3NjaGVkX3N0b3Aoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCwN Ci0JCSAgICBzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqam9iKTsNCit2b2lkIGRybV9zY2hlZF9zdG9w KHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQpOw0KIHZvaWQgZHJtX3NjaGVkX3N0YXJ0 KHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQsIGJvb2wgZnVsbF9yZWNvdmVyeSk7DQog dm9pZCBkcm1fc2NoZWRfcmVzdWJtaXRfam9icyhzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNj aGVkKTsNCiB2b2lkIGRybV9zY2hlZF9pbmNyZWFzZV9rYXJtYShzdHJ1Y3QgZHJtX3NjaGVkX2pv YiAqYmFkKTsNCi0tIA0KMi43LjQNCg0K --_004_abdcbb7060807669793921cbd0031cbdamdcom_ Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBt YWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg== --_004_abdcbb7060807669793921cbd0031cbdamdcom_--