From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH 27/49] drm/amd/display: update optc odm interface for more than 2 opps Date: Fri, 9 Aug 2019 17:37:20 -0400 Message-ID: <20190809213742.30301-28-sunpeng.li@amd.com> References: <20190809213742.30301-1-sunpeng.li@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190809213742.30301-1-sunpeng.li-5C7GfCeVMHo@public.gmane.org> 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: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Leo Li , Charlene Liu , Dmytro Laktyushkin RnJvbTogRG15dHJvIExha3R5dXNoa2luIDxEbXl0cm8uTGFrdHl1c2hraW5AYW1kLmNvbT4KCkN1 cnJlbnQgb3B0YyBvZG0gaW50ZXJmYWNlIG9ubHkgYWNjZXB0cyAyIG9wcHMsIHdlIG5lZWQgdG8K ZXhwYW5kIHRoaXMgdG8gYWxsb3cgNCB0byAxIG9kbSBjb21iaW5lLgoKU2lnbmVkLW9mZi1ieTog RG15dHJvIExha3R5dXNoa2luIDxEbXl0cm8uTGFrdHl1c2hraW5AYW1kLmNvbT4KUmV2aWV3ZWQt Ynk6IENoYXJsZW5lIExpdSA8Q2hhcmxlbmUuTGl1QGFtZC5jb20+CkFja2VkLWJ5OiBMZW8gTGkg PHN1bnBlbmcubGlAYW1kLmNvbT4KLS0tCiAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24x MC9kY24xMF9vcHRjLmMgfCAgMyArLS0KIC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEw L2RjbjEwX29wdGMuaCB8ICAyICstCiAuLi4vZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIw X2h3c2VxLmMgICAgfCAyMiArKysrKysrKysrKy0tLS0tLS0tCiAuLi4vZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9kY24yMC9kY24yMF9vcHRjLmMgfCAyMCArKysrKysrKystLS0tLS0tLQogLi4uL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMjAvZGNuMjBfb3B0Yy5oIHwgIDQgKystLQogLi4uL2Ft ZC9kaXNwbGF5L2RjL2luYy9ody90aW1pbmdfZ2VuZXJhdG9yLmggIHwgIDYgKystLS0KIDYgZmls ZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX29wdGMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9vcHRjLmMKaW5kZXggYTU0 NmMyYmM5MTI5Li5iNjMxNzg2YTRhMzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9kY24xMC9kY24xMF9vcHRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2RjbjEwL2RjbjEwX29wdGMuYwpAQCAtMjg3LDcgKzI4Nyw3IEBAIHZvaWQgb3B0 YzFfcHJvZ3JhbV90aW1pbmcoCiAKIAloX2Rpdl8yID0gb3B0YzFfaXNfdHdvX3BpeGVsc19wZXJf Y29udGFpbnRlcigmcGF0Y2hlZF9jcnRjX3RpbWluZyk7CiAJUkVHX1VQREFURShPVEdfSF9USU1J TkdfQ05UTCwKLQkJCU9UR19IX1RJTUlOR19ESVZfQlkyLCBoX2Rpdl8yIHx8IG9wdGMxLT5jb21i X29wcF9pZCAhPSAweGYpOworCQkJT1RHX0hfVElNSU5HX0RJVl9CWTIsIGhfZGl2XzIgfHwgb3B0 YzEtPm9wcF9jb3VudCA9PSAyKTsKIAogfQogCkBAIC0xNTEzLDcgKzE1MTMsNiBAQCB2b2lkIGRj bjEwX3RpbWluZ19nZW5lcmF0b3JfaW5pdChzdHJ1Y3Qgb3B0YyAqb3B0YzEpCiAJb3B0YzEtPm1p bl92X2JsYW5rX2ludGVybGFjZSA9IDU7CiAJb3B0YzEtPm1pbl9oX3N5bmNfd2lkdGggPSA4Owog CW9wdGMxLT5taW5fdl9zeW5jX3dpZHRoID0gMTsKLQlvcHRjMS0+Y29tYl9vcHBfaWQgPSAweGY7 CiB9CiAKICNpZmRlZiBDT05GSUdfRFJNX0FNRF9EQ19EU0NfU1VQUE9SVApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX29wdGMuaCBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9vcHRjLmgKaW5kZXggNjZjMDhk MDVkYTBlLi44MmQ5MWFiNTRiYTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9kY24xMC9kY24xMF9vcHRjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2RjbjEwL2RjbjEwX29wdGMuaApAQCAtNDk0LDcgKzQ5NCw3IEBAIHN0cnVjdCBvcHRj IHsKIAljb25zdCBzdHJ1Y3QgZGNuX29wdGNfc2hpZnQgKnRnX3NoaWZ0OwogCWNvbnN0IHN0cnVj dCBkY25fb3B0Y19tYXNrICp0Z19tYXNrOwogCi0JaW50IGNvbWJfb3BwX2lkOworCWludCBvcHBf Y291bnQ7CiAKIAl1aW50MzJfdCBtYXhfaF90b3RhbDsKIAl1aW50MzJfdCBtYXhfdl90b3RhbDsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9o d3NlcS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX2h3c2Vx LmMKaW5kZXggYzM2MzVmNWNkOTkwLi41OTA0ZDRkMzI5ZGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9od3NlcS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9od3NlcS5jCkBAIC01NDUsMTIgKzU0 NSwxNCBAQCBlbnVtIGRjX3N0YXR1cyBkY24yMF9lbmFibGVfc3RyZWFtX3RpbWluZygKIAogCS8q IFRPRE8gY2hlY2sgaWYgdGltaW5nX2NoYW5nZWQsIGRpc2FibGUgc3RyZWFtIGlmIHRpbWluZyBj aGFuZ2VkICovCiAKLQlpZiAob2RtX3BpcGUpCisJaWYgKG9kbV9waXBlKSB7CisJCWludCBvcHBf aW5zdFsyXSA9IHsgcGlwZV9jdHgtPnN0cmVhbV9yZXMub3BwLT5pbnN0LCBvZG1fcGlwZS0+c3Ry ZWFtX3Jlcy5vcHAtPmluc3QgfTsKKwogCQlwaXBlX2N0eC0+c3RyZWFtX3Jlcy50Zy0+ZnVuY3Mt PnNldF9vZG1fY29tYmluZSgKIAkJCQlwaXBlX2N0eC0+c3RyZWFtX3Jlcy50ZywKLQkJCQlvZG1f cGlwZS0+c3RyZWFtX3Jlcy5vcHAtPmluc3QsCi0JCQkJcGlwZV9jdHgtPnN0cmVhbS0+dGltaW5n LmhfYWRkcmVzc2FibGUvMiwKLQkJCQlwaXBlX2N0eC0+c3RyZWFtLT50aW1pbmcucGl4ZWxfZW5j b2RpbmcpOworCQkJCW9wcF9pbnN0LCAyLAorCQkJCSZwaXBlX2N0eC0+c3RyZWFtLT50aW1pbmcp OworCX0KIAkvKiBIVyBwcm9ncmFtIGd1aWRlIGFzc3VtZSBkaXNwbGF5IGFscmVhZHkgZGlzYWJs ZQogCSAqIGJ5IHVucGx1ZyBzZXF1ZW5jZS4gT1RHIGFzc3VtZSBzdG9wLgogCSAqLwpAQCAtODIy LDEzICs4MjQsMTUgQEAgc3RhdGljIHZvaWQgZGNuMjBfdXBkYXRlX29kbShzdHJ1Y3QgZGMgKmRj LCBzdHJ1Y3QgZGNfc3RhdGUgKmNvbnRleHQsIHN0cnVjdCBwaXAKIHsKIAlzdHJ1Y3QgcGlwZV9j dHggKmNvbWJpbmVfcGlwZSA9IGRjX3Jlc19nZXRfb2RtX2JvdHRvbV9waXBlKHBpcGVfY3R4KTsK IAotCWlmIChjb21iaW5lX3BpcGUpCisJaWYgKGNvbWJpbmVfcGlwZSkgeworCQlpbnQgb3BwX2lu c3RbMl0gPSB7IHBpcGVfY3R4LT5zdHJlYW1fcmVzLm9wcC0+aW5zdCwKKwkJCQljb21iaW5lX3Bp cGUtPnN0cmVhbV9yZXMub3BwLT5pbnN0IH07CisKIAkJcGlwZV9jdHgtPnN0cmVhbV9yZXMudGct PmZ1bmNzLT5zZXRfb2RtX2NvbWJpbmUoCiAJCQkJcGlwZV9jdHgtPnN0cmVhbV9yZXMudGcsCi0J CQkJY29tYmluZV9waXBlLT5zdHJlYW1fcmVzLm9wcC0+aW5zdCwKLQkJCQlwaXBlX2N0eC0+cGxh bmVfcmVzLnNjbF9kYXRhLmhfYWN0aXZlLAotCQkJCXBpcGVfY3R4LT5zdHJlYW0tPnRpbWluZy5w aXhlbF9lbmNvZGluZyk7Ci0JZWxzZQorCQkJCW9wcF9pbnN0LCAyLAorCQkJCSZwaXBlX2N0eC0+ c3RyZWFtLT50aW1pbmcpOworCX0gZWxzZQogCQlwaXBlX2N0eC0+c3RyZWFtX3Jlcy50Zy0+ZnVu Y3MtPnNldF9vZG1fYnlwYXNzKAogCQkJCXBpcGVfY3R4LT5zdHJlYW1fcmVzLnRnLCAmcGlwZV9j dHgtPnN0cmVhbS0+dGltaW5nKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9kY24yMC9kY24yMF9vcHRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvZGNuMjAvZGNuMjBfb3B0Yy5jCmluZGV4IDZkZWRlNDk1ZDBmZC4uYWVkZjlkZTFjOTQ3 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMjAvZGNuMjBf b3B0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9v cHRjLmMKQEAgLTIyNCw3ICsyMjQsNiBAQCB2b2lkIG9wdGMyX3NldF9vZG1fYnlwYXNzKHN0cnVj dCB0aW1pbmdfZ2VuZXJhdG9yICpvcHRjLAogCXN0cnVjdCBvcHRjICpvcHRjMSA9IERDTjEwVEdf RlJPTV9URyhvcHRjKTsKIAl1aW50MzJfdCBoX2Rpdl8yID0gMDsKIAotCW9wdGMxLT5jb21iX29w cF9pZCA9IDB4ZjsKIAlSRUdfU0VUXzMoT1BUQ19EQVRBX1NPVVJDRV9TRUxFQ1QsIDAsCiAJCQlP UFRDX05VTV9PRl9JTlBVVF9TRUdNRU5ULCAwLAogCQkJT1BUQ19TRUcwX1NSQ19TRUwsIG9wdGMt Pmluc3QsCkBAIC0yMzYsMTMgKzIzNSwxNiBAQCB2b2lkIG9wdGMyX3NldF9vZG1fYnlwYXNzKHN0 cnVjdCB0aW1pbmdfZ2VuZXJhdG9yICpvcHRjLAogCQkJT1RHX0hfVElNSU5HX0RJVl9CWTIsIGhf ZGl2XzIpOwogCVJFR19TRVQoT1BUQ19NRU1PUllfQ09ORklHLCAwLAogCQkJT1BUQ19NRU1fU0VM LCAwKTsKKwlvcHRjMS0+b3BwX2NvdW50ID0gMTsKIH0KIAotdm9pZCBvcHRjMl9zZXRfb2RtX2Nv bWJpbmUoc3RydWN0IHRpbWluZ19nZW5lcmF0b3IgKm9wdGMsIGludCBjb21iaW5lX29wcF9pZCwK LQkJaW50IG1wY2NfaGFjdGl2ZSwgZW51bSBkY19waXhlbF9lbmNvZGluZyBwaXhlbF9lbmNvZGlu ZykKK3ZvaWQgb3B0YzJfc2V0X29kbV9jb21iaW5lKHN0cnVjdCB0aW1pbmdfZ2VuZXJhdG9yICpv cHRjLCBpbnQgKm9wcF9pZCwgaW50IG9wcF9jbnQsCisJCXN0cnVjdCBkY19jcnRjX3RpbWluZyAq dGltaW5nKQogewogCXN0cnVjdCBvcHRjICpvcHRjMSA9IERDTjEwVEdfRlJPTV9URyhvcHRjKTsK IAkvKiAyIHBpZWNlcyBvZiBtZW1vcnkgcmVxdWlyZWQgZm9yIHVwIHRvIDUxMjAgZGlzcGxheXMs IDQgZm9yIHVwIHRvIDgxOTIgKi8KKwlpbnQgbXBjY19oYWN0aXZlID0gKHRpbWluZy0+aF9hZGRy ZXNzYWJsZSArIHRpbWluZy0+aF9ib3JkZXJfbGVmdCArIHRpbWluZy0+aF9ib3JkZXJfcmlnaHQp CisJCQkvIG9wcF9jbnQ7CiAJaW50IG1lbW9yeV9tYXNrID0gbXBjY19oYWN0aXZlIDw9IDI1NjAg PyAweDMgOiAweGY7CiAJdWludDMyX3QgZGF0YV9mbXQgPSAwOwogCkBAIC0yNTcsMjMgKzI1OSwy NCBAQCB2b2lkIG9wdGMyX3NldF9vZG1fY29tYmluZShzdHJ1Y3QgdGltaW5nX2dlbmVyYXRvciAq b3B0YywgaW50IGNvbWJpbmVfb3BwX2lkLAogCQlSRUdfU0VUKE9QVENfTUVNT1JZX0NPTkZJRywg MCwKIAkJCU9QVENfTUVNX1NFTCwgbWVtb3J5X21hc2sgPDwgKG9wdGMtPmluc3QgKiA0KSk7CiAK LQlpZiAocGl4ZWxfZW5jb2RpbmcgPT0gUElYRUxfRU5DT0RJTkdfWUNCQ1I0MjIpCisJaWYgKHRp bWluZy0+cGl4ZWxfZW5jb2RpbmcgPT0gUElYRUxfRU5DT0RJTkdfWUNCQ1I0MjIpCiAJCWRhdGFf Zm10ID0gMTsKLQllbHNlIGlmIChwaXhlbF9lbmNvZGluZyA9PSBQSVhFTF9FTkNPRElOR19ZQ0JD UjQyMCkKKwllbHNlIGlmICh0aW1pbmctPnBpeGVsX2VuY29kaW5nID09IFBJWEVMX0VOQ09ESU5H X1lDQkNSNDIwKQogCQlkYXRhX2ZtdCA9IDI7CiAKIAlSRUdfVVBEQVRFKE9QVENfREFUQV9GT1JN QVRfQ09OVFJPTCwgT1BUQ19EQVRBX0ZPUk1BVCwgZGF0YV9mbXQpOwogCisJQVNTRVJUKG9wcF9j bnQgPT0gMik7CiAJUkVHX1NFVF8zKE9QVENfREFUQV9TT1VSQ0VfU0VMRUNULCAwLAogCQkJT1BU Q19OVU1fT0ZfSU5QVVRfU0VHTUVOVCwgMSwKLQkJCU9QVENfU0VHMF9TUkNfU0VMLCBvcHRjLT5p bnN0LAotCQkJT1BUQ19TRUcxX1NSQ19TRUwsIGNvbWJpbmVfb3BwX2lkKTsKKwkJCU9QVENfU0VH MF9TUkNfU0VMLCBvcHBfaWRbMF0sCisJCQlPUFRDX1NFRzFfU1JDX1NFTCwgb3BwX2lkWzFdKTsK IAogCVJFR19VUERBVEUoT1BUQ19XSURUSF9DT05UUk9MLAogCQkJT1BUQ19TRUdNRU5UX1dJRFRI LCBtcGNjX2hhY3RpdmUpOwogCiAJUkVHX1NFVChPVEdfSF9USU1JTkdfQ05UTCwgMCwgT1RHX0hf VElNSU5HX0RJVl9CWTIsIDEpOwotCW9wdGMxLT5jb21iX29wcF9pZCA9IGNvbWJpbmVfb3BwX2lk OworCW9wdGMxLT5vcHBfY291bnQgPSBvcHBfY250OwogfQogCiB2b2lkIG9wdGMyX2dldF9vcHRj X3NvdXJjZShzdHJ1Y3QgdGltaW5nX2dlbmVyYXRvciAqb3B0YywKQEAgLTUzOCw2ICs1NDEsNSBA QCB2b2lkIGRjbjIwX3RpbWluZ19nZW5lcmF0b3JfaW5pdChzdHJ1Y3Qgb3B0YyAqb3B0YzEpCiAJ b3B0YzEtPm1pbl92X2JsYW5rX2ludGVybGFjZSA9IDU7CiAJb3B0YzEtPm1pbl9oX3N5bmNfd2lk dGggPSA0Oy8vCU1pbmltdW0gSFNZTkMgPSA4IHBpeGVscyBhc2tlZCBCeSBIVyBpbiB0aGUgZmly c3QgcGxhY2UgZm9yIG5vIGFjdHVhbCByZWFzb24uIE9jdWx1cyBSaWZ0IFMgd2lsbCBub3QgbGln aHQgdXAgd2l0aCA4IGFzIGl0J3MgaHN5bmNXaWR0aCBpcyA2LiBDaGFuZ2luZyBpdCB0byA0IHRv IGZpeCB0aGF0IGlzc3VlLgogCW9wdGMxLT5taW5fdl9zeW5jX3dpZHRoID0gMTsKLQlvcHRjMS0+ Y29tYl9vcHBfaWQgPSAweGY7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9kY24yMC9kY24yMF9vcHRjLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvZGNuMjAvZGNuMjBfb3B0Yy5oCmluZGV4IGViZjA3YzU4MmRhMi4uNDdjYjRkZTE1NjRj IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMjAvZGNuMjBf b3B0Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9v cHRjLmgKQEAgLTk2LDggKzk2LDggQEAgdm9pZCBvcHRjMl9zZXRfZHNjX2NvbmZpZyhzdHJ1Y3Qg dGltaW5nX2dlbmVyYXRvciAqb3B0YywKIHZvaWQgb3B0YzJfc2V0X29kbV9ieXBhc3Moc3RydWN0 IHRpbWluZ19nZW5lcmF0b3IgKm9wdGMsCiAJCWNvbnN0IHN0cnVjdCBkY19jcnRjX3RpbWluZyAq ZGNfY3J0Y190aW1pbmcpOwogCi12b2lkIG9wdGMyX3NldF9vZG1fY29tYmluZShzdHJ1Y3QgdGlt aW5nX2dlbmVyYXRvciAqb3B0YywgaW50IGNvbWJpbmVfb3BwX2lkLAotCQlpbnQgbXBjY19oYWN0 aXZlLCBlbnVtIGRjX3BpeGVsX2VuY29kaW5nIHBpeGVsX2VuY29kaW5nKTsKK3ZvaWQgb3B0YzJf c2V0X29kbV9jb21iaW5lKHN0cnVjdCB0aW1pbmdfZ2VuZXJhdG9yICpvcHRjLCBpbnQgKm9wcF9p ZCwgaW50IG9wcF9jbnQsCisJCXN0cnVjdCBkY19jcnRjX3RpbWluZyAqdGltaW5nKTsKIAogdm9p ZCBvcHRjMl9nZXRfb3B0Y19zb3VyY2Uoc3RydWN0IHRpbWluZ19nZW5lcmF0b3IgKm9wdGMsCiAJ CXVpbnQzMl90ICpudW1fb2Zfc3JjX29wcCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9pbmMvaHcvdGltaW5nX2dlbmVyYXRvci5oIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9kaXNwbGF5L2RjL2luYy9ody90aW1pbmdfZ2VuZXJhdG9yLmgKaW5kZXggNWU5M2JjMGU4 ZmY5Li4xZjgzY2I3YzdkZDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9pbmMvaHcvdGltaW5nX2dlbmVyYXRvci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9pbmMvaHcvdGltaW5nX2dlbmVyYXRvci5oCkBAIC0yNjcsOSArMjY3LDkgQEAg c3RydWN0IHRpbWluZ19nZW5lcmF0b3JfZnVuY3MgewogCQkJICAgICAgIHVpbnQzMl90IGRzY19i eXRlc19wZXJfcGl4ZWwsCiAJCQkgICAgICAgdWludDMyX3QgZHNjX3NsaWNlX3dpZHRoKTsKICNl bmRpZgotCXZvaWQgKCpzZXRfb2RtX2J5cGFzcykoc3RydWN0IHRpbWluZ19nZW5lcmF0b3IgKnRn LCBjb25zdCBzdHJ1Y3QgZGNfY3J0Y190aW1pbmcgKmRjX2NydGNfdGltaW5nKTsKLQl2b2lkICgq c2V0X29kbV9jb21iaW5lKShzdHJ1Y3QgdGltaW5nX2dlbmVyYXRvciAqdGcsIGludCBjb21iaW5l X29wcF9pZCwKLQkJaW50IG1wY2NfaGFjdGl2ZSwgZW51bSBkY19waXhlbF9lbmNvZGluZyBwaXhl bF9lbmNvZGluZyk7CisJdm9pZCAoKnNldF9vZG1fYnlwYXNzKShzdHJ1Y3QgdGltaW5nX2dlbmVy YXRvciAqb3B0YywgY29uc3Qgc3RydWN0IGRjX2NydGNfdGltaW5nICpkY19jcnRjX3RpbWluZyk7 CisJdm9pZCAoKnNldF9vZG1fY29tYmluZSkoc3RydWN0IHRpbWluZ19nZW5lcmF0b3IgKm9wdGMs IGludCAqb3BwX2lkLCBpbnQgb3BwX2NudCwKKwkJCXN0cnVjdCBkY19jcnRjX3RpbWluZyAqdGlt aW5nKTsKIAl2b2lkICgqc2V0X2dzbCkoc3RydWN0IHRpbWluZ19nZW5lcmF0b3IgKm9wdGMsIGNv bnN0IHN0cnVjdCBnc2xfcGFyYW1zICpwYXJhbXMpOwogCXZvaWQgKCpzZXRfZ3NsX3NvdXJjZV9z ZWxlY3QpKHN0cnVjdCB0aW1pbmdfZ2VuZXJhdG9yICpvcHRjLAogCQkJaW50IGdyb3VwX2lkeCwK LS0gCjIuMjIuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4