From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH v5 1/3] drm: Add CRTC background color property (v5) Date: Thu, 31 Jan 2019 15:55:06 -0800 Message-ID: <20190131235508.6970-2-matthew.d.roper@intel.com> References: <20190131235508.6970-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: <20190131235508.6970-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 Cc: Daniel Vetter , dri-devel@lists.freedesktop.org, 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 QnJpYW4gU3RhcmtleSAvIEVyaWMgQW5ob2x0KQoKdjU6CiAtIFNldCBjcnRjLT5zdGF0ZS0+Ymdj b2xvciB0byBzb2xpZCBibGFjayBpbnNpZGUKICAgZHJtX2NydGNfYWRkX2JnY29sb3JfcHJvcGVy dHkoKSBpbiBjYXNlIGRyaXZlcnMgZG9uJ3QgZG8gdGhpcwogICB0aGVtc2VsdmVzLiAgKFZpbGxl KQogLSBBZGQga2VybmVsZG9jIHRvIGRybV9jcnRjX2FkZF9iZ2NvbG9yX3Byb3BlcnR5KCkgZnVu Y3Rpb24uCgpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpDYzogd2VpLmMubGlA aW50ZWwuY29tCkNjOiBoYXJpc2gua3J1cG8ua3BzQGludGVsLmNvbQpDYzogVmlsbGUgU3lyasOk bMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6IFNlYW4gUGF1bCA8c2VhbkBw b29ybHkucnVuPgpDYzogQnJpYW4gU3RhcmtleSA8QnJpYW4uU3RhcmtleUBhcm0uY29tPgpDYzog RXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KQ2M6IFN0w6lwaGFuZSBNYXJjaGVzaW4gPG1h cmNoZXVAY2hyb21pdW0ub3JnPgpDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZnds bC5jaD4KU2lnbmVkLW9mZi1ieTogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNv bT4KUmV2aWV3ZWQtYnkodjIpOiBTZWFuIFBhdWwgPHNlYW5AcG9vcmx5LnJ1bj4KUmV2aWV3ZWQt Ynk6IEJyaWFuIFN0YXJrZXkgPGJyaWFuLnN0YXJrZXlAYXJtLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pY191YXBpLmMgfCAgNCArKysrCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2Js ZW5kLmMgICAgICAgfCA0MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0K IGRyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYyB8ICA2ICsrKysrKwogaW5jbHVkZS9k cm0vZHJtX2JsZW5kLmggICAgICAgICAgIHwgIDEgKwogaW5jbHVkZS9kcm0vZHJtX2NydGMuaCAg ICAgICAgICAgIHwgMTIgKysrKysrKysrKysrCiBpbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcu aCAgICAgfCAgNSArKysrKwogaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oICAgICAgIHwgMjgg KysrKysrKysrKysrKysrKysrKysrKysrKysKIDcgZmlsZXMgY2hhbmdlZCwgOTQgaW5zZXJ0aW9u cygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY191YXBpLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKaW5kZXggOWEx ZjQxYWRmYzY3Li5kNTY5ZTIwZTM0ZTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX3VhcGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKQEAg LTQ2OSw2ICs0NjksOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfY3J0Y19zZXRfcHJvcGVydHko c3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJcmV0dXJuIC1FRkFVTFQ7CiAKIAkJc2V0X291dF9m ZW5jZV9mb3JfY3J0YyhzdGF0ZS0+c3RhdGUsIGNydGMsIGZlbmNlX3B0cik7CisJfSBlbHNlIGlm IChwcm9wZXJ0eSA9PSBjb25maWctPmJnY29sb3JfcHJvcGVydHkpIHsKKwkJc3RhdGUtPmJnY29s b3IgPSB2YWw7CiAJfSBlbHNlIGlmIChjcnRjLT5mdW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eSkg ewogCQlyZXR1cm4gY3J0Yy0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkoY3J0Yywgc3RhdGUs IHByb3BlcnR5LCB2YWwpOwogCX0gZWxzZSB7CkBAIC01MDMsNiArNTA1LDggQEAgZHJtX2F0b21p Y19jcnRjX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCSp2YWwgPSAoc3Rh dGUtPmdhbW1hX2x1dCkgPyBzdGF0ZS0+Z2FtbWFfbHV0LT5iYXNlLmlkIDogMDsKIAllbHNlIGlm IChwcm9wZXJ0eSA9PSBjb25maWctPnByb3Bfb3V0X2ZlbmNlX3B0cikKIAkJKnZhbCA9IDA7CisJ ZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5iZ2NvbG9yX3Byb3BlcnR5KQorCQkqdmFsID0g c3RhdGUtPmJnY29sb3I7CiAJZWxzZSBpZiAoY3J0Yy0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVy dHkpCiAJCXJldHVybiBjcnRjLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eShjcnRjLCBzdGF0 ZSwgcHJvcGVydHksIHZhbCk7CiAJZWxzZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9ibGVuZC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9ibGVuZC5jCmluZGV4IDBjNzhjYTM4NmNi ZS4uMmZmNjlmYWUzODVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2JsZW5kLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9ibGVuZC5jCkBAIC0xNzUsOSArMTc1LDIyIEBACiAg KgkJIHBsYW5lIGRvZXMgbm90IGV4cG9zZSB0aGUgImFscGhhIiBwcm9wZXJ0eSwgdGhlbiB0aGlz IGlzCiAgKgkJIGFzc3VtZWQgdG8gYmUgMS4wCiAgKgotICogTm90ZSB0aGF0IGFsbCB0aGUgcHJv cGVydHkgZXh0ZW5zaW9ucyBkZXNjcmliZWQgaGVyZSBhcHBseSBlaXRoZXIgdG8gdGhlCi0gKiBw bGFuZSBvciB0aGUgQ1JUQyAoZS5nLiBmb3IgdGhlIGJhY2tncm91bmQgY29sb3IsIHdoaWNoIGN1 cnJlbnRseSBpcyBub3QKLSAqIGV4cG9zZWQgYW5kIGFzc3VtZWQgdG8gYmUgYmxhY2spLgorICog VGhlIHByb3BlcnR5IGV4dGVuc2lvbnMgZGVzY3JpYmVkIGFib3ZlIGFsbCBhcHBseSB0byB0aGUg cGxhbmUuICBEcml2ZXJzCisgKiBtYXkgYWxzbyBleHBvc2UgdGhlIGZvbGxvd2luZyBjcnRjIHBy b3BlcnR5IGV4dGVuc2lvbjoKKyAqCisgKiBCQUNLR1JPVU5EX0NPTE9SOgorICoJQmFja2dyb3Vu ZCBjb2xvciBpcyBzZXR1cCB3aXRoIGRybV9jcnRjX2FkZF9iZ2NvbG9yX3Byb3BlcnR5KCkuICBJ dAorICoJY29udHJvbHMgdGhlIEFSR0IgY29sb3Igb2YgYSBmdWxsLXNjcmVlbiBsYXllciB0aGF0 IGV4aXN0cyBiZWxvdyBhbGwKKyAqCXBsYW5lcy4gIFRoaXMgY29sb3Igd2lsbCBiZSB1c2VkIGZv ciBwaXhlbHMgbm90IGNvdmVyZWQgYnkgYW55IHBsYW5lCisgKglhbmQgbWF5IGFsc28gYmUgYmxl bmRlZCB3aXRoIHBsYW5lIGNvbnRlbnRzIGFzIGFsbG93ZWQgYnkgYSBwbGFuZSdzCisgKglhbHBo YSB2YWx1ZXMuICBUaGUgYmFja2dyb3VuZCBjb2xvciBkZWZhdWx0cyB0byBibGFjaywgYW5kIGlz IGFzc3VtZWQKKyAqCXRvIGJlIGJsYWNrIGZvciBkcml2ZXJzIHRoYXQgZG8gbm90IGV4cG9zZSB0 aGlzIHByb3BlcnR5LiAgQWx0aG91Z2gKKyAqCWJhY2tncm91bmQgY29sb3IgaXNuJ3QgYSBwbGFu ZSwgaXQgaXMgYXNzdW1lZCB0aGF0IHRoZSBjb2xvciBwcm92aWRlZAorICoJaGVyZSB1bmRlcmdv ZXMgdGhlIHNhbWUgcGlwZS1sZXZlbCBkZWdhbW1hL0NTQy9nYW1tYSB0cmFuc2Zvcm1hdGlvbnMK KyAqCXRoYXQgcGxhbmVzIHVuZGVyZ28uICBOb3RlIHRoYXQgdGhlIGNvbG9yIHZhbHVlIHByb3Zp ZGVkIGhlcmUgaW5jbHVkZXMKKyAqCWFuIGFscGhhIGNoYW5uZWwuLi5ub24tb3BhcXVlIGJhY2tn cm91bmQgY29sb3IgdmFsdWVzIGFyZSBhbGxvd2VkLAorICoJYnV0IGFyZSBnZW5lcmFsbHkgb25s eSBob25vcmVkIGluIHNwZWNpYWwgY2FzZXMgKGUuZy4sIHdoZW4gYSBtZW1vcnkKKyAqCXdyaXRl YmFjayBjb25uZWN0b3IgaXMgaW4gdXNlKS4KICAqLwogCiAvKioKQEAgLTU5MywzICs2MDYsMjUg QEAgaW50IGRybV9wbGFuZV9jcmVhdGVfYmxlbmRfbW9kZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX3BsYW5lX2NyZWF0 ZV9ibGVuZF9tb2RlX3Byb3BlcnR5KTsKKworLyoqCisgKiBkcm1fY3J0Y19hZGRfYmdjb2xvcl9w cm9wZXJ0eSAtIGFkZCBiYWNrZ3JvdW5kIGNvbG9yIHByb3BlcnR5CisgKiBAY3J0YzogZHJtIGNy dGMKKyAqCisgKiBBZGRzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIHByb3BlcnR5IHRvIEBjcnRjLiAg VGhlIHByb3BlcnR5IGRlZmF1bHRzIHRvCisgKiBzb2xpZCBibGFjayBhbmQgd2lsbCBhY2NlcHQg NjQtYml0IEFSR0IgdmFsdWVzIGluIHRoZSBmb3JtYXQgZ2VuZXJhdGVkIGJ5CisgKiBkcm1fYXJn YigpLiAgQGNydGMncyBzdGF0ZSB3aWxsIGFsc28gYmUgdXBkYXRlZCB0byBob2xkIGEgc29saWQg YmxhY2sKKyAqIGJhY2tncm91bmQgY29sb3Igd2hlbiB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZC4K KyAqLwordm9pZCBkcm1fY3J0Y19hZGRfYmdjb2xvcl9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCit7CisJdTY0IGluaXR2YWwgPSBkcm1fYXJnYigxNiwgMHhmZmZmLCAwLCAwLCAwKTsK KworCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjcnRjLT5iYXNlLAorCQkJCSAgIGNydGMt PmRldi0+bW9kZV9jb25maWcuYmdjb2xvcl9wcm9wZXJ0eSwKKwkJCQkgICBpbml0dmFsKTsKKwor CWlmIChjcnRjLT5zdGF0ZSkKKwkJY3J0Yy0+c3RhdGUtPmJnY29sb3IgPSBpbml0dmFsOworfQor RVhQT1JUX1NZTUJPTChkcm1fY3J0Y19hZGRfYmdjb2xvcl9wcm9wZXJ0eSk7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVfY29uZmlnLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X21vZGVfY29uZmlnLmMKaW5kZXggNGExYzIwMjNjY2YwLi44YTdjMzQ2YjMxOTEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX21vZGVfY29uZmlnLmMKQEAgLTM2NCw2ICszNjQsMTIgQEAgc3RhdGljIGludCBkcm1f bW9kZV9jcmVhdGVfc3RhbmRhcmRfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQog CQlyZXR1cm4gLUVOT01FTTsKIAlkZXYtPm1vZGVfY29uZmlnLm1vZGlmaWVyc19wcm9wZXJ0eSA9 IHByb3A7CiAKKwlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9yYW5nZShkZXYsIDAsICJCQUNL R1JPVU5EX0NPTE9SIiwKKwkJCQkJIDAsIEdFTk1BU0tfVUxMKDYzLCAwKSk7CisJaWYgKCFwcm9w KQorCQlyZXR1cm4gLUVOT01FTTsKKwlkZXYtPm1vZGVfY29uZmlnLmJnY29sb3JfcHJvcGVydHkg PSBwcm9wOworCiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9i bGVuZC5oIGIvaW5jbHVkZS9kcm0vZHJtX2JsZW5kLmgKaW5kZXggODhiZGZlYzNiZDg4Li45ZTI1 MzhkZDdiOWEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9ibGVuZC5oCisrKyBiL2luY2x1 ZGUvZHJtL2RybV9ibGVuZC5oCkBAIC01OCw0ICs1OCw1IEBAIGludCBkcm1fYXRvbWljX25vcm1h bGl6ZV96cG9zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkgICAgICBzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqc3RhdGUpOwogaW50IGRybV9wbGFuZV9jcmVhdGVfYmxlbmRfbW9kZV9wcm9w ZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCQkJIHVuc2lnbmVkIGludCBzdXBwb3J0 ZWRfbW9kZXMpOwordm9pZCBkcm1fY3J0Y19hZGRfYmdjb2xvcl9wcm9wZXJ0eShzdHJ1Y3QgZHJt X2NydGMgKmNydGMpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5o IGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAppbmRleCA4NWFiZDNmZTllODMuLmRiZTBiNDVkNWRh NiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAorKysgYi9pbmNsdWRlL2RybS9k cm1fY3J0Yy5oCkBAIC0yNzQsNiArMjc0LDE4IEBAIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSB7CiAJ ICovCiAJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpnYW1tYV9sdXQ7CiAKKwkvKioKKwkgKiBA Ymdjb2xvcjoKKwkgKgorCSAqIFJHQiB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIHBpcGUncyBiYWNr Z3JvdW5kIGNvbG9yLiAgVGhlIGJhY2tncm91bmQKKwkgKiBjb2xvciAoYWthICJjYW52YXMgY29s b3IiKSBvZiBhIHBpcGUgaXMgdGhlIGNvbG9yIHRoYXQgd2lsbCBiZSB1c2VkCisJICogZm9yIHBp eGVscyBub3QgY292ZXJlZCBieSBhIHBsYW5lLCBvciBjb3ZlcmVkIGJ5IHRyYW5zcGFyZW50IHBp eGVscworCSAqIG9mIGEgcGxhbmUuICBUaGUgdmFsdWUgaGVyZSBzaG91bGQgYmUgYnVpbHQgdmlh IGRybV9hcmdiKCk7CisJICogaW5kaXZpZHVhbCBjb2xvciBjb21wb25lbnRzIGNhbiBiZSBleHRy YWN0ZWQgd2l0aCBkZXNpcmVkIHByZWNpc2lvbgorCSAqIHZpYSB0aGUgRFJNX0FSR0JfKigpIG1h Y3Jvcy4KKwkgKi8KKwl1NjQgYmdjb2xvcjsKKwogCS8qKgogCSAqIEB0YXJnZXRfdmJsYW5rOgog CSAqCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCBiL2luY2x1ZGUv ZHJtL2RybV9tb2RlX2NvbmZpZy5oCmluZGV4IDFlNmNiODg1OTk0ZC4uMDQ2M2QzZjRhZTU5IDEw MDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaAorKysgYi9pbmNsdWRlL2Ry bS9kcm1fbW9kZV9jb25maWcuaApAQCAtODM2LDYgKzgzNiwxMSBAQCBzdHJ1Y3QgZHJtX21vZGVf Y29uZmlnIHsKIAkgKi8KIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICp3cml0ZWJhY2tfb3V0X2ZlbmNl X3B0cl9wcm9wZXJ0eTsKIAorCS8qKgorCSAqIEBiZ2NvbG9yX3Byb3BlcnR5OiBSR0IgYmFja2dy b3VuZCBjb2xvciBmb3IgQ1JUQy4KKwkgKi8KKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpiZ2NvbG9y X3Byb3BlcnR5OworCiAJLyogZHVtYiBpb2N0bCBwYXJhbWV0ZXJzICovCiAJdWludDMyX3QgcHJl ZmVycmVkX2RlcHRoLCBwcmVmZXJfc2hhZG93OwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkv ZHJtL2RybV9tb2RlLmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKaW5kZXggYTQzOWMy ZTY3ODk2Li41ZjMxZTZhMDViZDkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21v ZGUuaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmgKQEAgLTkwNyw2ICs5MDcsMzQg QEAgc3RydWN0IGRybV9tb2RlX3JlY3QgewogCV9fczMyIHkyOwogfTsKIAorLyoKKyAqIFB1dCBB UkdCIHZhbHVlcyBpbnRvIGEgc3RhbmRhcmQgNjQtYml0IHJlcHJlc2VudGF0aW9uIHRoYXQgY2Fu IGJlIHVzZWQKKyAqIGZvciBpb2N0bCBwYXJhbWV0ZXJzLCBpbnRlci1kcml2ZXIgY29tbW11bmlj YXRpb24sIGV0Yy4gIElmIHRoZSBjb21wb25lbnQKKyAqIHZhbHVlcyBiZWluZyBwcm92aWRlZCBj b250YWluIGxlc3MgdGhhbiAxNiBiaXRzIG9mIHByZWNpc2lvbiwgdGhleSdsbAorICogYmUgc2hp ZnRlZCBpbnRvIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdHMuCisgKi8KK3N0YXRpYyBpbmxpbmUg X191NjQKK2RybV9hcmdiKF9fdTggYnBjLCBfX3UxNiBhbHBoYSwgX191MTYgcmVkLCBfX3UxNiBn cmVlbiwgX191MTYgYmx1ZSkKK3sKKwlpbnQgbXNiX3NoaWZ0ID0gMTYgLSBicGM7CisKKwlyZXR1 cm4gKF9fdTY0KWFscGhhIDw8IG1zYl9zaGlmdCA8PCA0OCB8CisJICAgICAgIChfX3U2NClyZWQg ICA8PCBtc2Jfc2hpZnQgPDwgMzIgfAorCSAgICAgICAoX191NjQpZ3JlZW4gPDwgbXNiX3NoaWZ0 IDw8IDE2IHwKKwkgICAgICAgKF9fdTY0KWJsdWUgIDw8IG1zYl9zaGlmdDsKK30KKworLyoKKyAq IEV4dHJhY3QgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgYml0cyBvZiBhIHNwZWNpZmljIGNvbG9y IGNvbXBvbmVudCBmcm9tIGEKKyAqIHN0YW5kYXJkIDY0LWJpdCBBUkdCIHZhbHVlLgorICovCisj ZGVmaW5lIERSTV9BUkdCX0NPTVAoYywgc2hpZnQsIG51bWJpdHMpIFwKKwkoX191MTYpKCgoYykg JiAweEZGRkZ1bGwgPDwgKHNoaWZ0KSkgPj4gKChzaGlmdCkgKyAxNiAtIChudW1iaXRzKSkpCisj ZGVmaW5lIERSTV9BUkdCX0JMVUUoYywgbnVtYml0cykgIERSTV9BUkdCX0NPTVAoYywgMCwgbnVt Yml0cykKKyNkZWZpbmUgRFJNX0FSR0JfR1JFRU4oYywgbnVtYml0cykgRFJNX0FSR0JfQ09NUChj LCAxNiwgbnVtYml0cykKKyNkZWZpbmUgRFJNX0FSR0JfUkVEKGMsIG51bWJpdHMpICAgRFJNX0FS R0JfQ09NUChjLCAzMiwgbnVtYml0cykKKyNkZWZpbmUgRFJNX0FSR0JfQUxQSEEoYywgbnVtYml0 cykgRFJNX0FSR0JfQ09NUChjLCA0OCwgbnVtYml0cykKKwogI2lmIGRlZmluZWQoX19jcGx1c3Bs dXMpCiB9CiAjZW5kaWYKLS0gCjIuMTQuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==