From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Herrenschmidt Subject: Re: [PATCH] drm/ast: Fixed system hanged if disable P2A Date: Thu, 16 Feb 2017 14:58:03 +1100 Message-ID: <1487217483.23576.46.camel@au1.ibm.com> References: <1485395140-8230-1-git-send-email-yc_chen@aspeedtech.com> Reply-To: benh@au1.ibm.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8BD3E6EA20 for ; Thu, 16 Feb 2017 03:59:06 +0000 (UTC) Received: from pps.filterd (m0098393.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id v1G3x2LS078615 for ; Wed, 15 Feb 2017 22:59:05 -0500 Received: from e23smtp02.au.ibm.com (e23smtp02.au.ibm.com [202.81.31.144]) by mx0a-001b2d01.pphosted.com with ESMTP id 28mq9m9671-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Wed, 15 Feb 2017 22:59:05 -0500 Received: from localhost by e23smtp02.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 16 Feb 2017 13:59:03 +1000 Received: from d23relay08.au.ibm.com (d23relay08.au.ibm.com [9.185.71.33]) by d23dlp02.au.ibm.com (Postfix) with ESMTP id 5FD6F2BB0055 for ; Thu, 16 Feb 2017 14:59:00 +1100 (EST) Received: from d23av06.au.ibm.com (d23av06.au.ibm.com [9.190.235.151]) by d23relay08.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id v1G3wqwV14811220 for ; Thu, 16 Feb 2017 14:59:00 +1100 Received: from d23av06.au.ibm.com (localhost [127.0.0.1]) by d23av06.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id v1G3wRFI007959 for ; Thu, 16 Feb 2017 14:58:28 +1100 In-Reply-To: <1485395140-8230-1-git-send-email-yc_chen@aspeedtech.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Y.C. Chen" , dri-devel@lists.freedesktop.org Cc: Russell Currey , airlied@redhat.com, eich@suse.com List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCAyMDE3LTAxLTI2IGF0IDA5OjQ1ICswODAwLCBZLkMuIENoZW4gd3JvdGU6Cj4gRnJv bTogIlkuQy4gQ2hlbiIgPHljX2NoZW5AYXNwZWVkdGVjaC5jb20+Cj4gCj4gVGhlIG9yaWdpbmFs IGFzdCBkcml2ZXIgd2lsbCBhY2Nlc3Mgc29tZSBCTUMgY29uZmlndXJhdGlvbiB0aHJvdWdoCj4g UDJBIGJyaWRnZQo+IHRoYXQgY2FuIGJlIGRpc2FibGVkIHNpbmNlIEFTVDIzMDAgYW5kIGFmdGVy Lgo+IEl0IHdpbGwgY2F1c2Ugc3lzdGVtIGhhbmdlZCBpZiBQMkEgYnJpZGdlIGlzIGRpc2FibGVk Lgo+IEhlcmUgaXMgdGhlIHVwZGF0ZSB0byBmaXggaXQuCgpXaWxsIHRoaXMgd29yayBmb3IgdXMg b24gUE9XRVIgPyBUaGUgcHJvYmxlbSB3ZSBvYnNlcnZlZCBpcyB0aGF0IGlmIFAyQQppcyBkaXNh YmxlZCwgdGhlIHJlYWQgZnJvbSBmMDB4IHNlZW1zIHRvIG5vdCByZXNwb25kLCBpZSwgd2UgZ2V0 IGEgUENJZQp0YXJnZXQgYWJvcnQgb24gdGhlIE1NSU8sIG5vdCAweGZmZmZfZmZmZi4gVGhhdCB0 cmlwcyBvdXIgSFcgZXJyb3IKZGV0ZWN0aW9uIG1lY2hhbmlzbSAiRUVIIiB3aGljaCB3aWxsIHRh a2Ugb3V0IHRoZSBlbnRpcmUgZGV2aWNlLgoKUnVzc2VsbCAoQ0MpIHByb3Bvc2VkIGEgcGF0Y2gg YSB3aGlsZSBhZ28gdGhhdCBzZWVtcyB0byBoYXZlIGdvbmUKbm93aGVyZSB0aGF0IGFsbG93cyB0 aGUgZHJpdmVyIHRvIHJldHJpZXZlIGFsbCB0aGUgaW5mb3JtYXRpb24gaXQKbmVlZHMgZnJvbSB0 aGUgZGV2aWNlLXRyZWUgb24gcGxhdGZvcm1zIHRoYXQgc3VwcG9ydCBpdC4KClRoYXQgYWxsb3dz IHVzIHRvIGdyYWIgdGhlIG5lY2Vzc2FyeSBpbmZvIGZyb20gZmlybXdhcmUgYmVmb3JlIHRoZQpi cmlkZ2UgaXMgY2xvc2VkIChvciB2aWEgc29tZSBzcGVjaWZpYyBCTUMgaW50ZXJmYWNlIHdlIGhh dmUgaWYgd2UKY2xvc2UgdGhlIGJyaWRnZSkgYW5kIHBhc3MgaXQgdG8gTGludXguCgpBbnkgcmVh c29uIHRoYXQgcGF0Y2ggaGFzbid0IGJlZW4gbWVyZ2VkID8gRGF2ZSA/CgpDaGVlcnMsCkJlbi4K Cgo+IFNpZ25lZC1vZmYtYnk6IFkuQy4gQ2hlbiA8eWNfY2hlbkBhc3BlZWR0ZWNoLmNvbT4KPiAt LS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2Rydi5owqDCoHzCoMKgwqAxICsKPiDCoGRy aXZlcnMvZ3B1L2RybS9hc3QvYXN0X21haW4uYyB8IDE1NiArKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tCj4gLS0tLS0tLS0tLQo+IMKgZHJpdmVycy9ncHUvZHJtL2FzdC9hc3RfcG9zdC5j IHzCoMKgMTggKysrLS0KPiDCoDMgZmlsZXMgY2hhbmdlZCwgOTYgaW5zZXJ0aW9ucygrKSwgNzkg ZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2Ry di5oCj4gYi9kcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9kcnYuaAo+IGluZGV4IDkwODAxMWQuLjdh YmRhOTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FzdC9hc3RfZHJ2LmgKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9kcnYuaAo+IEBAIC0xMTMsNiArMTEzLDcgQEAgc3Ry dWN0IGFzdF9wcml2YXRlIHsKPiDCoAlzdHJ1Y3QgdHRtX2JvX2ttYXBfb2JqIGNhY2hlX2ttYXA7 Cj4gwqAJaW50IG5leHRfY3Vyc29yOwo+IMKgCWJvb2wgc3VwcG9ydF93aWRlX3NjcmVlbjsKPiAr CWJvb2wgRGlzYWJsZVAyQTsKPiDCoAo+IMKgCWVudW0gYXN0X3R4X2NoaXAgdHhfY2hpcF90eXBl Owo+IMKgCXU4IGRwNTAxX21heGNsazsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Fz dC9hc3RfbWFpbi5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9tYWluLmMKPiBpbmRleCBm NzVjNjQyLi5jMzc0Njg1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X21h aW4uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X21haW4uYwo+IEBAIC0xMjQsNiAr MTI0LDExIEBAIHN0YXRpYyBpbnQgYXN0X2RldGVjdF9jaGlwKHN0cnVjdCBkcm1fZGV2aWNlCj4g KmRldiwgYm9vbCAqbmVlZF9wb3N0KQo+IMKgCX0gZWxzZQo+IMKgCQkqbmVlZF9wb3N0ID0gZmFs c2U7Cj4gwqAKPiArCS8qIENoZWNrIFAyQSBBY2Nlc3MgKi8KPiArCWFzdC0+RGlzYWJsZVAyQSA9 IHRydWU7Cj4gKwlkYXRhID0gYXN0X3JlYWQzMihhc3QsIDB4ZjAwNCk7Cj4gKwlpZiAoZGF0YSAh PSAweEZGRkZGRkZGKSBhc3QtPkRpc2FibGVQMkEgPSBmYWxzZTsKPiArCj4gwqAJLyogQ2hlY2sg aWYgd2Ugc3VwcG9ydCB3aWRlIHNjcmVlbiAqLwo+IMKgCXN3aXRjaCAoYXN0LT5jaGlwKSB7Cj4g wqAJY2FzZSBBU1QxMTgwOgo+IEBAIC0xNDAsMTUgKzE0NSwxNyBAQCBzdGF0aWMgaW50IGFzdF9k ZXRlY3RfY2hpcChzdHJ1Y3QgZHJtX2RldmljZQo+ICpkZXYsIGJvb2wgKm5lZWRfcG9zdCkKPiDC oAkJCWFzdC0+c3VwcG9ydF93aWRlX3NjcmVlbiA9IHRydWU7Cj4gwqAJCWVsc2Ugewo+IMKgCQkJ YXN0LT5zdXBwb3J0X3dpZGVfc2NyZWVuID0gZmFsc2U7Cj4gLQkJCS8qIFJlYWQgU0NVN2MgKHNp bGljb24gcmV2aXNpb24gcmVnaXN0ZXIpICovCj4gLQkJCWFzdF93cml0ZTMyKGFzdCwgMHhmMDA0 LCAweDFlNmUwMDAwKTsKPiAtCQkJYXN0X3dyaXRlMzIoYXN0LCAweGYwMDAsIDB4MSk7Cj4gLQkJ CWRhdGEgPSBhc3RfcmVhZDMyKGFzdCwgMHgxMjA3Yyk7Cj4gLQkJCWRhdGEgJj0gMHgzMDA7Cj4g LQkJCWlmIChhc3QtPmNoaXAgPT0gQVNUMjMwMCAmJiBkYXRhID09IDB4MCkgLyoKPiBhc3QxMzAw ICovCj4gLQkJCQlhc3QtPnN1cHBvcnRfd2lkZV9zY3JlZW4gPSB0cnVlOwo+IC0JCQlpZiAoYXN0 LT5jaGlwID09IEFTVDI0MDAgJiYgZGF0YSA9PSAweDEwMCkKPiAvKiBhc3QxNDAwICovCj4gLQkJ CQlhc3QtPnN1cHBvcnRfd2lkZV9zY3JlZW4gPSB0cnVlOwo+ICsJCQlpZiAoYXN0LT5EaXNhYmxl UDJBID09IGZhbHNlKSB7Cj4gKwkJCQkvKiBSZWFkIFNDVTdjIChzaWxpY29uIHJldmlzaW9uCj4g cmVnaXN0ZXIpICovCj4gKwkJCQlhc3Rfd3JpdGUzMihhc3QsIDB4ZjAwNCwKPiAweDFlNmUwMDAw KTsKPiArCQkJCWFzdF93cml0ZTMyKGFzdCwgMHhmMDAwLCAweDEpOwo+ICsJCQkJZGF0YSA9IGFz dF9yZWFkMzIoYXN0LCAweDEyMDdjKTsKPiArCQkJCWRhdGEgJj0gMHgzMDA7Cj4gKwkJCQlpZiAo YXN0LT5jaGlwID09IEFTVDIzMDAgJiYgZGF0YSA9PQo+IDB4MCkgLyogYXN0MTMwMCAqLwo+ICsJ CQkJCWFzdC0+c3VwcG9ydF93aWRlX3NjcmVlbiA9Cj4gdHJ1ZTsKPiArCQkJCWlmIChhc3QtPmNo aXAgPT0gQVNUMjQwMCAmJiBkYXRhID09Cj4gMHgxMDApIC8qIGFzdDE0MDAgKi8KPiArCQkJCQlh c3QtPnN1cHBvcnRfd2lkZV9zY3JlZW4gPQo+IHRydWU7Cj4gKwkJCX0KPiDCoAkJfQo+IMKgCQli cmVhazsKPiDCoAl9Cj4gQEAgLTIxNiw4MCArMjIzLDgxIEBAIHN0YXRpYyBpbnQgYXN0X2dldF9k cmFtX2luZm8oc3RydWN0IGRybV9kZXZpY2UKPiAqZGV2KQo+IMKgCXVpbnQzMl90IGRhdGEsIGRh dGEyOwo+IMKgCXVpbnQzMl90IGRlbnVtLCBudW0sIGRpdiwgcmVmX3BsbDsKPiDCoAo+IC0JYXN0 X3dyaXRlMzIoYXN0LCAweGYwMDQsIDB4MWU2ZTAwMDApOwo+IC0JYXN0X3dyaXRlMzIoYXN0LCAw eGYwMDAsIDB4MSk7Cj4gLQo+IC0KPiAtCWFzdF93cml0ZTMyKGFzdCwgMHgxMDAwMCwgMHhmYzYw MDMwOSk7Cj4gLQo+IC0JZG8gewo+IC0JCWlmIChwY2lfY2hhbm5lbF9vZmZsaW5lKGRldi0+cGRl dikpCj4gLQkJCXJldHVybiAtRUlPOwo+IC0JfSB3aGlsZSAoYXN0X3JlYWQzMihhc3QsIDB4MTAw MDApICE9IDB4MDEpOwo+IC0JZGF0YSA9IGFzdF9yZWFkMzIoYXN0LCAweDEwMDA0KTsKPiAtCj4g LQlpZiAoZGF0YSAmIDB4NDApCj4gKwlpZiAoYXN0LT5EaXNhYmxlUDJBKQo+ICsJewo+IMKgCQlh c3QtPmRyYW1fYnVzX3dpZHRoID0gMTY7Cj4gKwkJYXN0LT5kcmFtX3R5cGUgPSBBU1RfRFJBTV8x R3gxNjsKPiArCQlhc3QtPm1jbGsgPSAzOTY7Cj4gKwl9Cj4gwqAJZWxzZQo+IC0JCWFzdC0+ZHJh bV9idXNfd2lkdGggPSAzMjsKPiArCXsKPiArCQlhc3Rfd3JpdGUzMihhc3QsIDB4ZjAwNCwgMHgx ZTZlMDAwMCk7Cj4gKwkJYXN0X3dyaXRlMzIoYXN0LCAweGYwMDAsIDB4MSk7Cj4gKwkJZGF0YSA9 IGFzdF9yZWFkMzIoYXN0LCAweDEwMDA0KTsKPiArCj4gKwkJaWYgKGRhdGEgJiAweDQwKQo+ICsJ CQlhc3QtPmRyYW1fYnVzX3dpZHRoID0gMTY7Cj4gKwkJZWxzZQo+ICsJCQlhc3QtPmRyYW1fYnVz X3dpZHRoID0gMzI7Cj4gKwo+ICsJCWlmIChhc3QtPmNoaXAgPT0gQVNUMjMwMCB8fCBhc3QtPmNo aXAgPT0gQVNUMjQwMCkgewo+ICsJCQlzd2l0Y2ggKGRhdGEgJiAweDAzKSB7Cj4gKwkJCWNhc2Ug MDoKPiArCQkJCWFzdC0+ZHJhbV90eXBlID0gQVNUX0RSQU1fNTEyTXgxNjsKPiArCQkJCWJyZWFr Owo+ICsJCQlkZWZhdWx0Ogo+ICsJCQljYXNlIDE6Cj4gKwkJCQlhc3QtPmRyYW1fdHlwZSA9IEFT VF9EUkFNXzFHeDE2Owo+ICsJCQkJYnJlYWs7Cj4gKwkJCWNhc2UgMjoKPiArCQkJCWFzdC0+ZHJh bV90eXBlID0gQVNUX0RSQU1fMkd4MTY7Cj4gKwkJCQlicmVhazsKPiArCQkJY2FzZSAzOgo+ICsJ CQkJYXN0LT5kcmFtX3R5cGUgPSBBU1RfRFJBTV80R3gxNjsKPiArCQkJCWJyZWFrOwo+ICsJCQl9 Cj4gKwkJfSBlbHNlIHsKPiArCQkJc3dpdGNoIChkYXRhICYgMHgwYykgewo+ICsJCQljYXNlIDA6 Cj4gKwkJCWNhc2UgNDoKPiArCQkJCWFzdC0+ZHJhbV90eXBlID0gQVNUX0RSQU1fNTEyTXgxNjsK PiArCQkJCWJyZWFrOwo+ICsJCQljYXNlIDg6Cj4gKwkJCQlpZiAoZGF0YSAmIDB4NDApCj4gKwkJ CQkJYXN0LT5kcmFtX3R5cGUgPQo+IEFTVF9EUkFNXzFHeDE2Owo+ICsJCQkJZWxzZQo+ICsJCQkJ CWFzdC0+ZHJhbV90eXBlID0KPiBBU1RfRFJBTV81MTJNeDMyOwo+ICsJCQkJYnJlYWs7Cj4gKwkJ CWNhc2UgMHhjOgo+ICsJCQkJYXN0LT5kcmFtX3R5cGUgPSBBU1RfRFJBTV8xR3gzMjsKPiArCQkJ CWJyZWFrOwo+ICsJCQl9Cj4gKwkJfQo+IMKgCj4gLQlpZiAoYXN0LT5jaGlwID09IEFTVDIzMDAg fHwgYXN0LT5jaGlwID09IEFTVDI0MDApIHsKPiAtCQlzd2l0Y2ggKGRhdGEgJiAweDAzKSB7Cj4g LQkJY2FzZSAwOgo+IC0JCQlhc3QtPmRyYW1fdHlwZSA9IEFTVF9EUkFNXzUxMk14MTY7Cj4gLQkJ CWJyZWFrOwo+IC0JCWRlZmF1bHQ6Cj4gLQkJY2FzZSAxOgo+IC0JCQlhc3QtPmRyYW1fdHlwZSA9 IEFTVF9EUkFNXzFHeDE2Owo+IC0JCQlicmVhazsKPiAtCQljYXNlIDI6Cj4gLQkJCWFzdC0+ZHJh bV90eXBlID0gQVNUX0RSQU1fMkd4MTY7Cj4gLQkJCWJyZWFrOwo+ICsJCWRhdGEgPSBhc3RfcmVh ZDMyKGFzdCwgMHgxMDEyMCk7Cj4gKwkJZGF0YTIgPSBhc3RfcmVhZDMyKGFzdCwgMHgxMDE3MCk7 Cj4gKwkJaWYgKGRhdGEyICYgMHgyMDAwKQo+ICsJCQlyZWZfcGxsID0gMTQzMTg7Cj4gKwkJZWxz ZQo+ICsJCQlyZWZfcGxsID0gMTIwMDA7Cj4gKwo+ICsJCWRlbnVtID0gZGF0YSAmIDB4MWY7Cj4g KwkJbnVtID0gKGRhdGEgJiAweDNmZTApID4+IDU7Cj4gKwkJZGF0YSA9IChkYXRhICYgMHhjMDAw KSA+PiAxNDsKPiArCQlzd2l0Y2ggKGRhdGEpIHsKPiDCoAkJY2FzZSAzOgo+IC0JCQlhc3QtPmRy YW1fdHlwZSA9IEFTVF9EUkFNXzRHeDE2Owo+IC0JCQlicmVhazsKPiAtCQl9Cj4gLQl9IGVsc2Ug ewo+IC0JCXN3aXRjaCAoZGF0YSAmIDB4MGMpIHsKPiAtCQljYXNlIDA6Cj4gLQkJY2FzZSA0Ogo+ IC0JCQlhc3QtPmRyYW1fdHlwZSA9IEFTVF9EUkFNXzUxMk14MTY7Cj4gKwkJCWRpdiA9IDB4NDsK PiDCoAkJCWJyZWFrOwo+IC0JCWNhc2UgODoKPiAtCQkJaWYgKGRhdGEgJiAweDQwKQo+IC0JCQkJ YXN0LT5kcmFtX3R5cGUgPSBBU1RfRFJBTV8xR3gxNjsKPiAtCQkJZWxzZQo+IC0JCQkJYXN0LT5k cmFtX3R5cGUgPSBBU1RfRFJBTV81MTJNeDMyOwo+ICsJCWNhc2UgMjoKPiArCQljYXNlIDE6Cj4g KwkJCWRpdiA9IDB4MjsKPiDCoAkJCWJyZWFrOwo+IC0JCWNhc2UgMHhjOgo+IC0JCQlhc3QtPmRy YW1fdHlwZSA9IEFTVF9EUkFNXzFHeDMyOwo+ICsJCWRlZmF1bHQ6Cj4gKwkJCWRpdiA9IDB4MTsK PiDCoAkJCWJyZWFrOwo+IMKgCQl9Cj4gKwkJYXN0LT5tY2xrID0gcmVmX3BsbCAqIChudW0gKyAy KSAvIChkZW51bSArIDIpICogKGRpdgo+ICogMTAwMCk7Cj4gwqAJfQo+IC0KPiAtCWRhdGEgPSBh c3RfcmVhZDMyKGFzdCwgMHgxMDEyMCk7Cj4gLQlkYXRhMiA9IGFzdF9yZWFkMzIoYXN0LCAweDEw MTcwKTsKPiAtCWlmIChkYXRhMiAmIDB4MjAwMCkKPiAtCQlyZWZfcGxsID0gMTQzMTg7Cj4gLQll bHNlCj4gLQkJcmVmX3BsbCA9IDEyMDAwOwo+IC0KPiAtCWRlbnVtID0gZGF0YSAmIDB4MWY7Cj4g LQludW0gPSAoZGF0YSAmIDB4M2ZlMCkgPj4gNTsKPiAtCWRhdGEgPSAoZGF0YSAmIDB4YzAwMCkg Pj4gMTQ7Cj4gLQlzd2l0Y2ggKGRhdGEpIHsKPiAtCWNhc2UgMzoKPiAtCQlkaXYgPSAweDQ7Cj4g LQkJYnJlYWs7Cj4gLQljYXNlIDI6Cj4gLQljYXNlIDE6Cj4gLQkJZGl2ID0gMHgyOwo+IC0JCWJy ZWFrOwo+IC0JZGVmYXVsdDoKPiAtCQlkaXYgPSAweDE7Cj4gLQkJYnJlYWs7Cj4gLQl9Cj4gLQlh c3QtPm1jbGsgPSByZWZfcGxsICogKG51bSArIDIpIC8gKGRlbnVtICsgMikgKiAoZGl2ICoKPiAx MDAwKTsKPiDCoAlyZXR1cm4gMDsKPiDCoH0KPiDCoAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYXN0L2FzdF9wb3N0LmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X3Bvc3QuYwo+ IGluZGV4IDgxMGM1MWQuLjUzMzFlZTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Fz dC9hc3RfcG9zdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FzdC9hc3RfcG9zdC5jCj4gQEAg LTM3OSwxMiArMzc5LDIwIEBAIHZvaWQgYXN0X3Bvc3RfZ3B1KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCj4gwqAJYXN0X29wZW5fa2V5KGFzdCk7Cj4gwqAJYXN0X3NldF9kZWZfZXh0X3JlZyhkZXYp Owo+IMKgCj4gLQlpZiAoYXN0LT5jaGlwID09IEFTVDIzMDAgfHwgYXN0LT5jaGlwID09IEFTVDI0 MDApCj4gLQkJYXN0X2luaXRfZHJhbV8yMzAwKGRldik7Cj4gLQllbHNlCj4gLQkJYXN0X2luaXRf ZHJhbV9yZWcoZGV2KTsKPiArCWlmIChhc3QtPkRpc2FibGVQMkEgPT0gZmFsc2UpCj4gKwl7Cj4g KwkJaWYgKGFzdC0+Y2hpcCA9PSBBU1QyMzAwIHx8IGFzdC0+Y2hpcCA9PSBBU1QyNDAwKQo+ICsJ CQlhc3RfaW5pdF9kcmFtXzIzMDAoZGV2KTsKPiArCQllbHNlCj4gKwkJCWFzdF9pbml0X2RyYW1f cmVnKGRldik7Cj4gwqAKPiAtCWFzdF9pbml0XzNyZHR4KGRldik7Cj4gKwkJYXN0X2luaXRfM3Jk dHgoZGV2KTsKPiArCX0KPiArCWVsc2UKPiArCXsKPiArCQlpZiAoYXN0LT50eF9jaGlwX3R5cGUg IT0gQVNUX1RYX05PTkUpCj4gKwkJCWFzdF9zZXRfaW5kZXhfcmVnX21hc2soYXN0LAo+IEFTVF9J T19DUlRDX1BPUlQsIDB4YTMsIDB4Y2YsIDB4ODApOwkvKiBFbmFibGUgRFZPICovCj4gKwl9Cj4g wqB9Cj4gwqAKPiDCoC8qIEFTVCAyMzAwIERSQU0gc2V0dGluZ3MgKi8KCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=