From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v4] drm/i915/execlists: Always reset the context's RING registers Date: Mon, 8 Apr 2019 21:14:50 +0100 Message-ID: <20190408201450.15904-1-chris@chris-wilson.co.uk> References: <20190408131506.1180-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2FCCD89097 for ; Mon, 8 Apr 2019 20:15:05 +0000 (UTC) In-Reply-To: <20190408131506.1180-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RHVyaW5nIHJlc2V0LCB3ZSB0cnkgYW5kIHN0b3AgdGhlIGFjdGl2ZSByaW5nLiBUaGlzIGhhcyB0 aGUgY29uc2VxdWVuY2UKdGhhdCB3ZSBvZnRlbiBjbG9iYmVyIHRoZSBSSU5HIHJlZ2lzdGVycyB3 aXRoaW4gdGhlIGNvbnRleHQgaW1hZ2UuIFdoZW4Kd2UgZmluZCBhbiBhY3RpdmUgcmVxdWVzdCwg d2UgdXBkYXRlIHRoZSBjb250ZXh0IGltYWdlIHRvIHJlcnVuIHRoYXQKcmVxdWVzdCAoaWYgaXQg d2FzIGd1aWx0eSwgd2UgcmVwbGFjZSB0aGUgaGFuZ2luZyB1c2VyIHBheWxvYWQgd2l0aApOT1Bz KS4gSG93ZXZlciwgd2Ugd2VyZSBpZ25vcmluZyBhbiBhY3RpdmUgY29udGV4dCBpZiB0aGUgcmVx dWVzdCBoYWQKY29tcGxldGVkLCB3aXRoIHRoZSBjb25zZXF1ZW5jZSB0aGF0IHRoZSBuZXh0IHN1 Ym1pc3Npb24gb24gdGhhdCByZXF1ZXN0CndvdWxkIHN0YXJ0IHdpdGggUklOR19IRUFEPT0wIGFu ZCBub3QgdGhlIHRhaWwgb2YgdGhlIHByZXZpb3VzIHJlcXVlc3QsCmNhdXNpbmcgYWxsIHJlcXVl c3RzIHN0aWxsIGluIHRoZSByaW5nIHRvIGJlIHJlcnVuLiBSYXJlLCBidXQKb2NjYXNpb25hbGx5 IHNlZW4gd2l0aGluIENJIHdoZXJlIHdlIHdvdWxkIHNwb3QgdGhhdCB0aGUgY29udGV4dCBzZXFu bwp3b3VsZCByZXZlcnNlIGFuZCBjb21wbGFpbiB0aGF0IHdlIHdlcmUgcmV0aXJpbmcgYW4gaW5j b21wbGV0ZSByZXF1ZXN0LgoKICAgIDwwPiBbNDEyLjM5MDM1MF0gICA8aWRsZT4tMCAgICAgICAz ZC5zMiA0MDgzNzMzNTJ1cyA6IF9faTkxNV9yZXF1ZXN0X3N1Ym1pdDogcmNzMCBmZW5jZSAxZTk1 YjozNjQwIC0+IGN1cnJlbnQgMzYzOAogICAgPDA+IFs0MTIuMzkwMzUwXSAgIDxpZGxlPi0wICAg ICAgIDNkLnMyIDQwODM3MzM1M3VzIDogX19pOTE1X3JlcXVlc3Rfc3VibWl0OiByY3MwIGZlbmNl IDFlOTViOjM2NDIgLT4gY3VycmVudCAzNjM4CiAgICA8MD4gWzQxMi4zOTAzNTBdICAgPGlkbGU+ LTAgICAgICAgM2QuczIgNDA4MzczMzU0dXMgOiBfX2k5MTVfcmVxdWVzdF9zdWJtaXQ6IHJjczAg ZmVuY2UgMWU5NWI6MzY0NCAtPiBjdXJyZW50IDM2MzgKICAgIDwwPiBbNDEyLjM5MDM1MF0gICA8 aWRsZT4tMCAgICAgICAzZC5zMiA0MDgzNzMzNTR1cyA6IF9faTkxNV9yZXF1ZXN0X3N1Ym1pdDog cmNzMCBmZW5jZSAxZTk1YjozNjQ2IC0+IGN1cnJlbnQgMzYzOAogICAgPDA+IFs0MTIuMzkwMzUw XSAgIDxpZGxlPi0wICAgICAgIDNkLnMyIDQwODM3MzM1NnVzIDogX19leGVjbGlzdHNfc3VibWlz c2lvbl90YXNrbGV0OiByY3MwIGluWzBdOiAgY3R4PTIuMSwgZmVuY2UgMWU5NWI6MzY0NiAoY3Vy cmVudCAzNjM4KSwgcHJpbz00CiAgICA8MD4gWzQxMi4zOTAzNTBdIGk5MTVfc2VsLTQ2MTMgICAg MC4uLi4gNDA4MzczMzc0dXMgOiBfX2k5MTVfcmVxdWVzdF9jb21taXQ6IHJjczAgZmVuY2UgMWU5 NWI6MzY0OAogICAgPDA+IFs0MTIuMzkwMzUwXSBpOTE1X3NlbC00NjEzICAgIDBkLi4xIDQwODM3 MzM3N3VzIDogcHJvY2Vzc19jc2I6IHJjczAgY3MtaXJxIGhlYWQ9MiwgdGFpbD0zCiAgICA8MD4g WzQxMi4zOTAzNTBdIGk5MTVfc2VsLTQ2MTMgICAgMGQuLjEgNDA4MzczMzc3dXMgOiBwcm9jZXNz X2NzYjogcmNzMCBjc2JbM106IHN0YXR1cz0weDAwMDAwMDAxOjB4MDAwMDAwMDAsIGFjdGl2ZT0w eDEKICAgIDwwPiBbNDEyLjM5MDM1MF0gaTkxNV9zZWwtNDYxMyAgICAwZC4uMSA0MDgzNzMzNzh1 cyA6IF9faTkxNV9yZXF1ZXN0X3N1Ym1pdDogcmNzMCBmZW5jZSAxZTk1YjozNjQ4IC0+IGN1cnJl bnQgMzYzOAogICAgPDA+IFs0MTIuMzkwMzUwXSAgIDxpZGxlPi0wICAgICAgIDMuLnMxIDQwODM3 MzM3OHVzIDogZXhlY2xpc3RzX3N1Ym1pc3Npb25fdGFza2xldDogcmNzMCBhd2FrZT89MSwgYWN0 aXZlPTUKICAgIDwwPiBbNDEyLjM5MDM1MF0gaTkxNV9zZWwtNDYxMyAgICAwZC4uMSA0MDgzNzMz Nzl1cyA6IF9fZXhlY2xpc3RzX3N1Ym1pc3Npb25fdGFza2xldDogcmNzMCBpblswXTogIGN0eD0y LjIsIGZlbmNlIDFlOTViOjM2NDggKGN1cnJlbnQgMzYzOCksIHByaW89NAogICAgPDA+IFs0MTIu MzkwMzUwXSBpOTE1X3NlbC00NjEzICAgIDAuLi4uIDQwODM3MzM4MXVzIDogaTkxNV9yZXNldF9l bmdpbmU6IHJjczAgZmxhZ3M9NAogICAgPDA+IFs0MTIuMzkwMzUwXSBpOTE1X3NlbC00NjEzICAg IDAuLi4uIDQwODM3MzM4MnVzIDogZXhlY2xpc3RzX3Jlc2V0X3ByZXBhcmU6IHJjczA6IGRlcHRo PC0wCiAgICA8MD4gWzQxMi4zOTAzNTBdICAgPGlkbGU+LTAgICAgICAgM2QuczIgNDA4MzczMzkw dXMgOiBwcm9jZXNzX2NzYjogcmNzMCBjcy1pcnEgaGVhZD0zLCB0YWlsPTQKICAgIDwwPiBbNDEy LjM5MDM1MF0gICA8aWRsZT4tMCAgICAgICAzZC5zMiA0MDgzNzMzOTB1cyA6IHByb2Nlc3NfY3Ni OiByY3MwIGNzYls0XTogc3RhdHVzPTB4MDAwMDgwMDI6MHgwMDAwMDAwMiwgYWN0aXZlPTB4MQog ICAgPDA+IFs0MTIuMzkwMzUwXSAgIDxpZGxlPi0wICAgICAgIDNkLnMyIDQwODM3MzM5MHVzIDog cHJvY2Vzc19jc2I6IHJjczAgb3V0WzBdOiBjdHg9Mi4yLCBmZW5jZSAxZTk1YjozNjQ4IChjdXJy ZW50IDM2NDApLCBwcmlvPTQKICAgIDwwPiBbNDEyLjM5MDM1MF0gaTkxNV9zZWwtNDYxMyAgICAw Li4uLiA0MDgzNzM0MDF1cyA6IGludGVsX2VuZ2luZV9zdG9wX2NzOiByY3MwCiAgICA8MD4gWzQx Mi4zOTAzNTBdIGk5MTVfc2VsLTQ2MTMgICAgMGQuLjEgNDA4MzczNDAydXMgOiBwcm9jZXNzX2Nz YjogcmNzMCBjcy1pcnEgaGVhZD00LCB0YWlsPTQKICAgIDwwPiBbNDEyLjM5MDM1MF0gaTkxNV9z ZWwtNDYxMyAgICAwLi4uLiA0MDgzNzM0MDN1cyA6IGludGVsX2dwdV9yZXNldDogZW5naW5lX21h c2s9MQogICAgPDA+IFs0MTIuMzkwMzUwXSBpOTE1X3NlbC00NjEzICAgIDBkLi4xIDQwODM3MzQw OHVzIDogZXhlY2xpc3RzX2NhbmNlbF9wb3J0X3JlcXVlc3RzOiByY3MwOnBvcnQwIGZlbmNlIDFl OTViOjM2NDgsIChjdXJyZW50IDM2NDgpCiAgICA8MD4gWzQxMi4zOTAzNTBdIGk5MTVfc2VsLTQ2 MTMgICAgMC4uLi4gNDA4MzczNDQydXMgOiBpbnRlbF9lbmdpbmVfY2FuY2VsX3N0b3BfY3M6IHJj czAKICAgIDwwPiBbNDEyLjM5MDM1MF0gaTkxNV9zZWwtNDYxMyAgICAwLi4uLiA0MDgzNzM0NDJ1 cyA6IGV4ZWNsaXN0c19yZXNldF9maW5pc2g6IHJjczA6IGRlcHRoLT4wCiAgICA8MD4gWzQxMi4z OTAzNTBdIGtzb2Z0aXJxLTI2ICAgICAgMy4ucy4gNDA4MzczNDQydXMgOiBleGVjbGlzdHNfc3Vi bWlzc2lvbl90YXNrbGV0OiByY3MwIGF3YWtlPz0xLCBhY3RpdmU9MAogICAgPDA+IFs0MTIuMzkw MzUwXSBrc29mdGlycS0yNiAgICAgIDNkLnMxIDQwODM3MzQ0M3VzIDogcHJvY2Vzc19jc2I6IHJj czAgY3MtaXJxIGhlYWQ9NSwgdGFpbD01CiAgICA8MD4gWzQxMi4zOTAzNTBdIGk5MTVfc2VsLTQ2 MTMgICAgMC4uLi4gNDA4MzczNDc1dXMgOiBpOTE1X3JlcXVlc3RfcmV0aXJlOiByY3MwIGZlbmNl IDFlOTViOjM2NDAsIGN1cnJlbnQgMzY0OAogICAgPDA+IFs0MTIuMzkwMzUwXSBpOTE1X3NlbC00 NjEzICAgIDAuLi4uIDQwODM3MzQ3NnVzIDogaTkxNV9yZXF1ZXN0X3JldGlyZTogX19yZXRpcmVf ZW5naW5lX3JlcXVlc3QocmNzMCkgZmVuY2UgMWU5NWI6MzY0MCwgY3VycmVudCAzNjQ4CiAgICA8 MD4gWzQxMi4zOTAzNTBdIGk5MTVfc2VsLTQ2MTMgICAgMC4uLi4gNDA4MzczNDk0dXMgOiBfX2k5 MTVfcmVxdWVzdF9jb21taXQ6IHJjczAgZmVuY2UgMWU5NWI6MzY1MAogICAgPDA+IFs0MTIuMzkw MzUwXSBpOTE1X3NlbC00NjEzICAgIDBkLi4xIDQwODM3MzQ5NnVzIDogcHJvY2Vzc19jc2I6IHJj czAgY3MtaXJxIGhlYWQ9NSwgdGFpbD01CiAgICA8MD4gWzQxMi4zOTAzNTBdIGk5MTVfc2VsLTQ2 MTMgICAgMGQuLjEgNDA4MzczNDk2dXMgOiBfX2k5MTVfcmVxdWVzdF9zdWJtaXQ6IHJjczAgZmVu Y2UgMWU5NWI6MzY1MCAtPiBjdXJyZW50IDM2NDgKICAgIDwwPiBbNDEyLjM5MDM1MF0gaTkxNV9z ZWwtNDYxMyAgICAwZC4uMSA0MDgzNzM0OTh1cyA6IF9fZXhlY2xpc3RzX3N1Ym1pc3Npb25fdGFz a2xldDogcmNzMCBpblswXTogIGN0eD0yLjEsIGZlbmNlIDFlOTViOjM2NTAgKGN1cnJlbnQgMzY0 OCksIHByaW89NgogICAgPDA+IFs0MTIuMzkwMzUwXSBpOTE1X3NlbC00NjEzICAgIDAuLi4uIDQw ODM3MzUwMHVzIDogaTkxNV9yZXF1ZXN0X3JldGlyZV91cHRvOiByY3MwIGZlbmNlIDFlOTViOjM2 NDgsIGN1cnJlbnQgMzY0OAogICAgPDA+IFs0MTIuMzkwMzUwXSBpOTE1X3NlbC00NjEzICAgIDAu Li4uIDQwODM3MzUwMHVzIDogaTkxNV9yZXF1ZXN0X3JldGlyZTogcmNzMCBmZW5jZSAxZTk1Yjoz NjQyLCBjdXJyZW50IDM2NDgKICAgIDwwPiBbNDEyLjM5MDM1MF0gaTkxNV9zZWwtNDYxMyAgICAw Li4uLiA0MDgzNzM1MDF1cyA6IGk5MTVfcmVxdWVzdF9yZXRpcmU6IF9fcmV0aXJlX2VuZ2luZV9y ZXF1ZXN0KHJjczApIGZlbmNlIDFlOTViOjM2NDIsIGN1cnJlbnQgMzY0OAogICAgPDA+IFs0MTIu MzkwMzUwXSBpOTE1X3NlbC00NjEzICAgIDAuLi4uIDQwODM3MzUxNHVzIDogaTkxNV9yZXF1ZXN0 X3JldGlyZTogcmNzMCBmZW5jZSAxZTk1YjozNjQ0LCBjdXJyZW50IDM2NDgKICAgIDwwPiBbNDEy LjM5MDM1MF0gaTkxNV9zZWwtNDYxMyAgICAwLi4uLiA0MDgzNzM1MTV1cyA6IGk5MTVfcmVxdWVz dF9yZXRpcmU6IF9fcmV0aXJlX2VuZ2luZV9yZXF1ZXN0KHJjczApIGZlbmNlIDFlOTViOjM2NDQs IGN1cnJlbnQgMzY0OAogICAgPDA+IFs0MTIuMzkwMzUwXSBpOTE1X3NlbC00NjEzICAgIDAuLi4u IDQwODM3MzUyN3VzIDogaTkxNV9yZXF1ZXN0X3JldGlyZTogcmNzMCBmZW5jZSAxZTk1YjozNjQ2 LCBjdXJyZW50IDM2NDAKICAgIDwwPiBbNDEyLjM5MDM1MF0gICA8aWRsZT4tMCAgICAgICAzLi5z MSA0MDgzNzM1Njl1cyA6IGV4ZWNsaXN0c19zdWJtaXNzaW9uX3Rhc2tsZXQ6IHJjczAgYXdha2U/ PTEsIGFjdGl2ZT0xCiAgICA8MD4gWzQxMi4zOTAzNTBdICAgPGlkbGU+LTAgICAgICAgM2QuczIg NDA4MzczNTY5dXMgOiBwcm9jZXNzX2NzYjogcmNzMCBjcy1pcnEgaGVhZD01LCB0YWlsPTEKICAg IDwwPiBbNDEyLjM5MDM1MF0gICA8aWRsZT4tMCAgICAgICAzZC5zMiA0MDgzNzM1NzB1cyA6IHBy b2Nlc3NfY3NiOiByY3MwIGNzYlswXTogc3RhdHVzPTB4MDAwMDAwMDE6MHgwMDAwMDAwMCwgYWN0 aXZlPTB4MQogICAgPDA+IFs0MTIuMzkwMzUwXSAgIDxpZGxlPi0wICAgICAgIDNkLnMyIDQwODM3 MzU3MHVzIDogcHJvY2Vzc19jc2I6IHJjczAgY3NiWzFdOiBzdGF0dXM9MHgwMDAwMDAxODoweDAw MDAwMDAyLCBhY3RpdmU9MHg1CiAgICA8MD4gWzQxMi4zOTAzNTBdICAgPGlkbGU+LTAgICAgICAg M2QuczIgNDA4MzczNTcwdXMgOiBwcm9jZXNzX2NzYjogcmNzMCBvdXRbMF06IGN0eD0yLjEsIGZl bmNlIDFlOTViOjM2NTAgKGN1cnJlbnQgMzY1MCksIHByaW89NgogICAgPDA+IFs0MTIuMzkwMzUw XSAgIDxpZGxlPi0wICAgICAgIDNkLnMyIDQwODM3MzU3MXVzIDogcHJvY2Vzc19jc2I6IHJjczAg Y29tcGxldGVkIGN0eD0yCiAgICA8MD4gWzQxMi4zOTAzNTBdIGk5MTVfc2VsLTQ2MTMgICAgMC4u Li4gNDA4MzczNjIxdXMgOiBpOTE1X3JlcXVlc3RfcmV0aXJlOiBpOTE1X3JlcXVlc3RfcmV0aXJl OjI1MyBHRU1fQlVHX09OKCFpOTE1X3JlcXVlc3RfY29tcGxldGVkKHJlcXVlc3QpKQoKdjI6IEZp eHVwIHRoZSBjYW5jZWxsYXRpb24gcGF0aCB0byBkcmFpbiB0aGUgQ1NCIGFuZCByZXNldCB0aGUg cG9pbnRlcnMuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNv bi5jby51az4KQ2M6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIHwgNTMgKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCAx NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDY5MzFkYmIyODg4 Yy4uODA4ZDgxYjcxZjQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtOTQzLDkgKzk0 MywxMSBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfY2FuY2VsX3JlcXVlc3RzKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkgKi8KIAlzcGluX2xvY2tfaXJxc2F2ZSgmZW5naW5lLT50 aW1lbGluZS5sb2NrLCBmbGFncyk7CiAKKwlwcm9jZXNzX2NzYihlbmdpbmUpOworCXJlc2V0X2Nz Yl9wb2ludGVycygmZW5naW5lLT5leGVjbGlzdHMpOworCiAJLyogQ2FuY2VsIHRoZSByZXF1ZXN0 cyBvbiB0aGUgSFcgYW5kIGNsZWFyIHRoZSBFTFNQIHRyYWNrZXIuICovCiAJZXhlY2xpc3RzX2Nh bmNlbF9wb3J0X3JlcXVlc3RzKGV4ZWNsaXN0cyk7Ci0JZXhlY2xpc3RzX3VzZXJfZW5kKGV4ZWNs aXN0cyk7CiAKIAkvKiBNYXJrIGFsbCBleGVjdXRpbmcgcmVxdWVzdHMgYXMgc2tpcHBlZC4gKi8K IAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJxLCAmZW5naW5lLT50aW1lbGluZS5yZXF1ZXN0cywgbGlu aykgewpAQCAtMTkwNCw3ICsxOTA2LDYgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX3Jlc2V0X3By ZXBhcmUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCiAJLyogQW5kIGZsdXNoIGFu eSBjdXJyZW50IGRpcmVjdCBzdWJtaXNzaW9uLiAqLwogCXNwaW5fbG9ja19pcnFzYXZlKCZlbmdp bmUtPnRpbWVsaW5lLmxvY2ssIGZsYWdzKTsKLQlwcm9jZXNzX2NzYihlbmdpbmUpOyAvKiBkcmFp biBwcmVlbXB0aW9uIGV2ZW50cyAqLwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmVuZ2luZS0+ dGltZWxpbmUubG9jaywgZmxhZ3MpOwogfQogCkBAIC0xOTI4LDEyICsxOTI5LDI5IEBAIHN0YXRp YyBib29sIGxyY19yZWdzX29rKGNvbnN0IHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxKQogc3RhdGlj IHZvaWQgZXhlY2xpc3RzX3Jlc2V0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgYm9v bCBzdGFsbGVkKQogewogCXN0cnVjdCBpbnRlbF9lbmdpbmVfZXhlY2xpc3RzICogY29uc3QgZXhl Y2xpc3RzID0gJmVuZ2luZS0+ZXhlY2xpc3RzOwotCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxOwor CXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxID0gTlVMTDsKKwlzdHJ1Y3QgaW50ZWxfY29udGV4dCAq Y2U7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAl1MzIgKnJlZ3M7CiAKIAlzcGluX2xvY2tfaXJx c2F2ZSgmZW5naW5lLT50aW1lbGluZS5sb2NrLCBmbGFncyk7CiAKKwlHRU1fVFJBQ0UoIiVzXG4i LCBlbmdpbmUtPm5hbWUpOworCXByb2Nlc3NfY3NiKGVuZ2luZSk7IC8qIGRyYWluIHByZWVtcHRp b24gZXZlbnRzICovCisKKwkvKiBGb2xsb3dpbmcgdGhlIHJlc2V0LCB3ZSBuZWVkIHRvIHJlbG9h ZCB0aGUgQ1NCIHJlYWQvd3JpdGUgcG9pbnRlcnMgKi8KKwlyZXNldF9jc2JfcG9pbnRlcnMoJmVu Z2luZS0+ZXhlY2xpc3RzKTsKKworCS8qCisJICogU2F2ZSB0aGUgY3VycmVudGx5IGV4ZWN1dGlu ZyBjb250ZXh0LCBldmVuIGlmIHdlIGNvbXBsZXRlZAorCSAqIGl0cyByZXF1ZXN0LCBpdCB3YXMg c3RpbGwgcnVubmluZyBhdCB0aGUgdGltZSBvZiB0aGUKKwkgKiByZXNldCBhbmQgd2lsbCBoYXZl IGJlZW4gY2xvYmJlcmVkLgorCSAqLworCWlmICghcG9ydF9pc3NldChleGVjbGlzdHMtPnBvcnQp KQorCQlnb3RvIG91dF91bmxvY2s7CisKKwljZSA9IHBvcnRfcmVxdWVzdChleGVjbGlzdHMtPnBv cnQpLT5od19jb250ZXh0OworCiAJLyoKIAkgKiBDYXRjaCB1cCB3aXRoIGFueSBtaXNzZWQgY29u dGV4dC1zd2l0Y2ggaW50ZXJydXB0cy4KIAkgKgpAQCAtMTk0NywxMiArMTk2NSwxMyBAQCBzdGF0 aWMgdm9pZCBleGVjbGlzdHNfcmVzZXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCBi b29sIHN0YWxsZWQpCiAKIAkvKiBQdXNoIGJhY2sgYW55IGluY29tcGxldGUgcmVxdWVzdHMgZm9y IHJlcGxheSBhZnRlciB0aGUgcmVzZXQuICovCiAJcnEgPSBfX3Vud2luZF9pbmNvbXBsZXRlX3Jl cXVlc3RzKGVuZ2luZSk7Ci0KLQkvKiBGb2xsb3dpbmcgdGhlIHJlc2V0LCB3ZSBuZWVkIHRvIHJl bG9hZCB0aGUgQ1NCIHJlYWQvd3JpdGUgcG9pbnRlcnMgKi8KLQlyZXNldF9jc2JfcG9pbnRlcnMo JmVuZ2luZS0+ZXhlY2xpc3RzKTsKLQogCWlmICghcnEpCi0JCWdvdG8gb3V0X3VubG9jazsKKwkJ Z290byBvdXRfcmVwbGF5OworCisJaWYgKHJxLT5od19jb250ZXh0ICE9IGNlKSB7IC8qIGNhdWdo dCBqdXN0IGJlZm9yZSBhIENTIGV2ZW50ICovCisJCXJxID0gTlVMTDsKKwkJZ290byBvdXRfcmVw bGF5OworCX0KIAogCS8qCiAJICogSWYgdGhpcyByZXF1ZXN0IGhhc24ndCBzdGFydGVkIHlldCwg ZS5nLiBpdCBpcyB3YWl0aW5nIG9uIGEKQEAgLTE5NjcsNyArMTk4Niw3IEBAIHN0YXRpYyB2b2lk IGV4ZWNsaXN0c19yZXNldChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIGJvb2wgc3Rh bGxlZCkKIAkgKiBwZXJmZWN0bHkgYW5kIHdlIGRvIG5vdCBuZWVkIHRvIGZsYWcgdGhlIHJlc3Vs dCBhcyBiZWluZyBlcnJvbmVvdXMuCiAJICovCiAJaWYgKCFpOTE1X3JlcXVlc3Rfc3RhcnRlZChy cSkgJiYgbHJjX3JlZ3Nfb2socnEpKQotCQlnb3RvIG91dF91bmxvY2s7CisJCWdvdG8gb3V0X3Jl cGxheTsKIAogCS8qCiAJICogSWYgdGhlIHJlcXVlc3Qgd2FzIGlubm9jZW50LCB3ZSBsZWF2ZSB0 aGUgcmVxdWVzdCBpbiB0aGUgRUxTUApAQCAtMTk4Miw3ICsyMDAxLDcgQEAgc3RhdGljIHZvaWQg ZXhlY2xpc3RzX3Jlc2V0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgYm9vbCBzdGFs bGVkKQogCSAqLwogCWk5MTVfcmVzZXRfcmVxdWVzdChycSwgc3RhbGxlZCk7CiAJaWYgKCFzdGFs bGVkICYmIGxyY19yZWdzX29rKHJxKSkKLQkJZ290byBvdXRfdW5sb2NrOworCQlnb3RvIG91dF9y ZXBsYXk7CiAKIAkvKgogCSAqIFdlIHdhbnQgYSBzaW1wbGUgY29udGV4dCArIHJpbmcgdG8gZXhl Y3V0ZSB0aGUgYnJlYWRjcnVtYiB1cGRhdGUuCkBAIC0xOTkyLDIxICsyMDExLDIzIEBAIHN0YXRp YyB2b2lkIGV4ZWNsaXN0c19yZXNldChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIGJv b2wgc3RhbGxlZCkKIAkgKiBmdXR1cmUgcmVxdWVzdCB3aWxsIGJlIGFmdGVyIHVzZXJzcGFjZSBo YXMgaGFkIHRoZSBvcHBvcnR1bml0eQogCSAqIHRvIHJlY3JlYXRlIGl0cyBvd24gc3RhdGUuCiAJ ICovCi0JcmVncyA9IHJxLT5od19jb250ZXh0LT5scmNfcmVnX3N0YXRlOworCXJlZ3MgPSBjZS0+ bHJjX3JlZ19zdGF0ZTsKIAlpZiAoZW5naW5lLT5waW5uZWRfZGVmYXVsdF9zdGF0ZSkgewogCQlt ZW1jcHkocmVncywgLyogc2tpcCByZXN0b3JpbmcgdGhlIHZhbmlsbGEgUFBIV1NQICovCiAJCSAg ICAgICBlbmdpbmUtPnBpbm5lZF9kZWZhdWx0X3N0YXRlICsgTFJDX1NUQVRFX1BOICogUEFHRV9T SVpFLAogCQkgICAgICAgZW5naW5lLT5jb250ZXh0X3NpemUgLSBQQUdFX1NJWkUpOwogCX0KKwll eGVjbGlzdHNfaW5pdF9yZWdfc3RhdGUocmVncywgY2UsIGVuZ2luZSwgY2UtPnJpbmcpOwogCiAJ LyogUmVydW4gdGhlIHJlcXVlc3Q7IGl0cyBwYXlsb2FkIGhhcyBiZWVuIG5ldXRlcmVkIChpZiBn dWlsdHkpLiAqLwotCXJxLT5yaW5nLT5oZWFkID0gaW50ZWxfcmluZ193cmFwKHJxLT5yaW5nLCBy cS0+aGVhZCk7Ci0JaW50ZWxfcmluZ191cGRhdGVfc3BhY2UocnEtPnJpbmcpOwotCi0JZXhlY2xp c3RzX2luaXRfcmVnX3N0YXRlKHJlZ3MsIHJxLT5od19jb250ZXh0LCBlbmdpbmUsIHJxLT5yaW5n KTsKLQlfX2V4ZWNsaXN0c191cGRhdGVfcmVnX3N0YXRlKHJxLT5od19jb250ZXh0LCBlbmdpbmUp Oworb3V0X3JlcGxheToKKwljZS0+cmluZy0+aGVhZCA9CisJCXJxID8gaW50ZWxfcmluZ193cmFw KGNlLT5yaW5nLCBycS0+aGVhZCkgOiBjZS0+cmluZy0+dGFpbDsKKwlpbnRlbF9yaW5nX3VwZGF0 ZV9zcGFjZShjZS0+cmluZyk7CisJX19leGVjbGlzdHNfdXBkYXRlX3JlZ19zdGF0ZShjZSwgZW5n aW5lKTsKIAogb3V0X3VubG9jazoKKwlleGVjbGlzdHNfY2xlYXJfYWxsX2FjdGl2ZShleGVjbGlz dHMpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmVuZ2luZS0+dGltZWxpbmUubG9jaywgZmxh Z3MpOwogfQogCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeA==