From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH v4 2/3] drm: Add CRTC background color property (v4) Date: Fri, 28 Dec 2018 15:51:30 -0800 Message-ID: <20181228235131.23465-3-matthew.d.roper@intel.com> References: <20181228235131.23465-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: <20181228235131.23465-1-matthew.d.roper@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: Daniel Vetter , wei.c.li@intel.com, harish.krupo.kps@intel.com, =?UTF-8?q?St=C3=A9phane=20Marchesin?= , Sean Paul List-Id: dri-devel@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+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jIHwgIDQg KysrKwogZHJpdmVycy9ncHUvZHJtL2RybV9ibGVuZC5jICAgICAgIHwgMjcgKysrKysrKysrKysr KysrKysrKysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVfY29uZmlnLmMgfCAgNiAr KysrKysKIGluY2x1ZGUvZHJtL2RybV9ibGVuZC5oICAgICAgICAgICB8ICAxICsKIGluY2x1ZGUv ZHJtL2RybV9jcnRjLmggICAgICAgICAgICB8IDEyICsrKysrKysrKysrKwogaW5jbHVkZS9kcm0v ZHJtX21vZGVfY29uZmlnLmggICAgIHwgIDUgKysrKysKIGluY2x1ZGUvdWFwaS9kcm0vZHJtX21v ZGUuaCAgICAgICB8IDI4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDcgZmlsZXMgY2hh bmdlZCwgODAgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Y191YXBpLmMKaW5kZXggYzQwODg5ODg4YTE2Li5kMjgyMzYyYjMxOGUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pY191YXBpLmMKQEAgLTQ2OSw2ICs0NjksOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNf Y3J0Y19zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJcmV0dXJuIC1FRkFV TFQ7CiAKIAkJc2V0X291dF9mZW5jZV9mb3JfY3J0YyhzdGF0ZS0+c3RhdGUsIGNydGMsIGZlbmNl X3B0cik7CisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmJnY29sb3JfcHJvcGVydHkp IHsKKwkJc3RhdGUtPmJnY29sb3IgPSB2YWw7CiAJfSBlbHNlIGlmIChjcnRjLT5mdW5jcy0+YXRv bWljX3NldF9wcm9wZXJ0eSkgewogCQlyZXR1cm4gY3J0Yy0+ZnVuY3MtPmF0b21pY19zZXRfcHJv cGVydHkoY3J0Yywgc3RhdGUsIHByb3BlcnR5LCB2YWwpOwogCX0gZWxzZSB7CkBAIC01MDMsNiAr NTA1LDggQEAgZHJtX2F0b21pY19jcnRjX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsCiAJCSp2YWwgPSAoc3RhdGUtPmdhbW1hX2x1dCkgPyBzdGF0ZS0+Z2FtbWFfbHV0LT5iYXNl LmlkIDogMDsKIAllbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPnByb3Bfb3V0X2ZlbmNlX3B0 cikKIAkJKnZhbCA9IDA7CisJZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5iZ2NvbG9yX3By b3BlcnR5KQorCQkqdmFsID0gc3RhdGUtPmJnY29sb3I7CiAJZWxzZSBpZiAoY3J0Yy0+ZnVuY3Mt PmF0b21pY19nZXRfcHJvcGVydHkpCiAJCXJldHVybiBjcnRjLT5mdW5jcy0+YXRvbWljX2dldF9w cm9wZXJ0eShjcnRjLCBzdGF0ZSwgcHJvcGVydHksIHZhbCk7CiAJZWxzZQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2RybV9ibGVuZC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9ibGVuZC5j CmluZGV4IDBjNzhjYTM4NmNiZS4uZDQ1MWFjOWUxZDZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2JsZW5kLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9ibGVuZC5jCkBAIC0x NzUsOSArMTc1LDIyIEBACiAgKgkJIHBsYW5lIGRvZXMgbm90IGV4cG9zZSB0aGUgImFscGhhIiBw cm9wZXJ0eSwgdGhlbiB0aGlzIGlzCiAgKgkJIGFzc3VtZWQgdG8gYmUgMS4wCiAgKgotICogTm90 ZSB0aGF0IGFsbCB0aGUgcHJvcGVydHkgZXh0ZW5zaW9ucyBkZXNjcmliZWQgaGVyZSBhcHBseSBl aXRoZXIgdG8gdGhlCi0gKiBwbGFuZSBvciB0aGUgQ1JUQyAoZS5nLiBmb3IgdGhlIGJhY2tncm91 bmQgY29sb3IsIHdoaWNoIGN1cnJlbnRseSBpcyBub3QKLSAqIGV4cG9zZWQgYW5kIGFzc3VtZWQg dG8gYmUgYmxhY2spLgorICogVGhlIHByb3BlcnR5IGV4dGVuc2lvbnMgZGVzY3JpYmVkIGFib3Zl IGFsbCBhcHBseSB0byB0aGUgcGxhbmUuICBEcml2ZXJzCisgKiBtYXkgYWxzbyBleHBvc2UgdGhl IGZvbGxvd2luZyBjcnRjIHByb3BlcnR5IGV4dGVuc2lvbjoKKyAqCisgKiBCQUNLR1JPVU5EX0NP TE9SOgorICoJQmFja2dyb3VuZCBjb2xvciBpcyBzZXR1cCB3aXRoIGRybV9jcnRjX2FkZF9iZ2Nv bG9yX3Byb3BlcnR5KCkuICBJdAorICoJY29udHJvbHMgdGhlIEFSR0IgY29sb3Igb2YgYSBmdWxs LXNjcmVlbiBsYXllciB0aGF0IGV4aXN0cyBiZWxvdyBhbGwKKyAqCXBsYW5lcy4gIFRoaXMgY29s b3Igd2lsbCBiZSB1c2VkIGZvciBwaXhlbHMgbm90IGNvdmVyZWQgYnkgYW55IHBsYW5lCisgKglh bmQgbWF5IGFsc28gYmUgYmxlbmRlZCB3aXRoIHBsYW5lIGNvbnRlbnRzIGFzIGFsbG93ZWQgYnkg YSBwbGFuZSdzCisgKglhbHBoYSB2YWx1ZXMuICBUaGUgYmFja2dyb3VuZCBjb2xvciBkZWZhdWx0 cyB0byBibGFjaywgYW5kIGlzIGFzc3VtZWQKKyAqCXRvIGJlIGJsYWNrIGZvciBkcml2ZXJzIHRo YXQgZG8gbm90IGV4cG9zZSB0aGlzIHByb3BlcnR5LiAgQWx0aG91Z2gKKyAqCWJhY2tncm91bmQg Y29sb3IgaXNuJ3QgYSBwbGFuZSwgaXQgaXMgYXNzdW1lZCB0aGF0IHRoZSBjb2xvciBwcm92aWRl ZAorICoJaGVyZSB1bmRlcmdvZXMgdGhlIHNhbWUgcGlwZS1sZXZlbCBkZWdhbW1hL0NTQy9nYW1t YSB0cmFuc2Zvcm1hdGlvbnMKKyAqCXRoYXQgcGxhbmVzIHVuZGVyZ28uICBOb3RlIHRoYXQgdGhl IGNvbG9yIHZhbHVlIHByb3ZpZGVkIGhlcmUgaW5jbHVkZXMKKyAqCWFuIGFscGhhIGNoYW5uZWwu Li5ub24tb3BhcXVlIGJhY2tncm91bmQgY29sb3IgdmFsdWVzIGFyZSBhbGxvd2VkLAorICoJYnV0 IGFyZSBnZW5lcmFsbHkgb25seSBob25vcmVkIGluIHNwZWNpYWwgY2FzZXMgKGUuZy4sIHdoZW4g YSBtZW1vcnkKKyAqCXdyaXRlYmFjayBjb25uZWN0b3IgaXMgaW4gdXNlKS4KICAqLwogCiAvKioK QEAgLTU5MywzICs2MDYsMTEgQEAgaW50IGRybV9wbGFuZV9jcmVhdGVfYmxlbmRfbW9kZV9wcm9w ZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1C T0woZHJtX3BsYW5lX2NyZWF0ZV9ibGVuZF9tb2RlX3Byb3BlcnR5KTsKKwordm9pZCBkcm1fY3J0 Y19hZGRfYmdjb2xvcl9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCit7CisJZHJtX29i amVjdF9hdHRhY2hfcHJvcGVydHkoJmNydGMtPmJhc2UsCisJCQkJICAgY3J0Yy0+ZGV2LT5tb2Rl X2NvbmZpZy5iZ2NvbG9yX3Byb3BlcnR5LAorCQkJCSAgIGRybV9hcmdiKDE2LCAweGZmZmYsIDAs IDAsIDApKTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2NydGNfYWRkX2JnY29sb3JfcHJvcGVydHkp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX2NvbmZpZy5jIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9tb2RlX2NvbmZpZy5jCmluZGV4IDRhMWMyMDIzY2NmMC4uOGE3YzM0NmIz MTkxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVfY29uZmlnLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX2NvbmZpZy5jCkBAIC0zNjQsNiArMzY0LDEyIEBAIHN0 YXRpYyBpbnQgZHJtX21vZGVfY3JlYXRlX3N0YW5kYXJkX3Byb3BlcnRpZXMoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIAkJcmV0dXJuIC1FTk9NRU07CiAJZGV2LT5tb2RlX2NvbmZpZy5tb2RpZmll cnNfcHJvcGVydHkgPSBwcm9wOwogCisJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfcmFuZ2Uo ZGV2LCAwLCAiQkFDS0dST1VORF9DT0xPUiIsCisJCQkJCSAwLCBHRU5NQVNLX1VMTCg2MywgMCkp OworCWlmICghcHJvcCkKKwkJcmV0dXJuIC1FTk9NRU07CisJZGV2LT5tb2RlX2NvbmZpZy5iZ2Nv bG9yX3Byb3BlcnR5ID0gcHJvcDsKKwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9pbmNs dWRlL2RybS9kcm1fYmxlbmQuaCBiL2luY2x1ZGUvZHJtL2RybV9ibGVuZC5oCmluZGV4IDg4YmRm ZWMzYmQ4OC4uOWUyNTM4ZGQ3YjlhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fYmxlbmQu aAorKysgYi9pbmNsdWRlL2RybS9kcm1fYmxlbmQuaApAQCAtNTgsNCArNTgsNSBAQCBpbnQgZHJt X2F0b21pY19ub3JtYWxpemVfenBvcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJICAgICAg c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKIGludCBkcm1fcGxhbmVfY3JlYXRlX2Js ZW5kX21vZGVfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCQkJCSB1bnNpZ25l ZCBpbnQgc3VwcG9ydGVkX21vZGVzKTsKK3ZvaWQgZHJtX2NydGNfYWRkX2JnY29sb3JfcHJvcGVy dHkoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9k cm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKaW5kZXggMzljMzkwMGFhYjNj Li5hOTllZjM3Yzc1NzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKKysrIGIv aW5jbHVkZS9kcm0vZHJtX2NydGMuaApAQCAtMjc0LDYgKzI3NCwxOCBAQCBzdHJ1Y3QgZHJtX2Ny dGNfc3RhdGUgewogCSAqLwogCXN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZ2FtbWFfbHV0Owog CisJLyoqCisJICogQGJnY29sb3I6CisJICoKKwkgKiBSR0IgdmFsdWUgcmVwcmVzZW50aW5nIHRo ZSBwaXBlJ3MgYmFja2dyb3VuZCBjb2xvci4gIFRoZSBiYWNrZ3JvdW5kCisJICogY29sb3IgKGFr YSAiY2FudmFzIGNvbG9yIikgb2YgYSBwaXBlIGlzIHRoZSBjb2xvciB0aGF0IHdpbGwgYmUgdXNl ZAorCSAqIGZvciBwaXhlbHMgbm90IGNvdmVyZWQgYnkgYSBwbGFuZSwgb3IgY292ZXJlZCBieSB0 cmFuc3BhcmVudCBwaXhlbHMKKwkgKiBvZiBhIHBsYW5lLiAgVGhlIHZhbHVlIGhlcmUgc2hvdWxk IGJlIGJ1aWx0IHZpYSBkcm1fYXJnYigpOworCSAqIGluZGl2aWR1YWwgY29sb3IgY29tcG9uZW50 cyBjYW4gYmUgZXh0cmFjdGVkIHdpdGggZGVzaXJlZCBwcmVjaXNpb24KKwkgKiB2aWEgdGhlIERS TV9BUkdCXyooKSBtYWNyb3MuCisJICovCisJdTY0IGJnY29sb3I7CisKIAkvKioKIAkgKiBAdGFy Z2V0X3ZibGFuazoKIAkgKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmln LmggYi9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAppbmRleCAxZTZjYjg4NTk5NGQuLjA0 NjNkM2Y0YWU1OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKKysr IGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKQEAgLTgzNiw2ICs4MzYsMTEgQEAgc3Ry dWN0IGRybV9tb2RlX2NvbmZpZyB7CiAJICovCiAJc3RydWN0IGRybV9wcm9wZXJ0eSAqd3JpdGVi YWNrX291dF9mZW5jZV9wdHJfcHJvcGVydHk7CiAKKwkvKioKKwkgKiBAYmdjb2xvcl9wcm9wZXJ0 eTogUkdCIGJhY2tncm91bmQgY29sb3IgZm9yIENSVEMuCisJICovCisJc3RydWN0IGRybV9wcm9w ZXJ0eSAqYmdjb2xvcl9wcm9wZXJ0eTsKKwogCS8qIGR1bWIgaW9jdGwgcGFyYW1ldGVycyAqLwog CXVpbnQzMl90IHByZWZlcnJlZF9kZXB0aCwgcHJlZmVyX3NoYWRvdzsKIApkaWZmIC0tZ2l0IGEv aW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5o CmluZGV4IGE0MzljMmU2Nzg5Ni4uNWYzMWU2YTA1YmQ5IDEwMDY0NAotLS0gYS9pbmNsdWRlL3Vh cGkvZHJtL2RybV9tb2RlLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oCkBAIC05 MDcsNiArOTA3LDM0IEBAIHN0cnVjdCBkcm1fbW9kZV9yZWN0IHsKIAlfX3MzMiB5MjsKIH07CiAK Ky8qCisgKiBQdXQgQVJHQiB2YWx1ZXMgaW50byBhIHN0YW5kYXJkIDY0LWJpdCByZXByZXNlbnRh dGlvbiB0aGF0IGNhbiBiZSB1c2VkCisgKiBmb3IgaW9jdGwgcGFyYW1ldGVycywgaW50ZXItZHJp dmVyIGNvbW1tdW5pY2F0aW9uLCBldGMuICBJZiB0aGUgY29tcG9uZW50CisgKiB2YWx1ZXMgYmVp bmcgcHJvdmlkZWQgY29udGFpbiBsZXNzIHRoYW4gMTYgYml0cyBvZiBwcmVjaXNpb24sIHRoZXkn bGwKKyAqIGJlIHNoaWZ0ZWQgaW50byB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXRzLgorICovCitz dGF0aWMgaW5saW5lIF9fdTY0Citkcm1fYXJnYihfX3U4IGJwYywgX191MTYgYWxwaGEsIF9fdTE2 IHJlZCwgX191MTYgZ3JlZW4sIF9fdTE2IGJsdWUpCit7CisJaW50IG1zYl9zaGlmdCA9IDE2IC0g YnBjOworCisJcmV0dXJuIChfX3U2NClhbHBoYSA8PCBtc2Jfc2hpZnQgPDwgNDggfAorCSAgICAg ICAoX191NjQpcmVkICAgPDwgbXNiX3NoaWZ0IDw8IDMyIHwKKwkgICAgICAgKF9fdTY0KWdyZWVu IDw8IG1zYl9zaGlmdCA8PCAxNiB8CisJICAgICAgIChfX3U2NClibHVlICA8PCBtc2Jfc2hpZnQ7 Cit9CisKKy8qCisgKiBFeHRyYWN0IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGJpdHMgb2YgYSBz cGVjaWZpYyBjb2xvciBjb21wb25lbnQgZnJvbSBhCisgKiBzdGFuZGFyZCA2NC1iaXQgQVJHQiB2 YWx1ZS4KKyAqLworI2RlZmluZSBEUk1fQVJHQl9DT01QKGMsIHNoaWZ0LCBudW1iaXRzKSBcCisJ KF9fdTE2KSgoKGMpICYgMHhGRkZGdWxsIDw8IChzaGlmdCkpID4+ICgoc2hpZnQpICsgMTYgLSAo bnVtYml0cykpKQorI2RlZmluZSBEUk1fQVJHQl9CTFVFKGMsIG51bWJpdHMpICBEUk1fQVJHQl9D T01QKGMsIDAsIG51bWJpdHMpCisjZGVmaW5lIERSTV9BUkdCX0dSRUVOKGMsIG51bWJpdHMpIERS TV9BUkdCX0NPTVAoYywgMTYsIG51bWJpdHMpCisjZGVmaW5lIERSTV9BUkdCX1JFRChjLCBudW1i aXRzKSAgIERSTV9BUkdCX0NPTVAoYywgMzIsIG51bWJpdHMpCisjZGVmaW5lIERSTV9BUkdCX0FM UEhBKGMsIG51bWJpdHMpIERSTV9BUkdCX0NPTVAoYywgNDgsIG51bWJpdHMpCisKICNpZiBkZWZp bmVkKF9fY3BsdXNwbHVzKQogfQogI2VuZGlmCi0tIAoyLjE0LjUKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=