From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: Re: [PATCH 8/9] drm/syncobj: add timeline signal ioctl for syncobj v5 Date: Sat, 30 Mar 2019 14:05:24 +0000 Message-ID: <971b283c-1620-9cc8-349f-2faac2ecb637@intel.com> References: <20190325083224.2983-1-david1.zhou@amd.com> <20190325083224.2983-8-david1.zhou@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US 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: Chunming Zhou , "Zhou, David(ChunMing)" , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "jason-fQELhIk9awXprZlt/sZkLg@public.gmane.org" , "Koenig, Christian" , "Hector, Tobias" Cc: Dave Airlie T24gMjgvMDMvMjAxOSAxMzozMywgTGlvbmVsIExhbmR3ZXJsaW4gd3JvdGU6Cj4gT24gMjgvMDMv MjAxOSAxMzowOCwgQ2h1bm1pbmcgWmhvdSB3cm90ZToKPj4g5ZyoIDIwMTkvMy8yOCAyMDo1Mywg TGlvbmVsIExhbmR3ZXJsaW4g5YaZ6YGTOgo+Pj4gT24gMjUvMDMvMjAxOSAwODozMiwgQ2h1bm1p bmcgWmhvdSB3cm90ZToKPj4+PiB2MjogaW5kaXZpZHVhbGx5IGFsbG9jYXRlIGNoYWluIGFycmF5 LCBzaW5jZSBjaGFpbiBub2RlIGlzIGZyZWUKPj4+PiBpbmRlcGVuZGVudGx5Lgo+Pj4+IHYzOiBh bGwgZXhpc3RpbmcgcG9pbnRzIG11c3QgYmUgYWxyZWFkeSBzaWduYWxlZCBiZWZvcmUgY3B1IHBl cmZvcm0KPj4+PiBzaWduYWwgb3BlcmF0aW9uLAo+Pj4+IMKgwqDCoMKgwqAgc28gYWRkIGNoZWNr IGNvbmRpdGlvbiBmb3IgdGhhdC4KPj4+PiB2NDogcmVtb3ZlIHYzIGNoYW5nZSBhbmQgYWRkIGNo ZWNraW5nIHRvIHByZXZlbnQgb3V0LW9mLW9yZGVyCj4+Pj4gdjU6IHVuaWZ5IGJpbmFyeSBhbmQg dGltZWxpbmUKPj4+Pgo+Pj4+IFNpZ25lZC1vZmYtYnk6IENodW5taW5nIFpob3UgPGRhdmlkMS56 aG91QGFtZC5jb20+Cj4+Pj4gQ2M6IFRvYmlhcyBIZWN0b3IgPFRvYmlhcy5IZWN0b3JAYW1kLmNv bT4KPj4+PiBDYzogSmFzb24gRWtzdHJhbmQgPGphc29uQGpsZWtzdHJhbmQubmV0Pgo+Pj4+IENj OiBEYXZlIEFpcmxpZSA8YWlybGllZEByZWRoYXQuY29tPgo+Pj4+IENjOiBDaHJpcyBXaWxzb24g PGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPj4+PiBDYzogTGlvbmVsIExhbmR3ZXJsaW4gPGxp b25lbC5nLmxhbmR3ZXJsaW5AaW50ZWwuY29tPgo+Pj4+IC0tLQo+Pj4+IMKgwqAgZHJpdmVycy9n cHUvZHJtL2RybV9pbnRlcm5hbC5oIHzCoCAyICsKPj4+PiDCoMKgIGRyaXZlcnMvZ3B1L2RybS9k cm1faW9jdGwuY8KgwqDCoCB8wqAgMiArCj4+Pj4gwqDCoCBkcml2ZXJzL2dwdS9kcm0vZHJtX3N5 bmNvYmouY8KgIHwgNzMgCj4+Pj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ Pj4+IMKgwqAgaW5jbHVkZS91YXBpL2RybS9kcm0uaMKgwqDCoMKgwqDCoMKgwqAgfMKgIDEgKwo+ Pj4+IMKgwqAgNCBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspCj4+Pj4KPj4+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9pbnRlcm5hbC5oCj4+Pj4gYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2ludGVybmFsLmgKPj4+PiBpbmRleCBkZDExYWU1ZjFlZWYuLmQ5YTQ4M2E1ZmNl MCAxMDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ludGVybmFsLmgKPj4+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ludGVybmFsLmgKPj4+PiBAQCAtMTkwLDYgKzE5MCw4 IEBAIGludCBkcm1fc3luY29ial9yZXNldF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZQo+Pj4+ICpk ZXYsIHZvaWQgKmRhdGEsCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKTsKPj4+PiDCoMKgIGludCBkcm1fc3luY29i al9zaWduYWxfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPj4+PiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGVfcHJpdmF0ZSk7Cj4+Pj4gK2ludCBkcm1fc3luY29ial90aW1lbGluZV9zaWduYWxfaW9jdGwo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZAo+Pj4+ICpkYXRhLAo+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGRybV9maWxlICpmaWxlX3By aXZhdGUpOwo+Pj4+IMKgwqAgaW50IGRybV9zeW5jb2JqX3F1ZXJ5X2lvY3RsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKTsKPj4+PiDCoMKgIGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMgCj4+Pj4gYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2lvY3RsLmMKPj4+PiBpbmRleCA5MmIzYjdiMmZkODEuLmQzMzdmMTYxOTA5YyAxMDA2 NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKPj4+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKPj4+PiBAQCAtNjk2LDYgKzY5Niw4IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX2lvY3RsX2Rlc2MgZHJtX2lvY3Rsc1tdIAo+Pj4+ID0gewo+Pj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FM TE9XKSwKPj4+PiDCoMKgwqDCoMKgwqAgRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU1lOQ09CSl9T SUdOQUwsIAo+Pj4+IGRybV9zeW5jb2JqX3NpZ25hbF9pb2N0bCwKPj4+PiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyksCj4+Pj4g K8KgwqDCoCBEUk1fSU9DVExfREVGKERSTV9JT0NUTF9TWU5DT0JKX1RJTUVMSU5FX1NJR05BTCwK Pj4+PiBkcm1fc3luY29ial90aW1lbGluZV9zaWduYWxfaW9jdGwsCj4+Pj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKPj4+PiDCoMKg wqDCoMKgwqAgRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU1lOQ09CSl9RVUVSWSwgZHJtX3N5bmNv YmpfcXVlcnlfaW9jdGwsCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRFJN X1VOTE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAo+Pj4+IMKgwqDCoMKgwqDCoCBEUk1fSU9DVExf REVGKERSTV9JT0NUTF9DUlRDX0dFVF9TRVFVRU5DRSwKPj4+PiBkcm1fY3J0Y19nZXRfc2VxdWVu Y2VfaW9jdGwsIERSTV9VTkxPQ0tFRCksCj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fc3luY29iai5jCj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYwo+Pj4+ IGluZGV4IGVlMmQ2NmUwNDdlNy4uMDk5NTk2MTkwODQ1IDEwMDY0NAo+Pj4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fc3luY29iai5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9z eW5jb2JqLmMKPj4+PiBAQCAtMTE4Myw2ICsxMTgzLDc5IEBAIGRybV9zeW5jb2JqX3NpZ25hbF9p b2N0bChzdHJ1Y3QgZHJtX2RldmljZQo+Pj4+ICpkZXYsIHZvaWQgKmRhdGEsCj4+Pj4gwqDCoMKg wqDCoMKgIHJldHVybiByZXQ7Cj4+Pj4gwqDCoCB9Cj4+Pj4gwqDCoCAraW50Cj4+Pj4gK2RybV9z eW5jb2JqX3RpbWVsaW5lX3NpZ25hbF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lk ICpkYXRhLAo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBk cm1fZmlsZSAqZmlsZV9wcml2YXRlKQo+Pj4+ICt7Cj4+Pj4gK8KgwqDCoCBzdHJ1Y3QgZHJtX3N5 bmNvYmpfdGltZWxpbmVfYXJyYXkgKmFyZ3MgPSBkYXRhOwo+Pj4+ICvCoMKgwqAgc3RydWN0IGRy bV9zeW5jb2JqICoqc3luY29ianM7Cj4+Pj4gK8KgwqDCoCBzdHJ1Y3QgZG1hX2ZlbmNlX2NoYWlu ICoqY2hhaW5zOwo+Pj4+ICvCoMKgwqAgdWludDY0X3QgKnBvaW50czsKPj4+PiArwqDCoMKgIHVp bnQzMl90IGksIGo7Cj4+Pj4gK8KgwqDCoCBpbnQgcmV0Owo+Pj4+ICsKPj4+PiArwqDCoMKgIGlm ICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9TWU5DT0JKKSkKPj4+PiArwqDC oMKgwqDCoMKgwqAgcmV0dXJuIC1FT1BOT1RTVVBQOwo+Pj4+ICsKPj4+PiArwqDCoMKgIGlmIChh cmdzLT5wYWQgIT0gMCkKPj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FSU5WQUw7Cj4+Pj4g Kwo+Pj4+ICvCoMKgwqAgaWYgKGFyZ3MtPmNvdW50X2hhbmRsZXMgPT0gMCkKPj4+PiArwqDCoMKg wqDCoMKgwqAgcmV0dXJuIC1FSU5WQUw7Cj4+Pj4gKwo+Pj4+ICvCoMKgwqAgcmV0ID0gZHJtX3N5 bmNvYmpfYXJyYXlfZmluZChmaWxlX3ByaXZhdGUsCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgdTY0X3RvX3VzZXJfcHRyKGFyZ3MtPmhhbmRsZXMpLAo+Pj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFyZ3MtPmNvdW50X2hh bmRsZXMsCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnN5 bmNvYmpzKTsKPj4+PiArwqDCoMKgIGlmIChyZXQgPCAwKQo+Pj4+ICvCoMKgwqDCoMKgwqDCoCBy ZXR1cm4gcmV0Owo+Pj4+ICsKPj4+PiArwqDCoMKgIHBvaW50cyA9IGttYWxsb2NfYXJyYXkoYXJn cy0+Y291bnRfaGFuZGxlcywgc2l6ZW9mKCpwb2ludHMpLAo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgR0ZQX0tFUk5FTCk7Cj4+Pj4gK8KgwqDCoCBpZiAoIXBvaW50 cykgewo+Pj4+ICvCoMKgwqDCoMKgwqDCoCByZXQgPSAtRU5PTUVNOwo+Pj4+ICvCoMKgwqDCoMKg wqDCoCBnb3RvIG91dDsKPj4+PiArwqDCoMKgIH0KPj4+PiArwqDCoMKgIGlmICghdTY0X3RvX3Vz ZXJfcHRyKGFyZ3MtPnBvaW50cykpIHsKPj4+PiArwqDCoMKgwqDCoMKgwqAgbWVtc2V0KHBvaW50 cywgMCwgYXJncy0+Y291bnRfaGFuZGxlcyAqIHNpemVvZih1aW50NjRfdCkpOwo+Pj4+ICvCoMKg wqAgfSBlbHNlIGlmIChjb3B5X2Zyb21fdXNlcihwb2ludHMsIHU2NF90b191c2VyX3B0cihhcmdz LT5wb2ludHMpLAo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNpemVv Zih1aW50NjRfdCkgKiBhcmdzLT5jb3VudF9oYW5kbGVzKSkgewo+Pj4+ICvCoMKgwqDCoMKgwqDC oCByZXQgPSAtRUZBVUxUOwo+Pj4+ICvCoMKgwqDCoMKgwqDCoCBnb3RvIGVycl9wb2ludHM7Cj4+ Pj4gK8KgwqDCoCB9Cj4+Pj4gKwo+Pj4+ICvCoMKgwqAgY2hhaW5zID0ga21hbGxvY19hcnJheShh cmdzLT5jb3VudF9oYW5kbGVzLCBzaXplb2Yodm9pZCAqKSwKPj4+PiBHRlBfS0VSTkVMKTsKPj4+ PiArwqDCoMKgIGlmICghY2hhaW5zKSB7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldCA9IC1FTk9N RU07Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGdvdG8gZXJyX3BvaW50czsKPj4+PiArwqDCoMKgIH0K Pj4+PiArwqDCoMKgIGZvciAoaSA9IDA7IGkgPCBhcmdzLT5jb3VudF9oYW5kbGVzOyBpKyspIHsK Pj4+PiArwqDCoMKgwqDCoMKgwqAgY2hhaW5zW2ldID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGRt YV9mZW5jZV9jaGFpbiksCj4+Pj4gR0ZQX0tFUk5FTCk7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGlm ICghY2hhaW5zW2ldKSB7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZm9yIChqID0gMDsg aiA8IGk7IGorKykKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGtmcmVlKGNo YWluc1tqXSk7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0ID0gLUVOT01FTTsKPj4+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnb3RvIGVycl9jaGFpbnM7Cj4+Pj4gK8KgwqDCoMKg wqDCoMKgIH0KPj4+PiArwqDCoMKgIH0KPj4+PiArCj4+Pj4gK8KgwqDCoCBmb3IgKGkgPSAwOyBp IDwgYXJncy0+Y291bnRfaGFuZGxlczsgaSsrKSB7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHN0cnVj dCBkbWFfZmVuY2UgKmZlbmNlID0gZG1hX2ZlbmNlX2dldF9zdHViKCk7Cj4+Pj4gKwo+Pj4+ICvC oMKgwqDCoMKgwqDCoCBkcm1fc3luY29ial9hZGRfcG9pbnQoc3luY29ianNbaV0sIGNoYWluc1tp XSwKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZlbmNl LCBwb2ludHNbaV0pOwo+Pj4+ICvCoMKgwqDCoMKgwqDCoCBkbWFfZmVuY2VfcHV0KGZlbmNlKTsK Pj4+PiArwqDCoMKgIH0KPj4+Cj4+PiBJIHRoaW5rIEkgZm91bmQgYW4gaXNzdWUgd2hlcmUgdGhl IGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgbWF0Y2ggd2hhdAo+Pj4gdGhlIHNwZWMgcmVxdWlyZXMg b24gaG9zdCBzaWduYWxpbmcuCj4+Pgo+Pj4gQ29uc2lkZXIgdGhlIGZvbGxvd2luZyA6Cj4+Pgo+ Pj4KPj4+IFRpbWVsaW5lIHNlbWFwaG9yZSBoYXMgYSB2YWx1ZSBvZiA0Lgo+Pj4KPj4+IEEgZGV2 aWNlIHN1Ym1pdHMgYSBjb21tYW5kcyB0byBzaWduYWwgcG9pbnQgNS4KPj4+Cj4+PiBUaGUgaG9z dCBzaWduYWxzIHBvaW50IDYuCj4+Pgo+Pj4KPj4+IFRoZSB2YWx1ZSBvZiB0aGUgdGltZWxpbmUg d2lsbCByZW1haW4gNCB1bnRpbCB0aGUgZGV2aWNlIGNvbW1hbmRzCj4+PiBjb21wbGV0ZSwgYXQg d2hpY2ggcG9pbnQgaXQgd2lsbCBjaGFuZ2UgdG8gNi4KPj4+Cj4+PiBCdXQgdGhlIHNwZWNpZmlj YXRpb24gc2VlbXMgdG8gc2F5IHRoYXQgdGhlIHRpbWVsaW5lIHZhbHVlIHNob3VsZCBiZSA2Cj4+ PiBvbmNlIHRoZSBob3N0IHNpZ25hbGluZyBjb21wbGV0ZXMuCj4+Pgo+Pj4KPj4+IFRoZSBvbmx5 IG9wdGlvbiB0aGF0IEkgc2VlIHdvcmtpbmcgd291bGQgYmUgdG8gYWRkIHBvaW50IDYgaW4gdGhl Cj4+PiB0aW1lbGluZSBhbmQgd2FpdCBvbiB0aGF0IHBvaW50IHRvIGNvbXBsZXRlLgo+Pj4KPj4+ Cj4+PiBDaHJpc3RpYW4sIERhdmlkLCB3aGF0IGRvIHlvdSB0aGluaz8KPj4gVGhpcyBpcyBleGFj dGx5IHdoYXQgSSBzYWlkIGJlZm9yZSwgc2VlIFYzIGNvbW1lbnQgaW4gdGhlIHBhdGNoIGhlYWQu Cj4+Cj4+IEJ1dCBKZXNvbiBzYWlkIHRoaXMgc2hvdWxkIGJlIGd1cmFudGVlZCBieSB1c2VyIGFu ZCBhcHBsaWNhdGlvbi4KPj4KPj4gQnR3LCBpZiB3ZSB3YWl0IGFsbCBwcmV2aW91cyBwb2ludHMg Y29tcGxldGlvbiB0aGlzIGlvY3RsIGNvdWxkIGJlIAo+PiBibG9ja2VkLgo+Pgo+Pgo+PiAtRGF2 aWQKPgo+Cj4gSSBoYXZlbid0IHNlZW4gYW55dGhpbmcgdGhhdCBleHBsaWNpdGx5IGZvcmJpZHMg dGhhdCBpbiB0aGUgc3BlYy4KPgo+IFRyeWluZyB0byBnZXQgYSBjbGFyaWZpY2F0aW9uLgo+Cj4K PiAtTGlvbmVsCgoKU28gaXQgbG9va3MgbGlrZSB0aGlzIHdvbid0IGJlIGFsbG93ZWQgYnkgdGhl IHZ1bGthbiBzcGVjLgoKU29ycnksIEkgZ2VudWluZWx5IHRob3VnaHQgdGhpcyB3YXMgYWxsb3dl ZCBiZWNhdXNlIHdlIGNhbiBlbmQgdXAgaW4gCnN1Y2ggc2l0dWF0aW9uIG9uIHRoZSBkZXZpY2Ug c2lkZSA6KAoKCk5vdCBxdWl0ZSBzdXJlIGhvdyB1c2VmdWwgaXQgd291bGQgYmUgdG8gaGF2ZSBz b21lIGNoZWNrcyBoZXJlIGFzIG1vc3QgCm9mIHRoZSBlcnJvciBoYW5kbGluZyBjYW4gb25seSBi ZSBkb25lIHdpdGhpbiB0aGUgYWRkX3BvaW50KCkgZnVuY3Rpb24gCmFuZCByZXF1aXJlcyB0YWtp bmcgdGhlIHN5bmNvYmogbG9jay4KCgpBcyBtdWNoIGFzIEkgY291bGQgbGlrZSB0byBzZWUgbW9y ZSBlcnJvciBjaGVja2luZywgSSBndWVzcyB0aGlzIGlzbid0IApkb2FibGUgd2l0aG91dCBtb3Jl IGxvY2tpbmcuCgoKLUxpb25lbAoKCj4KPgo+Pgo+Pgo+Pj4KPj4+IFRoYW5rcywKPj4+Cj4+Pgo+ Pj4gLUxpb25lbAo+Pj4KPj4+Cj4+Pj4gK2Vycl9jaGFpbnM6Cj4+Pj4gK8KgwqDCoCBrZnJlZShj aGFpbnMpOwo+Pj4+ICtlcnJfcG9pbnRzOgo+Pj4+ICvCoMKgwqAga2ZyZWUocG9pbnRzKTsKPj4+ PiArb3V0Ogo+Pj4+ICvCoMKgwqAgZHJtX3N5bmNvYmpfYXJyYXlfZnJlZShzeW5jb2JqcywgYXJn cy0+Y291bnRfaGFuZGxlcyk7Cj4+Pj4gKwo+Pj4+ICvCoMKgwqAgcmV0dXJuIHJldDsKPj4+PiAr fQo+Pj4+ICsKPj4+PiDCoMKgIGludCBkcm1fc3luY29ial9xdWVyeV9pb2N0bChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSkKPj4+PiDCoMKgIHsKPj4+ PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0v ZHJtLmgKPj4+PiBpbmRleCBlOGQwZDZiNTE4NzUuLjIzNmIwMWExZmFiZiAxMDA2NDQKPj4+PiAt LS0gYS9pbmNsdWRlL3VhcGkvZHJtL2RybS5oCj4+Pj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9k cm0uaAo+Pj4+IEBAIC05NDMsNiArOTQzLDcgQEAgZXh0ZXJuICJDIiB7Cj4+Pj4gwqDCoCAjZGVm aW5lIERSTV9JT0NUTF9TWU5DT0JKX1RJTUVMSU5FX1dBSVTCoMKgwqAgRFJNX0lPV1IoMHhDQSwg c3RydWN0Cj4+Pj4gZHJtX3N5bmNvYmpfdGltZWxpbmVfd2FpdCkKPj4+PiDCoMKgICNkZWZpbmUg RFJNX0lPQ1RMX1NZTkNPQkpfUVVFUlnCoMKgwqDCoMKgwqDCoCBEUk1fSU9XUigweENCLCBzdHJ1 Y3QKPj4+PiBkcm1fc3luY29ial90aW1lbGluZV9hcnJheSkKPj4+PiDCoMKgICNkZWZpbmUgRFJN X0lPQ1RMX1NZTkNPQkpfVFJBTlNGRVLCoMKgwqAgRFJNX0lPV1IoMHhDQywgc3RydWN0Cj4+Pj4g ZHJtX3N5bmNvYmpfdHJhbnNmZXIpCj4+Pj4gKyNkZWZpbmUgRFJNX0lPQ1RMX1NZTkNPQkpfVElN RUxJTkVfU0lHTkFMwqDCoMKgIERSTV9JT1dSKDB4Q0QsIHN0cnVjdAo+Pj4+IGRybV9zeW5jb2Jq X3RpbWVsaW5lX2FycmF5KQo+Pj4+IMKgwqAgwqAgLyoqCj4+Pj4gwqDCoMKgICogRGV2aWNlIHNw ZWNpZmljIGlvY3RscyBzaG91bGQgb25seSBiZSBpbiB0aGVpciByZXNwZWN0aXZlIAo+Pj4+IGhl YWRlcnMKPj4+Cj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZng=