From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Lowry Li (Arm Technology China)" Subject: [PATCH] drm/komeda: Adds output-color format/depth support Date: Fri, 20 Sep 2019 09:43:47 +0000 Message-ID: <20190920094329.17513-1-lowry.li@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10058.outbound.protection.outlook.com [40.107.1.58]) by gabe.freedesktop.org (Postfix) with ESMTPS id 108C96FC5C for ; Fri, 20 Sep 2019 09:44:01 +0000 (UTC) Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Liviu Dudau , "james qian wang (Arm Technology China)" , "maarten.lankhorst@linux.intel.com" , "seanpaul@chromium.org" , "airlied@linux.ie" , Brian Starkey , Mihail Atanassov Cc: Ayan Halder , "Jonathan Chai (Arm Technology China)" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "Julien Yin (Arm Technology China)" , nd List-Id: dri-devel@lists.freedesktop.org RnJvbTogIkxvd3J5IExpIChBcm0gVGVjaG5vbG9neSBDaGluYSkiIDxMb3dyeS5MaUBhcm0uY29t PgoKU2V0cyBjb2xvcl9kZXB0aCBhY2NvcmRpbmcgdG8gY29ubmVjdG9yLT5icGMuCkFkZHMgYSBu ZXcgb3B0aW9uYWwgRFQgYXR0cmlidXRlICJjb2xvci1mb3JtYXQiIHRvIHJlcHJlc2VudCBhCnBy ZWZlcnJlZCBjb2xvciBmb3JtYXRzIGZvciBhIHNwZWNpZmljIHBpcGVsaW5lLCBhbmQgdGhlIHNl bGVjdCBvcmRlcgppczoKCVlDUkNCNDIwID4gWUNSQ0I0MjIgPiBZQ1JDQjQ0NCA+IFJHQjQ0NApU aGUgY29sb3ItZm9ybWF0IGNhbiBiZSBhbnlvbmUgb2YgdGhlc2UgNCBmb3JtYXQsIG9uZSBjb2xv ci1mb3JtYXQgbm90Cm9ubHkgcmVwcmVzZW50IG9uZSBmb3JtYXQsIGJ1dCBhbHNvIGluY2x1ZGUg dGhlIGxvd2VyIGZvcm1hdHMsIGxpa2UKCmNvbG9yLWZvcm1hdCAgICAgICAgIHByZWZlcnJlZF9j b2xvcl9mb3JtYXRzCllDUkNCNDIwICAgICAgICBZQ1JDQjQyMCA+IFlDUkNCNDIyID4gWUNSQ0I0 NDQgPiBSR0I0NDQKWUNSQ0I0MjIgICAgICAgIFlDUkNCNDIyID4gWUNSQ0I0NDQgPiBSR0I0NDQK WUNSQ0I0NDQgICAgICAgIFlDUkNCNDQ0ID4gUkdCNDQ0ClJHQjQ0NCAgICAgICAgICBSR0I0NDQK ClRoZW4gdGhlIGZpbmFsIGNvbG9yX2Zvcm1hdCBpcyBjYWxjdWxhdGVkIGJ5IDMgc3RlcHM6CjEu IGNhbGN1bGF0ZSBIVyBhdmFpbGFibGUgZm9ybWF0cy4KICBhdmFpbF9mb3JtYXRzID0gY29ubmVj dG9yX2NvbG9yX2Zvcm1hdHMgJiBpbXByb2MtPmNvbG9yX2Zvcm1hdHM7CjIuIGZpbHRlciBvdXQg dW4tcHJlZmVycmVkIGZvcm1hdC4KICBhdmFpbF9mb3JtYXRzICY9IHByZWZlcnJlZF9jb2xvcl9m b3JtYXRzOwozLiBzZWxlY3QgdGhlIGZpbmFsIGZvcm1hdCBhY2NvcmRpbmcgdG8gdGhlIHByZWZl cnJlZCBvcmRlci4KICBjb2xvcl9mb3JtYXQgPSBCSVQoX19mbHMoYXZhbF9mb3JtYXRzKSk7CgpD aGFuZ2VzIHNpbmNlIHYxOgpSZWJhc2VkIHRvIHRoZSBkcm0tbWlzYy1uZXh0IGJyYW5jaC4KClNp Z25lZC1vZmYtYnk6IExvd3J5IExpIChBcm0gVGVjaG5vbG9neSBDaGluYSkgPGxvd3J5LmxpQGFy bS5jb20+Ci0tLQogLi4uL2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2NvbXBvbmVudC5jICAg IHwgMTUgKysrKysrKystCiAuLi4vZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Ny dGMuYyAgfCAyNyArKysrKysrKysrKysrKysrCiAuLi4vZ3B1L2RybS9hcm0vZGlzcGxheS9rb21l ZGEva29tZWRhX2Rldi5jICAgfCAzMiArKysrKysrKysrKysrKysrKystCiAuLi4vZ3B1L2RybS9h cm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5oICAgfCAgMiArKwogLi4uL2RybS9hcm0vZGlz cGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmggIHwgIDMgKysKIC4uLi9kaXNwbGF5L2tvbWVk YS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYyAgICB8IDMxICsrKysrKysrKysrKysrKysrKwogLi4u L2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfd2JfY29ubmVjdG9yLmMgIHwgIDUgKysrCiA3IGZp bGVzIGNoYW5nZWQsIDExMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9jb21wb25lbnQu YyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9jb21wb25lbnQu YwppbmRleCBjM2QyOWMwYjA1MWIuLjdiMzc0YTNiOTExZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2NvbXBvbmVudC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9jb21wb25lbnQuYwpAQCAtOTQ0 LDEzICs5NDQsMjYgQEAgc3RhdGljIHZvaWQgZDcxX2ltcHJvY191cGRhdGUoc3RydWN0IGtvbWVk YV9jb21wb25lbnQgKmMsCiB7CiAJc3RydWN0IGtvbWVkYV9pbXByb2Nfc3RhdGUgKnN0ID0gdG9f aW1wcm9jX3N0KHN0YXRlKTsKIAl1MzIgX19pb21lbSAqcmVnID0gYy0+cmVnOwotCXUzMiBpbmRl eDsKKwl1MzIgaW5kZXgsIG1hc2sgPSAwLCBjdHJsID0gMDsKIAogCWZvcl9lYWNoX2NoYW5nZWRf aW5wdXQoc3RhdGUsIGluZGV4KQogCQltYWxpZHBfd3JpdGUzMihyZWcsIEJMS19JTlBVVF9JRDAg KyBpbmRleCAqIDQsCiAJCQkgICAgICAgdG9fZDcxX2lucHV0X2lkKHN0YXRlLCBpbmRleCkpOwog CiAJbWFsaWRwX3dyaXRlMzIocmVnLCBCTEtfU0laRSwgSFZfU0laRShzdC0+aHNpemUsIHN0LT52 c2l6ZSkpOworCW1hbGlkcF93cml0ZTMyKHJlZywgSVBTX0RFUFRILCBzdC0+Y29sb3JfZGVwdGgp OworCisJbWFzayB8PSBJUFNfQ1RSTF9ZVVYgfCBJUFNfQ1RSTF9DSEQ0MjIgfCBJUFNfQ1RSTF9D SEQ0MjA7CisKKwkvKiBjb25maWcgY29sb3IgZm9ybWF0ICovCisJaWYgKHN0LT5jb2xvcl9mb3Jt YXQgPT0gRFJNX0NPTE9SX0ZPUk1BVF9ZQ1JDQjQyMCkKKwkJY3RybCB8PSBJUFNfQ1RSTF9ZVVYg fCBJUFNfQ1RSTF9DSEQ0MjIgfCBJUFNfQ1RSTF9DSEQ0MjA7CisJZWxzZSBpZiAoc3QtPmNvbG9y X2Zvcm1hdCA9PSBEUk1fQ09MT1JfRk9STUFUX1lDUkNCNDIyKQorCQljdHJsIHw9IElQU19DVFJM X1lVViB8IElQU19DVFJMX0NIRDQyMjsKKwllbHNlIGlmIChzdC0+Y29sb3JfZm9ybWF0ID09IERS TV9DT0xPUl9GT1JNQVRfWUNSQ0I0NDQpCisJCWN0cmwgfD0gSVBTX0NUUkxfWVVWOworCisJbWFs aWRwX3dyaXRlMzJfbWFzayhyZWcsIEJMS19DT05UUk9MLCBtYXNrLCBjdHJsKTsKIH0KIAogc3Rh dGljIHZvaWQgZDcxX2ltcHJvY19kdW1wKHN0cnVjdCBrb21lZGFfY29tcG9uZW50ICpjLCBzdHJ1 Y3Qgc2VxX2ZpbGUgKnNmKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5 L2tvbWVkYS9rb21lZGFfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVk YS9rb21lZGFfY3J0Yy5jCmluZGV4IDYyNGQyNTdkYTIwZi4uMzhkNWNiMjBlOTA4IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9jcnRjLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfY3J0Yy5jCkBAIC0x OCw2ICsxOCwzMyBAQAogI2luY2x1ZGUgImtvbWVkYV9kZXYuaCIKICNpbmNsdWRlICJrb21lZGFf a21zLmgiCiAKK3ZvaWQga29tZWRhX2NydGNfZ2V0X2NvbG9yX2NvbmZpZyhzdHJ1Y3QgZHJtX2Ny dGNfc3RhdGUgKmNydGNfc3QsCisJCQkJICB1MzIgKmNvbG9yX2RlcHRocywgdTMyICpjb2xvcl9m b3JtYXRzKQoreworCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uOworCXN0cnVjdCBkcm1fY29u bmVjdG9yX3N0YXRlICpjb25uX3N0OworCXUzMiBjb25uX2NvbG9yX2Zvcm1hdHMgPSB+MHU7CisJ aW50IGksIG1pbl9icGMgPSAzMSwgY29ubl9icGMgPSAwOworCisJZm9yX2VhY2hfbmV3X2Nvbm5l Y3Rvcl9pbl9zdGF0ZShjcnRjX3N0LT5zdGF0ZSwgY29ubiwgY29ubl9zdCwgaSkgeworCQlpZiAo Y29ubl9zdC0+Y3J0YyAhPSBjcnRjX3N0LT5jcnRjKQorCQkJY29udGludWU7CisKKwkJY29ubl9i cGMgPSBjb25uLT5kaXNwbGF5X2luZm8uYnBjID8gY29ubi0+ZGlzcGxheV9pbmZvLmJwYyA6IDg7 CisJCWNvbm5fY29sb3JfZm9ybWF0cyAmPSBjb25uLT5kaXNwbGF5X2luZm8uY29sb3JfZm9ybWF0 czsKKworCQlpZiAoY29ubl9icGMgPCBtaW5fYnBjKQorCQkJbWluX2JwYyA9IGNvbm5fYnBjOwor CX0KKworCS8qIGNvbm5lY3RvciBkb2Vzbid0IGNvbmZpZyBhbnkgY29sb3JfZm9ybWF0LCB1c2Ug UkdCNDQ0IGFzIGRlZmF1bHQgKi8KKwlpZiAoY29ubl9jb2xvcl9mb3JtYXRzID09IDApCisJCWNv bm5fY29sb3JfZm9ybWF0cyA9IERSTV9DT0xPUl9GT1JNQVRfUkdCNDQ0OworCisJKmNvbG9yX2Rl cHRocyA9IEdFTk1BU0soY29ubl9icGMsIDApOworCSpjb2xvcl9mb3JtYXRzID0gY29ubl9jb2xv cl9mb3JtYXRzOworfQorCiBzdGF0aWMgdm9pZCBrb21lZGFfY3J0Y191cGRhdGVfY2xvY2tfcmF0 aW8oc3RydWN0IGtvbWVkYV9jcnRjX3N0YXRlICprY3J0Y19zdCkKIHsKIAl1NjQgcHhsY2xrLCBh Y2xrOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21l ZGFfZGV2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kZXYu YwppbmRleCA5Y2JjZDU2ZTU0Y2QuLmJlZTQ2MzNjZGQ5ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmMKQEAgLTExMywxMiArMTEzLDM0IEBA IHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGtvbWVkYV9zeXNmc19hdHRyX2dyb3VwID0g ewogCS5hdHRycyA9IGtvbWVkYV9zeXNmc19lbnRyaWVzLAogfTsKIAorc3RhdGljIGludCB0b19j b2xvcl9mb3JtYXQoY29uc3QgY2hhciAqc3RyKQoreworCWludCBmb3JtYXQ7CisKKwlpZiAoIXN0 cm5jbXAoc3RyLCAiUkdCNDQ0IiwgNykpIHsKKwkJZm9ybWF0ID0gRFJNX0NPTE9SX0ZPUk1BVF9S R0I0NDQ7CisJfSBlbHNlIGlmICghc3RybmNtcChzdHIsICJZQ1JDQjQ0NCIsIDkpKSB7CisJCWZv cm1hdCA9IERSTV9DT0xPUl9GT1JNQVRfWUNSQ0I0NDQ7CisJfSBlbHNlIGlmICghc3RybmNtcChz dHIsICJZQ1JDQjQyMiIsIDkpKSB7CisJCWZvcm1hdCA9IERSTV9DT0xPUl9GT1JNQVRfWUNSQ0I0 MjI7CisJfSBlbHNlIGlmICghc3RybmNtcChzdHIsICJZQ1JDQjQyMCIsIDkpKSB7CisJCWZvcm1h dCA9IERSTV9DT0xPUl9GT1JNQVRfWUNSQ0I0MjA7CisJfSBlbHNlIHsKKwkJRFJNX1dBUk4oImlu dmFsaWQgY29sb3JfZm9ybWF0OiAlcywgcGxlYXNlIHNldCBpdCB0byBSR0I0NDQsIFlDUkNCNDQ0 LCBZQ1JDQjQyMiBvciBZQ1JDQjQyMFxuIiwKKwkJCSBzdHIpOworCQlmb3JtYXQgPSBEUk1fQ09M T1JfRk9STUFUX1JHQjQ0NDsKKwl9CisKKwlyZXR1cm4gZm9ybWF0OworfQorCiBzdGF0aWMgaW50 IGtvbWVkYV9wYXJzZV9waXBlX2R0KHN0cnVjdCBrb21lZGFfZGV2ICptZGV2LCBzdHJ1Y3QgZGV2 aWNlX25vZGUgKm5wKQogewogCXN0cnVjdCBrb21lZGFfcGlwZWxpbmUgKnBpcGU7CiAJc3RydWN0 IGNsayAqY2xrOwogCXUzMiBwaXBlX2lkOwotCWludCByZXQgPSAwOworCWludCByZXQgPSAwLCBj b2xvcl9mb3JtYXQ7CisJY29uc3QgY2hhciAqc3RyOwogCiAJcmV0ID0gb2ZfcHJvcGVydHlfcmVh ZF91MzIobnAsICJyZWciLCAmcGlwZV9pZCk7CiAJaWYgKHJldCAhPSAwIHx8IHBpcGVfaWQgPj0g bWRldi0+bl9waXBlbGluZXMpCkBAIC0xMzMsNiArMTU1LDE0IEBAIHN0YXRpYyBpbnQga29tZWRh X3BhcnNlX3BpcGVfZHQoc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYsIHN0cnVjdCBkZXZpY2Vfbm9k ZSAqbnApCiAJfQogCXBpcGUtPnB4bGNsayA9IGNsazsKIAorCS8qIGZldGNoIERUIGNvbmZpZ3Vy ZWQgY29sb3ItZm9ybWF0LCBpZiBub3Qgc2V0LCB1c2UgUkdCNDQ0ICovCisJaWYgKCFvZl9wcm9w ZXJ0eV9yZWFkX3N0cmluZyhucCwgImNvbG9yLWZvcm1hdCIsICZzdHIpKQorCQljb2xvcl9mb3Jt YXQgPSB0b19jb2xvcl9mb3JtYXQoc3RyKTsKKwllbHNlCisJCWNvbG9yX2Zvcm1hdCA9IERSTV9D T0xPUl9GT1JNQVRfUkdCNDQ0OworCisJcGlwZS0+aW1wcm9jLT5wcmVmZXJyZWRfY29sb3JfZm9y bWF0cyA9IChjb2xvcl9mb3JtYXQgPDwgMSkgLSAxOworCiAJLyogZW51bSBwb3J0cyAqLwogCXBp cGUtPm9mX291dHB1dF9saW5rc1swXSA9CiAJCW9mX2dyYXBoX2dldF9yZW1vdGVfbm9kZShucCwg S09NRURBX09GX1BPUlRfT1VUUFVULCAwKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h cm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5oIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfa21zLmgKaW5kZXggNDVjNDk4ZTE1ZTdhLi40NTZmM2M0MzU3MTkg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2tt cy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5o CkBAIC0xNjYsNiArMTY2LDggQEAgc3RhdGljIGlubGluZSBib29sIGhhc19mbGlwX2godTMyIHJv dCkKIAkJcmV0dXJuICEhKHJvdGF0aW9uICYgRFJNX01PREVfUkVGTEVDVF9YKTsKIH0KIAordm9p ZCBrb21lZGFfY3J0Y19nZXRfY29sb3JfY29uZmlnKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0 Y19zdCwKKwkJCQkgIHUzMiAqY29sb3JfZGVwdGhzLCB1MzIgKmNvbG9yX2Zvcm1hdHMpOwogdW5z aWduZWQgbG9uZyBrb21lZGFfY3J0Y19nZXRfYWNsayhzdHJ1Y3Qga29tZWRhX2NydGNfc3RhdGUg KmtjcnRjX3N0KTsKIAogaW50IGtvbWVkYV9rbXNfc2V0dXBfY3J0Y3Moc3RydWN0IGtvbWVkYV9r bXNfZGV2ICprbXMsIHN0cnVjdCBrb21lZGFfZGV2ICptZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmggYi9kcml2ZXJz L2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZS5oCmluZGV4IGE3YTg0 ZTY2NTQ5ZC4uOTEwZDI3OWFlNDhkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rp c3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0v ZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmgKQEAgLTMxNSw2ICszMTUsOCBAQCBzdHJ1 Y3Qga29tZWRhX3NwbGl0dGVyX3N0YXRlIHsKIHN0cnVjdCBrb21lZGFfaW1wcm9jIHsKIAlzdHJ1 Y3Qga29tZWRhX2NvbXBvbmVudCBiYXNlOwogCXUzMiBzdXBwb3J0ZWRfY29sb3JfZm9ybWF0czsg IC8qIERSTV9SR0IvWVVWNDQ0L1lVVjQyMCovCisJLyogdGhlIHByZWZlcnJlZCBvcmRlciBpcyBm cm9tIE1TQiB0byBMU0IgWVVWNDIwIC0tPiBSR0I0NDQgKi8KKwl1MzIgcHJlZmVycmVkX2NvbG9y X2Zvcm1hdHM7CiAJdTMyIHN1cHBvcnRlZF9jb2xvcl9kZXB0aHM7IC8qIEJJVCg4KSB8IEJJVCgx MCkqLwogCXU4IHN1cHBvcnRzX2RlZ2FtbWEgOiAxOwogCXU4IHN1cHBvcnRzX2NzYyA6IDE7CkBA IC0zMjMsNiArMzI1LDcgQEAgc3RydWN0IGtvbWVkYV9pbXByb2MgewogCiBzdHJ1Y3Qga29tZWRh X2ltcHJvY19zdGF0ZSB7CiAJc3RydWN0IGtvbWVkYV9jb21wb25lbnRfc3RhdGUgYmFzZTsKKwl1 OCBjb2xvcl9mb3JtYXQsIGNvbG9yX2RlcHRoOwogCXUxNiBoc2l6ZSwgdnNpemU7CiB9OwogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBl bGluZV9zdGF0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFf cGlwZWxpbmVfc3RhdGUuYwppbmRleCBlYTI2YmM5YzJkMDAuLjU1MjY3MzFmNWEzMyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVf c3RhdGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9w aXBlbGluZV9zdGF0ZS5jCkBAIC03NDMsNiArNzQzLDcgQEAga29tZWRhX2ltcHJvY192YWxpZGF0 ZShzdHJ1Y3Qga29tZWRhX2ltcHJvYyAqaW1wcm9jLAogCQkgICAgICAgc3RydWN0IGtvbWVkYV9k YXRhX2Zsb3dfY2ZnICpkZmxvdykKIHsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBrY3J0Y19z dC0+YmFzZS5jcnRjOworCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdCA9ICZrY3J0Y19z dC0+YmFzZTsKIAlzdHJ1Y3Qga29tZWRhX2NvbXBvbmVudF9zdGF0ZSAqY19zdDsKIAlzdHJ1Y3Qg a29tZWRhX2ltcHJvY19zdGF0ZSAqc3Q7CiAKQEAgLTc1Niw2ICs3NTcsMzYgQEAga29tZWRhX2lt cHJvY192YWxpZGF0ZShzdHJ1Y3Qga29tZWRhX2ltcHJvYyAqaW1wcm9jLAogCXN0LT5oc2l6ZSA9 IGRmbG93LT5pbl93OwogCXN0LT52c2l6ZSA9IGRmbG93LT5pbl9oOwogCisJaWYgKGRybV9hdG9t aWNfY3J0Y19uZWVkc19tb2Rlc2V0KGNydGNfc3QpKSB7CisJCXUzMiBvdXRwdXRfZGVwdGhzLCBv dXRwdXRfZm9ybWF0czsKKwkJdTMyIGF2YWlsX2RlcHRocywgYXZhaWxfZm9ybWF0czsKKworCQlr b21lZGFfY3J0Y19nZXRfY29sb3JfY29uZmlnKGNydGNfc3QsICZvdXRwdXRfZGVwdGhzLAorCQkJ CQkgICAgICZvdXRwdXRfZm9ybWF0cyk7CisKKwkJYXZhaWxfZGVwdGhzID0gb3V0cHV0X2RlcHRo cyAmIGltcHJvYy0+c3VwcG9ydGVkX2NvbG9yX2RlcHRoczsKKwkJaWYgKGF2YWlsX2RlcHRocyA9 PSAwKSB7CisJCQlEUk1fREVCVUdfQVRPTUlDKCJObyBhdmFpbGFibGUgY29sb3IgZGVwdGhzLCBj b25uIGRlcHRoczogMHgleCAmIGRpc3BsYXk6IDB4JXhcbiIsCisJCQkJCSBvdXRwdXRfZGVwdGhz LAorCQkJCQkgaW1wcm9jLT5zdXBwb3J0ZWRfY29sb3JfZGVwdGhzKTsKKwkJCXJldHVybiAtRUlO VkFMOworCQl9CisKKwkJYXZhaWxfZm9ybWF0cyA9IG91dHB1dF9mb3JtYXRzICYKKwkJCQlpbXBy b2MtPnN1cHBvcnRlZF9jb2xvcl9mb3JtYXRzICYKKwkJCQlpbXByb2MtPnByZWZlcnJlZF9jb2xv cl9mb3JtYXRzOworCQlpZiAoYXZhaWxfZm9ybWF0cyA9PSAwKSB7CisJCQlEUk1fREVCVUdfQVRP TUlDKCJObyBhdmFpbGFibGUgY29sb3JfZm9ybWF0cywgY29ubiBmb3JtYXRzIDB4JXggJiBkaXNw bGF5OiAweCV4ICYgcHJlZmVycmVkOiAweCV4XG4iLAorCQkJCQkgb3V0cHV0X2Zvcm1hdHMsCisJ CQkJCSBpbXByb2MtPnN1cHBvcnRlZF9jb2xvcl9mb3JtYXRzLAorCQkJCQkgaW1wcm9jLT5wcmVm ZXJyZWRfY29sb3JfZm9ybWF0cyk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCisJCXN0LT5j b2xvcl9kZXB0aCA9IF9fZmxzKGF2YWlsX2RlcHRocyk7CisJCXN0LT5jb2xvcl9mb3JtYXQgPSBC SVQoX19mbHMoYXZhaWxfZm9ybWF0cykpOworCX0KKwogCWtvbWVkYV9jb21wb25lbnRfYWRkX2lu cHV0KCZzdC0+YmFzZSwgJmRmbG93LT5pbnB1dCwgMCk7CiAJa29tZWRhX2NvbXBvbmVudF9zZXRf b3V0cHV0KCZkZmxvdy0+aW5wdXQsICZpbXByb2MtPmJhc2UsIDApOwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV93Yl9jb25uZWN0b3IuYyBi L2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3diX2Nvbm5lY3Rvci5j CmluZGV4IDYxN2UxZjdiODQ3Mi4uNDllNTQ2OWJhNDhlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV93Yl9jb25uZWN0b3IuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV93Yl9jb25uZWN0b3IuYwpAQCAt MTQyLDYgKzE0Miw3IEBAIHN0YXRpYyBpbnQga29tZWRhX3diX2Nvbm5lY3Rvcl9hZGQoc3RydWN0 IGtvbWVkYV9rbXNfZGV2ICprbXMsCiAJc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYgPSBrbXMtPmJh c2UuZGV2X3ByaXZhdGU7CiAJc3RydWN0IGtvbWVkYV93Yl9jb25uZWN0b3IgKmt3Yl9jb25uOwog CXN0cnVjdCBkcm1fd3JpdGViYWNrX2Nvbm5lY3RvciAqd2JfY29ubjsKKwlzdHJ1Y3QgZHJtX2Rp c3BsYXlfaW5mbyAqaW5mbzsKIAl1MzIgKmZvcm1hdHMsIG5fZm9ybWF0cyA9IDA7CiAJaW50IGVy cjsKIApAQCAtMTcxLDYgKzE3MiwxMCBAQCBzdGF0aWMgaW50IGtvbWVkYV93Yl9jb25uZWN0b3Jf YWRkKHN0cnVjdCBrb21lZGFfa21zX2RldiAqa21zLAogCiAJZHJtX2Nvbm5lY3Rvcl9oZWxwZXJf YWRkKCZ3Yl9jb25uLT5iYXNlLCAma29tZWRhX3diX2Nvbm5faGVscGVyX2Z1bmNzKTsKIAorCWlu Zm8gPSAma3diX2Nvbm4tPmJhc2UuYmFzZS5kaXNwbGF5X2luZm87CisJaW5mby0+YnBjID0gX19m bHMoa2NydGMtPm1hc3Rlci0+aW1wcm9jLT5zdXBwb3J0ZWRfY29sb3JfZGVwdGhzKTsKKwlpbmZv LT5jb2xvcl9mb3JtYXRzID0ga2NydGMtPm1hc3Rlci0+aW1wcm9jLT5zdXBwb3J0ZWRfY29sb3Jf Zm9ybWF0czsKKwogCWtjcnRjLT53Yl9jb25uID0ga3diX2Nvbm47CiAKIAlyZXR1cm4gMDsKLS0g CjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs