From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 6/8] drm/i915: Polish WM_LINETIME register stuff Date: Fri, 11 Oct 2019 23:09:47 +0300 Message-ID: <20191011200949.7839-7-ville.syrjala@linux.intel.com> References: <20191011200949.7839-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id DA16F6EC9D for ; Fri, 11 Oct 2019 20:10:12 +0000 (UTC) In-Reply-To: <20191011200949.7839-1-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkxl dCdzIHN0b3JlIHRoZSBub3JtYWwgYW5kIElQUyBsaW5ldGltZSB3YXRlcm1hcmtzIGluZGl2aWR1 YWxseSwKYW5kIHdoaWxlIGF0IGl0IHdlJ2xsIHBpbXAgdGhlIHJlZ2lzdGVyIGRlZmluaXRpb25z IGFzIHdlbGwuCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFA bGludXguaW50ZWwuY29tPgotLS0KIC4uLi9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlf dHlwZXMuaCAgICB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAg ICAgICAgICAgfCAxNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAg ICAgICAgICAgfCA3MiArKysrKysrKysrLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDQ5IGlu c2VydGlvbnMoKyksIDQwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKaW5kZXggNDAzOTBkODU1ODE1Li44NDE5 NTIzMzJjN2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGlzcGxheV90eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGlzcGxheV90eXBlcy5oCkBAIC02MzEsNyArNjMxLDggQEAgc3RydWN0IGludGVsX2NydGNfc2Nh bGVyX3N0YXRlIHsKIAogc3RydWN0IGludGVsX3BpcGVfd20gewogCXN0cnVjdCBpbnRlbF93bV9s ZXZlbCB3bVs1XTsKLQl1MzIgbGluZXRpbWU7CisJdTE2IGxpbmV0aW1lOworCXUxNiBpcHNfbGlu ZXRpbWU7CiAJYm9vbCBmYmNfd21fZW5hYmxlZDsKIAlib29sIHBpcGVfZW5hYmxlZDsKIAlib29s IHNwcml0ZXNfZW5hYmxlZDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDBmYjkwMzBiODlm MS4uZTFkYjg1NzY4MDg0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTEwMzk0LDEzICsx MDM5NCwxMyBAQCBlbnVtIHNrbF9wb3dlcl9nYXRlIHsKICNkZWZpbmUgIERfQ09NUF9DT01QX0RJ U0FCTEUJCSgxIDw8IDApCiAKIC8qIFBpcGUgV01fTElORVRJTUUgLSB3YXRlcm1hcmsgbGluZSB0 aW1lICovCi0jZGVmaW5lIF9QSVBFX1dNX0xJTkVUSU1FX0EJCTB4NDUyNzAKLSNkZWZpbmUgX1BJ UEVfV01fTElORVRJTUVfQgkJMHg0NTI3NAotI2RlZmluZSBQSVBFX1dNX0xJTkVUSU1FKHBpcGUp IF9NTUlPX1BJUEUocGlwZSwgX1BJUEVfV01fTElORVRJTUVfQSwgX1BJUEVfV01fTElORVRJTUVf QikKLSNkZWZpbmUgICBQSVBFX1dNX0xJTkVUSU1FX01BU0sJCQkoMHgxZmYpCi0jZGVmaW5lICAg UElQRV9XTV9MSU5FVElNRV9USU1FKHgpCQkoKHgpKQotI2RlZmluZSAgIFBJUEVfV01fTElORVRJ TUVfSVBTX0xJTkVUSU1FX01BU0sJKDB4MWZmIDw8IDE2KQotI2RlZmluZSAgIFBJUEVfV01fTElO RVRJTUVfSVBTX0xJTkVUSU1FKHgpCSgoeCkgPDwgMTYpCisjZGVmaW5lIF9XTV9MSU5FVElNRV9B CQkweDQ1MjcwCisjZGVmaW5lIF9XTV9MSU5FVElNRV9CCQkweDQ1Mjc0CisjZGVmaW5lIFdNX0xJ TkVUSU1FKHBpcGUpIF9NTUlPX1BJUEUocGlwZSwgX1dNX0xJTkVUSU1FX0EsIF9XTV9MSU5FVElN RV9CKQorI2RlZmluZSAgSFNXX0xJTkVUSU1FX01BU0sJUkVHX0dFTk1BU0soOCwgMCkKKyNkZWZp bmUgIEhTV19MSU5FVElNRSh4KQlSRUdfRklFTERfUFJFUChIU1dfTElORVRJTUVfTUFTSywgKHgp KQorI2RlZmluZSAgSFNXX0lQU19MSU5FVElNRV9NQVNLCVJFR19HRU5NQVNLKDI0LCAxNikKKyNk ZWZpbmUgIEhTV19JUFNfTElORVRJTUUoeCkJUkVHX0ZJRUxEX1BSRVAoSFNXX0lQU19MSU5FVElN RV9NQVNLLCAoeCkpCiAKIC8qIFNGVVNFX1NUUkFQICovCiAjZGVmaW5lIFNGVVNFX1NUUkFQCQkJ X01NSU8oMHhjMjAxNCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bt LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IGYyMWViOTI1MGQyMy4u ZjY4OTNiNzcxMDc4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKQEAgLTI3NjQsMzEgKzI3NjQs MzEgQEAgc3RhdGljIHZvaWQgaWxrX2NvbXB1dGVfd21fbGV2ZWwoY29uc3Qgc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogfQogCiBzdGF0aWMgdTMyCi1oc3dfY29tcHV0ZV9saW5l dGltZV93bShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKK2hzd19s aW5ldGltZV93bShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsK LQljb25zdCBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICppbnRlbF9zdGF0ZSA9Ci0JCXRvX2lu dGVsX2F0b21pY19zdGF0ZShjcnRjX3N0YXRlLT5iYXNlLnN0YXRlKTsKIAljb25zdCBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9CiAJCSZjcnRjX3N0YXRlLT5iYXNlLmFk anVzdGVkX21vZGU7Ci0JdTMyIGxpbmV0aW1lLCBpcHNfbGluZXRpbWU7CiAKIAlpZiAoIWNydGNf c3RhdGUtPmJhc2UuYWN0aXZlKQogCQlyZXR1cm4gMDsKLQlpZiAoV0FSTl9PTihhZGp1c3RlZF9t b2RlLT5jcnRjX2Nsb2NrID09IDApKQotCQlyZXR1cm4gMDsKLQlpZiAoV0FSTl9PTihpbnRlbF9z dGF0ZS0+Y2RjbGsubG9naWNhbC5jZGNsayA9PSAwKSkKLQkJcmV0dXJuIDA7CiAKLQkvKiBUaGUg V00gYXJlIGNvbXB1dGVkIHdpdGggYmFzZSBvbiBob3cgbG9uZyBpdCB0YWtlcyB0byBmaWxsIGEg c2luZ2xlCi0JICogcm93IGF0IHRoZSBnaXZlbiBjbG9jayByYXRlLCBtdWx0aXBsaWVkIGJ5IDgu Ci0JICogKi8KLQlsaW5ldGltZSA9IERJVl9ST1VORF9DTE9TRVNUKGFkanVzdGVkX21vZGUtPmNy dGNfaHRvdGFsICogMTAwMCAqIDgsCi0JCQkJICAgICBhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2Nr KTsKLQlpcHNfbGluZXRpbWUgPSBESVZfUk9VTkRfQ0xPU0VTVChhZGp1c3RlZF9tb2RlLT5jcnRj X2h0b3RhbCAqIDEwMDAgKiA4LAotCQkJCQkgaW50ZWxfc3RhdGUtPmNkY2xrLmxvZ2ljYWwuY2Rj bGspOworCXJldHVybiBESVZfUk9VTkRfQ0xPU0VTVChhZGp1c3RlZF9tb2RlLT5jcnRjX2h0b3Rh bCAqIDEwMDAgKiA4LAorCQkJCSBhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrKTsKK30KKworc3Rh dGljIHUzMgoraHN3X2lwc19saW5ldGltZV93bShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKK3sKKwljb25zdCBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0 ZSA9CisJCXRvX2ludGVsX2F0b21pY19zdGF0ZShjcnRjX3N0YXRlLT5iYXNlLnN0YXRlKTsKKwlj b25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9CisJCSZjcnRjX3N0 YXRlLT5iYXNlLmFkanVzdGVkX21vZGU7CiAKLQlyZXR1cm4gUElQRV9XTV9MSU5FVElNRV9JUFNf TElORVRJTUUoaXBzX2xpbmV0aW1lKSB8Ci0JICAgICAgIFBJUEVfV01fTElORVRJTUVfVElNRShs aW5ldGltZSk7CisJaWYgKCFjcnRjX3N0YXRlLT5iYXNlLmFjdGl2ZSkKKwkJcmV0dXJuIDA7CisK KwlyZXR1cm4gRElWX1JPVU5EX0NMT1NFU1QoYWRqdXN0ZWRfbW9kZS0+Y3J0Y19odG90YWwgKiAx MDAwICogOCwKKwkJCQkgc3RhdGUtPmNkY2xrLmxvZ2ljYWwuY2RjbGspOwogfQogCiBzdGF0aWMg dm9pZCBpbnRlbF9yZWFkX3dtX2xhdGVuY3koc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LApAQCAtMzEyOCw4ICszMTI4LDEwIEBAIHN0YXRpYyBpbnQgaWxrX2NvbXB1dGVfcGlwZV93 bShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAlpbGtfY29tcHV0ZV93bV9s ZXZlbChkZXZfcHJpdiwgaW50ZWxfY3J0YywgMCwgY3J0Y19zdGF0ZSwKIAkJCSAgICAgcHJpc3Rh dGUsIHNwcnN0YXRlLCBjdXJzdGF0ZSwgJnBpcGVfd20tPndtWzBdKTsKIAotCWlmIChJU19IQVNX RUxMKGRldl9wcml2KSB8fCBJU19CUk9BRFdFTEwoZGV2X3ByaXYpKQotCQlwaXBlX3dtLT5saW5l dGltZSA9IGhzd19jb21wdXRlX2xpbmV0aW1lX3dtKGNydGNfc3RhdGUpOworCWlmIChJU19IQVNX RUxMKGRldl9wcml2KSB8fCBJU19CUk9BRFdFTEwoZGV2X3ByaXYpKSB7CisJCXBpcGVfd20tPmxp bmV0aW1lID0gaHN3X2xpbmV0aW1lX3dtKGNydGNfc3RhdGUpOworCQlwaXBlX3dtLT5pcHNfbGlu ZXRpbWUgPSBoc3dfaXBzX2xpbmV0aW1lX3dtKGNydGNfc3RhdGUpOworCX0KIAogCWlmICghaWxr X3ZhbGlkYXRlX3BpcGVfd20oZGV2X3ByaXYsIHBpcGVfd20pKQogCQlyZXR1cm4gLUVJTlZBTDsK QEAgLTMzMjksNyArMzMzMSw3IEBAIHN0YXRpYyB2b2lkIGlsa19jb21wdXRlX3dtX3Jlc3VsdHMo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgIGVudW0gaW50ZWxfZGRi X3BhcnRpdGlvbmluZyBwYXJ0aXRpb25pbmcsCiAJCQkJICAgc3RydWN0IGlsa193bV92YWx1ZXMg KnJlc3VsdHMpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGM7CisJc3RydWN0IGlu dGVsX2NydGMgKmNydGM7CiAJaW50IGxldmVsLCB3bV9scDsKIAogCXJlc3VsdHMtPmVuYWJsZV9m YmNfd20gPSBtZXJnZWQtPmZiY193bV9lbmFibGVkOwpAQCAtMzM3NCwxNSArMzM3NiwxNyBAQCBz dGF0aWMgdm9pZCBpbGtfY29tcHV0ZV93bV9yZXN1bHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKIAl9CiAKIAkvKiBMUDAgcmVnaXN0ZXIgdmFsdWVzICovCi0JZm9yX2VhY2hf aW50ZWxfY3J0YygmZGV2X3ByaXYtPmRybSwgaW50ZWxfY3J0YykgewotCQllbnVtIHBpcGUgcGlw ZSA9IGludGVsX2NydGMtPnBpcGU7Ci0JCWNvbnN0IHN0cnVjdCBpbnRlbF93bV9sZXZlbCAqciA9 Ci0JCQkmaW50ZWxfY3J0Yy0+d20uYWN0aXZlLmlsay53bVswXTsKKwlmb3JfZWFjaF9pbnRlbF9j cnRjKCZkZXZfcHJpdi0+ZHJtLCBjcnRjKSB7CisJCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlw ZTsKKwkJY29uc3Qgc3RydWN0IGludGVsX3BpcGVfd20gKnBpcGVfd20gPSAmY3J0Yy0+d20uYWN0 aXZlLmlsazsKKwkJY29uc3Qgc3RydWN0IGludGVsX3dtX2xldmVsICpyID0gJnBpcGVfd20tPndt WzBdOwogCiAJCWlmIChXQVJOX09OKCFyLT5lbmFibGUpKQogCQkJY29udGludWU7CiAKLQkJcmVz dWx0cy0+d21fbGluZXRpbWVbcGlwZV0gPSBpbnRlbF9jcnRjLT53bS5hY3RpdmUuaWxrLmxpbmV0 aW1lOworCQlyZXN1bHRzLT53bV9saW5ldGltZVtwaXBlXSA9CisJCQlIU1dfTElORVRJTUUocGlw ZV93bS0+bGluZXRpbWUpIHwKKwkJCUhTV19JUFNfTElORVRJTUUocGlwZV93bS0+aXBzX2xpbmV0 aW1lKTsKIAogCQlyZXN1bHRzLT53bV9waXBlW3BpcGVdID0KIAkJCShyLT5wcmlfdmFsIDw8IFdN MF9QSVBFX1BMQU5FX1NISUZUKSB8CkBAIC0zNTM1LDExICszNTM5LDExIEBAIHN0YXRpYyB2b2lk IGlsa193cml0ZV93bV92YWx1ZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAog CQlJOTE1X1dSSVRFKFdNMF9QSVBFQ19JVkIsIHJlc3VsdHMtPndtX3BpcGVbMl0pOwogCiAJaWYg KGRpcnR5ICYgV01fRElSVFlfTElORVRJTUUoUElQRV9BKSkKLQkJSTkxNV9XUklURShQSVBFX1dN X0xJTkVUSU1FKFBJUEVfQSksIHJlc3VsdHMtPndtX2xpbmV0aW1lWzBdKTsKKwkJSTkxNV9XUklU RShXTV9MSU5FVElNRShQSVBFX0EpLCByZXN1bHRzLT53bV9saW5ldGltZVswXSk7CiAJaWYgKGRp cnR5ICYgV01fRElSVFlfTElORVRJTUUoUElQRV9CKSkKLQkJSTkxNV9XUklURShQSVBFX1dNX0xJ TkVUSU1FKFBJUEVfQiksIHJlc3VsdHMtPndtX2xpbmV0aW1lWzFdKTsKKwkJSTkxNV9XUklURShX TV9MSU5FVElNRShQSVBFX0IpLCByZXN1bHRzLT53bV9saW5ldGltZVsxXSk7CiAJaWYgKGRpcnR5 ICYgV01fRElSVFlfTElORVRJTUUoUElQRV9DKSkKLQkJSTkxNV9XUklURShQSVBFX1dNX0xJTkVU SU1FKFBJUEVfQyksIHJlc3VsdHMtPndtX2xpbmV0aW1lWzJdKTsKKwkJSTkxNV9XUklURShXTV9M SU5FVElNRShQSVBFX0MpLCByZXN1bHRzLT53bV9saW5ldGltZVsyXSk7CiAKIAlpZiAoZGlydHkg JiBXTV9ESVJUWV9EREIpIHsKIAkJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpIHx8IElTX0JST0FE V0VMTChkZXZfcHJpdikpIHsKQEAgLTU1OTgsNyArNTYwMiw3IEBAIHN0YXRpYyB2b2lkIHNrbF9h dG9taWNfdXBkYXRlX2NydGNfd20oc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJ aWYgKChzdGF0ZS0+d21fcmVzdWx0cy5kaXJ0eV9waXBlcyAmIEJJVChjcnRjLT5waXBlKSkgPT0g MCkKIAkJcmV0dXJuOwogCi0JSTkxNV9XUklURShQSVBFX1dNX0xJTkVUSU1FKHBpcGUpLCBwaXBl X3dtLT5saW5ldGltZSk7CisJSTkxNV9XUklURShXTV9MSU5FVElNRShwaXBlKSwgSFNXX0xJTkVU SU1FKHBpcGVfd20tPmxpbmV0aW1lKSk7CiB9CiAKIHN0YXRpYyB2b2lkIHNrbF9pbml0aWFsX3dt KHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLApAQCAtNTc0MCw3ICs1NzQ0LDggQEAg dm9pZCBza2xfcGlwZV93bV9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJ aWYgKCFjcnRjLT5hY3RpdmUpCiAJCXJldHVybjsKIAotCW91dC0+bGluZXRpbWUgPSBJOTE1X1JF QUQoUElQRV9XTV9MSU5FVElNRShwaXBlKSk7CisJdmFsID0gSTkxNV9SRUFEKFdNX0xJTkVUSU1F KHBpcGUpKTsKKwlvdXQtPmxpbmV0aW1lID0gUkVHX0ZJRUxEX0dFVChIU1dfTElORVRJTUVfTUFT SywgdmFsKTsKIH0KIAogdm9pZCBza2xfd21fZ2V0X2h3X3N0YXRlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKQEAgLTU3ODIsNyArNTc4Nyw3IEBAIHN0YXRpYyB2b2lkIGlsa19w aXBlX3dtX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAogCWh3LT53bV9w aXBlW3BpcGVdID0gSTkxNV9SRUFEKHdtMF9waXBlX3JlZ1twaXBlXSk7CiAJaWYgKElTX0hBU1dF TEwoZGV2X3ByaXYpIHx8IElTX0JST0FEV0VMTChkZXZfcHJpdikpCi0JCWh3LT53bV9saW5ldGlt ZVtwaXBlXSA9IEk5MTVfUkVBRChQSVBFX1dNX0xJTkVUSU1FKHBpcGUpKTsKKwkJaHctPndtX2xp bmV0aW1lW3BpcGVdID0gSTkxNV9SRUFEKFdNX0xJTkVUSU1FKHBpcGUpKTsKIAogCW1lbXNldChh Y3RpdmUsIDAsIHNpemVvZigqYWN0aXZlKSk7CiAKQEAgLTU4MDEsNyArNTgwNiwxMCBAQCBzdGF0 aWMgdm9pZCBpbGtfcGlwZV93bV9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2NydGMgKmNydGMp CiAJCWFjdGl2ZS0+d21bMF0ucHJpX3ZhbCA9ICh0bXAgJiBXTTBfUElQRV9QTEFORV9NQVNLKSA+ PiBXTTBfUElQRV9QTEFORV9TSElGVDsKIAkJYWN0aXZlLT53bVswXS5zcHJfdmFsID0gKHRtcCAm IFdNMF9QSVBFX1NQUklURV9NQVNLKSA+PiBXTTBfUElQRV9TUFJJVEVfU0hJRlQ7CiAJCWFjdGl2 ZS0+d21bMF0uY3VyX3ZhbCA9IHRtcCAmIFdNMF9QSVBFX0NVUlNPUl9NQVNLOwotCQlhY3RpdmUt PmxpbmV0aW1lID0gaHctPndtX2xpbmV0aW1lW3BpcGVdOworCQlhY3RpdmUtPmxpbmV0aW1lID0g UkVHX0ZJRUxEX0dFVChIU1dfTElORVRJTUVfTUFTSywKKwkJCQkJCSBody0+d21fbGluZXRpbWVb cGlwZV0pOworCQlhY3RpdmUtPmlwc19saW5ldGltZSA9IFJFR19GSUVMRF9HRVQoSFNXX0lQU19M SU5FVElNRV9NQVNLLAorCQkJCQkJICAgICBody0+d21fbGluZXRpbWVbcGlwZV0pOwogCX0gZWxz ZSB7CiAJCWludCBsZXZlbCwgbWF4X2xldmVsID0gaWxrX3dtX21heF9sZXZlbChkZXZfcHJpdik7 CiAKLS0gCjIuMjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4