From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [v3 1/7] drm: Add gamma mode property Date: Fri, 12 Apr 2019 15:50:57 +0530 Message-ID: <1555064463-18479-2-git-send-email-uma.shankar@intel.com> References: <1555064463-18479-1-git-send-email-uma.shankar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1555064463-18479-1-git-send-email-uma.shankar@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, dri-devel@lists.freedesktop.org Cc: dcastagna@chromium.org, sam@ravnborg.org, seanpaul@chromium.org, ville.syrjala@intel.com, maarten.lankhorst@intel.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkFk ZCBhIGdhbW1hIG1vZGUgcHJvcGVydHkgdG8gZW5hYmxlIHZhcmlvdXMga2luZCBvZgpnYW1tYSBt b2RlcyBzdXBwb3J0ZWQgYnkgcGxhdGZvcm1zIGxpa2U6IEludGVycG9sYXRlZCwgU3BsaXQsCk11 bHRpIFNlZ21lbnRlZCBldGMuIFVzZXJzcGFjZSBjYW4gZ2V0IHRoaXMgcHJvcGVydHkgYW5kCnNo b3VsZCBiZSBhYmxlIHRvIGdldCB0aGUgcGxhdGZvcm0gY2FwYWJpbHRpZXMgd3J0IHZhcmlvdXMK Z2FtbWEgbW9kZXMgcG9zc2libGUgYW5kIHRoZSBwb3NzaWJsZSByYW5nZXMuCgpJdCBjYW4gc2Vs ZWN0IG9uZSBvZiB0aGUgbW9kZXMgZXhwb3NlZCBhcyBibG9iX2lkIGFzIGFuCmVudW0gYW5kIHNl dCB0aGUgcmVzcGVjdGl2ZSBtb2RlLgoKSXQgY2FuIHRoZW4gY3JlYXRlIHRoZSBMVVQgYW5kIHNl bmQgaXQgdG8gZHJpdmVyIHVzaW5nCmFscmVhZHkgYXZhaWxhYmxlIEdBTU1BX0xVVCBwcm9wZXJ0 eSBhcyBibG9iLgoKdjI6IEFkZHJlc3NlZCBTYW0gUmF2bmJvcmcncyByZXZpZXcgY29tbWVudHMu IEltcGxlbWVudGVkCmdhbW1hIG1vZGUgd2l0aCBqdXN0IG9uZSBwcm9wZXJ0eSBhbmQgcmVuYW1l ZCB0aGUgY3VycmVudApvbmUgdG8gR0FNTUFfTU9ERSBwcm9wZXJ0eSBhcyByZWNvbW1lbmRlZCBi eSBWaWxsZS4KClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFVtYSBTaGFua2FyIDx1bWEuc2hhbmthckBp bnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jIHwgIDUgKysr CiBkcml2ZXJzL2dwdS9kcm0vZHJtX2NvbG9yX21nbXQuYyAgfCA3NyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvZHJtL2RybV9jb2xvcl9tZ210LmggICAg ICB8ICA4ICsrKysKIGluY2x1ZGUvZHJtL2RybV9jcnRjLmggICAgICAgICAgICB8ICA3ICsrKysK IGluY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oICAgICB8ICA2ICsrKwogaW5jbHVkZS91YXBp L2RybS9kcm1fbW9kZS5oICAgICAgIHwgMzggKysrKysrKysrKysrKysrKysrKwogNiBmaWxlcyBj aGFuZ2VkLCAxNDEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX3VhcGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYwppbmRl eCBlYTc5N2Q0Li5kODVlMGM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Y191YXBpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCkBAIC00NTks NiArNDU5LDkgQEAgc3RhdGljIGludCBkcm1fYXRvbWljX2NydGNfc2V0X3Byb3BlcnR5KHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKIAkJCQkJJnJlcGxhY2VkKTsKIAkJc3RhdGUtPmNvbG9yX21nbXRf Y2hhbmdlZCB8PSByZXBsYWNlZDsKIAkJcmV0dXJuIHJldDsKKwl9IGVsc2UgaWYgKHByb3BlcnR5 ID09IGNvbmZpZy0+Z2FtbWFfbW9kZV9wcm9wZXJ0eSkgeworCQlzdGF0ZS0+Z2FtbWFfbW9kZSA9 IHZhbDsKKwkJc3RhdGUtPmNvbG9yX21nbXRfY2hhbmdlZCB8PSByZXBsYWNlZDsKIAl9IGVsc2Ug aWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9vdXRfZmVuY2VfcHRyKSB7CiAJCXMzMiBfX3Vz ZXIgKmZlbmNlX3B0ciA9IHU2NF90b191c2VyX3B0cih2YWwpOwogCkBAIC00OTUsNiArNDk4LDgg QEAgc3RhdGljIGludCBkcm1fYXRvbWljX2NydGNfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY3J0 YyAqY3J0YywKIAkJKnZhbCA9IChzdGF0ZS0+bW9kZV9ibG9iKSA/IHN0YXRlLT5tb2RlX2Jsb2It PmJhc2UuaWQgOiAwOwogCWVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF92cnJfZW5h YmxlZCkKIAkJKnZhbCA9IHN0YXRlLT52cnJfZW5hYmxlZDsKKwllbHNlIGlmIChwcm9wZXJ0eSA9 PSBjb25maWctPmdhbW1hX21vZGVfcHJvcGVydHkpCisJCSp2YWwgPSBzdGF0ZS0+Z2FtbWFfbW9k ZTsKIAllbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmRlZ2FtbWFfbHV0X3Byb3BlcnR5KQog CQkqdmFsID0gKHN0YXRlLT5kZWdhbW1hX2x1dCkgPyBzdGF0ZS0+ZGVnYW1tYV9sdXQtPmJhc2Uu aWQgOiAwOwogCWVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+Y3RtX3Byb3BlcnR5KQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2NvbG9yX21nbXQuYwppbmRleCBkNWQzNGQwLi40ZDY3OTJkIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2NvbG9yX21nbXQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2NvbG9yX21nbXQuYwpAQCAtMTc2LDYgKzE3Niw4MyBAQCB2b2lkIGRybV9jcnRjX2VuYWJsZV9j b2xvcl9tZ210KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2Ny dGNfZW5hYmxlX2NvbG9yX21nbXQpOwogCit2b2lkIGRybV9jcnRjX2F0dGFjaF9nYW1tYV9tb2Rl X3Byb3BlcnR5KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY3J0Yy0+ZGV2OworCXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYt Pm1vZGVfY29uZmlnOworCisJaWYgKCFjb25maWctPmdhbW1hX21vZGVfcHJvcGVydHkpCisJCXJl dHVybjsKKworCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjcnRjLT5iYXNlLAorCQkJCSAg IGNvbmZpZy0+Z2FtbWFfbW9kZV9wcm9wZXJ0eSwgMCk7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9j cnRjX2F0dGFjaF9nYW1tYV9tb2RlX3Byb3BlcnR5KTsKKworaW50IGRybV9jb2xvcl9jcmVhdGVf Z2FtbWFfbW9kZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJCQkgaW50IG51 bV92YWx1ZXMpCit7CisJc3RydWN0IGRybV9tb2RlX2NvbmZpZyAqY29uZmlnID0gJmRldi0+bW9k ZV9jb25maWc7CisJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcDsKKworCXByb3AgPSBkcm1fcHJv cGVydHlfY3JlYXRlKGRldiwKKwkJCQkgICBEUk1fTU9ERV9QUk9QX0VOVU0sCisJCQkJICAgIkdB TU1BX01PREUiLCBudW1fdmFsdWVzKTsKKwlpZiAoIXByb3ApCisJCXJldHVybiAtRU5PTUVNOwor CisJY29uZmlnLT5nYW1tYV9tb2RlX3Byb3BlcnR5ID0gcHJvcDsKKworCXJldHVybiAwOworfQor RVhQT1JUX1NZTUJPTChkcm1fY29sb3JfY3JlYXRlX2dhbW1hX21vZGVfcHJvcGVydHkpOworCitp bnQgZHJtX2NvbG9yX2FkZF9nYW1tYV9tb2RlX3JhbmdlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs CisJCQkJICAgY29uc3QgY2hhciAqbmFtZSwKKwkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2NvbG9y X2x1dF9yYW5nZSAqcmFuZ2VzLAorCQkJCSAgIHNpemVfdCBsZW5ndGgpCit7CisJc3RydWN0IGRy bV9tb2RlX2NvbmZpZyAqY29uZmlnID0gJmRldi0+bW9kZV9jb25maWc7CisJc3RydWN0IGRybV9w cm9wZXJ0eV9ibG9iICpibG9iOworCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3A7CisJaW50IG51 bV9yYW5nZXMgPSBsZW5ndGggLyBzaXplb2YocmFuZ2VzWzBdKTsKKwlpbnQgaSwgcmV0LCBudW1f dHlwZXNfMDsKKworCWlmIChXQVJOX09OKGxlbmd0aCA9PSAwIHx8IGxlbmd0aCAlIHNpemVvZihy YW5nZXNbMF0pICE9IDApKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW51bV90eXBlc18wID0gaHdl aWdodDgocmFuZ2VzWzBdLmZsYWdzICYgKERSTV9NT0RFX0xVVF9HQU1NQSB8CisJCQkJCQkgIERS TV9NT0RFX0xVVF9ERUdBTU1BKSk7CisJaWYgKG51bV90eXBlc18wID09IDApCisJCXJldHVybiAt RUlOVkFMOworCisJZm9yIChpID0gMTsgaSA8IG51bV9yYW5nZXM7IGkrKykgeworCQlpbnQgbnVt X3R5cGVzID0gaHdlaWdodDgocmFuZ2VzW2ldLmZsYWdzICYgKERSTV9NT0RFX0xVVF9HQU1NQSB8 CisJCQkJCQkJICAgIERSTV9NT0RFX0xVVF9ERUdBTU1BKSk7CisKKwkJLyogZWl0aGVyIGFsbCBy YW5nZXMgaGF2ZSBERUdBTU1BfEdBTU1BIG9yIG5vbmUgaGF2ZSBpdCAqLworCQlpZiAobnVtX3R5 cGVzXzAgIT0gbnVtX3R5cGVzKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcHJvcCA9IGNv bmZpZy0+Z2FtbWFfbW9kZV9wcm9wZXJ0eTsKKwlpZiAoIXByb3ApCisJCXJldHVybiAtRUlOVkFM OworCisJYmxvYiA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfYmxvYihkZXYsIGxlbmd0aCwgcmFuZ2Vz KTsKKwlpZiAoSVNfRVJSKGJsb2IpKQorCQlyZXR1cm4gUFRSX0VSUihibG9iKTsKKworCXJldCA9 IGRybV9wcm9wZXJ0eV9hZGRfZW51bShwcm9wLCBibG9iLT5iYXNlLmlkLCBuYW1lKTsKKwlpZiAo cmV0KSB7CisJCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChibG9iKTsKKwkJcmV0dXJuIHJldDsKKwl9 CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2NvbG9yX2FkZF9nYW1tYV9tb2Rl X3JhbmdlKTsKKwogLyoqCiAgKiBkcm1fbW9kZV9jcnRjX3NldF9nYW1tYV9zaXplIC0gc2V0IHRo ZSBnYW1tYSB0YWJsZSBzaXplCiAgKiBAY3J0YzogQ1JUQyB0byBzZXQgdGhlIGdhbW1hIHRhYmxl IHNpemUgZm9yCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29sb3JfbWdtdC5oIGIvaW5j bHVkZS9kcm0vZHJtX2NvbG9yX21nbXQuaAppbmRleCBkMWM2NjJkLi5mMThlOWI4IDEwMDY0NAot LS0gYS9pbmNsdWRlL2RybS9kcm1fY29sb3JfbWdtdC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9j b2xvcl9tZ210LmgKQEAgLTUxLDYgKzUxLDE0IEBAIHN0YXRpYyBpbmxpbmUgaW50IGRybV9jb2xv cl9sdXRfc2l6ZShjb25zdCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IpCiAJcmV0dXJu IGJsb2ItPmxlbmd0aCAvIHNpemVvZihzdHJ1Y3QgZHJtX2NvbG9yX2x1dCk7CiB9CiAKK2ludCBk cm1fY29sb3JfY3JlYXRlX2dhbW1hX21vZGVfcHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKKwkJCQkJIGludCBudW1fdmFsdWVzKTsKK3ZvaWQgZHJtX2NydGNfYXR0YWNoX2dhbW1hX21v ZGVfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKK2ludCBkcm1fY29sb3JfYWRkX2dh bW1hX21vZGVfcmFuZ2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCQkgICBjb25zdCBjaGFy ICpuYW1lLAorCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fY29sb3JfbHV0X3JhbmdlICpyYW5nZXMs CisJCQkJICAgc2l6ZV90IGxlbmd0aCk7CisKIGVudW0gZHJtX2NvbG9yX2VuY29kaW5nIHsKIAlE Uk1fQ09MT1JfWUNCQ1JfQlQ2MDEsCiAJRFJNX0NPTE9SX1lDQkNSX0JUNzA5LApkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKaW5kZXgg NThhZDk4My4uZjJlNjBiZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAorKysg Yi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCkBAIC0yNDksNiArMjQ5LDEzIEBAIHN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSB7CiAJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICptb2RlX2Jsb2I7CiAKIAkv KioKKwkgKiBAZ2FtbWFfbW9kZTogVGhpcyBpcyBhIGJsb2JfaWQgYW5kIGV4cG9zZXMgdGhlIHBs YXRmb3JtIGNhcGFiaWx0aWVzCisJICogd3J0IHRvIHZhcmlvdXMgZ2FtbWEgbW9kZXMgYW5kIHRo ZSByZXNwZWN0aXZlIGx1dCByYW5nZXMuIFRoaXMgYWxzbworCSAqIGhlbHBzIHVzZXIgc2VsZWN0 IGEgZ2FtbWEgbW9kZSBhbW9uZ3N0IHRoZSBzdXBwb3J0ZWQgb25lcy4KKwkgKi8KKwl1MzIgZ2Ft bWFfbW9kZTsKKworCS8qKgogCSAqIEBkZWdhbW1hX2x1dDoKIAkgKgogCSAqIExvb2t1cCB0YWJs ZSBmb3IgY29udmVydGluZyBmcmFtZWJ1ZmZlciBwaXhlbCBkYXRhIGJlZm9yZSBhcHBseSB0aGUK ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oIGIvaW5jbHVkZS9kcm0v ZHJtX21vZGVfY29uZmlnLmgKaW5kZXggN2Y2MGU4ZS4uOGY5NjFjNWIgMTAwNjQ0Ci0tLSBhL2lu Y2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2Nv bmZpZy5oCkBAIC03NjEsNiArNzYxLDEyIEBAIHN0cnVjdCBkcm1fbW9kZV9jb25maWcgewogCSAq LwogCXN0cnVjdCBkcm1fcHJvcGVydHkgKmNvbnRlbnRfdHlwZV9wcm9wZXJ0eTsKIAkvKioKKwkg KiBAZ2FtbWFfbW9kZV9wcm9wZXJ0eTogT3B0aW9uYWwgQ1JUQyBwcm9wZXJ0eSB0byBlbnVtZXJh dGUgYW5kCisJICogc2VsZWN0IHRoZSBtb2RlIG9mIHRoZSBjcnRjIGdhbW1hL2RlZ21hbWEgTFVU cy4gVGhpcyBhbHNvIGV4cG9zZXMKKwkgKiB0aGUgbHV0IHJhbmdlcyBvZiB0aGUgdmFyaW91cyBz dXBwb3J0ZWQgZ2FtbWEgbW9kZXMgdG8gdXNlcnNwYWNlLgorCSAqLworCXN0cnVjdCBkcm1fcHJv cGVydHkgKmdhbW1hX21vZGVfcHJvcGVydHk7CisJLyoqCiAJICogQGRlZ2FtbWFfbHV0X3Byb3Bl cnR5OiBPcHRpb25hbCBDUlRDIHByb3BlcnR5IHRvIHNldCB0aGUgTFVUIHVzZWQgdG8KIAkgKiBj b252ZXJ0IHRoZSBmcmFtZWJ1ZmZlcidzIGNvbG9ycyB0byBsaW5lYXIgZ2FtbWEuCiAJICovCmRp ZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggYi9pbmNsdWRlL3VhcGkvZHJt L2RybV9tb2RlLmgKaW5kZXggODNjZDE2My4uZTcwYjdmOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS91 YXBpL2RybS9kcm1fbW9kZS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaApAQCAt NjMwLDYgKzYzMCw0NCBAQCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCB7CiAJX191MTYgcmVzZXJ2ZWQ7 CiB9OwogCisvKgorICogRFJNX01PREVfTFVUX0dBTU1BfERSTV9NT0RFX0xVVF9ERUdBTU1BIGlz IGxlZ2FsIGFuZCBtZWFucyB0aGUgTFVUCisgKiBjYW4gYmUgdXNlZCBmb3IgZWl0aGVyIHB1cnBv c2UsIGJ1dCBub3Qgc2ltdWx0YW5lb3VzbHkuIFRvIGV4cG9zZQorICogbW9kZXMgdGhhdCBzdXBw b3J0IGdhbW1hIGFuZCBkZWdhbW1hIHNpbXVsdGFuZW91c2x5IHRoZSBnYW1tYSBtb2RlCisgKiBt dXN0IGRlY2xhcmUgZGlzdGluY3QgRFJNX01PREVfTFVUX0dBTU1BIGFuZCBEUk1fTU9ERV9MVVRf REVHQU1NQQorICogcmFuZ2VzLgorICovCisvKiBMVVQgaXMgZm9yIGdhbW1hIChhZnRlciBDVE0p ICovCisjZGVmaW5lIERSTV9NT0RFX0xVVF9HQU1NQSBCSVQoMCkKKy8qIExVVCBpcyBmb3IgZGVn YW1tYSAoYmVmb3JlIENUTSkgKi8KKyNkZWZpbmUgRFJNX01PREVfTFVUX0RFR0FNTUEgQklUKDEp CisvKiBsaW5lYXJseSBpbnRlcnBvbGF0ZSBiZXR3ZWVuIHRoZSBwb2ludHMgKi8KKyNkZWZpbmUg RFJNX01PREVfTFVUX0lOVEVSUE9MQVRFIEJJVCgyKQorLyoKKyAqIHRoZSBsYXN0IHZhbHVlIG9m IHRoZSBwcmV2aW91cyByYW5nZSBpcyB0aGUKKyAqIGZpcnN0IHZhbHVlIG9mIHRoZSBjdXJyZW50 IHJhbmdlLgorICovCisjZGVmaW5lIERSTV9NT0RFX0xVVF9SRVVTRV9MQVNUIEJJVCgzKQorLyog dGhlIGN1cnZlIG11c3QgYmUgbm9uLWRlY3JlYXNpbmcgKi8KKyNkZWZpbmUgRFJNX01PREVfTFVU X05PTl9ERUNSRUFTSU5HIEJJVCg0KQorLyogdGhlIGN1cnZlIGlzIHJlZmxlY3RlZCBhY3Jvc3Mg b3JpZ2luIGZvciBuZWdhdGl2ZSBpbnB1dHMgKi8KKyNkZWZpbmUgRFJNX01PREVfTFVUX1JFRkxF Q1RfTkVHQVRJVkUgQklUKDUpCisvKiB0aGUgc2FtZSBjdXJ2ZSAocmVkKSBpcyB1c2VkIGZvciBi bHVlIGFuZCBncmVlbiBjaGFubmVscyBhcyB3ZWxsICovCisjZGVmaW5lIERSTV9NT0RFX0xVVF9T SU5HTEVfQ0hBTk5FTCBCSVQoNikKKworc3RydWN0IGRybV9jb2xvcl9sdXRfcmFuZ2UgeworCS8q IERSTV9NT0RFX0xVVF8qICovCisJX191MzIgZmxhZ3M7CisJLyogbnVtYmVyIG9mIHBvaW50cyBv biB0aGUgY3VydmUgKi8KKwlfX3UxNiBjb3VudDsKKwkvKiBpbnB1dC9vdXRwdXQgYml0cyBwZXIg Y29tcG9uZW50ICovCisJX191OCBpbnB1dF9icGMsIG91dHB1dF9icGM7CisJLyogaW5wdXQgc3Rh cnQvZW5kIHZhbHVlcyAqLworCV9fczMyIHN0YXJ0LCBlbmQ7CisJLyogb3V0cHV0IG1pbi9tYXgg dmFsdWVzICovCisJX19zMzIgbWluLCBtYXg7Cit9OworCiAjZGVmaW5lIERSTV9NT0RFX1BBR0Vf RkxJUF9FVkVOVCAweDAxCiAjZGVmaW5lIERSTV9NT0RFX1BBR0VfRkxJUF9BU1lOQyAweDAyCiAj ZGVmaW5lIERSTV9NT0RFX1BBR0VfRkxJUF9UQVJHRVRfQUJTT0xVVEUgMHg0Ci0tIAoxLjkuMQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4