From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= Subject: Re: [PATCH 1/2] drm/radeon: Only enable and handle pageflip interrupts when needed Date: Thu, 26 Jun 2014 12:39:02 +0200 Message-ID: <53ABF846.4080401@vodafone.de> References: <1403774992-3323-1-git-send-email-michel@daenzer.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from pegasos-out.vodafone.de (pegasos-out.vodafone.de [80.84.1.38]) by gabe.freedesktop.org (Postfix) with ESMTP id 4832C6E257 for ; Thu, 26 Jun 2014 03:39:18 -0700 (PDT) In-Reply-To: <1403774992-3323-1-git-send-email-michel@daenzer.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?B?TWljaGVsIETDpG56ZXI=?= , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org QW0gMjYuMDYuMjAxNCAxMToyOSwgc2NocmllYiBNaWNoZWwgRMOkbnplcjoKPiBGcm9tOiBNaWNo ZWwgRMOkbnplciA8bWljaGVsLmRhZW56ZXJAYW1kLmNvbT4KPgo+IFByZXZlbnRzIHJhZGVvbl9j cnRjX2hhbmRsZV9mbGlwKCkgZnJvbSBydW5uaW5nIGJlZm9yZQo+IHJhZGVvbl9mbGlwX3dvcmtf ZnVuYygpLCByZXN1bHRpbmcgaW4gYSBrZXJuZWwgcGFuaWMgZHVlIHRvIHRoZSBCVUdfT04oKQo+ IGluIGRybV92YmxhbmtfcHV0KCkuCj4KPiBUZXN0ZWQtYnk6IERpZXRlciBOw7x0emVsIDxEaWV0 ZXJAbnVldHplbC1oaC5kZT4KPiBTaWduZWQtb2ZmLWJ5OiBNaWNoZWwgRMOkbnplciA8bWljaGVs LmRhZW56ZXJAYW1kLmNvbT4KCkRvZXMgcGF0Y2ggIzIgYWxvbmUgZml4ZXMgdGhlIHByb2JsZW0g YXMgd2VsbD8KCkkgd291bGQgcmF0aGVyIHdhbnQgdG8gYXZvaWQgdHVybmluZyB0aGUgcGZsaXAg aW50ZXJydXB0IG9uIGFuZCBvZmYuCgpDaHJpc3RpYW4uCgo+IC0tLQo+ICAgZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9jaWsuYyAgICAgICB8IDE4ICsrKysrKysrKystLS0tLS0tLQo+ICAgZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYyB8IDE4ICsrKysrKysrKystLS0tLS0tLQo+ICAg ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwLmMgICAgICB8IDEyICsrKysrKysrLS0tLQo+ICAg ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9zaS5jICAgICAgICB8IDE4ICsrKysrKysrKystLS0tLS0t LQo+ICAgNCBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkK Pgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2Npay5jIGIvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9jaWsuYwo+IGluZGV4IDBmNGIzOGYuLjdmNTIyYTQgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9jaWsuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vY2lrLmMKPiBAQCAtNzE0NSwyMSArNzE0NSwyMSBAQCBpbnQgY2lrX2lycV9zZXQoc3Ry dWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCj4gICAKPiAgIAlpZiAocmRldi0+bnVtX2NydGMgPj0g Mikgewo+ICAgCQlXUkVHMzIoR1JQSF9JTlRfQ09OVFJPTCArIEVWRVJHUkVFTl9DUlRDMF9SRUdJ U1RFUl9PRkZTRVQsCj4gLQkJICAgICAgIEdSUEhfUEZMSVBfSU5UX01BU0spOwo+ICsJCSAgICAg ICBhdG9taWNfcmVhZCgmcmRldi0+aXJxLnBmbGlwWzBdKSA/IEdSUEhfUEZMSVBfSU5UX01BU0sg OiAwKTsKPiAgIAkJV1JFRzMyKEdSUEhfSU5UX0NPTlRST0wgKyBFVkVSR1JFRU5fQ1JUQzFfUkVH SVNURVJfT0ZGU0VULAo+IC0JCSAgICAgICBHUlBIX1BGTElQX0lOVF9NQVNLKTsKPiArCQkgICAg ICAgYXRvbWljX3JlYWQoJnJkZXYtPmlycS5wZmxpcFsxXSkgPyBHUlBIX1BGTElQX0lOVF9NQVNL IDogMCk7Cj4gICAJfQo+ICAgCWlmIChyZGV2LT5udW1fY3J0YyA+PSA0KSB7Cj4gICAJCVdSRUcz MihHUlBIX0lOVF9DT05UUk9MICsgRVZFUkdSRUVOX0NSVEMyX1JFR0lTVEVSX09GRlNFVCwKPiAt CQkgICAgICAgR1JQSF9QRkxJUF9JTlRfTUFTSyk7Cj4gKwkJICAgICAgIGF0b21pY19yZWFkKCZy ZGV2LT5pcnEucGZsaXBbMl0pID8gR1JQSF9QRkxJUF9JTlRfTUFTSyA6IDApOwo+ICAgCQlXUkVH MzIoR1JQSF9JTlRfQ09OVFJPTCArIEVWRVJHUkVFTl9DUlRDM19SRUdJU1RFUl9PRkZTRVQsCj4g LQkJICAgICAgIEdSUEhfUEZMSVBfSU5UX01BU0spOwo+ICsJCSAgICAgICBhdG9taWNfcmVhZCgm cmRldi0+aXJxLnBmbGlwWzNdKSA/IEdSUEhfUEZMSVBfSU5UX01BU0sgOiAwKTsKPiAgIAl9Cj4g ICAJaWYgKHJkZXYtPm51bV9jcnRjID49IDYpIHsKPiAgIAkJV1JFRzMyKEdSUEhfSU5UX0NPTlRS T0wgKyBFVkVSR1JFRU5fQ1JUQzRfUkVHSVNURVJfT0ZGU0VULAo+IC0JCSAgICAgICBHUlBIX1BG TElQX0lOVF9NQVNLKTsKPiArCQkgICAgICAgYXRvbWljX3JlYWQoJnJkZXYtPmlycS5wZmxpcFs0 XSkgPyBHUlBIX1BGTElQX0lOVF9NQVNLIDogMCk7Cj4gICAJCVdSRUczMihHUlBIX0lOVF9DT05U Uk9MICsgRVZFUkdSRUVOX0NSVEM1X1JFR0lTVEVSX09GRlNFVCwKPiAtCQkgICAgICAgR1JQSF9Q RkxJUF9JTlRfTUFTSyk7Cj4gKwkJICAgICAgIGF0b21pY19yZWFkKCZyZGV2LT5pcnEucGZsaXBb NV0pID8gR1JQSF9QRkxJUF9JTlRfTUFTSyA6IDApOwo+ICAgCX0KPiAgIAo+ICAgCVdSRUczMihE Q19IUEQxX0lOVF9DT05UUk9MLCBocGQxKTsKPiBAQCAtNzYxMSw4ICs3NjExLDEwIEBAIHJlc3Rh cnRfaWg6Cj4gICAJCWNhc2UgMTQ6IC8qIEQ0IHBhZ2UgZmxpcCAqLwo+ICAgCQljYXNlIDE2OiAv KiBENSBwYWdlIGZsaXAgKi8KPiAgIAkJY2FzZSAxODogLyogRDYgcGFnZSBmbGlwICovCj4gLQkJ CURSTV9ERUJVRygiSUg6IEQlZCBmbGlwXG4iLCAoKHNyY19pZCAtIDgpID4+IDEpICsgMSk7Cj4g LQkJCXJhZGVvbl9jcnRjX2hhbmRsZV9mbGlwKHJkZXYsIChzcmNfaWQgLSA4KSA+PiAxKTsKPiAr CQkJc3JjX2lkID0gKHNyY19pZCAtIDgpID4+IDE7Cj4gKwkJCURSTV9ERUJVRygiSUg6IEQlZCBm bGlwXG4iLCBzcmNfaWQgKyAxKTsKPiArCQkJaWYgKGF0b21pY19yZWFkKCZyZGV2LT5pcnEucGZs aXBbc3JjX2lkXSkpCj4gKwkJCQlyYWRlb25fY3J0Y19oYW5kbGVfZmxpcChyZGV2LCBzcmNfaWQp Owo+ICAgCQkJYnJlYWs7Cj4gICAJCWNhc2UgNDI6IC8qIEhQRCBob3RwbHVnICovCj4gICAJCQlz d2l0Y2ggKHNyY19kYXRhKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v ZXZlcmdyZWVuLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5jCj4gaW5kZXgg MDQ0MzE4My4uZmE2ZTMyMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2 ZXJncmVlbi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYwo+IEBA IC00NTQyLDIwICs0NTQyLDIwIEBAIGludCBldmVyZ3JlZW5faXJxX3NldChzdHJ1Y3QgcmFkZW9u X2RldmljZSAqcmRldikKPiAgIAl9Cj4gICAKPiAgIAlXUkVHMzIoR1JQSF9JTlRfQ09OVFJPTCAr IEVWRVJHUkVFTl9DUlRDMF9SRUdJU1RFUl9PRkZTRVQsCj4gLQkgICAgICAgR1JQSF9QRkxJUF9J TlRfTUFTSyk7Cj4gKwkgICAgICAgYXRvbWljX3JlYWQoJnJkZXYtPmlycS5wZmxpcFswXSkgPyBH UlBIX1BGTElQX0lOVF9NQVNLIDogMCk7Cj4gICAJV1JFRzMyKEdSUEhfSU5UX0NPTlRST0wgKyBF VkVSR1JFRU5fQ1JUQzFfUkVHSVNURVJfT0ZGU0VULAo+IC0JICAgICAgIEdSUEhfUEZMSVBfSU5U X01BU0spOwo+ICsJICAgICAgIGF0b21pY19yZWFkKCZyZGV2LT5pcnEucGZsaXBbMV0pID8gR1JQ SF9QRkxJUF9JTlRfTUFTSyA6IDApOwo+ICAgCWlmIChyZGV2LT5udW1fY3J0YyA+PSA0KSB7Cj4g ICAJCVdSRUczMihHUlBIX0lOVF9DT05UUk9MICsgRVZFUkdSRUVOX0NSVEMyX1JFR0lTVEVSX09G RlNFVCwKPiAtCQkgICAgICAgR1JQSF9QRkxJUF9JTlRfTUFTSyk7Cj4gKwkJICAgICAgIGF0b21p Y19yZWFkKCZyZGV2LT5pcnEucGZsaXBbMl0pID8gR1JQSF9QRkxJUF9JTlRfTUFTSyA6IDApOwo+ ICAgCQlXUkVHMzIoR1JQSF9JTlRfQ09OVFJPTCArIEVWRVJHUkVFTl9DUlRDM19SRUdJU1RFUl9P RkZTRVQsCj4gLQkJICAgICAgIEdSUEhfUEZMSVBfSU5UX01BU0spOwo+ICsJCSAgICAgICBhdG9t aWNfcmVhZCgmcmRldi0+aXJxLnBmbGlwWzNdKSA/IEdSUEhfUEZMSVBfSU5UX01BU0sgOiAwKTsK PiAgIAl9Cj4gICAJaWYgKHJkZXYtPm51bV9jcnRjID49IDYpIHsKPiAgIAkJV1JFRzMyKEdSUEhf SU5UX0NPTlRST0wgKyBFVkVSR1JFRU5fQ1JUQzRfUkVHSVNURVJfT0ZGU0VULAo+IC0JCSAgICAg ICBHUlBIX1BGTElQX0lOVF9NQVNLKTsKPiArCQkgICAgICAgYXRvbWljX3JlYWQoJnJkZXYtPmly cS5wZmxpcFs0XSkgPyBHUlBIX1BGTElQX0lOVF9NQVNLIDogMCk7Cj4gICAJCVdSRUczMihHUlBI X0lOVF9DT05UUk9MICsgRVZFUkdSRUVOX0NSVEM1X1JFR0lTVEVSX09GRlNFVCwKPiAtCQkgICAg ICAgR1JQSF9QRkxJUF9JTlRfTUFTSyk7Cj4gKwkJICAgICAgIGF0b21pY19yZWFkKCZyZGV2LT5p cnEucGZsaXBbNV0pID8gR1JQSF9QRkxJUF9JTlRfTUFTSyA6IDApOwo+ICAgCX0KPiAgIAo+ICAg CVdSRUczMihEQ19IUEQxX0lOVF9DT05UUk9MLCBocGQxKTsKPiBAQCAtNDk1MCw4ICs0OTUwLDEw IEBAIHJlc3RhcnRfaWg6Cj4gICAJCWNhc2UgMTQ6IC8qIEQ0IHBhZ2UgZmxpcCAqLwo+ICAgCQlj YXNlIDE2OiAvKiBENSBwYWdlIGZsaXAgKi8KPiAgIAkJY2FzZSAxODogLyogRDYgcGFnZSBmbGlw ICovCj4gLQkJCURSTV9ERUJVRygiSUg6IEQlZCBmbGlwXG4iLCAoKHNyY19pZCAtIDgpID4+IDEp ICsgMSk7Cj4gLQkJCXJhZGVvbl9jcnRjX2hhbmRsZV9mbGlwKHJkZXYsIChzcmNfaWQgLSA4KSA+ PiAxKTsKPiArCQkJc3JjX2lkID0gKHNyY19pZCAtIDgpID4+IDE7Cj4gKwkJCURSTV9ERUJVRygi SUg6IEQlZCBmbGlwXG4iLCBzcmNfaWQgKyAxKTsKPiArCQkJaWYgKGF0b21pY19yZWFkKCZyZGV2 LT5pcnEucGZsaXBbc3JjX2lkXSkpCj4gKwkJCQlyYWRlb25fY3J0Y19oYW5kbGVfZmxpcChyZGV2 LCBzcmNfaWQpOwo+ICAgCQkJYnJlYWs7Cj4gICAJCWNhc2UgNDI6IC8qIEhQRCBob3RwbHVnICov Cj4gICAJCQlzd2l0Y2ggKHNyY19kYXRhKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcjYwMC5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwLmMKPiBpbmRleCBh ZTU0Zjc2Li4yZjlhMmFmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYw MC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwLmMKPiBAQCAtMzYxNCw4ICsz NjE0LDEwIEBAIGludCByNjAwX2lycV9zZXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCj4g ICAJV1JFRzMyKENQX0lOVF9DTlRMLCBjcF9pbnRfY250bCk7Cj4gICAJV1JFRzMyKERNQV9DTlRM LCBkbWFfY250bCk7Cj4gICAJV1JFRzMyKER4TU9ERV9JTlRfTUFTSywgbW9kZV9pbnQpOwo+IC0J V1JFRzMyKEQxR1JQSF9JTlRFUlJVUFRfQ09OVFJPTCwgRHhHUlBIX1BGTElQX0lOVF9NQVNLKTsK PiAtCVdSRUczMihEMkdSUEhfSU5URVJSVVBUX0NPTlRST0wsIER4R1JQSF9QRkxJUF9JTlRfTUFT Syk7Cj4gKwlXUkVHMzIoRDFHUlBIX0lOVEVSUlVQVF9DT05UUk9MLAo+ICsJICAgICAgIGF0b21p Y19yZWFkKCZyZGV2LT5pcnEucGZsaXBbMF0pID8gRHhHUlBIX1BGTElQX0lOVF9NQVNLIDogMCk7 Cj4gKwlXUkVHMzIoRDJHUlBIX0lOVEVSUlVQVF9DT05UUk9MLAo+ICsJICAgICAgIGF0b21pY19y ZWFkKCZyZGV2LT5pcnEucGZsaXBbMV0pID8gRHhHUlBIX1BGTElQX0lOVF9NQVNLIDogMCk7Cj4g ICAJV1JFRzMyKEdSQk1fSU5UX0NOVEwsIGdyYm1faW50X2NudGwpOwo+ICAgCWlmIChBU0lDX0lT X0RDRTMocmRldikpIHsKPiAgIAkJV1JFRzMyKERDX0hQRDFfSU5UX0NPTlRST0wsIGhwZDEpOwo+ IEBAIC0zOTIwLDExICszOTIyLDEzIEBAIHJlc3RhcnRfaWg6Cj4gICAJCQlicmVhazsKPiAgIAkJ Y2FzZSA5OiAvKiBEMSBwZmxpcCAqLwo+ICAgCQkJRFJNX0RFQlVHKCJJSDogRDEgZmxpcFxuIik7 Cj4gLQkJCXJhZGVvbl9jcnRjX2hhbmRsZV9mbGlwKHJkZXYsIDApOwo+ICsJCQlpZiAoYXRvbWlj X3JlYWQoJnJkZXYtPmlycS5wZmxpcFswXSkpCj4gKwkJCQlyYWRlb25fY3J0Y19oYW5kbGVfZmxp cChyZGV2LCAwKTsKPiAgIAkJCWJyZWFrOwo+ICAgCQljYXNlIDExOiAvKiBEMiBwZmxpcCAqLwo+ ICAgCQkJRFJNX0RFQlVHKCJJSDogRDIgZmxpcFxuIik7Cj4gLQkJCXJhZGVvbl9jcnRjX2hhbmRs ZV9mbGlwKHJkZXYsIDEpOwo+ICsJCQlpZiAoYXRvbWljX3JlYWQoJnJkZXYtPmlycS5wZmxpcFsx XSkpCj4gKwkJCQlyYWRlb25fY3J0Y19oYW5kbGVfZmxpcChyZGV2LCAxKTsKPiAgIAkJCWJyZWFr Owo+ICAgCQljYXNlIDE5OiAvKiBIUEQvREFDIGhvdHBsdWcgKi8KPiAgIAkJCXN3aXRjaCAoc3Jj X2RhdGEpIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9zaS5jIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9zaS5jCj4gaW5kZXggYzEyOGJkZS4uNWQzN2VhNSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3NpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3NpLmMKPiBAQCAtNTkxOSwyMSArNTkxOSwyMSBAQCBpbnQgc2lfaXJxX3NldChz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKPiAgIAo+ICAgCWlmIChyZGV2LT5udW1fY3J0YyA+ PSAyKSB7Cj4gICAJCVdSRUczMihHUlBIX0lOVF9DT05UUk9MICsgRVZFUkdSRUVOX0NSVEMwX1JF R0lTVEVSX09GRlNFVCwKPiAtCQkgICAgICAgR1JQSF9QRkxJUF9JTlRfTUFTSyk7Cj4gKwkJICAg ICAgIGF0b21pY19yZWFkKCZyZGV2LT5pcnEucGZsaXBbMF0pID8gR1JQSF9QRkxJUF9JTlRfTUFT SyA6IDApOwo+ICAgCQlXUkVHMzIoR1JQSF9JTlRfQ09OVFJPTCArIEVWRVJHUkVFTl9DUlRDMV9S RUdJU1RFUl9PRkZTRVQsCj4gLQkJICAgICAgIEdSUEhfUEZMSVBfSU5UX01BU0spOwo+ICsJCSAg ICAgICBhdG9taWNfcmVhZCgmcmRldi0+aXJxLnBmbGlwWzFdKSA/IEdSUEhfUEZMSVBfSU5UX01B U0sgOiAwKTsKPiAgIAl9Cj4gICAJaWYgKHJkZXYtPm51bV9jcnRjID49IDQpIHsKPiAgIAkJV1JF RzMyKEdSUEhfSU5UX0NPTlRST0wgKyBFVkVSR1JFRU5fQ1JUQzJfUkVHSVNURVJfT0ZGU0VULAo+ IC0JCSAgICAgICBHUlBIX1BGTElQX0lOVF9NQVNLKTsKPiArCQkgICAgICAgYXRvbWljX3JlYWQo JnJkZXYtPmlycS5wZmxpcFsyXSkgPyBHUlBIX1BGTElQX0lOVF9NQVNLIDogMCk7Cj4gICAJCVdS RUczMihHUlBIX0lOVF9DT05UUk9MICsgRVZFUkdSRUVOX0NSVEMzX1JFR0lTVEVSX09GRlNFVCwK PiAtCQkgICAgICAgR1JQSF9QRkxJUF9JTlRfTUFTSyk7Cj4gKwkJICAgICAgIGF0b21pY19yZWFk KCZyZGV2LT5pcnEucGZsaXBbM10pID8gR1JQSF9QRkxJUF9JTlRfTUFTSyA6IDApOwo+ICAgCX0K PiAgIAlpZiAocmRldi0+bnVtX2NydGMgPj0gNikgewo+ICAgCQlXUkVHMzIoR1JQSF9JTlRfQ09O VFJPTCArIEVWRVJHUkVFTl9DUlRDNF9SRUdJU1RFUl9PRkZTRVQsCj4gLQkJICAgICAgIEdSUEhf UEZMSVBfSU5UX01BU0spOwo+ICsJCSAgICAgICBhdG9taWNfcmVhZCgmcmRldi0+aXJxLnBmbGlw WzRdKSA/IEdSUEhfUEZMSVBfSU5UX01BU0sgOiAwKTsKPiAgIAkJV1JFRzMyKEdSUEhfSU5UX0NP TlRST0wgKyBFVkVSR1JFRU5fQ1JUQzVfUkVHSVNURVJfT0ZGU0VULAo+IC0JCSAgICAgICBHUlBI X1BGTElQX0lOVF9NQVNLKTsKPiArCQkgICAgICAgYXRvbWljX3JlYWQoJnJkZXYtPmlycS5wZmxp cFs1XSkgPyBHUlBIX1BGTElQX0lOVF9NQVNLIDogMCk7Cj4gICAJfQo+ICAgCj4gICAJaWYgKCFB U0lDX0lTX05PRENFKHJkZXYpKSB7Cj4gQEAgLTYzMDMsOCArNjMwMywxMCBAQCByZXN0YXJ0X2lo Ogo+ICAgCQljYXNlIDE0OiAvKiBENCBwYWdlIGZsaXAgKi8KPiAgIAkJY2FzZSAxNjogLyogRDUg cGFnZSBmbGlwICovCj4gICAJCWNhc2UgMTg6IC8qIEQ2IHBhZ2UgZmxpcCAqLwo+IC0JCQlEUk1f REVCVUcoIklIOiBEJWQgZmxpcFxuIiwgKChzcmNfaWQgLSA4KSA+PiAxKSArIDEpOwo+IC0JCQly YWRlb25fY3J0Y19oYW5kbGVfZmxpcChyZGV2LCAoc3JjX2lkIC0gOCkgPj4gMSk7Cj4gKwkJCXNy Y19pZCA9IChzcmNfaWQgLSA4KSA+PiAxOwo+ICsJCQlEUk1fREVCVUcoIklIOiBEJWQgZmxpcFxu Iiwgc3JjX2lkICsgMSk7Cj4gKwkJCWlmIChhdG9taWNfcmVhZCgmcmRldi0+aXJxLnBmbGlwW3Ny Y19pZF0pKQo+ICsJCQkJcmFkZW9uX2NydGNfaGFuZGxlX2ZsaXAocmRldiwgc3JjX2lkKTsKPiAg IAkJCWJyZWFrOwo+ICAgCQljYXNlIDQyOiAvKiBIUEQgaG90cGx1ZyAqLwo+ICAgCQkJc3dpdGNo IChzcmNfZGF0YSkgewoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK