From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lowry Li Subject: [PATCH v4 1/2] drm: Add per-plane pixel blend mode property Date: Tue, 14 Aug 2018 19:32:56 +0800 Message-ID: <1534246377-31346-2-git-send-email-lowry.li@arm.com> References: <1534246377-31346-1-git-send-email-lowry.li@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0604.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::604]) by gabe.freedesktop.org (Postfix) with ESMTPS id D0FF089D8D for ; Tue, 14 Aug 2018 11:33:27 +0000 (UTC) In-Reply-To: <1534246377-31346-1-git-send-email-lowry.li@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: liviu.dudau@arm.com Cc: airlied@linux.ie, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, emil.l.velikov@gmail.com, malidp@foss.arm.com, daniel.vetter@intel.com, nd@arm.com List-Id: dri-devel@lists.freedesktop.org UGl4ZWwgYmxlbmQgbW9kZXMgcmVwcmVzZW50IHRoZSBhbHBoYSBibGVuZGluZyBlcXVhdGlvbgpz ZWxlY3Rpb24sIGRlc2NyaWJpbmcgaG93IHRoZSBwaXhlbHMgZnJvbSB0aGUgY3VycmVudApwbGFu ZSBhcmUgY29tcG9zaXRlZCB3aXRoIHRoZSBiYWNrZ3JvdW5kLgoKQWRkcyBhIHBpeGVsX2JsZW5k X21vZGUgdG8gZHJtX3BsYW5lX3N0YXRlIGFuZCBhCmJsZW5kX21vZGVfcHJvcGVydHkgdG8gZHJt X3BsYW5lLCBhbmQgcmVsYXRlZCBzdXBwb3J0CmZ1bmN0aW9ucy4KCkRlZmluZXMgdGhyZWUgYmxl bmQgbW9kZXMgaW4gZHJtX2JsZW5kLmguCgpTaWduZWQtb2ZmLWJ5OiBMb3dyeSBMaSA8bG93cnku bGlAYXJtLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAgICB8ICAg NCArKwogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgfCAgIDEgKwogZHJpdmVy cy9ncHUvZHJtL2RybV9ibGVuZC5jICAgICAgICAgfCAxMjYgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiBpbmNsdWRlL2RybS9kcm1fYmxlbmQuaCAgICAgICAgICAgICB8ICAg NiArKwogaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmggICAgICAgICAgICAgfCAgIDIgKwogNSBmaWxl cyBjaGFuZ2VkLCAxMzkgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCmluZGV4IDNlYjA2 MWUuLmQwNDc4YWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwpAQCAtODk1LDYgKzg5NSw4IEBAIHN0YXRp YyBpbnQgZHJtX2F0b21pY19wbGFuZV9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsCiAJCXN0YXRlLT5zcmNfaCA9IHZhbDsKIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IHBsYW5l LT5hbHBoYV9wcm9wZXJ0eSkgewogCQlzdGF0ZS0+YWxwaGEgPSB2YWw7CisJfSBlbHNlIGlmIChw cm9wZXJ0eSA9PSBwbGFuZS0+YmxlbmRfbW9kZV9wcm9wZXJ0eSkgeworCQlzdGF0ZS0+cGl4ZWxf YmxlbmRfbW9kZSA9IHZhbDsKIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IHBsYW5lLT5yb3RhdGlv bl9wcm9wZXJ0eSkgewogCQlpZiAoIWlzX3Bvd2VyX29mXzIodmFsICYgRFJNX01PREVfUk9UQVRF X01BU0spKSB7CiAJCQlEUk1fREVCVUdfQVRPTUlDKCJbUExBTkU6JWQ6JXNdIGJhZCByb3RhdGlv biBiaXRtYXNrOiAweCVsbHhcbiIsCkBAIC05NjgsNiArOTcwLDggQEAgc3RhdGljIGludCBkcm1f YXRvbWljX3BsYW5lX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJKnZh bCA9IHN0YXRlLT5zcmNfaDsKIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IHBsYW5lLT5hbHBoYV9w cm9wZXJ0eSkgewogCQkqdmFsID0gc3RhdGUtPmFscGhhOworCX0gZWxzZSBpZiAocHJvcGVydHkg PT0gcGxhbmUtPmJsZW5kX21vZGVfcHJvcGVydHkpIHsKKwkJKnZhbCA9IHN0YXRlLT5waXhlbF9i bGVuZF9tb2RlOwogCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxhbmUtPnJvdGF0aW9uX3Byb3Bl cnR5KSB7CiAJCSp2YWwgPSBzdGF0ZS0+cm90YXRpb247CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9 PSBwbGFuZS0+enBvc19wcm9wZXJ0eSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwpp bmRleCA2ZGQ1MDM2Li41NjNhZjA5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY19oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwpA QCAtMzU2OSw2ICszNTY5LDcgQEAgdm9pZCBfX2RybV9hdG9taWNfaGVscGVyX3BsYW5lX3Jlc2V0 KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCS8qIFJlc2V0IHRoZSBhbHBoYSB2YWx1ZSB0byBm dWxseSBvcGFxdWUgaWYgaXQgbWF0dGVycyAqLwogCWlmIChwbGFuZS0+YWxwaGFfcHJvcGVydHkp CiAJCXN0YXRlLT5hbHBoYSA9IHBsYW5lLT5hbHBoYV9wcm9wZXJ0eS0+dmFsdWVzWzFdOworCXBs YW5lLT5zdGF0ZS0+cGl4ZWxfYmxlbmRfbW9kZSA9IERSTV9NT0RFX0JMRU5EX1BSRU1VTFRJOwog CiAJcGxhbmUtPnN0YXRlID0gc3RhdGU7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2JsZW5kLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2JsZW5kLmMKaW5kZXggYTE2YTc0ZC4u MjQwMTZjOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9ibGVuZC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYmxlbmQuYwpAQCAtMTA3LDYgKzEwNyw1MiBAQAogICoJcGxhbmVz LiBXaXRob3V0IHRoaXMgcHJvcGVydHkgdGhlIHByaW1hcnkgcGxhbmUgaXMgYWx3YXlzIGJlbG93 IHRoZSBjdXJzb3IKICAqCXBsYW5lLCBhbmQgb3JkZXJpbmcgYmV0d2VlbiBhbGwgb3RoZXIgcGxh bmVzIGlzIHVuZGVmaW5lZC4KICAqCisgKiBwaXhlbCBibGVuZCBtb2RlOgorICoJUGl4ZWwgYmxl bmQgbW9kZSBpcyBzZXQgdXAgd2l0aCBkcm1fcGxhbmVfY3JlYXRlX2JsZW5kX21vZGVfcHJvcGVy dHkoKS4KKyAqCUl0IGFkZHMgYSBibGVuZCBtb2RlIGZvciBhbHBoYSBibGVuZGluZyBlcXVhdGlv biBzZWxlY3Rpb24sIGRlc2NyaWJpbmcKKyAqCWhvdyB0aGUgcGl4ZWxzIGZyb20gdGhlIGN1cnJl bnQgcGxhbmUgYXJlIGNvbXBvc2l0ZWQgd2l0aCB0aGUKKyAqCWJhY2tncm91bmQuCisgKgorICoJ IFRocmVlIGFscGhhIGJsZW5kaW5nIGVxdWF0aW9ucyBhcmUgZGVmaW5lZDoKKyAqCisgKgkgIk5v bmUiOgorICoJCSBCbGVuZCBmb3JtdWxhIHRoYXQgaWdub3JlcyB0aGUgcGl4ZWwgYWxwaGE6Ogor ICoKKyAqCQkJIG91dC5yZ2IgPSBwbGFuZV9hbHBoYSAqIGZnLnJnYiArCisgKgkJCQkgKDEgLSBw bGFuZV9hbHBoYSkgKiBiZy5yZ2IKKyAqCisgKgkgIlByZS1tdWx0aXBsaWVkIjoKKyAqCQkgQmxl bmQgZm9ybXVsYSB0aGF0IGFzc3VtZXMgdGhlIHBpeGVsIGNvbG9yIHZhbHVlcworICoJCSBoYXZl IGJlZW4gYWxyZWFkeSBwcmUtbXVsdGlwbGllZCB3aXRoIHRoZSBhbHBoYQorICoJCSBjaGFubmVs IHZhbHVlczo6CisgKgorICoJCQkgb3V0LnJnYiA9IHBsYW5lX2FscGhhICogZmcucmdiICsKKyAq CQkJCSAoMSAtIChwbGFuZV9hbHBoYSAqIGZnLmFscGhhKSkgKiBiZy5yZ2IKKyAqCisgKgkgIkNv dmVyYWdlIjoKKyAqCQkgQmxlbmQgZm9ybXVsYSB0aGF0IGFzc3VtZXMgdGhlIHBpeGVsIGNvbG9y IHZhbHVlcyBoYXZlIG5vdAorICoJCSBiZWVuIHByZS1tdWx0aXBsaWVkIGFuZCB3aWxsIGRvIHNv IHdoZW4gYmxlbmRpbmcgdGhlbSB0byB0aGUKKyAqCQkgYmFja2dyb3VuZCBjb2xvciB2YWx1ZXM6 OgorICoKKyAqCQkJIG91dC5yZ2IgPSBwbGFuZV9hbHBoYSAqIGZnLmFscGhhICogZmcucmdiICsK KyAqCQkJCSAoMSAtIChwbGFuZV9hbHBoYSAqIGZnLmFscGhhKSkgKiBiZy5yZ2IKKyAqCisgKgkg VXNpbmcgdGhlIGZvbGxvd2luZyBzeW1ib2xzOgorICoKKyAqCSAiZmcucmdiIjoKKyAqCQkgRWFj aCBvZiB0aGUgUkdCIGNvbXBvbmVudCB2YWx1ZXMgZnJvbSB0aGUgcGxhbmUncyBwaXhlbAorICoJ ICJmZy5hbHBoYSI6CisgKgkJIEFscGhhIGNvbXBvbmVudCB2YWx1ZSBmcm9tIHRoZSBwbGFuZSdz IHBpeGVsLiBJZiB0aGUgcGxhbmUncworICoJCSBwaXhlbCBmb3JtYXQgaGFzIG5vIGFscGhhIGNv bXBvbmVudCwgdGhlbiB0aGlzIGlzIGFzc3VtZWQgdG8gYmUKKyAqCQkgMS4wLiBJbiB0aGVzZSBj YXNlcywgdGhpcyBwcm9wZXJ0eSBoYXMgbm8gZWZmZWN0LCBhcyBhbGwgdGhyZWUKKyAqCQkgZXF1 YXRpb25zIGJlY29tZSBlcXVpdmFsZW50LgorICoJICJiZy5yZ2IiOgorICoJCSBFYWNoIG9mIHRo ZSBSR0IgY29tcG9uZW50IHZhbHVlcyBmcm9tIHRoZSBiYWNrZ3JvdW5kCisgKgkgInBsYW5lX2Fs cGhhIjoKKyAqCQkgUGxhbmUgYWxwaGEgdmFsdWUgc2V0IGJ5IHRoZSBwbGFuZSAiYWxwaGEiIHBy b3BlcnR5LiBJZiB0aGUKKyAqCQkgcGxhbmUgZG9lcyBub3QgZXhwb3NlIHRoZSAiYWxwaGEiIHBy b3BlcnR5LCB0aGVuIHRoaXMgaXMKKyAqCQkgYXNzdW1lZCB0byBiZSAxLjAKKyAqCiAgKiBOb3Rl IHRoYXQgYWxsIHRoZSBwcm9wZXJ0eSBleHRlbnNpb25zIGRlc2NyaWJlZCBoZXJlIGFwcGx5IGVp dGhlciB0byB0aGUKICAqIHBsYW5lIG9yIHRoZSBDUlRDIChlLmcuIGZvciB0aGUgYmFja2dyb3Vu ZCBjb2xvciwgd2hpY2ggY3VycmVudGx5IGlzIG5vdAogICogZXhwb3NlZCBhbmQgYXNzdW1lZCB0 byBiZSBibGFjaykuCkBAIC00NDgsMyArNDk0LDgzIEBAIGludCBkcm1fYXRvbWljX25vcm1hbGl6 ZV96cG9zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJcmV0dXJuIDA7CiB9CiBFWFBPUlRfU1lN Qk9MKGRybV9hdG9taWNfbm9ybWFsaXplX3pwb3MpOworCisvKioKKyAqIGRybV9wbGFuZV9jcmVh dGVfYmxlbmRfbW9kZV9wcm9wZXJ0eSAtIGNyZWF0ZSBhIG5ldyBibGVuZCBtb2RlIHByb3BlcnR5 CisgKiBAcGxhbmU6IGRybSBwbGFuZQorICogQHN1cHBvcnRlZF9tb2RlczogYml0bWFzayBvZiBz dXBwb3J0ZWQgbW9kZXMsIG11c3QgaW5jbHVkZQorICoJCSAgICAgQklUKERSTV9NT0RFX0JMRU5E X1BSRU1VTFRJKS4gQ3VycmVudCBEUk0gYXNzdW1wdGlvbiBpcworICoJCSAgICAgdGhhdCBhbHBo YSBpcyBwcmVtdWx0aXBsaWVkLCBhbmQgb2xkIHVzZXJzcGFjZSBjYW4gYnJlYWsgaWYKKyAqCQkg ICAgIHRoZSBwcm9wZXJ0eSBkZWZhdWx0cyB0byBhbnl0aGluZyBlbHNlLgorICoKKyAqIFRoaXMg Y3JlYXRlcyBhIG5ldyBwcm9wZXJ0eSBkZXNjcmliaW5nIHRoZSBibGVuZCBtb2RlLgorICoKKyAq IFRoZSBwcm9wZXJ0eSBleHBvc2VkIHRvIHVzZXJzcGFjZSBpcyBhbiBlbnVtZXJhdGlvbiBwcm9w ZXJ0eSAoc2VlCisgKiBkcm1fcHJvcGVydHlfY3JlYXRlX2VudW0oKSkgY2FsbGVkICJwaXhlbCBi bGVuZCBtb2RlIiBhbmQgaGFzIHRoZQorICogZm9sbG93aW5nIGVudW1lcmF0aW9uIHZhbHVlczoK KyAqCisgKiAiTm9uZSI6CisgKglCbGVuZCBmb3JtdWxhIHRoYXQgaWdub3JlcyB0aGUgcGl4ZWwg YWxwaGEuCisgKgorICogIlByZS1tdWx0aXBsaWVkIjoKKyAqCUJsZW5kIGZvcm11bGEgdGhhdCBh c3N1bWVzIHRoZSBwaXhlbCBjb2xvciB2YWx1ZXMgaGF2ZSBiZWVuIGFscmVhZHkKKyAqCXByZS1t dWx0aXBsaWVkIHdpdGggdGhlIGFscGhhIGNoYW5uZWwgdmFsdWVzLgorICoKKyAqICJDb3ZlcmFn ZSI6CisgKglCbGVuZCBmb3JtdWxhIHRoYXQgYXNzdW1lcyB0aGUgcGl4ZWwgY29sb3IgdmFsdWVz IGhhdmUgbm90IGJlZW4KKyAqCXByZS1tdWx0aXBsaWVkIGFuZCB3aWxsIGRvIHNvIHdoZW4gYmxl bmRpbmcgdGhlbSB0byB0aGUgYmFja2dyb3VuZCBjb2xvcgorICoJdmFsdWVzLgorICoKKyAqIFJF VFVSTlM6CisgKiBaZXJvIGZvciBzdWNjZXNzIG9yIC1lcnJubworICovCitpbnQgZHJtX3BsYW5l X2NyZWF0ZV9ibGVuZF9tb2RlX3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAorCQkJ CQkgdW5zaWduZWQgaW50IHN1cHBvcnRlZF9tb2RlcykKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gcGxhbmUtPmRldjsKKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wOworCXN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0IHByb3BzW10gPSB7CisJCXsgRFJNX01PREVf QkxFTkRfUElYRUxfTk9ORSwgIk5vbmUiIH0sCisJCXsgRFJNX01PREVfQkxFTkRfUFJFTVVMVEks ICJQcmUtbXVsdGlwbGllZCIgfSwKKwkJeyBEUk1fTU9ERV9CTEVORF9DT1ZFUkFHRSwgIkNvdmVy YWdlIiB9LAorCX07CisJdW5zaWduZWQgaW50IHZhbGlkX21vZGVfbWFzayA9IEJJVChEUk1fTU9E RV9CTEVORF9QSVhFTF9OT05FKSB8CisJCQkJICAgICAgIEJJVChEUk1fTU9ERV9CTEVORF9QUkVN VUxUSSkgICB8CisJCQkJICAgICAgIEJJVChEUk1fTU9ERV9CTEVORF9DT1ZFUkFHRSk7CisJaW50 IGk7CisKKwlpZiAoV0FSTl9PTigoc3VwcG9ydGVkX21vZGVzICYgfnZhbGlkX21vZGVfbWFzaykg fHwKKwkJICAgICgoc3VwcG9ydGVkX21vZGVzICYgQklUKERSTV9NT0RFX0JMRU5EX1BSRU1VTFRJ KSkgPT0gMCkpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXByb3AgPSBkcm1fcHJvcGVydHlfY3Jl YXRlKGRldiwgRFJNX01PREVfUFJPUF9FTlVNLAorCQkJCSAgICJwaXhlbCBibGVuZCBtb2RlIiwK KwkJCQkgICBod2VpZ2h0MzIoc3VwcG9ydGVkX21vZGVzKSk7CisJaWYgKCFwcm9wKQorCQlyZXR1 cm4gLUVOT01FTTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHByb3BzKTsgaSsrKSB7 CisJCWludCByZXQ7CisKKwkJaWYgKCEoQklUKHByb3BzW2ldLnR5cGUpICYgc3VwcG9ydGVkX21v ZGVzKSkKKwkJCWNvbnRpbnVlOworCisJCXJldCA9IGRybV9wcm9wZXJ0eV9hZGRfZW51bShwcm9w LCBwcm9wc1tpXS50eXBlLAorCQkJCQkgICAgcHJvcHNbaV0ubmFtZSk7CisKKwkJaWYgKHJldCkg eworCQkJZHJtX3Byb3BlcnR5X2Rlc3Ryb3koZGV2LCBwcm9wKTsKKworCQkJcmV0dXJuIHJldDsK KwkJfQorCX0KKworCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZwbGFuZS0+YmFzZSwgcHJv cCwgRFJNX01PREVfQkxFTkRfUFJFTVVMVEkpOworCXBsYW5lLT5ibGVuZF9tb2RlX3Byb3BlcnR5 ID0gcHJvcDsKKworCWlmIChwbGFuZS0+c3RhdGUpCisJCXBsYW5lLT5zdGF0ZS0+cGl4ZWxfYmxl bmRfbW9kZSA9IERSTV9NT0RFX0JMRU5EX1BSRU1VTFRJOworCisJcmV0dXJuIDA7Cit9CitFWFBP UlRfU1lNQk9MKGRybV9wbGFuZV9jcmVhdGVfYmxlbmRfbW9kZV9wcm9wZXJ0eSk7CmRpZmYgLS1n aXQgYS9pbmNsdWRlL2RybS9kcm1fYmxlbmQuaCBiL2luY2x1ZGUvZHJtL2RybV9ibGVuZC5oCmlu ZGV4IDMzMGM1NjEuLjg4YmRmZWMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9ibGVuZC5o CisrKyBiL2luY2x1ZGUvZHJtL2RybV9ibGVuZC5oCkBAIC0yNyw2ICsyNywxMCBAQAogI2luY2x1 ZGUgPGxpbnV4L2N0eXBlLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9tb2RlLmg+CiAKKyNkZWZpbmUg RFJNX01PREVfQkxFTkRfUFJFTVVMVEkJCTAKKyNkZWZpbmUgRFJNX01PREVfQkxFTkRfQ09WRVJB R0UJCTEKKyNkZWZpbmUgRFJNX01PREVfQkxFTkRfUElYRUxfTk9ORQkyCisKIHN0cnVjdCBkcm1f ZGV2aWNlOwogc3RydWN0IGRybV9hdG9taWNfc3RhdGU7CiBzdHJ1Y3QgZHJtX3BsYW5lOwpAQCAt NTIsNCArNTYsNiBAQCBpbnQgZHJtX3BsYW5lX2NyZWF0ZV96cG9zX2ltbXV0YWJsZV9wcm9wZXJ0 eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCQkJICAgICB1bnNpZ25lZCBpbnQgenBvcyk7 CiBpbnQgZHJtX2F0b21pY19ub3JtYWxpemVfenBvcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CQkJICAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKK2ludCBkcm1fcGxhbmVf Y3JlYXRlX2JsZW5kX21vZGVfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCisJCQkJ CSB1bnNpZ25lZCBpbnQgc3VwcG9ydGVkX21vZGVzKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5j bHVkZS9kcm0vZHJtX3BsYW5lLmggYi9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaAppbmRleCA4YTE1 MmRjLi5jNTI2MTRhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaAorKysgYi9p bmNsdWRlL2RybS9kcm1fcGxhbmUuaApAQCAtMTE3LDYgKzExNyw3IEBAIHN0cnVjdCBkcm1fcGxh bmVfc3RhdGUgewogCSAqIGRldGFpbHMuCiAJICovCiAJdTE2IGFscGhhOworCXVpbnQxNl90IHBp eGVsX2JsZW5kX21vZGU7CiAKIAkvKioKIAkgKiBAcm90YXRpb246CkBAIC02NTksNiArNjYwLDcg QEAgc3RydWN0IGRybV9wbGFuZSB7CiAJICogZHJtX3BsYW5lX2NyZWF0ZV9yb3RhdGlvbl9wcm9w ZXJ0eSgpLgogCSAqLwogCXN0cnVjdCBkcm1fcHJvcGVydHkgKnJvdGF0aW9uX3Byb3BlcnR5Owor CXN0cnVjdCBkcm1fcHJvcGVydHkgKmJsZW5kX21vZGVfcHJvcGVydHk7CiAKIAkvKioKIAkgKiBA Y29sb3JfZW5jb2RpbmdfcHJvcGVydHk6Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==