From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin via amd-gfx Subject: Re: [PATCH 09/11] drm/syncobj: add transition iotcls between binary and timeline Date: Fri, 15 Feb 2019 14:28:00 +0000 Message-ID: <95b9b990-fd69-197c-97c5-a8a1bfa4c6e6@intel.com> References: <20181207095601.2058-1-david1.zhou@amd.com> <20181207095601.2058-9-david1.zhou@amd.com> Reply-To: Lionel Landwerlin Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181207095601.2058-9-david1.zhou-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US 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 , Christian.Koenig-5C7GfCeVMHo@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org SGkgRGF2aWQsCgpUaGFua3MgYSBsb3QgZm9yIHBvaW50IG1lIHRvIHRoZSB0ZXN0cyB5b3UndmUg YWRkZWQgaW4gSUdULgpXaGlsZSBhZGRpbmcgYSB0ZXN0IHdpdGggdGhhdCBzaWduYWxzIGZlbmNl cyBpbXBvcnRlZCBpbnRvIGEgdGltZWxpbmUgCnN5bmNvYmogb3V0IG9mIG9yZGVyLCBJIHJhbiBp bnRvIGEgZGVhZGxvY2suCkhlcmUgaXMgdGhlIHRlc3QgOiAKaHR0cHM6Ly9naXRodWIuY29tL2Rq ZGVhdGgvaW50ZWwtZ3B1LXRvb2xzL2NvbW1pdC8xZTQ2Y2Y3ZTdiZmYwOWI3OGEyNDM2N2RkYzIz MTRmOTdlYjBhMWI5CgpUcnlpbmcgdG8ga2lsbCB0aGUgZGVhZGxvY2tlZCBwcm9jZXNzIEkgZ290 IHRoaXMgYmFja3RyYWNlIDoKCgpbwqDCoCAzMy45NjkxMzZdIFtJR1RdIHN5bmNvYmpfdGltZWxp bmU6IHN0YXJ0aW5nIHN1YnRlc3Qgc2lnbmFsLW9yZGVyClvCoMKgIDYwLjQ1MjgyM10gd2F0Y2hk b2c6IEJVRzogc29mdCBsb2NrdXAgLSBDUFUjNiBzdHVjayBmb3IgMjNzISAKW3N5bmNvYmpfdGlt ZWxpbjoyMDIxXQpbwqDCoCA2MC40NTI4MjZdIE1vZHVsZXMgbGlua2VkIGluOiByZmNvbW0gY21h YyBibmVwIGJpbmZtdF9taXNjIApubHNfaXNvODg1OV8xIHNuZF9oZGFfY29kZWNfaGRtaSBzbmRf aGRhX2NvZGVjX3JlYWx0ZWsgCnNuZF9oZGFfY29kZWNfZ2VuZXJpYyBsZWR0cmlnX2F1ZGlvIHNj aF9mcV9jb2RlbCBpYl9pc2VyIHNuZF9oZGFfaW50ZWwgCnJkbWFfY20gaXdfY20gc25kX2hkYV9j b2RlYyBpYl9jbSBzbmRfaGRhX2NvcmUgc25kX2h3ZGVwIGludGVsX3JhcGwgCnNuZF9wY20gaWJf Y29yZSB4ODZfcGtnX3RlbXBfdGhlcm1hbCBpbnRlbF9wb3dlcmNsYW1wIGNvbmZpZ2YKcyBjb3Jl dGVtcCBpc2NzaV90Y3Agc25kX3NlcV9taWRpIGxpYmlzY3NpX3RjcCBzbmRfc2VxX21pZGlfZXZl bnQgCmxpYmlzY3NpIGt2bV9pbnRlbCBzY3NpX3RyYW5zcG9ydF9pc2NzaSBrdm0gYnR1c2Igc25k X3Jhd21pZGkgaXJxYnlwYXNzIApidHJ0bCBpbnRlbF9jc3RhdGUgaW50ZWxfcmFwbF9wZXJmIGJ0 YmNtIGJ0aW50ZWwgYmx1ZXRvb3RoIHNuZF9zZXEgCnNuZF9zZXFfZGV2aWNlIHNuZF90aW1lciBp bnB1dF9sZWRzIGVjZGhfZ2VuZXJpYyBzbmQgc291bmRjb3JlIG1laV9tZSAKbWVpIGludGVsX3Bj aF90aGVybWFsIG1hY19oaWQgYWNwaV9wYWQgcGFycApvcnRfcGMgcHBkZXYgbHAgcGFycG9ydCBp cF90YWJsZXMgeF90YWJsZXMgYXV0b2ZzNCBidHJmcyB6c3RkX2RlY29tcHJlc3MgCnpzdGRfY29t cHJlc3MgcmFpZDEwIHJhaWQ0NTYgYXN5bmNfcmFpZDZfcmVjb3YgYXN5bmNfbWVtY3B5IGFzeW5j X3BxIAphc3luY194b3IgYXN5bmNfdHggeG9yIHJhaWQ2X3BxIGxpYmNyYzMyYyByYWlkMSByYWlk MCBtdWx0aXBhdGggbGluZWFyIApoaWRfZ2VuZXJpYyB1c2JoaWQgaGlkIGk5MTUgY3JjdDEwZGlm X3BjbG11bCBjcmMzMl9wY2xtdWwgaTJjX2FsZ29fYml0IApnaGFzaF9jbG11bG5pX2ludGVsIHBy aW1lX251bWJlcnMKZHJtX2ttc19oZWxwZXIgYWVzbmlfaW50ZWwgc3lzY29weWFyZWEgc3lzZmls bHJlY3QKW8KgwqAgNjAuNDUyODc2XcKgIHN5c2ltZ2JsdCBmYl9zeXNfZm9wcyBhZXNfeDg2XzY0 IGNyeXB0b19zaW1kIHNkaGNpX3BjaSAKY3J5cHRkIGRybSBlMTAwMGUgZ2x1ZV9oZWxwZXIgY3Fo Y2kgc2RoY2kgd21pIHZpZGVvClvCoMKgIDYwLjQ1Mjg4MV0gQ1BVOiA2IFBJRDogMjAyMSBDb21t OiBzeW5jb2JqX3RpbWVsaW4gVGFpbnRlZDogR8KgwqDCoMKgIApVwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCA1LjAuMC1yYzUrICMzMzcKW8KgwqAgNjAuNDUyODgyXSBIYXJkd2FyZSBuYW1lOsKgIC9O VUM2aTdLWUIsIEJJT1MgCktZU0tMaTcwLjg2QS4wMDQyLjIwMTYuMDkyOS4xOTMzIDA5LzI5LzIw MTYKW8KgwqAgNjAuNDUyODg2XSBSSVA6IDAwMTA6ZG1hX2ZlbmNlX2NoYWluX3dhbGsrMHgyMmMv MHgyNjAKW8KgwqAgNjAuNDUyODg4XSBDb2RlOiBmZiBlOSA5MyBmZSBmZiBmZiA0OCA4YiA0NSAw OCA0OCA4YiA0MCAxOCA0OCA4NSBjMCAKNzQgMGMgNDggODkgZWYgZTggMzMgMGYgNTggMDAgODQg YzAgNzUgMjMgZjAgNDEgZmYgNGQgMDAgMGYgODggOTkgODcgMmYgCjAwIDwwZj4gODUgMDUgZmUg ZmYgZmYgNGMgODkgZWYgZTggNTYgZWEgZmYgZmYgNDggODkgZDggNWIgNWQgNDEgNWMgNDEKW8Kg wqAgNjAuNDUyODg4XSBSU1A6IDAwMTg6ZmZmZjlhNTgwNDY1M2NhOCBFRkxBR1M6IDAwMDEwMjk2 IE9SSUdfUkFYOiAKZmZmZmZmZmZmZmZmZmYxMwpbwqDCoCA2MC40NTI4ODldIFJBWDogMDAwMDAw MDAwMDAwMDAwMCBSQlg6IGZmZmY4ZjU2OTBmYjI0ODAgUkNYOiAKZmZmZjhmNTY5MGZiMmYwMApb wqDCoCA2MC40NTI4OTBdIFJEWDogMDAwMDAwMDAwMDNlMzczMCBSU0k6IDAwMDAwMDAwMDAwMDAw MDAgUkRJOiAKZmZmZjhmNTY5MGZiMjE4MApbwqDCoCA2MC40NTI4OTFdIFJCUDogZmZmZjhmNTY5 MGZiMjE4MCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAKZmZmZjhmNTY5MGZiMmViMApbwqDC oCA2MC40NTI4OTFdIFIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IGZmZmY4ZjU2NjA0Njk4NjAg UjEyOiAKZmZmZjhmNTY5MGZiMmY2OApbwqDCoCA2MC40NTI4OTJdIFIxMzogZmZmZjhmNTY5MGZi MmYwMCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDMgUjE1OiAKZmZmZjhmNTY1NWE0NWZjMApbwqDCoCA2 MC40NTI5MTNdIEZTOsKgIDAwMDA3ZmRjNWM0NTk5ODAoMDAwMCkgR1M6ZmZmZjhmNTY5ZWI4MDAw MCgwMDAwKSAKa25sR1M6MDAwMDAwMDAwMDAwMDAwMApbwqDCoCA2MC40NTI5MTNdIENTOsKgIDAw MTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzClvCoMKgIDYwLjQ1Mjkx NF0gQ1IyOiAwMDAwN2Y5ZDc0MzM2ZGQ4IENSMzogMDAwMDAwMDg0YTY3ZTAwNCBDUjQ6IAowMDAw MDAwMDAwMzYwNmUwClvCoMKgIDYwLjQ1MjkxNV0gRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTog MDAwMDAwMDAwMDAwMDAwMCBEUjI6IAowMDAwMDAwMDAwMDAwMDAwClvCoMKgIDYwLjQ1MjkxNV0g RFIzOiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBmZmZlMGZmMCBEUjc6IAowMDAwMDAw MDAwMDAwNDAwClvCoMKgIDYwLjQ1MjkxNl0gQ2FsbCBUcmFjZToKW8KgwqAgNjAuNDUyOTU4XcKg IGRybV9zeW5jb2JqX2FkZF9wb2ludCsweDEwMi8weDE2MCBbZHJtXQpbwqDCoCA2MC40NTI5NjVd wqAgPyBkcm1fc3luY29ial9mZF90b19oYW5kbGVfaW9jdGwrMHgxYjAvMHgxYjAgW2RybV0KW8Kg wqAgNjAuNDUyOTcxXcKgIGRybV9zeW5jb2JqX3RyYW5zZmVyX2lvY3RsKzB4MTBmLzB4MTgwIFtk cm1dClvCoMKgIDYwLjQ1Mjk3OF3CoCBkcm1faW9jdGxfa2VybmVsKzB4YWMvMHhmMCBbZHJtXQpb wqDCoCA2MC40NTI5ODRdwqAgZHJtX2lvY3RsKzB4MmViLzB4M2IwIFtkcm1dClvCoMKgIDYwLjQ1 Mjk5MF3CoCA/IGRybV9zeW5jb2JqX2ZkX3RvX2hhbmRsZV9pb2N0bCsweDFiMC8weDFiMCBbZHJt XQpbwqDCoCA2MC40NTI5OTJdwqAgPyBzd19zeW5jX2lvY3RsKzB4MzQ3LzB4MzcwClvCoMKgIDYw LjQ1Mjk5NF3CoCBkb192ZnNfaW9jdGwrMHhhNC8weDY0MApbwqDCoCA2MC40NTI5OTVdwqAgPyBf X2ZwdXQrMHgxMzQvMHgyMjAKW8KgwqAgNjAuNDUyOTk3XcKgID8gZG9fZmNudGwrMHgxYTUvMHg2 NTAKW8KgwqAgNjAuNDUyOTk4XcKgIGtzeXNfaW9jdGwrMHg3MC8weDgwClvCoMKgIDYwLjQ1Mjk5 OV3CoCBfX3g2NF9zeXNfaW9jdGwrMHgxNi8weDIwClvCoMKgIDYwLjQ1MzAwMl3CoCBkb19zeXNj YWxsXzY0KzB4NTUvMHgxMTAKW8KgwqAgNjAuNDUzMDA0XcKgIGVudHJ5X1NZU0NBTExfNjRfYWZ0 ZXJfaHdmcmFtZSsweDQ0LzB4YTkKW8KgwqAgNjAuNDUzMDA1XSBSSVA6IDAwMzM6MHg3ZmRjNWI2 ZTQ1ZDcKW8KgwqAgNjAuNDUzMDA2XSBDb2RlOiBiMyA2NiA5MCA0OCA4YiAwNSBiMSA0OCAyZCAw MCA2NCBjNyAwMCAyNiAwMCAwMCAwMCAKNDggYzcgYzAgZmYgZmYgZmYgZmYgYzMgNjYgMmUgMGYg MWYgODQgMDAgMDAgMDAgMDAgMDAgYjggMTAgMDAgMDAgMDAgMGYgCjA1IDw0OD4gM2QgMDEgZjAg ZmYgZmYgNzMgMDEgYzMgNDggOGIgMGQgODEgNDggMmQgMDAgZjcgZDggNjQgODkgMDEgNDgKW8Kg wqAgNjAuNDUzMDA3XSBSU1A6IDAwMmI6MDAwMDdmZmYyNWM0ZDE5OCBFRkxBR1M6IDAwMDAwMjA2 IE9SSUdfUkFYOiAKMDAwMDAwMDAwMDAwMDAxMApbwqDCoCA2MC40NTMwMDhdIFJBWDogZmZmZmZm ZmZmZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDAwMDAwMDAgUkNYOiAKMDAwMDdmZGM1YjZlNDVkNwpb wqDCoCA2MC40NTMwMDhdIFJEWDogMDAwMDdmZmYyNWM0ZDIwMCBSU0k6IDAwMDAwMDAwYzAyMDY0 Y2MgUkRJOiAKMDAwMDAwMDAwMDAwMDAwMwpbwqDCoCA2MC40NTMwMDldIFJCUDogMDAwMDdmZmYy NWM0ZDFkMCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAKMDAwMDAwMDAwMDAwMDAxZQpbwqDC oCA2MC40NTMwMTBdIFIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDAwMDAyMDYg UjEyOiAKMDAwMDU2M2QzOTU5ZTRkMApbwqDCoCA2MC40NTMwMTBdIFIxMzogMDAwMDdmZmYyNWM0 ZDYyMCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1OiAKMDAwMDAwMDAwMDAwMDAwMApbwqDCoCA4 OC40NDczNTldIHdhdGNoZG9nOiBCVUc6IHNvZnQgbG9ja3VwIC0gQ1BVIzYgc3R1Y2sgZm9yIDIy cyEgCltzeW5jb2JqX3RpbWVsaW46MjAyMV0KCgotTGlvbmVsCgoKT24gMDcvMTIvMjAxOCAwOTo1 NSwgQ2h1bm1pbmcgWmhvdSB3cm90ZToKPiB3ZSBuZWVkIHRvIGltcG9ydC9leHBvcnQgdGltZWxp bmUgcG9pbnQKPgo+IFNpZ25lZC1vZmYtYnk6IENodW5taW5nIFpob3UgPGRhdmlkMS56aG91QGFt ZC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2ludGVybmFsLmggfCAgNCArKysK PiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYyAgICB8ICA2ICsrKysKPiAgIGRyaXZlcnMv Z3B1L2RybS9kcm1fc3luY29iai5jICB8IDY2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKPiAgIGluY2x1ZGUvdWFwaS9kcm0vZHJtLmggICAgICAgICB8IDEwICsrKysrKwo+ICAg NCBmaWxlcyBjaGFuZ2VkLCA4NiBpbnNlcnRpb25zKCspCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV9pbnRlcm5hbC5oIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pbnRlcm5hbC5o Cj4gaW5kZXggZGFiNGQ1OTM2NDQxLi5lY2JlM2Q1MWE3MDIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9pbnRlcm5hbC5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pbnRl cm5hbC5oCj4gQEAgLTE3Niw2ICsxNzYsMTAgQEAgaW50IGRybV9zeW5jb2JqX2hhbmRsZV90b19m ZF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAgCQkJCSAgIHN0 cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKTsKPiAgIGludCBkcm1fc3luY29ial9mZF90b19o YW5kbGVfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAkJCQkg ICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSk7Cj4gK2ludCBkcm1fc3luY29ial9iaW5h cnlfdG9fdGltZWxpbmVfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK PiArCQkJCQkgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUpOwo+ICtpbnQgZHJtX3N5bmNv YmpfdGltZWxpbmVfdG9fYmluYXJ5X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCj4gKwkJCQkJIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKTsKPiAgIGludCBk cm1fc3luY29ial93YWl0X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEs Cj4gICAJCQkgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSk7Cj4gICBpbnQgZHJtX3N5 bmNvYmpfdGltZWxpbmVfd2FpdF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2lvY3RsLmMKPiBpbmRleCA3NTc4ZWY2ZGMxZDEuLjZiNDE3ZTNjM2VhNSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2lvY3RsLmMKPiBAQCAtNjczLDYgKzY3MywxMiBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGRybV9pb2N0bF9kZXNjIGRybV9pb2N0bHNbXSA9IHsKPiAgIAkJICAgICAgRFJNX1VO TE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAo+ICAgCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX1NZ TkNPQkpfRkRfVE9fSEFORExFLCBkcm1fc3luY29ial9mZF90b19oYW5kbGVfaW9jdGwsCj4gICAJ CSAgICAgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKPiArCURSTV9JT0NUTF9ERUYo RFJNX0lPQ1RMX1NZTkNPQkpfQklOQVJZX1RPX1RJTUVMSU5FLAo+ICsJCSAgICAgIGRybV9zeW5j b2JqX2JpbmFyeV90b190aW1lbGluZV9pb2N0bCwKPiArCQkgICAgICBEUk1fVU5MT0NLRUR8RFJN X1JFTkRFUl9BTExPVyksCj4gKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9TWU5DT0JKX1RJTUVM SU5FX1RPX0JJTkFSWSwKPiArCQkgICAgICBkcm1fc3luY29ial90aW1lbGluZV90b19iaW5hcnlf aW9jdGwsCj4gKwkJICAgICAgRFJNX1VOTE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAo+ICAgCURS TV9JT0NUTF9ERUYoRFJNX0lPQ1RMX1NZTkNPQkpfV0FJVCwgZHJtX3N5bmNvYmpfd2FpdF9pb2N0 bCwKPiAgIAkJICAgICAgRFJNX1VOTE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAo+ICAgCURSTV9J T0NUTF9ERUYoRFJNX0lPQ1RMX1NZTkNPQkpfVElNRUxJTkVfV0FJVCwgZHJtX3N5bmNvYmpfdGlt ZWxpbmVfd2FpdF9pb2N0bCwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5j b2JqLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYwo+IGluZGV4IDI4Mjk4MmU1OGRi ZC4uY2Y0ZGFhNjcwMjUyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29i ai5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKPiBAQCAtNjcwLDYgKzY3 MCw3MiBAQCBkcm1fc3luY29ial9mZF90b19oYW5kbGVfaW9jdGwoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdm9pZCAqZGF0YSwKPiAgIAkJCQkJJmFyZ3MtPmhhbmRsZSk7Cj4gICB9Cj4gICAKPiAr aW50Cj4gK2RybV9zeW5jb2JqX2JpbmFyeV90b190aW1lbGluZV9pb2N0bChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICsJCQkJICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVf cHJpdmF0ZSkKPiArewo+ICsJc3RydWN0IGRybV9zeW5jb2JqX3RyYW5zZmVyICphcmdzID0gZGF0 YTsKPiArCXN0cnVjdCBkcm1fc3luY29iaiAqdGltZWxpbmVfc3luY29iaiA9IE5VTEw7Cj4gKwlz dHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZTsKPiArCXN0cnVjdCBkbWFfZmVuY2VfY2hhaW4gKmNoYWlu Owo+ICsJaW50IHJldDsKPiArCj4gKwlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBE UklWRVJfU1lOQ09CSikpCj4gKwkJcmV0dXJuIC1FTk9ERVY7Cj4gKwo+ICsJaWYgKGFyZ3MtPnBh ZCkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwl0aW1lbGluZV9zeW5jb2JqID0gZHJtX3N5 bmNvYmpfZmluZChmaWxlX3ByaXZhdGUsIGFyZ3MtPnRpbWVsaW5lX2hhbmRsZSk7Cj4gKwlpZiAo IXRpbWVsaW5lX3N5bmNvYmopIHsKPiArCQlyZXR1cm4gLUVOT0VOVDsKPiArCX0KPiArCXJldCA9 IGRybV9zeW5jb2JqX2ZpbmRfZmVuY2UoZmlsZV9wcml2YXRlLCBhcmdzLT5iaW5hcnlfaGFuZGxl LCAwLCAwLAo+ICsJCQkJICAgICAmZmVuY2UpOwo+ICsJaWYgKHJldCkKPiArCQlnb3RvIGVycjsK PiArCWNoYWluID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGRtYV9mZW5jZV9jaGFpbiksIEdGUF9L RVJORUwpOwo+ICsJaWYgKCFjaGFpbikKPiArCQlnb3RvIGVycjE7Cj4gKwlkcm1fc3luY29ial9h ZGRfcG9pbnQodGltZWxpbmVfc3luY29iaiwgY2hhaW4sIGZlbmNlLCBhcmdzLT5wb2ludCk7Cj4g K2VycjE6Cj4gKwlkbWFfZmVuY2VfcHV0KGZlbmNlKTsKPiArZXJyOgo+ICsJZHJtX3N5bmNvYmpf cHV0KHRpbWVsaW5lX3N5bmNvYmopOwo+ICsKPiArCXJldHVybiByZXQ7Cj4gK30KPiArCj4gK2lu dAo+ICtkcm1fc3luY29ial90aW1lbGluZV90b19iaW5hcnlfaW9jdGwoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdm9pZCAqZGF0YSwKPiArCQkJCSAgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3By aXZhdGUpCj4gK3sKPiArCXN0cnVjdCBkcm1fc3luY29ial90cmFuc2ZlciAqYXJncyA9IGRhdGE7 Cj4gKwlzdHJ1Y3QgZHJtX3N5bmNvYmogKmJpbmFyeV9zeW5jb2JqID0gTlVMTDsKPiArCXN0cnVj dCBkbWFfZmVuY2UgKmZlbmNlOwo+ICsJaW50IHJldDsKPiArCj4gKwlpZiAoIWRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfU1lOQ09CSikpCj4gKwkJcmV0dXJuIC1FTk9ERVY7Cj4g Kwo+ICsJaWYgKGFyZ3MtPnBhZCkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwliaW5hcnlf c3luY29iaiA9IGRybV9zeW5jb2JqX2ZpbmQoZmlsZV9wcml2YXRlLCBhcmdzLT5iaW5hcnlfaGFu ZGxlKTsKPiArCWlmICghYmluYXJ5X3N5bmNvYmopCj4gKwkJcmV0dXJuIC1FTk9FTlQ7Cj4gKwly ZXQgPSBkcm1fc3luY29ial9maW5kX2ZlbmNlKGZpbGVfcHJpdmF0ZSwgYXJncy0+dGltZWxpbmVf aGFuZGxlLAo+ICsJCQkJICAgICBhcmdzLT5wb2ludCwgYXJncy0+ZmxhZ3MsICZmZW5jZSk7Cj4g KwlpZiAocmV0KQo+ICsJCWdvdG8gZXJyOwo+ICsJZHJtX3N5bmNvYmpfcmVwbGFjZV9mZW5jZShi aW5hcnlfc3luY29iaiwgZmVuY2UpOwo+ICsJZG1hX2ZlbmNlX3B1dChmZW5jZSk7Cj4gK2VycjoK PiArCWRybV9zeW5jb2JqX3B1dChiaW5hcnlfc3luY29iaik7Cj4gKwo+ICsJcmV0dXJuIHJldDsK PiArfQo+ICsKPiAgIHN0YXRpYyB2b2lkIHN5bmNvYmpfd2FpdF9mZW5jZV9mdW5jKHN0cnVjdCBk bWFfZmVuY2UgKmZlbmNlLAo+ICAgCQkJCSAgICBzdHJ1Y3QgZG1hX2ZlbmNlX2NiICpjYikKPiAg IHsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9kcm0uaCBiL2luY2x1ZGUvdWFwaS9k cm0vZHJtLmgKPiBpbmRleCBiMmMzNmYyYjI1OTkuLjg4ZDYxMjlkNGExOCAxMDA2NDQKPiAtLS0g YS9pbmNsdWRlL3VhcGkvZHJtL2RybS5oCj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm0uaAo+ IEBAIC03MzUsNiArNzM1LDE0IEBAIHN0cnVjdCBkcm1fc3luY29ial9oYW5kbGUgewo+ICAgCV9f dTMyIHBhZDsKPiAgIH07Cj4gICAKPiArc3RydWN0IGRybV9zeW5jb2JqX3RyYW5zZmVyIHsKPiAr CV9fdTMyIGJpbmFyeV9oYW5kbGU7Cj4gKwlfX3UzMiB0aW1lbGluZV9oYW5kbGU7Cj4gKwlfX3U2 NCBwb2ludDsKPiArCV9fdTMyIGZsYWdzOwo+ICsJX191MzIgcGFkOwo+ICt9Owo+ICsKPiAgICNk ZWZpbmUgRFJNX1NZTkNPQkpfV0FJVF9GTEFHU19XQUlUX0FMTCAoMSA8PCAwKQo+ICAgI2RlZmlu ZSBEUk1fU1lOQ09CSl9XQUlUX0ZMQUdTX1dBSVRfRk9SX1NVQk1JVCAoMSA8PCAxKQo+ICAgI2Rl ZmluZSBEUk1fU1lOQ09CSl9XQUlUX0ZMQUdTX1dBSVRfQVZBSUxBQkxFICgxIDw8IDIpCj4gQEAg LTkzMyw2ICs5NDEsOCBAQCBleHRlcm4gIkMiIHsKPiAgIAo+ICAgI2RlZmluZSBEUk1fSU9DVExf U1lOQ09CSl9USU1FTElORV9XQUlUCURSTV9JT1dSKDB4Q0EsIHN0cnVjdCBkcm1fc3luY29ial90 aW1lbGluZV93YWl0KQo+ICAgI2RlZmluZSBEUk1fSU9DVExfU1lOQ09CSl9RVUVSWQkJRFJNX0lP V1IoMHhDQiwgc3RydWN0IGRybV9zeW5jb2JqX3RpbWVsaW5lX2FycmF5KQo+ICsjZGVmaW5lIERS TV9JT0NUTF9TWU5DT0JKX0JJTkFSWV9UT19USU1FTElORQlEUk1fSU9XUigweENDLCBzdHJ1Y3Qg ZHJtX3N5bmNvYmpfdHJhbnNmZXIpCj4gKyNkZWZpbmUgRFJNX0lPQ1RMX1NZTkNPQkpfVElNRUxJ TkVfVE9fQklOQVJZCURSTV9JT1dSKDB4Q0QsIHN0cnVjdCBkcm1fc3luY29ial90cmFuc2ZlcikK PiAgIAo+ICAgLyoqCj4gICAgKiBEZXZpY2Ugc3BlY2lmaWMgaW9jdGxzIHNob3VsZCBvbmx5IGJl IGluIHRoZWlyIHJlc3BlY3RpdmUgaGVhZGVycwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vYW1kLWdmeA==