From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: Re: [PATCH] drm/amdgpu: handle more than 10 UVD sessions (v2) Date: Tue, 12 Apr 2016 11:22:43 -0400 Message-ID: References: <1460461575-29247-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-yw0-x22c.google.com (mail-yw0-x22c.google.com [IPv6:2607:f8b0:4002:c05::22c]) by gabe.freedesktop.org (Postfix) with ESMTPS id B70246E6F9 for ; Tue, 12 Apr 2016 15:22:44 +0000 (UTC) Received: by mail-yw0-x22c.google.com with SMTP id d68so28525802ywe.1 for ; Tue, 12 Apr 2016 08:22:44 -0700 (PDT) In-Reply-To: <1460461575-29247-1-git-send-email-deathsimple@vodafone.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: =?UTF-8?Q?Christian_K=C3=B6nig?= Cc: Maling list - DRI developers List-Id: dri-devel@lists.freedesktop.org QXBwbGllZCwgdGhhbmtzIQoKQWxleAoKT24gVHVlLCBBcHIgMTIsIDIwMTYgYXQgNzo0NiBBTSwg Q2hyaXN0aWFuIEvDtm5pZwo8ZGVhdGhzaW1wbGVAdm9kYWZvbmUuZGU+IHdyb3RlOgo+IEZyb206 IEFyaW5kYW0gTmF0aCA8YXJpbmRhbS5uYXRoQGFtZC5jb20+Cj4KPiBDaGFuZ2UgSGlzdG9yeQo+ IC0tLS0tLS0tLS0tLS0tCj4KPiB2MjoKPiAtIE1ha2UgZmlybXdhcmUgdmVyc2lvbiBjaGVjayBj b3JyZWN0bHkuIEZpcm13YXJlCj4gICB2ZXJzaW9ucyA+PSAxLjgwIHNob3VsZCBhbGwgc3VwcG9y dCA0MCBVVkQKPiAgIGluc3RhbmNlcy4KPiAtIFJlcGxhY2UgQU1ER1BVX01BWF9VVkRfSEFORExF UyB3aXRoIG1heF9oYW5kbGVzCj4gICB2YXJpYWJsZS4KPgo+IHYxOgo+IC0gVGhlIGZpcm13YXJl IGNhbiBoYW5kbGUgdXB0byA0MCBVVkQgc2Vzc2lvbnMuCj4KPiBTaWduZWQtb2ZmLWJ5OiBBcmlu ZGFtIE5hdGggPGFyaW5kYW0ubmF0aEBhbWQuY29tPgo+IFNpZ25lZC1vZmYtYnk6IEF5eWFwcGEg Q2hhbmRvbHUgPGF5eWFwcGEuY2hhbmRvbHVAYW1kLmNvbT4KPiBSZXZpZXdlZC1ieTogQ2hyaXN0 aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCAgICAgICAgICAgICAgICB8IDExICsrKysrLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYyAgICAgICAgICAgIHwgMzAg KysrKysrKysrKysrKysrKy0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRf djRfMi5jICAgICAgICAgICAgICB8ICA1ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvdXZkX3Y1XzAuYyAgICAgICAgICAgICAgfCAgNSArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L3V2ZF92Nl8wLmMgICAgICAgICAgICAgIHwgIDcgKysrLS0KPiAgLi4uL2dwdS9k cm0vYW1kL2luY2x1ZGUvYXNpY19yZWcvdXZkL3V2ZF82XzBfZC5oICAgfCAgMSArCj4gIDYgZmls ZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHUuaAo+IGluZGV4IDM2YWZhYmIuLjQ4MDVlNDUgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAo+IEBAIC0xNTkyLDE2ICsxNTkyLDE5IEBAIHZv aWQgYW1kZ3B1X2dldF9wY2llX2luZm8oc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwo+ICAv Kgo+ICAgKiBVVkQKPiAgICovCj4gLSNkZWZpbmUgQU1ER1BVX01BWF9VVkRfSEFORExFUyAxMAo+ IC0jZGVmaW5lIEFNREdQVV9VVkRfU1RBQ0tfU0laRSAgKDEwMjQqMTAyNCkKPiAtI2RlZmluZSBB TURHUFVfVVZEX0hFQVBfU0laRSAgICgxMDI0KjEwMjQpCj4gLSNkZWZpbmUgQU1ER1BVX1VWRF9G SVJNV0FSRV9PRkZTRVQgMjU2Cj4gKyNkZWZpbmUgQU1ER1BVX0RFRkFVTFRfVVZEX0hBTkRMRVMg ICAgIDEwCj4gKyNkZWZpbmUgQU1ER1BVX01BWF9VVkRfSEFORExFUyAgICAgICAgIDQwCj4gKyNk ZWZpbmUgQU1ER1BVX1VWRF9TVEFDS19TSVpFICAgICAgICAgICgyMDAqMTAyNCkKPiArI2RlZmlu ZSBBTURHUFVfVVZEX0hFQVBfU0laRSAgICAgICAgICAgKDI1NioxMDI0KQo+ICsjZGVmaW5lIEFN REdQVV9VVkRfU0VTU0lPTl9TSVpFICAgICAgICAgICAgICAgICg1MCoxMDI0KQo+ICsjZGVmaW5l IEFNREdQVV9VVkRfRklSTVdBUkVfT0ZGU0VUICAgICAyNTYKPgo+ICBzdHJ1Y3QgYW1kZ3B1X3V2 ZCB7Cj4gICAgICAgICBzdHJ1Y3QgYW1kZ3B1X2JvICAgICAgICAqdmNwdV9ibzsKPiAgICAgICAg IHZvaWQgICAgICAgICAgICAgICAgICAgICpjcHVfYWRkcjsKPiAgICAgICAgIHVpbnQ2NF90ICAg ICAgICAgICAgICAgIGdwdV9hZGRyOwo+ICAgICAgICAgdm9pZCAgICAgICAgICAgICAgICAgICAg KnNhdmVkX2JvOwo+ICsgICAgICAgdW5zaWduZWQgICAgICAgICAgICAgICAgbWF4X2hhbmRsZXM7 Cj4gICAgICAgICBhdG9taWNfdCAgICAgICAgICAgICAgICBoYW5kbGVzW0FNREdQVV9NQVhfVVZE X0hBTkRMRVNdOwo+ICAgICAgICAgc3RydWN0IGRybV9maWxlICAgICAgICAgKmZpbHBbQU1ER1BV X01BWF9VVkRfSEFORExFU107Cj4gICAgICAgICBzdHJ1Y3QgZGVsYXllZF93b3JrICAgICBpZGxl X3dvcms7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91 dmQuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYwo+IGluZGV4IDMz OGRhODAuLjc2ZWJjMTAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X3V2ZC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3V2 ZC5jCj4gQEAgLTE1MSw2ICsxNTEsOSBAQCBpbnQgYW1kZ3B1X3V2ZF9zd19pbml0KHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2KQo+ICAgICAgICAgICAgICAgICByZXR1cm4gcjsKPiAgICAgICAg IH0KPgo+ICsgICAgICAgLyogU2V0IHRoZSBkZWZhdWx0IFVWRCBoYW5kbGVzIHRoYXQgdGhlIGZp cm13YXJlIGNhbiBoYW5kbGUgKi8KPiArICAgICAgIGFkZXYtPnV2ZC5tYXhfaGFuZGxlcyA9IEFN REdQVV9ERUZBVUxUX1VWRF9IQU5ETEVTOwo+ICsKPiAgICAgICAgIGhkciA9IChjb25zdCBzdHJ1 Y3QgY29tbW9uX2Zpcm13YXJlX2hlYWRlciAqKWFkZXYtPnV2ZC5mdy0+ZGF0YTsKPiAgICAgICAg IGZhbWlseV9pZCA9IGxlMzJfdG9fY3B1KGhkci0+dWNvZGVfdmVyc2lvbikgJiAweGZmOwo+ICAg ICAgICAgdmVyc2lvbl9tYWpvciA9IChsZTMyX3RvX2NwdShoZHItPnVjb2RlX3ZlcnNpb24pID4+ IDI0KSAmIDB4ZmY7Cj4gQEAgLTE1OCw4ICsxNjEsMTkgQEAgaW50IGFtZGdwdV91dmRfc3dfaW5p dChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgICAgICAgIERSTV9JTkZPKCJGb3VuZCBV VkQgZmlybXdhcmUgVmVyc2lvbjogJWh1LiVodSBGYW1pbHkgSUQ6ICVodVxuIiwKPiAgICAgICAg ICAgICAgICAgdmVyc2lvbl9tYWpvciwgdmVyc2lvbl9taW5vciwgZmFtaWx5X2lkKTsKPgo+ICsg ICAgICAgLyoKPiArICAgICAgICAqIExpbWl0IHRoZSBudW1iZXIgb2YgVVZEIGhhbmRsZXMgZGVw ZW5kaW5nIG9uIG1pY3JvY29kZSBtYWpvcgo+ICsgICAgICAgICogYW5kIG1pbm9yIHZlcnNpb25z LiBUaGUgZmlybXdhcmUgdmVyc2lvbiB3aGljaCBoYXMgNDAgVVZECj4gKyAgICAgICAgKiBpbnN0 YW5jZXMgc3VwcG9ydCBpcyAxLjgwLiBTbyBhbGwgc3Vic2VxdWVudCB2ZXJzaW9ucyBzaG91bGQK PiArICAgICAgICAqIGFsc28gaGF2ZSB0aGUgc2FtZSBzdXBwb3J0Lgo+ICsgICAgICAgICovCj4g KyAgICAgICBpZiAoKHZlcnNpb25fbWFqb3IgPiAweDAxKSB8fAo+ICsgICAgICAgICAgICgodmVy c2lvbl9tYWpvciA9PSAweDAxKSAmJiAodmVyc2lvbl9taW5vciA+PSAweDUwKSkpCj4gKyAgICAg ICAgICAgICAgIGFkZXYtPnV2ZC5tYXhfaGFuZGxlcyA9IEFNREdQVV9NQVhfVVZEX0hBTkRMRVM7 Cj4gKwo+ICAgICAgICAgYm9fc2l6ZSA9IEFNREdQVV9HUFVfUEFHRV9BTElHTihsZTMyX3RvX2Nw dShoZHItPnVjb2RlX3NpemVfYnl0ZXMpICsgOCkKPiAtICAgICAgICAgICAgICAgICsgIEFNREdQ VV9VVkRfU1RBQ0tfU0laRSArIEFNREdQVV9VVkRfSEVBUF9TSVpFOwo+ICsgICAgICAgICAgICAg ICAgICsgIEFNREdQVV9VVkRfU1RBQ0tfU0laRSArIEFNREdQVV9VVkRfSEVBUF9TSVpFCj4gKyAg ICAgICAgICAgICAgICAgKyAgQU1ER1BVX1VWRF9TRVNTSU9OX1NJWkUgKiBhZGV2LT51dmQubWF4 X2hhbmRsZXM7Cj4gICAgICAgICByID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCBib19zaXplLCBQ QUdFX1NJWkUsIHRydWUsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTURHUFVfR0VN X0RPTUFJTl9WUkFNLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQU1ER1BVX0dFTV9D UkVBVEVfQ1BVX0FDQ0VTU19SRVFVSVJFRCwKPiBAQCAtMjAyLDcgKzIxNiw3IEBAIGludCBhbWRn cHVfdXZkX3N3X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gICAgICAgICAgICAg ICAgIHJldHVybiByOwo+ICAgICAgICAgfQo+Cj4gLSAgICAgICBmb3IgKGkgPSAwOyBpIDwgQU1E R1BVX01BWF9VVkRfSEFORExFUzsgKytpKSB7Cj4gKyAgICAgICBmb3IgKGkgPSAwOyBpIDwgYWRl di0+dXZkLm1heF9oYW5kbGVzOyArK2kpIHsKPiAgICAgICAgICAgICAgICAgYXRvbWljX3NldCgm YWRldi0+dXZkLmhhbmRsZXNbaV0sIDApOwo+ICAgICAgICAgICAgICAgICBhZGV2LT51dmQuZmls cFtpXSA9IE5VTEw7Cj4gICAgICAgICB9Cj4gQEAgLTI0OCw3ICsyNjIsNyBAQCBpbnQgYW1kZ3B1 X3V2ZF9zdXNwZW5kKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICAgICAgICAgaWYgKGFk ZXYtPnV2ZC52Y3B1X2JvID09IE5VTEwpCj4gICAgICAgICAgICAgICAgIHJldHVybiAwOwo+Cj4g LSAgICAgICBmb3IgKGkgPSAwOyBpIDwgQU1ER1BVX01BWF9VVkRfSEFORExFUzsgKytpKQo+ICsg ICAgICAgZm9yIChpID0gMDsgaSA8IGFkZXYtPnV2ZC5tYXhfaGFuZGxlczsgKytpKQo+ICAgICAg ICAgICAgICAgICBpZiAoYXRvbWljX3JlYWQoJmFkZXYtPnV2ZC5oYW5kbGVzW2ldKSkKPiAgICAg ICAgICAgICAgICAgICAgICAgICBicmVhazsKPgo+IEBAIC0zMDMsNyArMzE3LDcgQEAgdm9pZCBh bWRncHVfdXZkX2ZyZWVfaGFuZGxlcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0 IGRybV9maWxlICpmaWxwKQo+ICAgICAgICAgc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nID0gJmFk ZXYtPnV2ZC5yaW5nOwo+ICAgICAgICAgaW50IGksIHI7Cj4KPiAtICAgICAgIGZvciAoaSA9IDA7 IGkgPCBBTURHUFVfTUFYX1VWRF9IQU5ETEVTOyArK2kpIHsKPiArICAgICAgIGZvciAoaSA9IDA7 IGkgPCBhZGV2LT51dmQubWF4X2hhbmRsZXM7ICsraSkgewo+ICAgICAgICAgICAgICAgICB1aW50 MzJfdCBoYW5kbGUgPSBhdG9taWNfcmVhZCgmYWRldi0+dXZkLmhhbmRsZXNbaV0pOwo+ICAgICAg ICAgICAgICAgICBpZiAoaGFuZGxlICE9IDAgJiYgYWRldi0+dXZkLmZpbHBbaV0gPT0gZmlscCkg ewo+ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBmZW5jZSAqZmVuY2U7Cj4gQEAgLTU2 Myw3ICs1NzcsNyBAQCBzdGF0aWMgaW50IGFtZGdwdV91dmRfY3NfbXNnKHN0cnVjdCBhbWRncHVf dXZkX2NzX2N0eCAqY3R4LAo+ICAgICAgICAgICAgICAgICBhbWRncHVfYm9fa3VubWFwKGJvKTsK Pgo+ICAgICAgICAgICAgICAgICAvKiB0cnkgdG8gYWxsb2MgYSBuZXcgaGFuZGxlICovCj4gLSAg ICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBBTURHUFVfTUFYX1VWRF9IQU5ETEVTOyArK2kp IHsKPiArICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGFkZXYtPnV2ZC5tYXhfaGFuZGxl czsgKytpKSB7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGF0b21pY19yZWFkKCZhZGV2 LT51dmQuaGFuZGxlc1tpXSkgPT0gaGFuZGxlKSB7Cj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBEUk1fRVJST1IoIkhhbmRsZSAweCV4IGFscmVhZHkgaW4gdXNlIVxuIiwgaGFuZGxl KTsKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+IEBA IC01ODYsNyArNjAwLDcgQEAgc3RhdGljIGludCBhbWRncHVfdXZkX2NzX21zZyhzdHJ1Y3QgYW1k Z3B1X3V2ZF9jc19jdHggKmN0eCwKPiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcjsK Pgo+ICAgICAgICAgICAgICAgICAvKiB2YWxpZGF0ZSB0aGUgaGFuZGxlICovCj4gLSAgICAgICAg ICAgICAgIGZvciAoaSA9IDA7IGkgPCBBTURHUFVfTUFYX1VWRF9IQU5ETEVTOyArK2kpIHsKPiAr ICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGFkZXYtPnV2ZC5tYXhfaGFuZGxlczsgKytp KSB7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGF0b21pY19yZWFkKCZhZGV2LT51dmQu aGFuZGxlc1tpXSkgPT0gaGFuZGxlKSB7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpZiAoYWRldi0+dXZkLmZpbHBbaV0gIT0gY3R4LT5wYXJzZXItPmZpbHApIHsKPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFJNX0VSUk9SKCJVVkQgaGFuZGxlIGNv bGxpc2lvbiBkZXRlY3RlZCFcbiIpOwo+IEBAIC02MDEsNyArNjE1LDcgQEAgc3RhdGljIGludCBh bWRncHVfdXZkX2NzX21zZyhzdHJ1Y3QgYW1kZ3B1X3V2ZF9jc19jdHggKmN0eCwKPgo+ICAgICAg ICAgY2FzZSAyOgo+ICAgICAgICAgICAgICAgICAvKiBpdCdzIGEgZGVzdHJveSBtc2csIGZyZWUg dGhlIGhhbmRsZSAqLwo+IC0gICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgQU1ER1BVX01B WF9VVkRfSEFORExFUzsgKytpKQo+ICsgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYWRl di0+dXZkLm1heF9oYW5kbGVzOyArK2kpCj4gICAgICAgICAgICAgICAgICAgICAgICAgYXRvbWlj X2NtcHhjaGcoJmFkZXYtPnV2ZC5oYW5kbGVzW2ldLCBoYW5kbGUsIDApOwo+ICAgICAgICAgICAg ICAgICBhbWRncHVfYm9fa3VubWFwKGJvKTsKPiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Cj4g QEAgLTEwMTMsNyArMTAyNyw3IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV91dmRfaWRsZV93b3JrX2hh bmRsZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+Cj4gICAgICAgICBmZW5jZXMgPSBhbWRn cHVfZmVuY2VfY291bnRfZW1pdHRlZCgmYWRldi0+dXZkLnJpbmcpOwo+Cj4gLSAgICAgICBmb3Ig KGkgPSAwOyBpIDwgQU1ER1BVX01BWF9VVkRfSEFORExFUzsgKytpKQo+ICsgICAgICAgZm9yIChp ID0gMDsgaSA8IGFkZXYtPnV2ZC5tYXhfaGFuZGxlczsgKytpKQo+ICAgICAgICAgICAgICAgICBp ZiAoYXRvbWljX3JlYWQoJmFkZXYtPnV2ZC5oYW5kbGVzW2ldKSkKPiAgICAgICAgICAgICAgICAg ICAgICAgICArK2hhbmRsZXM7Cj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvdXZkX3Y0XzIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92NF8yLmMK PiBpbmRleCBjYjQ2Mzc1Li4wZDZiOWUyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L3V2ZF92NF8yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91 dmRfdjRfMi5jCj4gQEAgLTU1OSwxMiArNTU5LDEzIEBAIHN0YXRpYyB2b2lkIHV2ZF92NF8yX21j X3Jlc3VtZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgICAgICAgIFdSRUczMihtbVVW RF9WQ1BVX0NBQ0hFX1NJWkUwLCBzaXplKTsKPgo+ICAgICAgICAgYWRkciArPSBzaXplOwo+IC0g ICAgICAgc2l6ZSA9IEFNREdQVV9VVkRfU1RBQ0tfU0laRSA+PiAzOwo+ICsgICAgICAgc2l6ZSA9 IEFNREdQVV9VVkRfSEVBUF9TSVpFID4+IDM7Cj4gICAgICAgICBXUkVHMzIobW1VVkRfVkNQVV9D QUNIRV9PRkZTRVQxLCBhZGRyKTsKPiAgICAgICAgIFdSRUczMihtbVVWRF9WQ1BVX0NBQ0hFX1NJ WkUxLCBzaXplKTsKPgo+ICAgICAgICAgYWRkciArPSBzaXplOwo+IC0gICAgICAgc2l6ZSA9IEFN REdQVV9VVkRfSEVBUF9TSVpFID4+IDM7Cj4gKyAgICAgICBzaXplID0gKEFNREdQVV9VVkRfU1RB Q0tfU0laRSArCj4gKyAgICAgICAgICAgICAgKEFNREdQVV9VVkRfU0VTU0lPTl9TSVpFICogYWRl di0+dXZkLm1heF9oYW5kbGVzKSkgPj4gMzsKPiAgICAgICAgIFdSRUczMihtbVVWRF9WQ1BVX0NB Q0hFX09GRlNFVDIsIGFkZHIpOwo+ICAgICAgICAgV1JFRzMyKG1tVVZEX1ZDUFVfQ0FDSEVfU0la RTIsIHNpemUpOwo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2 ZF92NV8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjVfMC5jCj4gaW5kZXgg MTY0NzZkOC4uMjRmMDNkMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS91dmRfdjVfMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y1XzAu Ywo+IEBAIC0yNzEsMTIgKzI3MSwxMyBAQCBzdGF0aWMgdm9pZCB1dmRfdjVfMF9tY19yZXN1bWUo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gICAgICAgICBXUkVHMzIobW1VVkRfVkNQVV9D QUNIRV9TSVpFMCwgc2l6ZSk7Cj4KPiAgICAgICAgIG9mZnNldCArPSBzaXplOwo+IC0gICAgICAg c2l6ZSA9IEFNREdQVV9VVkRfU1RBQ0tfU0laRTsKPiArICAgICAgIHNpemUgPSBBTURHUFVfVVZE X0hFQVBfU0laRTsKPiAgICAgICAgIFdSRUczMihtbVVWRF9WQ1BVX0NBQ0hFX09GRlNFVDEsIG9m ZnNldCA+PiAzKTsKPiAgICAgICAgIFdSRUczMihtbVVWRF9WQ1BVX0NBQ0hFX1NJWkUxLCBzaXpl KTsKPgo+ICAgICAgICAgb2Zmc2V0ICs9IHNpemU7Cj4gLSAgICAgICBzaXplID0gQU1ER1BVX1VW RF9IRUFQX1NJWkU7Cj4gKyAgICAgICBzaXplID0gQU1ER1BVX1VWRF9TVEFDS19TSVpFICsKPiAr ICAgICAgICAgICAgICAoQU1ER1BVX1VWRF9TRVNTSU9OX1NJWkUgKiBhZGV2LT51dmQubWF4X2hh bmRsZXMpOwo+ICAgICAgICAgV1JFRzMyKG1tVVZEX1ZDUFVfQ0FDSEVfT0ZGU0VUMiwgb2Zmc2V0 ID4+IDMpOwo+ICAgICAgICAgV1JFRzMyKG1tVVZEX1ZDUFVfQ0FDSEVfU0laRTIsIHNpemUpOwo+ Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92Nl8wLmMgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjZfMC5jCj4gaW5kZXggZDQ5Mzc5MS4uYjA2 Y2FlNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjZfMC5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y2XzAuYwo+IEBAIC0yNzAs MTggKzI3MCwyMSBAQCBzdGF0aWMgdm9pZCB1dmRfdjZfMF9tY19yZXN1bWUoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYpCj4gICAgICAgICBXUkVHMzIobW1VVkRfVkNQVV9DQUNIRV9TSVpFMCwg c2l6ZSk7Cj4KPiAgICAgICAgIG9mZnNldCArPSBzaXplOwo+IC0gICAgICAgc2l6ZSA9IEFNREdQ VV9VVkRfU1RBQ0tfU0laRTsKPiArICAgICAgIHNpemUgPSBBTURHUFVfVVZEX0hFQVBfU0laRTsK PiAgICAgICAgIFdSRUczMihtbVVWRF9WQ1BVX0NBQ0hFX09GRlNFVDEsIG9mZnNldCA+PiAzKTsK PiAgICAgICAgIFdSRUczMihtbVVWRF9WQ1BVX0NBQ0hFX1NJWkUxLCBzaXplKTsKPgo+ICAgICAg ICAgb2Zmc2V0ICs9IHNpemU7Cj4gLSAgICAgICBzaXplID0gQU1ER1BVX1VWRF9IRUFQX1NJWkU7 Cj4gKyAgICAgICBzaXplID0gQU1ER1BVX1VWRF9TVEFDS19TSVpFICsKPiArICAgICAgICAgICAg ICAoQU1ER1BVX1VWRF9TRVNTSU9OX1NJWkUgKiBhZGV2LT51dmQubWF4X2hhbmRsZXMpOwo+ICAg ICAgICAgV1JFRzMyKG1tVVZEX1ZDUFVfQ0FDSEVfT0ZGU0VUMiwgb2Zmc2V0ID4+IDMpOwo+ICAg ICAgICAgV1JFRzMyKG1tVVZEX1ZDUFVfQ0FDSEVfU0laRTIsIHNpemUpOwo+Cj4gICAgICAgICBX UkVHMzIobW1VVkRfVURFQ19BRERSX0NPTkZJRywgYWRldi0+Z2Z4LmNvbmZpZy5nYl9hZGRyX2Nv bmZpZyk7Cj4gICAgICAgICBXUkVHMzIobW1VVkRfVURFQ19EQl9BRERSX0NPTkZJRywgYWRldi0+ Z2Z4LmNvbmZpZy5nYl9hZGRyX2NvbmZpZyk7Cj4gICAgICAgICBXUkVHMzIobW1VVkRfVURFQ19E QldfQUREUl9DT05GSUcsIGFkZXYtPmdmeC5jb25maWcuZ2JfYWRkcl9jb25maWcpOwo+ICsKPiAr ICAgICAgIFdSRUczMihtbVVWRF9HUF9TQ1JBVENINCwgYWRldi0+dXZkLm1heF9oYW5kbGVzKTsK PiAgfQo+Cj4gIHN0YXRpYyB2b2lkIGN6X3NldF91dmRfY2xvY2tfZ2F0aW5nX2JyYW5jaGVzKHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2luY2x1ZGUvYXNpY19yZWcvdXZkL3V2ZF82XzBfZC5oIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9pbmNsdWRlL2FzaWNfcmVnL3V2ZC91dmRfNl8wX2QuaAo+IGluZGV4IGIyZDRhYWYuLjZmNmZi MzQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9pbmNsdWRlL2FzaWNfcmVnL3V2 ZC91dmRfNl8wX2QuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9hc2ljX3Jl Zy91dmQvdXZkXzZfMF9kLmgKPiBAQCAtMTExLDUgKzExMSw2IEBACj4gICNkZWZpbmUgbW1VVkRf TUlGX1JFQ09OMV9BRERSX0NPTkZJRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgzOWM1Cj4gICNkZWZpbmUgaXhVVkRfTUlGX1NDTFJfQUREUl9DT05GSUcgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0Cj4gICNkZWZpbmUg bW1VVkRfSlBFR19BRERSX0NPTkZJRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgzYTFmCj4gKyNkZWZpbmUgbW1VVkRfR1BfU0NSQVRDSDQgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzZDM4Cj4K PiAgI2VuZGlmIC8qIFVWRF82XzBfRF9IICovCj4gLS0KPiAxLjkuMQo+Cj4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBs aXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=