From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v3 4/4] drm/i915/icl: Add Multi-segmented gamma support Date: Tue, 7 May 2019 19:26:44 +0530 Message-ID: <20190507135644.23882-5-shashank.sharma@intel.com> References: <20190507135644.23882-1-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3F6476E7E3 for ; Tue, 7 May 2019 13:59:48 +0000 (UTC) In-Reply-To: <20190507135644.23882-1-shashank.sharma@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 Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org SUNMIGludHJvZHVjZXMgYSBuZXcgZ2FtbWEgY29ycmVjdGlvbiBtb2RlIGluIGRpc3BsYXkgZW5n aW5lLCBjYWxsZWQKbXVsdGktc2VnbWVudGVkLWdhbW1hIG1vZGUuIFRoaXMgbW9kZSBhbGxvd3Mg dXNlcnMgdG8gcHJvZ3JhbSB0aGUKZGFya2VyIHJlZ2lvbiBvZiB0aGUgZ2FtbWEgY3VydmUgd2l0 aCBzdWVwcmZpbmUgcHJlY2lzaW9uLiBBbgpleGFtcGxlIHVzZSBjYXNlIGZvciB0aGlzIGlzIEhE UiBjdXJ2ZXMgKGxpa2UgUFEgU1QtMjA4NCkuCgpJZiB3ZSBwbG90IGEgZ2FtbWEgY29ycmVjdGlv biBjdXJ2ZSBmcm9tIHZhbHVlIHJhbmdlIGJldHdlZW4gMC4wIHRvIDEuMCwKSUNMJ3MgbXVsdGkt c2VnbWVudCBoYXMgMyBkaWZmZXJlbnQgc2VjdGlvbnM6Ci0gc3VwZXJmaW5lIHNlZ21lbnQ6IDkg dmFsdWVzLCByYW5nZXMgYmV0d2VlbiAwIC0gMS8oMTI4ICogMjU2KQotIGZpbmUgc2VnbWVudDog MjU3IHZhbHVlcywgcmFuZ2VzIGJldHdlZW4gMCAtIDEvKDEyOCkKLSBjb3Jhc2Ugc2VnbWVudDog MjU3IHZhbHVlcywgcmFuZ2VzIGJldHdlZW4gMCAtIDEKClRoaXMgcGF0Y2g6Ci0gQ2hhbmdlcyBn YW1tYSBMVVRzIHNpemUgZm9yIElDTC9HRU4xMSB0byAyNjIxNDQgZW50cmllcyAoOCAqIDEyOCAq IDI1NiksCiAgc28gdGhhdCB1c2Vyc3BhY2UgY2FuIHByb2dyYW0gd2l0aCBoaWdoZXN0IHByZWNp c2lvbiBzdXBwb3J0ZWQuCi0gQ2hhbmdlcyBkZWZhdWx0IGdhbW1hIG1vZGUgKG5vbi1sZWdhY3kp IHRvIG11bHRpLXNlZ21lbnRlZC1nYW1tYSBtb2RlLgotIEFkZHMgZnVuY3Rpb25zIHRvIHByb2dy YW0vZGV0ZWN0IG11bHRpLXNlZ21lbnQgZ2FtbWEuCgpWMjogQWRkcmVzc2VkIHJldmlldyBjb21t ZW50cyBmcm9tIFZpbGxlCiAgICAtIHNlcGFyYXRlIGZ1bmN0aW9uIGZvciBzdXBlcmZpbmUgYW5k IGZpbmUgc2VnbWVudHMuCiAgICAtIHJlbW92ZSBlbnVtIGZvciBzZWdtZW50cy4KICAgIC0gcmV1 c2UgbGFzdCBlbnRyeSBvZiB0aGUgTFVUIGFzIGdjX21heCB2YWx1ZS4KICAgIC0gcmVwbGFjZSBp ZigpIC4uLi5jb25kIHdpdGggc3dpdGNoLi4uY2FzZSBpbiBpY2xfbG9hZF9sdXRzLgogICAgLSBh ZGQgYW4gZW50cnkgdmFyaWFibGUsIGluc3RlYWQgb2YgJ3dvcmQnCgpWMzogQWRkcmVzc2VkIHJl dmlldyBjb21tZW50cyBmcm9tIFZpbGxlCiAgICAtIGV4dHJhIG5ld2xpbmUKICAgIC0gcy9lbnRy eS9jb2xvci8KICAgIC0gcmVtb3ZlIExVVCBzaXplIGNoZWNrcwogICAgLSBwcm9ncmFtIGlsa19s dXRfMTJwNF9sZHcgdmFsdWUgYmVmb3JlIGlsa19sdXRfMTJwNF91ZHcKICAgIC0gQ2hhbmdlIHRo ZSBjb21tZW50cyBpbiBkZXNjcmlwdGlvbiBvZiBmaW5lIGFuZCBjb2Fyc2Ugc2VnbWVudHMsCiAg ICAgIGFuZCB0cnkgdG8gbWFrZSBtb3JlIHNlbnNlLgogICAgLSB1c2UgOCAqIDEyOCBpbnN0ZWFk IG9mIDEwMjQKICAgIC0gYWRkIDEgZW50cnkgaW4gTFVUIGZvciBHQ01BWAoKQ2M6IFZpbGxlIFN5 cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+CkNjOiBNYWFydGVuIExhbmto b3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgpDYzogRGFuaWVsIFZldHRl ciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KClN1Z2dlc3RlZC1ieTogVmlsbGUgU3lyasOkbMOk IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsg U2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBVbWEgU2hh bmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcGNpLmMgICAgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMg fCAxMjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwgMTI0 IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9wY2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKaW5k ZXggZmZhMmVlNzBhMDNkLi4yZjk5YjU4NWQ0NGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcGNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYwpA QCAtNzQ5LDcgKzc0OSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8g aW50ZWxfY2Fubm9ubGFrZV9pbmZvID0gewogCUdFTigxMSksIFwKIAkuZGRiX3NpemUgPSAyMDQ4 LCBcCiAJLmhhc19sb2dpY2FsX3JpbmdfZWxzcSA9IDEsIFwKLQkuY29sb3IgPSB7IC5kZWdhbW1h X2x1dF9zaXplID0gMzMsIC5nYW1tYV9sdXRfc2l6ZSA9IDEwMjQgfQorCS5jb2xvciA9IHsgLmRl Z2FtbWFfbHV0X3NpemUgPSAzMywgLmdhbW1hX2x1dF9zaXplID0gMjYyMTQ1IH0KIAogc3RhdGlj IGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pY2VsYWtlXzExX2luZm8gPSB7 CiAJR0VOMTFfRkVBVFVSRVMsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9jb2xvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwppbmRleCA2YzM0 MWJlYTUxNGMuLmMxYTk1MDZmZDA2OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfY29sb3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCkBA IC00MSw2ICs0MSw4IEBACiAjZGVmaW5lIENUTV9DT0VGRl9BQlMoY29lZmYpCQkoKGNvZWZmKSAm IChDVE1fQ09FRkZfU0lHTiAtIDEpKQogCiAjZGVmaW5lIExFR0FDWV9MVVRfTEVOR1RICQkyNTYK KyNkZWZpbmUgSUNMX0dBTU1BX01VTFRJU0VHX0xVVF9MRU5HVEgJCSgyNTYgKiAxMjggKiA4KQor CiAvKgogICogRXh0cmFjdCB0aGUgQ1NDIGNvZWZmaWNpZW50IGZyb20gYSBDVE0gY29lZmZpY2ll bnQgKGluIFUzMi4zMiBmaXhlZCBwb2ludAogICogZm9ybWF0KS4gVGhpcyBtYWNybyB0YWtlcyB0 aGUgY29lZmZpY2llbnQgd2Ugd2FudCB0cmFuc2Zvcm1lZCBhbmQgdGhlCkBAIC03NjcsNiArNzY5 LDExNiBAQCBzdGF0aWMgdm9pZCBnbGtfbG9hZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKQogCX0KIH0KIAorLyogaWxrKyAiMTIuNCIgaW50ZXJwb2xhdGVk IGZvcm1hdCAoaGlnaCAxMCBiaXRzKSAqLworc3RhdGljIHUzMiBpbGtfbHV0XzEycDRfbGR3KGNv bnN0IHN0cnVjdCBkcm1fY29sb3JfbHV0ICpjb2xvcikKK3sKKwlyZXR1cm4gKGNvbG9yLT5yZWQg Pj4gNikgPDwgMjAgfCAoY29sb3ItPmdyZWVuID4+IDYpIDw8IDEwIHwKKwkJKGNvbG9yLT5ibHVl ID4+IDYpOworfQorCisvKiBpbGsrICIxMi40IiBpbnRlcnBvbGF0ZWQgZm9ybWF0IChsb3cgNiBi aXRzKSAqLworc3RhdGljIHUzMiBpbGtfbHV0XzEycDRfdWR3KGNvbnN0IHN0cnVjdCBkcm1fY29s b3JfbHV0ICpjb2xvcikKK3sKKwlyZXR1cm4gKGNvbG9yLT5yZWQgJiAweDNmKSA8PCAyNCB8IChj b2xvci0+Z3JlZW4gJiAweDNmKSA8PCAxNCB8CisJCShjb2xvci0+Ymx1ZSAmIDB4M2YpOworfQor CitzdGF0aWMgdm9pZAoraWNsX2xvYWRfZ2NtYXgoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCisJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fY29sb3JfbHV0ICpjb2xv cikKK3sKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0 ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGNydGMtPmJhc2UuZGV2KTsKKwllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CisKKwkv KiBGaXhtZTogTFVUIGVudHJpZXMgYXJlIDE2IGJpdCBvbmx5LCBzbyB3ZSBjYW4gcHJvZyAweEZG RkYgbWF4ICovCisJSTkxNV9XUklURShQUkVDX1BBTF9HQ19NQVgocGlwZSwgMCksIGNvbG9yLT5y ZWQpOworCUk5MTVfV1JJVEUoUFJFQ19QQUxfR0NfTUFYKHBpcGUsIDEpLCBjb2xvci0+Z3JlZW4p OworCUk5MTVfV1JJVEUoUFJFQ19QQUxfR0NfTUFYKHBpcGUsIDIpLCBjb2xvci0+Ymx1ZSk7Cit9 CisKK3N0YXRpYyB2b2lkCitpY2xfcHJvZ3JhbV9nYW1tYV9zdXBlcmZpbmVfc2VnbWVudChjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsK Kwljb25zdCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IgPSBjcnRjX3N0YXRlLT5iYXNl LmdhbW1hX2x1dDsKKwljb25zdCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqbHV0ID0gYmxvYi0+ZGF0 YTsKKwllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CisJdTMyIGk7CisKKwkvKgorCSAqIEV2 ZXJ5IGVudHJ5IGluIHRoZSBtdWx0aS1zZWdtZW50IExVVCBpcyBjb3JyZXNwb25kaW5nIHRvIGEg c3VwZXJmaW5lCisJICogc2VnbWVudCBzdGVwIHdoaWNoIGlzIDEvKDggKiAxMjggKiAyNTYpLgor CSAqCisJICogU3VwZXJmaW5lIHNlZ21lbnQgaGFzIDkgZW50cmllcywgY29ycmVzcG9uZGluZyB0 byB2YWx1ZXMKKwkgKiAwLCAxLyg4ICogMTI4ICogMjU2KSwgMi8oOCAqIDEyOCAqIDI1NikgLi4u LiA4Lyg4ICogMTI4ICogMjU2KS4KKwkgKi8KKwlJOTE1X1dSSVRFKFBSRUNfUEFMX01VTFRJX1NF R19JTkRFWChwaXBlKSwgUEFMX1BSRUNfQVVUT19JTkNSRU1FTlQpOworCisJZm9yIChpID0gMDsg aSA8IDk7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqZW50cnkgPSAmbHV0 W2ldOworCisJCUk5MTVfV1JJVEUoUFJFQ19QQUxfTVVMVElfU0VHX0RBVEEocGlwZSksCisJCQkg ICBpbGtfbHV0XzEycDRfbGR3KGVudHJ5KSk7CisJCUk5MTVfV1JJVEUoUFJFQ19QQUxfTVVMVElf U0VHX0RBVEEocGlwZSksCisJCQkgICBpbGtfbHV0XzEycDRfdWR3KGVudHJ5KSk7CisJfQorfQor CitzdGF0aWMgdm9pZAoraWNsX3Byb2dyYW1fZ2FtbWFfbXVsdGlfc2VnbWVudChjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKKwljb25z dCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IgPSBjcnRjX3N0YXRlLT5iYXNlLmdhbW1h X2x1dDsKKwljb25zdCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqbHV0ID0gYmxvYi0+ZGF0YTsKKwlj b25zdCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqZW50cnk7CisJZW51bSBwaXBlIHBpcGUgPSBjcnRj LT5waXBlOworCXUzMiBpOworCisJLyoKKwkgKgorCSAqIFByb2dyYW0gRmluZSBzZWdtZW50IChs ZXQncyBjYWxsIGl0IHNlZzIpLi4uCisJICoKKwkgKiBGaW5lIHNlZ21lbnQncyBzdGVwIGlzIDEv KDEyOCAqIDI1NikgaWUgMS8oMTI4ICogMjU2KSwgIDIvKDEyOCoyNTYpCisJICogLi4uIDI1Ni8o MTI4KjI1NikuIFNvIGluIG9yZGVyIHRvIHByb2dyYW0gZmluZSBzZWdtZW50IG9mIExVVCB3ZQor CSAqIG5lZWQgdG8gcGljayBldmVyeSA4J3RoIGVudHJ5IGluIExVVCwgYW5kIHByb2dyYW0gMjU2 IGluZGV4ZXMuCisJICoKKwkgKiBQQUxfUFJFQ19JTkRFWFswXSBhbmQgUEFMX1BSRUNfSU5ERVhb MV0gbWFwIHRvIHNlZzJbMV0sCisJICogd2l0aCBzZWcyWzBdIGJlaW5nIHVudXNlZCBieSB0aGUg aGFyZHdhcmUuCisJICovCisJSTkxNV9XUklURShQUkVDX1BBTF9JTkRFWChwaXBlKSwgUEFMX1BS RUNfQVVUT19JTkNSRU1FTlQpOworCWZvciAoaSA9IDE7IGkgPCAyNTc7IGkrKykgeworCQllbnRy eSA9ICZsdXRbaSAqIDhdOworCQlJOTE1X1dSSVRFKFBSRUNfUEFMX0RBVEEocGlwZSksIGlsa19s dXRfMTJwNF9sZHcoZW50cnkpKTsKKwkJSTkxNV9XUklURShQUkVDX1BBTF9EQVRBKHBpcGUpLCBp bGtfbHV0XzEycDRfdWR3KGVudHJ5KSk7CisJfQorCisJLyoKKwkgKiBQcm9ncmFtIENvYXJzZSBz ZWdtZW50IChsZXQncyBjYWxsIGl0IHNlZzMpLi4uCisJICoKKwkgKiBDb2Fyc2Ugc2VnbWVudCdz IHN0YXJ0cyBmcm9tIGluZGV4IDAgYW5kIGl0J3Mgc3RlcCBpcyAxLzI1NiBpZSAwLAorCSAqIDEv MjU2LCAyLzI1NiAuLi4yNTYvMjU2LiBBcyBwZXIgdGhlIGRlc2NyaXB0aW9uIG9mIGVhY2ggZW50 cnkgaW4gTFVUCisJICogYWJvdmUsIHdlIG5lZWQgdG8gcGljayBldmVyeSAoOCAqIDEyOCl0aCBl bnRyeSBpbiBMVVQsIGFuZAorCSAqIHByb2dyYW0gMjU2IG9mIHRob3NlLgorCSAqCisJICogU3Bl YyBpcyBub3QgdmVyeSBjbGVhciBhYm91dCBpZiBlbnRyaWVzIHNlZzNbMF0gYW5kIHNlZzNbMV0g YXJlCisJICogYmVpbmcgdXNlZCBvciBub3QsIGJ1dCB3ZSBzdGlsbCBuZWVkIHRvIHByb2dyYW0g dGhlc2UgdG8gYWR2YW5jZQorCSAqIHRoZSBpbmRleC4KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwg MjU2OyBpKyspIHsKKwkJZW50cnkgPSAmbHV0W2kgKiA4ICogMTI4XTsKKwkJSTkxNV9XUklURShQ UkVDX1BBTF9EQVRBKHBpcGUpLCBpbGtfbHV0XzEycDRfbGR3KGVudHJ5KSk7CisJCUk5MTVfV1JJ VEUoUFJFQ19QQUxfREFUQShwaXBlKSwgaWxrX2x1dF8xMnA0X3VkdyhlbnRyeSkpOworCX0KKwor CS8qIFRoZSBsYXN0IGVudHJ5IGluIHRoZSBMVVQgaXMgdG8gYmUgcHJvZ3JhbW1lZCBpbiBHQ01B WCAqLworCWVudHJ5ID0gJmx1dFsyNTYgKiA4ICogMTI4ICsgMV07CisJaWNsX2xvYWRfZ2NtYXgo Y3J0Y19zdGF0ZSwgZW50cnkpOworCWl2Yl9sb2FkX2x1dF9leHRfbWF4KGNydGMpOworfQorCiBz dGF0aWMgdm9pZCBpY2xfbG9hZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogewogCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZ2FtbWFfbHV0 ID0gY3J0Y19zdGF0ZS0+YmFzZS5nYW1tYV9sdXQ7CkBAIC03NzUsMTAgKzg4NywxNyBAQCBzdGF0 aWMgdm9pZCBpY2xfbG9hZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKQogCWlmIChjcnRjX3N0YXRlLT5iYXNlLmRlZ2FtbWFfbHV0KQogCQlnbGtfbG9hZF9k ZWdhbW1hX2x1dChjcnRjX3N0YXRlKTsKIAotCWlmICgoY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSAm IEdBTU1BX01PREVfTU9ERV9NQVNLKSA9PQotCSAgICBHQU1NQV9NT0RFX01PREVfOEJJVCkgewor CXN3aXRjaCAoY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSAmIEdBTU1BX01PREVfTU9ERV9NQVNLKSB7 CisJY2FzZSBHQU1NQV9NT0RFX01PREVfOEJJVDoKIAkJaTl4eF9sb2FkX2x1dHMoY3J0Y19zdGF0 ZSk7Ci0JfSBlbHNlIHsKKwkJYnJlYWs7CisKKwljYXNlIEdBTU1BX01PREVfTU9ERV8xMkJJVF9N VUxUSV9TRUdNRU5URUQ6CisJCWljbF9wcm9ncmFtX2dhbW1hX3N1cGVyZmluZV9zZWdtZW50KGNy dGNfc3RhdGUpOworCQlpY2xfcHJvZ3JhbV9nYW1tYV9tdWx0aV9zZWdtZW50KGNydGNfc3RhdGUp OworCQlicmVhazsKKworCWRlZmF1bHQ6CiAJCWJkd19sb2FkX2x1dF8xMChjcnRjLCBnYW1tYV9s dXQsIFBBTF9QUkVDX0lOREVYX1ZBTFVFKDApKTsKIAkJaXZiX2xvYWRfbHV0X2V4dF9tYXgoY3J0 Yyk7CiAJfQpAQCAtMTIwOSw3ICsxMzI4LDcgQEAgc3RhdGljIHUzMiBpY2xfZ2FtbWFfbW9kZShj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAkgICAgY3J0Y19zdGF0 ZV9pc19sZWdhY3lfZ2FtbWEoY3J0Y19zdGF0ZSkpCiAJCWdhbW1hX21vZGUgfD0gR0FNTUFfTU9E RV9NT0RFXzhCSVQ7CiAJZWxzZQotCQlnYW1tYV9tb2RlIHw9IEdBTU1BX01PREVfTU9ERV8xMEJJ VDsKKwkJZ2FtbWFfbW9kZSB8PSBHQU1NQV9NT0RFX01PREVfMTJCSVRfTVVMVElfU0VHTUVOVEVE OwogCiAJcmV0dXJuIGdhbW1hX21vZGU7CiB9Ci0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==