From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhang, Jerry (Junwei)" Subject: Re: =?gbk?Q?=B4=F0=B8=B4=3A_=B4=F0=B8=B4=3A_=B4=F0=B8=B4=3A_?= =?gbk?Q?=5BPATCH=5D_vgaswitchroo=3A_set_audio_client_id_acco?= =?gbk?Q?rding_to_bound_gpu_client_id?= Date: Fri, 29 Jun 2018 17:16:01 +0800 Message-ID: <5B35F8D1.7030505@amd.com> References: <1530166933-21655-1-git-send-email-Jim.Qu@amd.com> <5B359F5E.5080502@amd.com>, , <5B35E25E.9020708@amd.com> , <5B35F3C5.8060709@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "Qu, Jim" , Alex Deucher Cc: "Deucher, Alexander" , amd-gfx list T24gMDYvMjkvMjAxOCAwNDo1OCBQTSwgUXUsIEppbSB3cm90ZToKPiBIaSBKZXJyeSwKPgo+IE5v LCB0aGUgaXNzdWUgaXMgZEdQVSBoYXMgbm8gYXVkaW8uIGFuZCB0aGUgSERBIGRyaXZlciByZWdp c3RlciBpR1BVIGF1ZGlvIGFzIFZHQV9TV0lUQ0hFUk9PX0RJUy4gU28gd2hlbiBkR1BVIHN1c3Bl bmQgYnkgcnVudGltZSBwbSwgaUdQVSBhdWRpbyB3aWxsIGJlIHBvd2VyZCBvZmYsIHNpbmNlIGl0 cyBoYXMgdGhlIHNhbWUgY2xpZW50IGlkIHdpdGggZEdQVS4KClRoYW5rcyB0byBjbGFyaWZ5IHRo ZSBzaXR1YXRpb24uCmFueXdheSwgSERBIHNob3VsZCBzZXBhcmF0ZSBhdWRpbyBmcm9tIGlHUFUg YW5kIGRHUFUuCgogPj4gVGhlIEtleSBwb2ludGVyIGlzIHRoZSBwcm9ibGVtOiBkb2VzIGl0IGV4 aXN0IHRoZSBHRlggZGV2aWNlIGlzIGRlZmluZWQgYXMgUENJX0NMQVNTX0RJU1BMQVlfT1RIRVIg d2l0aCBhdWRpbyBjb2RlYy4KCklJUkMsIGZvciBIRyBjYXNlLCB0aGUgZEdQVSB3aWxsIGJlIHJl Z2lzdGVyZWQgYXMgT1RIRVIuCmlmIGl0IGhhcyBhdWRpbyBjb2RlYywgc3VwcG9zZSB5ZXMuCgpK ZXJyeQoKCj4KPiBUaGFua3MKPiBKaW1RdQo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwo+IOWPkeS7tuS6ujogWmhhbmcsIEplcnJ5Cj4g5Y+R6YCB5pe26Ze0OiAy MDE45bm0NuaciDI55pelIDE2OjU0Cj4g5pS25Lu25Lq6OiBRdSwgSmltOyBBbGV4IERldWNoZXIK PiDmioTpgIE6IERldWNoZXIsIEFsZXhhbmRlcjsgYW1kLWdmeCBsaXN0Cj4g5Li76aKYOiBSZTog 562U5aSNOiDnrZTlpI06IFtQQVRDSF0gdmdhc3dpdGNocm9vOiBzZXQgYXVkaW8gY2xpZW50IGlk IGFjY29yZGluZyB0byBib3VuZCBncHUgY2xpZW50IGlkCj4KPiBPbiAwNi8yOS8yMDE4IDA0OjA2 IFBNLCBRdSwgSmltIHdyb3RlOgo+PiBJIG1lYW4gaWYgdGhlIFZHQV9PVEhFUiBpcyBvbmx5IGZv ciBoZWFkbGVzcywgYW5kIHRoZXJlIGlzIG5vIGF1ZGlvIG9uIHRoZSBoZWFkbGVzcyBHRlguIHRo ZXJlZm9yZSwgdGhlIFBDSV9DTEFTU19ESVNQTEFZX09USEVSIGlzIHVubmVjZXNzYXJ5IGluIGdl dF9ib3VuZF9ncHUoKSBvbiB0aGlzIGNhc2UuCj4+Cj4+IFRoZSBLZXkgcG9pbnRlciBpcyB0aGUg cHJvYmxlbTogZG9lcyBpdCBleGlzdCB0aGUgR0ZYIGRldmljZSBpcyBkZWZpbmVkIGFzIFBDSV9D TEFTU19ESVNQTEFZX09USEVSIHdpdGggYXVkaW8gY29kZWMuCj4KPiBJbiBteSB2aWV3LCBoZWFk bGVzcyBpcyBsaWtlbHkgdG8gaGF2ZSBubyBhdWRpbywKPiB3aGlsZSBkR1BVIHdpdGggZGlzcGxh eSBjb3VsZCBiZSByZWdpc3RlcmVkIGFzIE9USEVSLCBpbiB0aGlzIGNhc2UsIGF1ZGlvIGlzIGNv bnRyb2xsZWQgYnkgSERBIGRyaXZlci4KPgo+IFRvIG15IHVuZGVyc3RhbmRpbmcsIHRoaXMgaXNz dWUgaXMgYWJvdXQgdGhlIGRHUFUgaGFzIGF1ZGlvIGNvZGVjIHJlZ2lzdGVyZWQgYXMgT1RIRVIs IHJpZ2h0Pwo+Cj4gSmVycnkKPgo+Pgo+PiBUaGFua3MKPj4gSmltUXUKPj4KPj4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiDlj5Hku7bkuro6IGFtZC1nZnggPGFt ZC1nZngtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmc+IOS7o+ihqCBaaGFuZywgSmVycnkg KEp1bndlaSkgPEplcnJ5LlpoYW5nQGFtZC5jb20+Cj4+IOWPkemAgeaXtumXtDogMjAxOOW5tDbm nIgyOeaXpSAxNTo0MDoxNAo+PiDmlLbku7bkuro6IFF1LCBKaW07IEFsZXggRGV1Y2hlcgo+PiDm ioTpgIE6IERldWNoZXIsIEFsZXhhbmRlcjsgYW1kLWdmeCBsaXN0Cj4+IOS4u+mimDogUmU6IOet lOWkjTogW1BBVENIXSB2Z2Fzd2l0Y2hyb286IHNldCBhdWRpbyBjbGllbnQgaWQgYWNjb3JkaW5n IHRvIGJvdW5kIGdwdSBjbGllbnQgaWQKPj4KPj4gT24gMDYvMjkvMjAxOCAwMTo1OSBQTSwgUXUs IEppbSB3cm90ZToKPj4+IElmIHRoZSBHRlggaXMgaGVhZGxlc3MsIHRoZSBhdWRpbyBjb2RlYyBz aG91bGQgYmUgZGlzYWJsZWQgb24gUENJRSBidXMuIHRoZSB0aGUgSERBIGRyaXZlciB3aWxsIG5l dmVyIHByb2JlIHRoZSBhdWRpby4gcmlnaHQ/Cj4+Cj4+IEFmdGVyIGNoZWNraW5nIHRoZSBIREEg YSBsaXR0bGUsIGxvb2tzIEhEQSBjb3VsZCBhbHNvIGhhbmRsZSBtYW55IG90aGVyIGF1ZGlvIGRl dmljZXMuCj4+IEluIHRoaXMgY2FzZSwgSERBIG1heSBwcm9iZSBvdGhlciBhdWRpbyBkZXZpY2Us IGUuZy4gZnJvbSBCcmFzd2VsbC4KPj4KPj4gSnVzdCBhIGd1ZXNzLgo+Pgo+PiBKZXJyeQo+Pgo+ Pj4KPj4+IFRoYW5rcwo+Pj4gSmltUXUKPj4+Cj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4+PiDlj5Hku7bkuro6IEFsZXggRGV1Y2hlciA8YWxleGRldWNoZXJA Z21haWwuY29tPgo+Pj4g5Y+R6YCB5pe26Ze0OiAyMDE45bm0NuaciDI55pelIDEyOjAxCj4+PiDm lLbku7bkuro6IFpoYW5nLCBKZXJyeQo+Pj4g5oqE6YCBOiBRdSwgSmltOyBhbWQtZ2Z4IGxpc3Q7 IERldWNoZXIsIEFsZXhhbmRlcgo+Pj4g5Li76aKYOiBSZTogW1BBVENIXSB2Z2Fzd2l0Y2hyb286 IHNldCBhdWRpbyBjbGllbnQgaWQgYWNjb3JkaW5nIHRvIGJvdW5kIGdwdSBjbGllbnQgaWQKPj4+ Cj4+PiBPbiBUaHUsIEp1biAyOCwgMjAxOCBhdCAxMDo1NCBQTSwgWmhhbmcsIEplcnJ5IChKdW53 ZWkpCj4+PiA8SmVycnkuWmhhbmdAYW1kLmNvbT4gd3JvdGU6Cj4+Pj4gT24gMDYvMjgvMjAxOCAw MjoyMiBQTSwgSmltIFF1IHdyb3RlOgo+Pj4+Pgo+Pj4+PiBPbiBtb2Rlcm4gbGFwdG9wLCB0aGVy ZSBhcmUgbW9yZSBhbmQgbW9yZSBwbGF0Zm9ybXMKPj4+Pj4gaGF2ZSB0d28gR1BVcywgYW5kIGVh Y2ggb2YgdGhlbSBtYXliZSBoYXZlIGF1ZGlvIGNvZGVjCj4+Pj4+IGZvciBIRE1QL0RQIG91dHB1 dC4gRm9yIHNvbWUgZEdQVSB3aGljaCBpcyBubyBvdXRwdXQsCj4+Pj4+IGF1ZGlvIGNvZGVjIHVz dWFsbHkgaXMgZGlzYWJsZWQuCj4+Pj4+Cj4+Pj4+IEluIGN1cnJlY3QgSERBIGF1ZGlvIGRyaXZl ciwgaXQgd2lsbCBzZXQgYWxsIGNvZGVjIGFzCj4+Pj4+IFZHQV9TV0lUQ0hFUk9PX0RJUywgc28g aWYgc3lzdGVtIHJ1bnRpbWUgcG0gaXMgZW5hYmxlZCwKPj4+Pj4gdGhlIGF1ZGlvIHdoaWNoIGlz IGJpbmRlZCB0byBVTUEgd2lsbCBiZSBzdXNwZW5kZWQuCj4+Pj4+Cj4+Pj4+IEluIEhEQSBkcml2 ZXIgc2lkZSwgaXQgaXMgZGlmZmljdWx0IHRvIGtub3cgd2hpY2ggR1BVCj4+Pj4+IHRoZSBhdWRp byBoYXMgYmluZGVkIHRvLiBTbyBzZXQgdGhlIGJvdW5kIGdwdSBwY2kgZGV2Cj4+Pj4+IHRvIHZn YXN3aXRjaHJvbywgbGV0IHZnYXN3aXRjaHJvbyBtYWtlIGRlY2lzaW9uLgo+Pj4+Pgo+Pj4+PiBO ZXdlciBkR1BVcyB1c2UgUENJX0NMQVNTX0RJU1BMQVlfT1RIRVIgcmF0aGVyIHRoYW4KPj4+Pj4g UENJX0NMQVNTX0RJU1BMQVlfVkdBLiAgTWFrZSBzdXJlIHdlIGNoZWNrIGZvciBib3RoIHdoZW4K Pj4+Pj4gY2hlY2tpbmcgZm9yIHRoZSBkR1BVIGluIGdldF9ib3VuZF92Z2EoKQo+Pj4+Cj4+Pj4K Pj4+PiBJSVJDLCBWR0EgaXMgZm9yIGlHUFUsIE9USEVSIGlzIGZvciBkR1BVLgo+Pj4+IGlmIG5v dCwgcGxlYXNlIGNvcnJlY3QgbWUuCj4+Pgo+Pj4gSSB0aGluayB0aGUgZEdQVSBjYW4gYmUgZWl0 aGVyIFZHQSBvciBPVEhFUiBkZXBlbmRpbmcgb24gd2hldGhlciB0aGVyZQo+Pj4gYXJlIGRpc3Bs YXlzIHdpcmVkIHRvIGl0LiAgRS5nLiwgaWNlbGFuZCBhbmQgaGFpbmFuIGRvbid0IGV2ZW4gaGF2 ZQo+Pj4gVkdBIGh3IG9uIHRoZW0gc2luY2UgdGhleSBhcmUgaGVhZGxlc3MuCj4+Pgo+Pj4gQWxl eAo+Pj4KPj4+Pgo+Pj4+Cj4+Pj4+Cj4+Pj4+IFRoZSBwYXRjaCBhbHNvIGNvbWJpbmUgdGhlIEhE QSBjaGFuZ2UgdG8gYXZvaWQgYnJlYWsKPj4+Pj4gYnVpbGRpbmcuCj4+Pj4+Cj4+Pj4+IENoYW5n ZS1JZDogSTk5MDZjMWJkNGRkNWIzNjEwOGQ3MTMzYmIxY2Y3MjRkMTNmMWNkNmQKPj4+Pj4gU2ln bmVkLW9mZi1ieTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgo+Pj4+ PiBTaWduZWQtb2ZmLWJ5OiBKaW0gUXUgPEppbS5RdUBhbWQuY29tPgo+Pj4+PiAtLS0KPj4+Pj4g ICAgICBkcml2ZXJzL2dwdS92Z2EvdmdhX3N3aXRjaGVyb28uYyB8IDExICsrKysrKysrKy0tCj4+ Pj4+ICAgICAgaW5jbHVkZS9saW51eC92Z2Ffc3dpdGNoZXJvby5oICAgfCAgNCArKy0tCj4+Pj4+ ICAgICAgc291bmQvcGNpL2hkYS9oZGFfaW50ZWwuYyAgICAgICAgfCAxNSArKysrKysrKystLS0t LS0KPj4+Pj4gICAgICAzIGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDEwIGRlbGV0 aW9ucygtKQo+Pj4+Pgo+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvdmdhL3ZnYV9zd2l0 Y2hlcm9vLmMKPj4+Pj4gYi9kcml2ZXJzL2dwdS92Z2EvdmdhX3N3aXRjaGVyb28uYwo+Pj4+PiBp bmRleCBmYzRhZGYzLi43YjdiMGZkIDEwMDY0NAo+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS92Z2Ev dmdhX3N3aXRjaGVyb28uYwo+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS92Z2EvdmdhX3N3aXRjaGVy b28uYwo+Pj4+PiBAQCAtMzI5LDcgKzMyOSw3IEBAIEVYUE9SVF9TWU1CT0wodmdhX3N3aXRjaGVy b29fcmVnaXN0ZXJfY2xpZW50KTsKPj4+Pj4gICAgICAgKiB2Z2Ffc3dpdGNoZXJvb19yZWdpc3Rl cl9hdWRpb19jbGllbnQgLSByZWdpc3RlciBhdWRpbyBjbGllbnQKPj4+Pj4gICAgICAgKiBAcGRl djogY2xpZW50IHBjaSBkZXZpY2UKPj4+Pj4gICAgICAgKiBAb3BzOiBjbGllbnQgY2FsbGJhY2tz Cj4+Pj4+IC0gKiBAaWQ6IGNsaWVudCBpZGVudGlmaWVyCj4+Pj4+ICsgKiBAYm91bmRfdmdhOiBj bGllbnQgYm91bmQgdmdhIHBjaSBkZXZpY2UKPj4+Pj4gICAgICAgKgo+Pj4+PiAgICAgICAqIFJl Z2lzdGVyIGF1ZGlvIGNsaWVudCAoYXVkaW8gZGV2aWNlIG9uIGEgR1BVKS4gVGhlIGNsaWVudCBp cyBhc3N1bWVkCj4+Pj4+ICAgICAgICogdG8gdXNlIHJ1bnRpbWUgUE0uIEJlZm9yZWhhbmQsIHZn YV9zd2l0Y2hlcm9vX2NsaWVudF9wcm9iZV9kZWZlcigpCj4+Pj4+IEBAIC0zMzksOCArMzM5LDE1 IEBAIEVYUE9SVF9TWU1CT0wodmdhX3N3aXRjaGVyb29fcmVnaXN0ZXJfY2xpZW50KTsKPj4+Pj4g ICAgICAgKi8KPj4+Pj4gICAgICBpbnQgdmdhX3N3aXRjaGVyb29fcmVnaXN0ZXJfYXVkaW9fY2xp ZW50KHN0cnVjdCBwY2lfZGV2ICpwZGV2LAo+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBzdHJ1Y3QgdmdhX3N3aXRjaGVyb29fY2xpZW50X29wcyAqb3BzLAo+Pj4+PiAtICAg ICAgICAgICAgICAgICAgICAgICBlbnVtIHZnYV9zd2l0Y2hlcm9vX2NsaWVudF9pZCBpZCkKPj4+ Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBjaV9kZXYgKmJvdW5kX3ZnYSkKPj4+ Pj4gICAgICB7Cj4+Pj4+ICsgICAgICAgZW51bSB2Z2Ffc3dpdGNoZXJvb19jbGllbnRfaWQgaWQg PSBWR0FfU1dJVENIRVJPT19ESVM7Cj4+Pj4+ICsKPj4+Pj4gKyAgICAgICBpZiAoYm91bmRfdmdh KSB7Cj4+Pj4+ICsgICAgICAgICAgICAgICBpZiAodmdhc3JfcHJpdi5oYW5kbGVyLT5nZXRfY2xp ZW50X2lkKQo+Pj4+Cj4+Pj4KPj4+PiBXZSBtYXkgY29tYmluZSAyICJpZiIgdG9nZXRoZXIuCj4+ Pj4KPj4+PiBBbnl3YXksIHRoZSBwYXRjaCBsb29rcyBmaW5lIGZvciBtZS4KPj4+Pgo+Pj4+IFJl dmlld2VkLWJ5OiBKdW53ZWkgWmhhbmcgPEplcnJ5LlpoYW5nQGFtZC5jb20+Cj4+Pj4KPj4+PiBB ZGRpdGlvbmFsbHksIGJldHRlciB0byBpbmNsdWRlcyBJbnRlbCBndXlzIG1haWwgbGlzdCBhbmQg c291bmQgbWFpbCBsaXN0IGlmCj4+Pj4gYW55Lgo+Pj4+Cj4+Pj4gSmVycnkKPj4+Pgo+Pj4+Cj4+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGlkID0gdmdhc3JfcHJpdi5oYW5kbGVyLT5nZXRf Y2xpZW50X2lkKGJvdW5kX3ZnYSk7Cj4+Pj4+ICsgICAgICAgfQo+Pj4+PiArCj4+Pj4+ICAgICAg ICAgICAgcmV0dXJuIHJlZ2lzdGVyX2NsaWVudChwZGV2LCBvcHMsIGlkIHwgSURfQklUX0FVRElP LCBmYWxzZSwgdHJ1ZSk7Cj4+Pj4+ICAgICAgfQo+Pj4+PiAgICAgIEVYUE9SVF9TWU1CT0wodmdh X3N3aXRjaGVyb29fcmVnaXN0ZXJfYXVkaW9fY2xpZW50KTsKPj4+Pj4gZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvbGludXgvdmdhX3N3aXRjaGVyb28uaAo+Pj4+PiBiL2luY2x1ZGUvbGludXgvdmdhX3N3 aXRjaGVyb28uaAo+Pj4+PiBpbmRleCA3N2YwZjBhLi5hMGM3Yjg2IDEwMDY0NAo+Pj4+PiAtLS0g YS9pbmNsdWRlL2xpbnV4L3ZnYV9zd2l0Y2hlcm9vLmgKPj4+Pj4gKysrIGIvaW5jbHVkZS9saW51 eC92Z2Ffc3dpdGNoZXJvby5oCj4+Pj4+IEBAIC0xNTEsNyArMTUxLDcgQEAgaW50IHZnYV9zd2l0 Y2hlcm9vX3JlZ2lzdGVyX2NsaWVudChzdHJ1Y3QgcGNpX2Rldgo+Pj4+PiAqZGV2LAo+Pj4+PiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZHJpdmVyX3Bvd2VyX2Nv bnRyb2wpOwo+Pj4+PiAgICAgIGludCB2Z2Ffc3dpdGNoZXJvb19yZWdpc3Rlcl9hdWRpb19jbGll bnQoc3RydWN0IHBjaV9kZXYgKnBkZXYsCj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0Cj4+Pj4+IHZnYV9zd2l0Y2hlcm9vX2NsaWVu dF9vcHMgKm9wcywKPj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBlbnVtIHZnYV9zd2l0Y2hlcm9vX2NsaWVudF9pZAo+Pj4+PiBpZCk7Cj4+Pj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBjaV9kZXYgKmJvdW5kX3Zn YSk7Cj4+Pj4+Cj4+Pj4+ICAgICAgdm9pZCB2Z2Ffc3dpdGNoZXJvb19jbGllbnRfZmJfc2V0KHN0 cnVjdCBwY2lfZGV2ICpkZXYsCj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgZmJfaW5mbyAqaW5mbyk7Cj4+Pj4+IEBAIC0xODAsNyArMTgwLDcgQEAgc3Rh dGljIGlubGluZSBpbnQKPj4+Pj4gdmdhX3N3aXRjaGVyb29fcmVnaXN0ZXJfaGFuZGxlcihjb25z dCBzdHJ1Y3QgdmdhX3N3aXRjaGVyb29faGEKPj4+Pj4gICAgICAgICAgICAgICAgICAgIGVudW0g dmdhX3N3aXRjaGVyb29faGFuZGxlcl9mbGFnc190IGhhbmRsZXJfZmxhZ3MpIHsKPj4+Pj4gcmV0 dXJuIDA7IH0KPj4+Pj4gICAgICBzdGF0aWMgaW5saW5lIGludCB2Z2Ffc3dpdGNoZXJvb19yZWdp c3Rlcl9hdWRpb19jbGllbnQoc3RydWN0IHBjaV9kZXYKPj4+Pj4gKnBkZXYsCj4+Pj4+ICAgICAg ICAgICAgY29uc3Qgc3RydWN0IHZnYV9zd2l0Y2hlcm9vX2NsaWVudF9vcHMgKm9wcywKPj4+Pj4g LSAgICAgICBlbnVtIHZnYV9zd2l0Y2hlcm9vX2NsaWVudF9pZCBpZCkgeyByZXR1cm4gMDsgfQo+ Pj4+PiArICAgICAgIHN0cnVjdCBwY2lfZGV2ICpib3VuZF92Z2EpIHsgcmV0dXJuIDA7IH0KPj4+ Pj4gICAgICBzdGF0aWMgaW5saW5lIHZvaWQgdmdhX3N3aXRjaGVyb29fdW5yZWdpc3Rlcl9oYW5k bGVyKHZvaWQpIHt9Cj4+Pj4+ICAgICAgc3RhdGljIGlubGluZSBlbnVtIHZnYV9zd2l0Y2hlcm9v X2hhbmRsZXJfZmxhZ3NfdAo+Pj4+PiB2Z2Ffc3dpdGNoZXJvb19oYW5kbGVyX2ZsYWdzKHZvaWQp IHsgcmV0dXJuIDA7IH0KPj4+Pj4gICAgICBzdGF0aWMgaW5saW5lIGludCB2Z2Ffc3dpdGNoZXJv b19sb2NrX2RkYyhzdHJ1Y3QgcGNpX2RldiAqcGRldikgeyByZXR1cm4KPj4+Pj4gLUVOT0RFVjsg fQo+Pj4+PiBkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9oZGFfaW50ZWwuYyBiL3NvdW5kL3Bj aS9oZGEvaGRhX2ludGVsLmMKPj4+Pj4gaW5kZXggMWFlMTg1MC4uOGY5OTJlNiAxMDA2NDQKPj4+ Pj4gLS0tIGEvc291bmQvcGNpL2hkYS9oZGFfaW50ZWwuYwo+Pj4+PiArKysgYi9zb3VuZC9wY2kv aGRhL2hkYV9pbnRlbC5jCj4+Pj4+IEBAIC0xMzE5LDE1ICsxMzE5LDE3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgdmdhX3N3aXRjaGVyb29fY2xpZW50X29wcwo+Pj4+PiBhenhfdnNfb3BzID0gewo+ Pj4+PiAgICAgIHN0YXRpYyBpbnQgcmVnaXN0ZXJfdmdhX3N3aXRjaGVyb28oc3RydWN0IGF6eCAq Y2hpcCkKPj4+Pj4gICAgICB7Cj4+Pj4+ICAgICAgICAgICAgc3RydWN0IGhkYV9pbnRlbCAqaGRh ID0gY29udGFpbmVyX29mKGNoaXAsIHN0cnVjdCBoZGFfaW50ZWwsCj4+Pj4+IGNoaXApOwo+Pj4+ PiArICAgICAgIHN0cnVjdCBwY2lfZGV2ICpwOwo+Pj4+PiAgICAgICAgICAgIGludCBlcnI7Cj4+ Pj4+Cj4+Pj4+ICAgICAgICAgICAgaWYgKCFoZGEtPnVzZV92Z2Ffc3dpdGNoZXJvbykKPj4+Pj4g ICAgICAgICAgICAgICAgICAgIHJldHVybiAwOwo+Pj4+PiAtICAgICAgIC8qIEZJWE1FOiBjdXJy ZW50bHkgb25seSBoYW5kbGluZyBESVMgY29udHJvbGxlcgo+Pj4+PiAtICAgICAgICAqIGlzIHRo ZXJlIGFueSBtYWNoaW5lIHdpdGggdHdvIHN3aXRjaGFibGUgSERNSSBhdWRpbwo+Pj4+PiBjb250 cm9sbGVycz8KPj4+Pj4gLSAgICAgICAgKi8KPj4+Pj4gLSAgICAgICBlcnIgPSB2Z2Ffc3dpdGNo ZXJvb19yZWdpc3Rlcl9hdWRpb19jbGllbnQoY2hpcC0+cGNpLCAmYXp4X3ZzX29wcywKPj4+Pj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkdBX1NX SVRDSEVST09fRElTKTsKPj4+Pj4gKwo+Pj4+PiArICAgICAgIHAgPSBnZXRfYm91bmRfdmdhKGNo aXAtPnBjaSk7Cj4+Pj4+ICsgICAgICAgZXJyID0gdmdhX3N3aXRjaGVyb29fcmVnaXN0ZXJfYXVk aW9fY2xpZW50KGNoaXAtPnBjaSwgJmF6eF92c19vcHMsCj4+Pj4+IHApOwo+Pj4+PiArCj4+Pj4+ ICsgICAgICAgaWYgKHApCj4+Pj4+ICsgICAgICAgICAgICAgICBwY2lfZGV2X3B1dChwKTsKPj4+ Pj4gICAgICAgICAgICBpZiAoZXJyIDwgMCkKPj4+Pj4gICAgICAgICAgICAgICAgICAgIHJldHVy biBlcnI7Cj4+Pj4+ICAgICAgICAgICAgaGRhLT52Z2Ffc3dpdGNoZXJvb19yZWdpc3RlcmVkID0g MTsKPj4+Pj4gQEAgLTE0MjksNyArMTQzMSw4IEBAIHN0YXRpYyBzdHJ1Y3QgcGNpX2RldiAqZ2V0 X2JvdW5kX3ZnYShzdHJ1Y3QgcGNpX2Rldgo+Pj4+PiAqcGNpKQo+Pj4+PiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwID0KPj4+Pj4gcGNpX2dldF9kb21haW5fYnVzX2FuZF9zbG90KHBjaV9k b21haW5fbnIocGNpLT5idXMpLAo+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjaS0+YnVzLT5udW1iZXIsCj4+Pj4+IDApOwo+ Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocCkgewo+Pj4+PiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlmICgocC0+Y2xhc3MgPj4gOCkgPT0KPj4+Pj4gUENJX0NM QVNTX0RJU1BMQVlfVkdBKQo+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm ICgocC0+Y2xhc3MgPj4gOCkgPT0KPj4+Pj4gUENJX0NMQVNTX0RJU1BMQVlfVkdBIHx8Cj4+Pj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHAtPmNsYXNzID4+IDgpID09Cj4+Pj4+ IFBDSV9DTEFTU19ESVNQTEFZX09USEVSKQo+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcmV0dXJuIHA7Cj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGNpX2Rldl9wdXQocCk7Cj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KPj4+Pj4KPj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+Pj4+IGFtZC1nZnggbWFpbGluZyBsaXN0Cj4+Pj4gYW1kLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPj4+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2FtZC1nZngKPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPj4gYW1kLWdmeCBtYWlsaW5nIGxpc3QKPj4gYW1kLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9hbWQtZ2Z4Cj4+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=