From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Lowry Li (Arm Technology China)" Subject: [PATCH v3 2/2] drm/komeda: Adds limitation check for AFBC wide block not support Rot90 Date: Tue, 28 May 2019 03:57:05 +0000 Message-ID: <1559015784-18998-3-git-send-email-lowry.li@arm.com> References: <1559015784-18998-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: In-Reply-To: <1559015784-18998-1-git-send-email-lowry.li@arm.com> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Liviu Dudau , "james qian wang (Arm Technology China)" , "maarten.lankhorst@linux.intel.com" , "seanpaul@chromium.org" , "airlied@linux.ie" , Brian Starkey Cc: "Julien Yin (Arm Technology China)" , "Jonathan Chai (Arm Technology China)" , Ayan Halder , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , nd List-Id: dri-devel@lists.freedesktop.org RnJvbTogIkxvd3J5IExpIChBcm0gVGVjaG5vbG9neSBDaGluYSkiIDxMb3dyeS5MaUBhcm0uY29t Pg0KDQpLb21lZGEgc2VyaWVzIGhhcmR3YXJlIGRvZXNuJ3Qgc3VwcG9ydCBSb3Q5MCBmb3IgQUZC QyB3aWRlIGJsb2NrLiBTbw0KYWRkIGxpbWl0YXRpb24gY2hlY2sgdG8gcmVqZWN0IGl0IGlmIHN1 Y2ggY29uZmlndXJhdGlvbiBoYXMgYmVlbiBwb3N0ZWQuDQoNClNpZ25lZC1vZmYtYnk6IExvd3J5 IExpIChBcm0gVGVjaG5vbG9neSBDaGluYSkgPGxvd3J5LmxpQGFybS5jb20+DQotLS0NCiBkcml2 ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfZGV2LmMgICAgICAgfCAxNSAr KysrKysrKysrKysrKysNCiAuLi4vZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Zv cm1hdF9jYXBzLmMgICAgfCAgNyArKysrKystDQogLi4uL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29t ZWRhL2tvbWVkYV9mb3JtYXRfY2Fwcy5oICAgIHwgIDggKysrKysrKy0NCiAuLi4vZ3B1L2RybS9h cm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ZyYW1lYnVmZmVyLmMgICAgfCAxOCArKysrKysrKyst LS0tLS0tLS0NCiAuLi4vZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ZyYW1lYnVm ZmVyLmggICAgfCAgNSArKystLQ0KIC4uLi9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21l ZGFfcGlwZWxpbmVfc3RhdGUuYyB8ICA4ICsrKysrKystDQogZHJpdmVycy9ncHUvZHJtL2FybS9k aXNwbGF5L2tvbWVkYS9rb21lZGFfcGxhbmUuYyAgICAgIHwgIDIgKy0NCiA3IGZpbGVzIGNoYW5n ZWQsIDQ4IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2Rldi5jIGIvZHJpdmVycy9n cHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2Rldi5jDQppbmRleCAxYzkxNGY4Li40 NTYzYzJhIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9k NzEvZDcxX2Rldi5jDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3 MS9kNzFfZGV2LmMNCkBAIC00OTQsMTEgKzQ5NCwyNiBAQCBzdGF0aWMgaW50IGQ3MV9lbnVtX3Jl c291cmNlcyhzdHJ1Y3Qga29tZWRhX2RldiAqbWRldikNCiAJe19fSFdfSUQoNiwgNyksCTAvKkRS TV9GT1JNQVRfWVVWNDIwXzEwQklUKi8sIDEsCVJJQ0gsCVJvdF9BTExfSF9WLAlMWVRfTk0sIEFG Ql9USH0sDQogfTsNCiANCitzdGF0aWMgYm9vbCBkNzFfZm9ybWF0X21vZF9zdXBwb3J0ZWQoY29u c3Qgc3RydWN0IGtvbWVkYV9mb3JtYXRfY2FwcyAqY2FwcywNCisJCQkJICAgICB1MzIgbGF5ZXJf dHlwZSwgdTY0IG1vZGlmaWVyLCB1MzIgcm90KQ0KK3sNCisJdWludDY0X3QgbGF5b3V0ID0gbW9k aWZpZXIgJiBBRkJDX0ZPUk1BVF9NT0RfQkxPQ0tfU0laRV9NQVNLOw0KKw0KKwlpZiAoKGxheW91 dCA9PSBBRkJDX0ZPUk1BVF9NT0RfQkxPQ0tfU0laRV8zMng4KSAmJg0KKwkgICAgZHJtX3JvdGF0 aW9uXzkwX29yXzI3MChyb3QpKSB7DQorCQlEUk1fREVCVUdfQVRPTUlDKCJENzEgZG9lc24ndCBz dXBwb3J0IFJPVDkwIGZvciBXQi1BRkJDLlxuIik7DQorCQlyZXR1cm4gZmFsc2U7DQorCX0NCisN CisJcmV0dXJuIHRydWU7DQorfQ0KKw0KIHN0YXRpYyB2b2lkIGQ3MV9pbml0X2ZtdF90Ymwoc3Ry dWN0IGtvbWVkYV9kZXYgKm1kZXYpDQogew0KIAlzdHJ1Y3Qga29tZWRhX2Zvcm1hdF9jYXBzX3Rh YmxlICp0YWJsZSA9ICZtZGV2LT5mbXRfdGJsOw0KIA0KIAl0YWJsZS0+Zm9ybWF0X2NhcHMgPSBk NzFfZm9ybWF0X2NhcHNfdGFibGU7DQorCXRhYmxlLT5mb3JtYXRfbW9kX3N1cHBvcnRlZCA9IGQ3 MV9mb3JtYXRfbW9kX3N1cHBvcnRlZDsNCiAJdGFibGUtPm5fZm9ybWF0cyA9IEFSUkFZX1NJWkUo ZDcxX2Zvcm1hdF9jYXBzX3RhYmxlKTsNCiB9DQogDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZm9ybWF0X2NhcHMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Zvcm1hdF9jYXBzLmMNCmluZGV4IGIyMTk1 MTQuLmNkNGQ5ZjUgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29t ZWRhL2tvbWVkYV9mb3JtYXRfY2Fwcy5jDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2tvbWVkYV9mb3JtYXRfY2Fwcy5jDQpAQCAtNzQsNyArNzQsOCBAQA0KIH07DQog DQogYm9vbCBrb21lZGFfZm9ybWF0X21vZF9zdXBwb3J0ZWQoc3RydWN0IGtvbWVkYV9mb3JtYXRf Y2Fwc190YWJsZSAqdGFibGUsDQotCQkJCSB1MzIgbGF5ZXJfdHlwZSwgdTMyIGZvdXJjYywgdTY0 IG1vZGlmaWVyKQ0KKwkJCQkgdTMyIGxheWVyX3R5cGUsIHUzMiBmb3VyY2MsIHU2NCBtb2RpZmll ciwNCisJCQkJIHUzMiByb3QpDQogew0KIAljb25zdCBzdHJ1Y3Qga29tZWRhX2Zvcm1hdF9jYXBz ICpjYXBzOw0KIA0KQEAgLTg1LDYgKzg2LDEwIEBAIGJvb2wga29tZWRhX2Zvcm1hdF9tb2Rfc3Vw cG9ydGVkKHN0cnVjdCBrb21lZGFfZm9ybWF0X2NhcHNfdGFibGUgKnRhYmxlLA0KIAlpZiAoIShj YXBzLT5zdXBwb3J0ZWRfbGF5ZXJfdHlwZXMgJiBsYXllcl90eXBlKSkNCiAJCXJldHVybiBmYWxz ZTsNCiANCisJaWYgKHRhYmxlLT5mb3JtYXRfbW9kX3N1cHBvcnRlZCkNCisJCXJldHVybiB0YWJs ZS0+Zm9ybWF0X21vZF9zdXBwb3J0ZWQoY2FwcywgbGF5ZXJfdHlwZSwgbW9kaWZpZXIsDQorCQkJ CQkJICAgcm90KTsNCisNCiAJcmV0dXJuIHRydWU7DQogfQ0KIA0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Zvcm1hdF9jYXBzLmggYi9kcml2 ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9mb3JtYXRfY2Fwcy5oDQppbmRl eCA5NmRlMjJlLi4zODFlODczIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfZm9ybWF0X2NhcHMuaA0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2Fy bS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZm9ybWF0X2NhcHMuaA0KQEAgLTcxLDEwICs3MSwxNSBA QCBzdHJ1Y3Qga29tZWRhX2Zvcm1hdF9jYXBzIHsNCiAgKg0KICAqIEBuX2Zvcm1hdHM6IHRoZSBz aXplIG9mIGZvcm1hdF9jYXBzIGxpc3QuDQogICogQGZvcm1hdF9jYXBzOiBmb3JtYXRfY2FwcyBs aXN0Lg0KKyAqIEBmb3JtYXRfbW9kX3N1cHBvcnRlZDogT3B0aW9uYWwuIFNvbWUgSFcgbWF5IGhh dmUgc3BlY2lhbCByZXF1aXJlbWVudHMgb3INCisgKiBsaW1pdGF0aW9ucyB3aGljaCBjYW4gbm90 IGJlIGRlc2NyaWJlZCBieSBmb3JtYXRfY2FwcywgdGhpcyBmdW5jIHN1cHBseSBIVw0KKyAqIHRo ZSBhYmlsaXR5IHRvIGRvIHRoZSBmdXJ0aGVyIEhXIHNwZWNpZmljIGNoZWNrLg0KICAqLw0KIHN0 cnVjdCBrb21lZGFfZm9ybWF0X2NhcHNfdGFibGUgew0KIAl1MzIgbl9mb3JtYXRzOw0KIAljb25z dCBzdHJ1Y3Qga29tZWRhX2Zvcm1hdF9jYXBzICpmb3JtYXRfY2FwczsNCisJYm9vbCAoKmZvcm1h dF9tb2Rfc3VwcG9ydGVkKShjb25zdCBzdHJ1Y3Qga29tZWRhX2Zvcm1hdF9jYXBzICpjYXBzLA0K KwkJCQkgICAgIHUzMiBsYXllcl90eXBlLCB1NjQgbW9kaWZpZXIsIHUzMiByb3QpOw0KIH07DQog DQogZXh0ZXJuIHU2NCBrb21lZGFfc3VwcG9ydGVkX21vZGlmaWVyc1tdOw0KQEAgLTEwMCw2ICsx MDUsNyBAQCB1MzIgKmtvbWVkYV9nZXRfbGF5ZXJfZm91cmNjX2xpc3Qoc3RydWN0IGtvbWVkYV9m b3JtYXRfY2Fwc190YWJsZSAqdGFibGUsDQogdm9pZCBrb21lZGFfcHV0X2ZvdXJjY19saXN0KHUz MiAqZm91cmNjX2xpc3QpOw0KIA0KIGJvb2wga29tZWRhX2Zvcm1hdF9tb2Rfc3VwcG9ydGVkKHN0 cnVjdCBrb21lZGFfZm9ybWF0X2NhcHNfdGFibGUgKnRhYmxlLA0KLQkJCQkgdTMyIGxheWVyX3R5 cGUsIHUzMiBmb3VyY2MsIHU2NCBtb2RpZmllcik7DQorCQkJCSB1MzIgbGF5ZXJfdHlwZSwgdTMy IGZvdXJjYywgdTY0IG1vZGlmaWVyLA0KKwkJCQkgdTMyIHJvdCk7DQogDQogI2VuZGlmDQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZnJhbWVi dWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ZyYW1l YnVmZmVyLmMNCmluZGV4IGQwZTcxM2EuLjVmNjNkZWMgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5jDQorKysgYi9kcml2 ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5jDQpAQCAt MjQwLDIwICsyNDAsMjAgQEAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqDQogfQ0KIA0KIC8qIGlm IHRoZSBmYiBjYW4gYmUgc3VwcG9ydGVkIGJ5IGEgc3BlY2lmaWMgbGF5ZXIgKi8NCi1ib29sIGtv bWVkYV9mYl9pc19sYXllcl9zdXBwb3J0ZWQoc3RydWN0IGtvbWVkYV9mYiAqa2ZiLCB1MzIgbGF5 ZXJfdHlwZSkNCitib29sIGtvbWVkYV9mYl9pc19sYXllcl9zdXBwb3J0ZWQoc3RydWN0IGtvbWVk YV9mYiAqa2ZiLCB1MzIgbGF5ZXJfdHlwZSwNCisJCQkJICB1MzIgcm90KQ0KIHsNCiAJc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSAma2ZiLT5iYXNlOw0KIAlzdHJ1Y3Qga29tZWRhX2RldiAq bWRldiA9IGZiLT5kZXYtPmRldl9wcml2YXRlOw0KLQljb25zdCBzdHJ1Y3Qga29tZWRhX2Zvcm1h dF9jYXBzICpjYXBzOw0KIAl1MzIgZm91cmNjID0gZmItPmZvcm1hdC0+Zm9ybWF0Ow0KIAl1NjQg bW9kaWZpZXIgPSBmYi0+bW9kaWZpZXI7DQorCWJvb2wgc3VwcG9ydGVkOw0KIA0KLQljYXBzID0g a29tZWRhX2dldF9mb3JtYXRfY2FwcygmbWRldi0+Zm10X3RibCwgZm91cmNjLCBtb2RpZmllcik7 DQotCWlmICghY2FwcykNCi0JCXJldHVybiBmYWxzZTsNCisJc3VwcG9ydGVkID0ga29tZWRhX2Zv cm1hdF9tb2Rfc3VwcG9ydGVkKCZtZGV2LT5mbXRfdGJsLCBsYXllcl90eXBlLA0KKwkJCQkJCWZv dXJjYywgbW9kaWZpZXIsIHJvdCk7DQorCWlmICghc3VwcG9ydGVkKQ0KKwkJRFJNX0RFQlVHX0FU T01JQygiTGF5ZXIgVFlQRTogJWQgZG9lc24ndCBzdXBwb3J0IGZiIEZNVDogJXMuXG4iLA0KKwkJ CWxheWVyX3R5cGUsIGtvbWVkYV9nZXRfZm9ybWF0X25hbWUoZm91cmNjLCBtb2RpZmllcikpOw0K IA0KLQlpZiAoIShjYXBzLT5zdXBwb3J0ZWRfbGF5ZXJfdHlwZXMgJiBsYXllcl90eXBlKSkNCi0J CXJldHVybiBmYWxzZTsNCi0NCi0JcmV0dXJuIHRydWU7DQorCXJldHVybiBzdXBwb3J0ZWQ7DQog fQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRh X2ZyYW1lYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVk YV9mcmFtZWJ1ZmZlci5oDQppbmRleCBlM2JhYjBkLi42Y2JiMmY2IDEwMDY0NA0KLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZnJhbWVidWZmZXIuaA0KKysr IGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZnJhbWVidWZmZXIu aA0KQEAgLTM1LDkgKzM1LDEwIEBAIHN0cnVjdCBrb21lZGFfZmIgew0KIA0KIHN0cnVjdCBkcm1f ZnJhbWVidWZmZXIgKg0KIGtvbWVkYV9mYl9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg c3RydWN0IGRybV9maWxlICpmaWxlLA0KLQkJIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQy ICptb2RlX2NtZCk7DQorCQljb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQp Ow0KIGRtYV9hZGRyX3QNCiBrb21lZGFfZmJfZ2V0X3BpeGVsX2FkZHIoc3RydWN0IGtvbWVkYV9m YiAqa2ZiLCBpbnQgeCwgaW50IHksIGludCBwbGFuZSk7DQotYm9vbCBrb21lZGFfZmJfaXNfbGF5 ZXJfc3VwcG9ydGVkKHN0cnVjdCBrb21lZGFfZmIgKmtmYiwgdTMyIGxheWVyX3R5cGUpOw0KK2Jv b2wga29tZWRhX2ZiX2lzX2xheWVyX3N1cHBvcnRlZChzdHJ1Y3Qga29tZWRhX2ZiICprZmIsIHUz MiBsYXllcl90eXBlLA0KKwkJdTMyIHJvdCk7DQogDQogI2VuZGlmDQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYyBi L2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lX3N0YXRl LmMNCmluZGV4IDM0NzM3YzAuLjA0MmQ0ZDcgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZV9zdGF0ZS5jDQorKysgYi9kcml2ZXJz L2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZV9zdGF0ZS5jDQpAQCAt Mjc0LDYgKzI3NCwxMSBAQCBzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lX3N0YXRlICoNCiAJCSAgICAg ICBzdHJ1Y3Qga29tZWRhX3BsYW5lX3N0YXRlICprcGxhbmVfc3QsDQogCQkgICAgICAgc3RydWN0 IGtvbWVkYV9kYXRhX2Zsb3dfY2ZnICpkZmxvdykNCiB7DQorCXN0cnVjdCBrb21lZGFfZmIgKmtm YiA9IHRvX2tmYihrcGxhbmVfc3QtPmJhc2UuZmIpOw0KKw0KKwlpZiAoIWtvbWVkYV9mYl9pc19s YXllcl9zdXBwb3J0ZWQoa2ZiLCBsYXllci0+bGF5ZXJfdHlwZSwgZGZsb3ctPnJvdCkpDQorCQly ZXR1cm4gLUVJTlZBTDsNCisNCiAJaWYgKCFpbl9yYW5nZSgmbGF5ZXItPmhzaXplX2luLCBkZmxv dy0+aW5fdykpIHsNCiAJCURSTV9ERUJVR19BVE9NSUMoInNyY193OiAlZCBpcyBvdXQgb2YgcmFu Z2UuXG4iLCBkZmxvdy0+aW5fdyk7DQogCQlyZXR1cm4gLUVJTlZBTDsNCkBAIC0zNTksNyArMzY0 LDggQEAgc3RydWN0IGtvbWVkYV9waXBlbGluZV9zdGF0ZSAqDQogCXN0cnVjdCBrb21lZGFfbGF5 ZXJfc3RhdGUgKnN0Ow0KIAlpbnQgaTsNCiANCi0JaWYgKCFrb21lZGFfZmJfaXNfbGF5ZXJfc3Vw cG9ydGVkKGtmYiwgd2JfbGF5ZXItPmxheWVyX3R5cGUpKQ0KKwlpZiAoIWtvbWVkYV9mYl9pc19s YXllcl9zdXBwb3J0ZWQoa2ZiLCB3Yl9sYXllci0+bGF5ZXJfdHlwZSwNCisJCQkJCSAgZGZsb3ct PnJvdCkpDQogCQlyZXR1cm4gLUVJTlZBTDsNCiANCiAJY19zdCA9IGtvbWVkYV9jb21wb25lbnRf Z2V0X3N0YXRlX2FuZF9zZXRfdXNlcigmd2JfbGF5ZXItPmJhc2UsDQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGxhbmUuYyBiL2RyaXZlcnMv Z3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BsYW5lLmMNCmluZGV4IGM5ZjM3ZmYu Ljc5OGVlMjQgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRh L2tvbWVkYV9wbGFuZS5jDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRh L2tvbWVkYV9wbGFuZS5jDQpAQCAtMjE2LDcgKzIxNiw3IEBAIHN0YXRpYyB2b2lkIGtvbWVkYV9w bGFuZV9yZXNldChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkNCiAJdTMyIGxheWVyX3R5cGUgPSBr cGxhbmUtPmxheWVyLT5sYXllcl90eXBlOw0KIA0KIAlyZXR1cm4ga29tZWRhX2Zvcm1hdF9tb2Rf c3VwcG9ydGVkKCZtZGV2LT5mbXRfdGJsLCBsYXllcl90eXBlLA0KLQkJCQkJICAgZm9ybWF0LCBt b2RpZmllcik7DQorCQkJCQkgICBmb3JtYXQsIG1vZGlmaWVyLCAwKTsNCiB9DQogDQogc3RhdGlj IGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3Mga29tZWRhX3BsYW5lX2Z1bmNzID0gew0KLS0g DQoxLjkuMQ0KDQo=