From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH v4.1 2/3] drm: Add CRTC background color property (v4) Date: Wed, 30 Jan 2019 10:51:21 -0800 Message-ID: <20190130185122.10322-3-matthew.d.roper@intel.com> References: <20190130185122.10322-1-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190130185122.10322-1-matthew.d.roper@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: Daniel Vetter , wei.c.li@intel.com, harish.krupo.kps@intel.com List-Id: intel-gfx@lists.freedesktop.org U29tZSBkaXNwbGF5IGNvbnRyb2xsZXJzIGNhbiBiZSBwcm9ncmFtbWVkIHRvIHByZXNlbnQgbm9u LWJsYWNrIGNvbG9ycwpmb3IgcGl4ZWxzIG5vdCBjb3ZlcmVkIGJ5IGFueSBwbGFuZSAob3IgcGl4 ZWxzIGNvdmVyZWQgYnkgdGhlCnRyYW5zcGFyZW50IHJlZ2lvbnMgb2YgaGlnaGVyIHBsYW5lcyku ICBDb21wb3NpdG9ycyB0aGF0IHdhbnQgYSBVSSB3aXRoCmEgc29saWQgY29sb3IgYmFja2dyb3Vu ZCBjYW4gcG90ZW50aWFsbHkgc2F2ZSBtZW1vcnkgYmFuZHdpZHRoIGJ5CnNldHRpbmcgdGhlIENS VEMgYmFja2dyb3VuZCBwcm9wZXJ0eSBhbmQgdXNpbmcgc21hbGxlciBwbGFuZXMgdG8gZGlzcGxh eQp0aGUgcmVzdCBvZiB0aGUgY29udGVudC4KClRvIGF2b2lkIGNvbmZ1c2lvbiBiZXR3ZWVuIGRp ZmZlcmVudCB3YXlzIG9mIGVuY29kaW5nIFJHQiBkYXRhLCB3ZQpkZWZpbmUgYSBzdGFuZGFyZCA2 NC1iaXQgZm9ybWF0IHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoaXMgcHJvcGVydHkncwp2YWx1 ZS4gIEhlbHBlciBmdW5jdGlvbnMgYW5kIG1hY3JvcyBhcmUgcHJvdmlkZWQgdG8gZ2VuZXJhdGUg YW5kIGRpc3NlY3QKdmFsdWVzIGluIHRoaXMgc3RhbmRhcmQgZm9ybWF0IHdpdGggdmFyeWluZyBj b21wb25lbnQgcHJlY2lzaW9uIHZhbHVlcy4KCnYyOgogLSBTd2FwIGludGVybmFsIHJlcHJlc2Vu dGF0aW9uJ3MgYmx1ZSBhbmQgcmVkIGJpdHMgdG8gbWFrZSBpdCBlYXNpZXIKICAgdG8gcmVhZCBp ZiBwcmludGVkIG91dC4gIChWaWxsZSkKIC0gRG9jdW1lbnQgYmdjb2xvciBwcm9wZXJ0eSBpbiBk cm1fYmxlbmQuYy4gIChTZWFuIFBhdWwpCiAtIHMvYmFja2dyb3VuZF9jb2xvci9iZ2NvbG9yLyBm b3IgY29uc2lzdGVuY3kgYmV0d2VlbiBwcm9wZXJ0eSBuYW1lIGFuZAogICB2YWx1ZSBzdG9yYWdl IGZpZWxkLiAgKFNlYW4gUGF1bCkKIC0gQWRkIGEgY29udmVuaWVuY2UgZnVuY3Rpb24gdG8gYXR0 YWNoIHByb3BlcnR5IHRvIGEgZ2l2ZW4gY3J0Yy4KCnYzOgogLSBSZXN0cnVjdHVyZSBBUkdCIGNv bXBvbmVudCBleHRyYWN0aW9uIG1hY3JvcyB0byBiZSBlYXNpZXIgdG8KICAgdW5kZXJzdGFuZCBh bmQgZW5jbG9zZSB0aGUgcGFyYW1ldGVycyBpbiAoKSB0byBhdm9pZCBjYWxjdWxhdGlvbnMKICAg aWYgZXhwcmVzc2lvbnMgYXJlIHBhc3NlZC4gIChTZWFuIFBhdWwpCiAtIHMvcmdiYS9hcmdiLyBp biBoZWxwZXIgZnVuY3Rpb24vbWFjcm8gbmFtZXMuICBFdmVuIHRob3VnaCB0aGUgaWRlYSBpcwog ICB0byBub3Qgd29ycnkgYWJvdXQgdGhlIGludGVybmFsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1 NjQsIGl0IGNhbgogICBzdGlsbCBiZSBjb25mdXNpbmcgdG8gbG9vayBhdCBjb2RlIHRoYXQgdXNl cyAncmdiYScgdGVybWlub2xvZ3ksIGJ1dAogICBzdG9yZXMgdmFsdWVzIHdpdGggYXJnYiBvcmRl cmluZy4gIChWaWxsZSkKCnY0OgogLSBEcm9wIHRoZSBiZ2NvbG9yX2NoYW5nZWQgZmxhZy4gIChW aWxsZSwgQnJpYW4gU3RhcmtleSkKIC0gQ2xhcmlmeSBpbiBrZXJuZWxkb2MgdGhhdCBiYWNrZ3Jv dW5kIGNvbG9yIGlzIGV4cGVjdGVkIHRvIHVuZGVyZ28gdGhlCiAgIHNhbWUgcGlwZS1sZXZlbCBk ZWdhbW1hL2NzYy9nYW1tYSB0cmFuc2Zvcm1hdGlvbnMgdGhhdCBwbGFuZXMgZG8uCiAgIChCcmlh biBTdGFya2V5KQogLSBVcGRhdGUga2VybmVsZG9jIHRvIGluZGljYXRlIG5vbi1vcGFxdWUgY29s b3JzIGFyZSBhbGxvd2VkLCBidXQgYXJlCiAgIGdlbmVyYWxseSBvbmx5IHVzZWZ1bCBpbiBzcGVj aWFsIGNhc2VzIHN1Y2ggYXMgd2hlbiB3cml0ZWJhY2sKICAgY29ubmVjdG9ycyBhcmUgdXNlZCAo QnJpYW4gU3RhcmtleSAvIEVyaWMgQW5ob2x0KQoKQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKQ2M6IHdlaS5jLmxpQGludGVsLmNvbQpDYzogaGFyaXNoLmtydXBvLmtwc0BpbnRl bC5jb20KQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ CkNjOiBTZWFuIFBhdWwgPHNlYW5AcG9vcmx5LnJ1bj4KQ2M6IEJyaWFuIFN0YXJrZXkgPEJyaWFu LlN0YXJrZXlAYXJtLmNvbT4KQ2M6IEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+CkNjOiBT dMOpcGhhbmUgTWFyY2hlc2luIDxtYXJjaGV1QGNocm9taXVtLm9yZz4KQ2M6IERhbmllbCBWZXR0 ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+ClNpZ25lZC1vZmYtYnk6IE1hdHQgUm9wZXIgPG1h dHRoZXcuZC5yb3BlckBpbnRlbC5jb20+ClJldmlld2VkLWJ5KHYyKTogU2VhbiBQYXVsIDxzZWFu QHBvb3JseS5ydW4+ClJldmlld2VkLWJ5OiBCcmlhbiBTdGFya2V5IDxicmlhbi5zdGFya2V5QGFy bS5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jIHwgIDQgKysrKwog ZHJpdmVycy9ncHUvZHJtL2RybV9ibGVuZC5jICAgICAgIHwgMjcgKysrKysrKysrKysrKysrKysr KysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVfY29uZmlnLmMgfCAgNiArKysrKysK IGluY2x1ZGUvZHJtL2RybV9ibGVuZC5oICAgICAgICAgICB8ICAxICsKIGluY2x1ZGUvZHJtL2Ry bV9jcnRjLmggICAgICAgICAgICB8IDEyICsrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX21v ZGVfY29uZmlnLmggICAgIHwgIDUgKysrKysKIGluY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaCAg ICAgICB8IDI4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDcgZmlsZXMgY2hhbmdlZCwg ODAgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pY191YXBpLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBp LmMKaW5kZXggOWExZjQxYWRmYzY3Li5kNTY5ZTIwZTM0ZTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Y191YXBpLmMKQEAgLTQ2OSw2ICs0NjksOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfY3J0Y19z ZXRfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJcmV0dXJuIC1FRkFVTFQ7CiAK IAkJc2V0X291dF9mZW5jZV9mb3JfY3J0YyhzdGF0ZS0+c3RhdGUsIGNydGMsIGZlbmNlX3B0cik7 CisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmJnY29sb3JfcHJvcGVydHkpIHsKKwkJ c3RhdGUtPmJnY29sb3IgPSB2YWw7CiAJfSBlbHNlIGlmIChjcnRjLT5mdW5jcy0+YXRvbWljX3Nl dF9wcm9wZXJ0eSkgewogCQlyZXR1cm4gY3J0Yy0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHko Y3J0Yywgc3RhdGUsIHByb3BlcnR5LCB2YWwpOwogCX0gZWxzZSB7CkBAIC01MDMsNiArNTA1LDgg QEAgZHJtX2F0b21pY19jcnRjX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJ CSp2YWwgPSAoc3RhdGUtPmdhbW1hX2x1dCkgPyBzdGF0ZS0+Z2FtbWFfbHV0LT5iYXNlLmlkIDog MDsKIAllbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPnByb3Bfb3V0X2ZlbmNlX3B0cikKIAkJ KnZhbCA9IDA7CisJZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5iZ2NvbG9yX3Byb3BlcnR5 KQorCQkqdmFsID0gc3RhdGUtPmJnY29sb3I7CiAJZWxzZSBpZiAoY3J0Yy0+ZnVuY3MtPmF0b21p Y19nZXRfcHJvcGVydHkpCiAJCXJldHVybiBjcnRjLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0 eShjcnRjLCBzdGF0ZSwgcHJvcGVydHksIHZhbCk7CiAJZWxzZQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV9ibGVuZC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9ibGVuZC5jCmluZGV4 IDBjNzhjYTM4NmNiZS4uZDQ1MWFjOWUxZDZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2JsZW5kLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9ibGVuZC5jCkBAIC0xNzUsOSAr MTc1LDIyIEBACiAgKgkJIHBsYW5lIGRvZXMgbm90IGV4cG9zZSB0aGUgImFscGhhIiBwcm9wZXJ0 eSwgdGhlbiB0aGlzIGlzCiAgKgkJIGFzc3VtZWQgdG8gYmUgMS4wCiAgKgotICogTm90ZSB0aGF0 IGFsbCB0aGUgcHJvcGVydHkgZXh0ZW5zaW9ucyBkZXNjcmliZWQgaGVyZSBhcHBseSBlaXRoZXIg dG8gdGhlCi0gKiBwbGFuZSBvciB0aGUgQ1JUQyAoZS5nLiBmb3IgdGhlIGJhY2tncm91bmQgY29s b3IsIHdoaWNoIGN1cnJlbnRseSBpcyBub3QKLSAqIGV4cG9zZWQgYW5kIGFzc3VtZWQgdG8gYmUg YmxhY2spLgorICogVGhlIHByb3BlcnR5IGV4dGVuc2lvbnMgZGVzY3JpYmVkIGFib3ZlIGFsbCBh cHBseSB0byB0aGUgcGxhbmUuICBEcml2ZXJzCisgKiBtYXkgYWxzbyBleHBvc2UgdGhlIGZvbGxv d2luZyBjcnRjIHByb3BlcnR5IGV4dGVuc2lvbjoKKyAqCisgKiBCQUNLR1JPVU5EX0NPTE9SOgor ICoJQmFja2dyb3VuZCBjb2xvciBpcyBzZXR1cCB3aXRoIGRybV9jcnRjX2FkZF9iZ2NvbG9yX3By b3BlcnR5KCkuICBJdAorICoJY29udHJvbHMgdGhlIEFSR0IgY29sb3Igb2YgYSBmdWxsLXNjcmVl biBsYXllciB0aGF0IGV4aXN0cyBiZWxvdyBhbGwKKyAqCXBsYW5lcy4gIFRoaXMgY29sb3Igd2ls bCBiZSB1c2VkIGZvciBwaXhlbHMgbm90IGNvdmVyZWQgYnkgYW55IHBsYW5lCisgKglhbmQgbWF5 IGFsc28gYmUgYmxlbmRlZCB3aXRoIHBsYW5lIGNvbnRlbnRzIGFzIGFsbG93ZWQgYnkgYSBwbGFu ZSdzCisgKglhbHBoYSB2YWx1ZXMuICBUaGUgYmFja2dyb3VuZCBjb2xvciBkZWZhdWx0cyB0byBi bGFjaywgYW5kIGlzIGFzc3VtZWQKKyAqCXRvIGJlIGJsYWNrIGZvciBkcml2ZXJzIHRoYXQgZG8g bm90IGV4cG9zZSB0aGlzIHByb3BlcnR5LiAgQWx0aG91Z2gKKyAqCWJhY2tncm91bmQgY29sb3Ig aXNuJ3QgYSBwbGFuZSwgaXQgaXMgYXNzdW1lZCB0aGF0IHRoZSBjb2xvciBwcm92aWRlZAorICoJ aGVyZSB1bmRlcmdvZXMgdGhlIHNhbWUgcGlwZS1sZXZlbCBkZWdhbW1hL0NTQy9nYW1tYSB0cmFu c2Zvcm1hdGlvbnMKKyAqCXRoYXQgcGxhbmVzIHVuZGVyZ28uICBOb3RlIHRoYXQgdGhlIGNvbG9y IHZhbHVlIHByb3ZpZGVkIGhlcmUgaW5jbHVkZXMKKyAqCWFuIGFscGhhIGNoYW5uZWwuLi5ub24t b3BhcXVlIGJhY2tncm91bmQgY29sb3IgdmFsdWVzIGFyZSBhbGxvd2VkLAorICoJYnV0IGFyZSBn ZW5lcmFsbHkgb25seSBob25vcmVkIGluIHNwZWNpYWwgY2FzZXMgKGUuZy4sIHdoZW4gYSBtZW1v cnkKKyAqCXdyaXRlYmFjayBjb25uZWN0b3IgaXMgaW4gdXNlKS4KICAqLwogCiAvKioKQEAgLTU5 MywzICs2MDYsMTEgQEAgaW50IGRybV9wbGFuZV9jcmVhdGVfYmxlbmRfbW9kZV9wcm9wZXJ0eShz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0woZHJt X3BsYW5lX2NyZWF0ZV9ibGVuZF9tb2RlX3Byb3BlcnR5KTsKKwordm9pZCBkcm1fY3J0Y19hZGRf Ymdjb2xvcl9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCit7CisJZHJtX29iamVjdF9h dHRhY2hfcHJvcGVydHkoJmNydGMtPmJhc2UsCisJCQkJICAgY3J0Yy0+ZGV2LT5tb2RlX2NvbmZp Zy5iZ2NvbG9yX3Byb3BlcnR5LAorCQkJCSAgIGRybV9hcmdiKDE2LCAweGZmZmYsIDAsIDAsIDAp KTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2NydGNfYWRkX2JnY29sb3JfcHJvcGVydHkpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX2NvbmZpZy5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9tb2RlX2NvbmZpZy5jCmluZGV4IDRhMWMyMDIzY2NmMC4uOGE3YzM0NmIzMTkxIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVfY29uZmlnLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9tb2RlX2NvbmZpZy5jCkBAIC0zNjQsNiArMzY0LDEyIEBAIHN0YXRpYyBp bnQgZHJtX21vZGVfY3JlYXRlX3N0YW5kYXJkX3Byb3BlcnRpZXMoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKIAkJcmV0dXJuIC1FTk9NRU07CiAJZGV2LT5tb2RlX2NvbmZpZy5tb2RpZmllcnNfcHJv cGVydHkgPSBwcm9wOwogCisJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfcmFuZ2UoZGV2LCAw LCAiQkFDS0dST1VORF9DT0xPUiIsCisJCQkJCSAwLCBHRU5NQVNLX1VMTCg2MywgMCkpOworCWlm ICghcHJvcCkKKwkJcmV0dXJuIC1FTk9NRU07CisJZGV2LT5tb2RlX2NvbmZpZy5iZ2NvbG9yX3By b3BlcnR5ID0gcHJvcDsKKwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2Ry bS9kcm1fYmxlbmQuaCBiL2luY2x1ZGUvZHJtL2RybV9ibGVuZC5oCmluZGV4IDg4YmRmZWMzYmQ4 OC4uOWUyNTM4ZGQ3YjlhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fYmxlbmQuaAorKysg Yi9pbmNsdWRlL2RybS9kcm1fYmxlbmQuaApAQCAtNTgsNCArNTgsNSBAQCBpbnQgZHJtX2F0b21p Y19ub3JtYWxpemVfenBvcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJICAgICAgc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKIGludCBkcm1fcGxhbmVfY3JlYXRlX2JsZW5kX21v ZGVfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCQkJCSB1bnNpZ25lZCBpbnQg c3VwcG9ydGVkX21vZGVzKTsKK3ZvaWQgZHJtX2NydGNfYWRkX2JnY29sb3JfcHJvcGVydHkoc3Ry dWN0IGRybV9jcnRjICpjcnRjKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJt X2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKaW5kZXggODVhYmQzZmU5ZTgzLi5kYmUw YjQ1ZDVkYTYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKKysrIGIvaW5jbHVk ZS9kcm0vZHJtX2NydGMuaApAQCAtMjc0LDYgKzI3NCwxOCBAQCBzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgewogCSAqLwogCXN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZ2FtbWFfbHV0OwogCisJLyoq CisJICogQGJnY29sb3I6CisJICoKKwkgKiBSR0IgdmFsdWUgcmVwcmVzZW50aW5nIHRoZSBwaXBl J3MgYmFja2dyb3VuZCBjb2xvci4gIFRoZSBiYWNrZ3JvdW5kCisJICogY29sb3IgKGFrYSAiY2Fu dmFzIGNvbG9yIikgb2YgYSBwaXBlIGlzIHRoZSBjb2xvciB0aGF0IHdpbGwgYmUgdXNlZAorCSAq IGZvciBwaXhlbHMgbm90IGNvdmVyZWQgYnkgYSBwbGFuZSwgb3IgY292ZXJlZCBieSB0cmFuc3Bh cmVudCBwaXhlbHMKKwkgKiBvZiBhIHBsYW5lLiAgVGhlIHZhbHVlIGhlcmUgc2hvdWxkIGJlIGJ1 aWx0IHZpYSBkcm1fYXJnYigpOworCSAqIGluZGl2aWR1YWwgY29sb3IgY29tcG9uZW50cyBjYW4g YmUgZXh0cmFjdGVkIHdpdGggZGVzaXJlZCBwcmVjaXNpb24KKwkgKiB2aWEgdGhlIERSTV9BUkdC XyooKSBtYWNyb3MuCisJICovCisJdTY0IGJnY29sb3I7CisKIAkvKioKIAkgKiBAdGFyZ2V0X3Zi bGFuazoKIAkgKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmggYi9p bmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAppbmRleCAxZTZjYjg4NTk5NGQuLjA0NjNkM2Y0 YWU1OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKKysrIGIvaW5j bHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKQEAgLTgzNiw2ICs4MzYsMTEgQEAgc3RydWN0IGRy bV9tb2RlX2NvbmZpZyB7CiAJICovCiAJc3RydWN0IGRybV9wcm9wZXJ0eSAqd3JpdGViYWNrX291 dF9mZW5jZV9wdHJfcHJvcGVydHk7CiAKKwkvKioKKwkgKiBAYmdjb2xvcl9wcm9wZXJ0eTogUkdC IGJhY2tncm91bmQgY29sb3IgZm9yIENSVEMuCisJICovCisJc3RydWN0IGRybV9wcm9wZXJ0eSAq Ymdjb2xvcl9wcm9wZXJ0eTsKKwogCS8qIGR1bWIgaW9jdGwgcGFyYW1ldGVycyAqLwogCXVpbnQz Ml90IHByZWZlcnJlZF9kZXB0aCwgcHJlZmVyX3NoYWRvdzsKIApkaWZmIC0tZ2l0IGEvaW5jbHVk ZS91YXBpL2RybS9kcm1fbW9kZS5oIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCmluZGV4 IGE0MzljMmU2Nzg5Ni4uNWYzMWU2YTA1YmQ5IDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvZHJt L2RybV9tb2RlLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCkBAIC05MDcsNiAr OTA3LDM0IEBAIHN0cnVjdCBkcm1fbW9kZV9yZWN0IHsKIAlfX3MzMiB5MjsKIH07CiAKKy8qCisg KiBQdXQgQVJHQiB2YWx1ZXMgaW50byBhIHN0YW5kYXJkIDY0LWJpdCByZXByZXNlbnRhdGlvbiB0 aGF0IGNhbiBiZSB1c2VkCisgKiBmb3IgaW9jdGwgcGFyYW1ldGVycywgaW50ZXItZHJpdmVyIGNv bW1tdW5pY2F0aW9uLCBldGMuICBJZiB0aGUgY29tcG9uZW50CisgKiB2YWx1ZXMgYmVpbmcgcHJv dmlkZWQgY29udGFpbiBsZXNzIHRoYW4gMTYgYml0cyBvZiBwcmVjaXNpb24sIHRoZXknbGwKKyAq IGJlIHNoaWZ0ZWQgaW50byB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXRzLgorICovCitzdGF0aWMg aW5saW5lIF9fdTY0Citkcm1fYXJnYihfX3U4IGJwYywgX191MTYgYWxwaGEsIF9fdTE2IHJlZCwg X191MTYgZ3JlZW4sIF9fdTE2IGJsdWUpCit7CisJaW50IG1zYl9zaGlmdCA9IDE2IC0gYnBjOwor CisJcmV0dXJuIChfX3U2NClhbHBoYSA8PCBtc2Jfc2hpZnQgPDwgNDggfAorCSAgICAgICAoX191 NjQpcmVkICAgPDwgbXNiX3NoaWZ0IDw8IDMyIHwKKwkgICAgICAgKF9fdTY0KWdyZWVuIDw8IG1z Yl9zaGlmdCA8PCAxNiB8CisJICAgICAgIChfX3U2NClibHVlICA8PCBtc2Jfc2hpZnQ7Cit9CisK Ky8qCisgKiBFeHRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJpdHMgb2YgYSBzcGVjaWZp YyBjb2xvciBjb21wb25lbnQgZnJvbSBhCisgKiBzdGFuZGFyZCA2NC1iaXQgQVJHQiB2YWx1ZS4K KyAqLworI2RlZmluZSBEUk1fQVJHQl9DT01QKGMsIHNoaWZ0LCBudW1iaXRzKSBcCisJKF9fdTE2 KSgoKGMpICYgMHhGRkZGdWxsIDw8IChzaGlmdCkpID4+ICgoc2hpZnQpICsgMTYgLSAobnVtYml0 cykpKQorI2RlZmluZSBEUk1fQVJHQl9CTFVFKGMsIG51bWJpdHMpICBEUk1fQVJHQl9DT01QKGMs IDAsIG51bWJpdHMpCisjZGVmaW5lIERSTV9BUkdCX0dSRUVOKGMsIG51bWJpdHMpIERSTV9BUkdC X0NPTVAoYywgMTYsIG51bWJpdHMpCisjZGVmaW5lIERSTV9BUkdCX1JFRChjLCBudW1iaXRzKSAg IERSTV9BUkdCX0NPTVAoYywgMzIsIG51bWJpdHMpCisjZGVmaW5lIERSTV9BUkdCX0FMUEhBKGMs IG51bWJpdHMpIERSTV9BUkdCX0NPTVAoYywgNDgsIG51bWJpdHMpCisKICNpZiBkZWZpbmVkKF9f Y3BsdXNwbHVzKQogfQogI2VuZGlmCi0tIAoyLjE0LjUKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=