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: Wed, 19 Jun 2019 09:26:32 +0000 Message-ID: <1560936357-21876-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 EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70074.outbound.protection.outlook.com [40.107.7.74]) by gabe.freedesktop.org (Postfix) with ESMTPS id 245266E348 for ; Wed, 19 Jun 2019 09:26:36 +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 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 U2V0cyBjb2xvcl9kZXB0aCBhY2NvcmRpbmcgdG8gY29ubmVjdG9yLT5icGMuDQpBZGRzIGEgbmV3 IG9wdGlvbmFsIERUIGF0dHJpYnV0ZSAiY29sb3ItZm9ybWF0IiB0byByZXByZXNlbnQgYQ0KcHJl ZmVycmVkIGNvbG9yIGZvcm1hdHMgZm9yIGEgc3BlY2lmaWMgcGlwZWxpbmUsIGFuZCB0aGUgc2Vs ZWN0IG9yZGVyDQppczoNCglZQ1JDQjQyMCA+IFlDUkNCNDIyID4gWUNSQ0I0NDQgPiBSR0I0NDQN ClRoZSBjb2xvci1mb3JtYXQgY2FuIGJlIGFueW9uZSBvZiB0aGVzZSA0IGZvcm1hdCwgb25lIGNv bG9yLWZvcm1hdCBub3QNCm9ubHkgcmVwcmVzZW50IG9uZSBmb3JtYXQsIGJ1dCBhbHNvIGluY2x1 ZGUgdGhlIGxvd2VyIGZvcm1hdHMsIGxpa2UNCg0KY29sb3ItZm9ybWF0ICAgICAgICAgcHJlZmVy cmVkX2NvbG9yX2Zvcm1hdHMNCllDUkNCNDIwICAgICAgICBZQ1JDQjQyMCA+IFlDUkNCNDIyID4g WUNSQ0I0NDQgPiBSR0I0NDQNCllDUkNCNDIyICAgICAgICBZQ1JDQjQyMiA+IFlDUkNCNDQ0ID4g UkdCNDQ0DQpZQ1JDQjQ0NCAgICAgICAgWUNSQ0I0NDQgPiBSR0I0NDQNClJHQjQ0NCAgICAgICAg ICBSR0I0NDQNCg0KVGhlbiB0aGUgZmluYWwgY29sb3JfZm9ybWF0IGlzIGNhbGN1bGF0ZWQgYnkg MyBzdGVwczoNCjEuIGNhbGN1bGF0ZSBIVyBhdmFpbGFibGUgZm9ybWF0cy4NCiAgYXZhaWxfZm9y bWF0cyA9IGNvbm5lY3Rvcl9jb2xvcl9mb3JtYXRzICYgaW1wcm9jLT5jb2xvcl9mb3JtYXRzOw0K Mi4gZmlsdGVyIG91dCB1bi1wcmVmZXJyZWQgZm9ybWF0Lg0KICBhdmFpbF9mb3JtYXRzICY9IHBy ZWZlcnJlZF9jb2xvcl9mb3JtYXRzOw0KMy4gc2VsZWN0IHRoZSBmaW5hbCBmb3JtYXQgYWNjb3Jk aW5nIHRvIHRoZSBwcmVmZXJyZWQgb3JkZXIuDQogIGNvbG9yX2Zvcm1hdCA9IEJJVChfX2Zscyhh dmFsX2Zvcm1hdHMpKTsNCg0KU2lnbmVkLW9mZi1ieTogTG93cnkgTGkgKEFybSBUZWNobm9sb2d5 IENoaW5hKSA8bG93cnkubGlAYXJtLmNvbT4NCi0tLQ0KIC4uLi9ncHUvZHJtL2FybS9kaXNwbGF5 L2tvbWVkYS9kNzEvZDcxX2NvbXBvbmVudC5jIHwgMTQgKysrKysrKystLQ0KIGRyaXZlcnMvZ3B1 L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2NydGMuYyAgIHwgMjcgKysrKysrKysrKysr KysrKysrDQogZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmMg ICAgfCAzMiArKysrKysrKysrKysrKysrKysrKystDQogZHJpdmVycy9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfa21zLmggICAgfCAgMiArKw0KIC4uLi9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmUuaCAgIHwgIDMgKysNCiAuLi4vZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYyB8IDMxICsrKysrKysrKysrKysrKysr KysrKw0KIC4uLi9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV93Yl9jb25uZWN0b3IuYyAg IHwgIDUgKysrKw0KIDcgZmlsZXMgY2hhbmdlZCwgMTExIGluc2VydGlvbnMoKyksIDMgZGVsZXRp b25zKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRh L2Q3MS9kNzFfY29tcG9uZW50LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRh L2Q3MS9kNzFfY29tcG9uZW50LmMNCmluZGV4IDAxZGQ0MjYuLjUxMzU1NzcgMTAwNjQ0DQotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfY29tcG9uZW50LmMN CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9jb21wb25l bnQuYw0KQEAgLTk1NSw2ICs5NTUsNyBAQCBzdGF0aWMgdm9pZCBkNzFfaW1wcm9jX3VwZGF0ZShz dHJ1Y3Qga29tZWRhX2NvbXBvbmVudCAqYywNCiAJCQkgICAgICAgdG9fZDcxX2lucHV0X2lkKHN0 YXRlLCBpbmRleCkpOw0KIA0KIAltYWxpZHBfd3JpdGUzMihyZWcsIEJMS19TSVpFLCBIVl9TSVpF KHN0LT5oc2l6ZSwgc3QtPnZzaXplKSk7DQorCW1hbGlkcF93cml0ZTMyKHJlZywgSVBTX0RFUFRI LCBzdC0+Y29sb3JfZGVwdGgpOw0KIA0KIAlpZiAoY3J0Y19zdC0+Y29sb3JfbWdtdF9jaGFuZ2Vk KSB7DQogCQltYXNrIHw9IElQU19DVFJMX0ZUIHwgSVBTX0NUUkxfUkdCOw0KQEAgLTk3NCw4ICs5 NzUsMTcgQEAgc3RhdGljIHZvaWQgZDcxX2ltcHJvY191cGRhdGUoc3RydWN0IGtvbWVkYV9jb21w b25lbnQgKmMsDQogCQl9DQogCX0NCiANCi0JaWYgKG1hc2spDQotCQltYWxpZHBfd3JpdGUzMl9t YXNrKHJlZywgQkxLX0NPTlRST0wsIG1hc2ssIGN0cmwpOw0KKwltYXNrIHw9IElQU19DVFJMX1lV ViB8IElQU19DVFJMX0NIRDQyMiB8IElQU19DVFJMX0NIRDQyMDsNCisNCisJLyogY29uZmlnIGNv bG9yIGZvcm1hdCAqLw0KKwlpZiAoc3QtPmNvbG9yX2Zvcm1hdCA9PSBEUk1fQ09MT1JfRk9STUFU X1lDUkNCNDIwKQ0KKwkJY3RybCB8PSBJUFNfQ1RSTF9ZVVYgfCBJUFNfQ1RSTF9DSEQ0MjIgfCBJ UFNfQ1RSTF9DSEQ0MjA7DQorCWVsc2UgaWYgKHN0LT5jb2xvcl9mb3JtYXQgPT0gRFJNX0NPTE9S X0ZPUk1BVF9ZQ1JDQjQyMikNCisJCWN0cmwgfD0gSVBTX0NUUkxfWVVWIHwgSVBTX0NUUkxfQ0hE NDIyOw0KKwllbHNlIGlmIChzdC0+Y29sb3JfZm9ybWF0ID09IERSTV9DT0xPUl9GT1JNQVRfWUNS Q0I0NDQpDQorCQljdHJsIHw9IElQU19DVFJMX1lVVjsNCisNCisJbWFsaWRwX3dyaXRlMzJfbWFz ayhyZWcsIEJMS19DT05UUk9MLCBtYXNrLCBjdHJsKTsNCiB9DQogDQogc3RhdGljIHZvaWQgZDcx X2ltcHJvY19kdW1wKHN0cnVjdCBrb21lZGFfY29tcG9uZW50ICpjLCBzdHJ1Y3Qgc2VxX2ZpbGUg KnNmKQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29t ZWRhX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Ny dGMuYw0KaW5kZXggY2M2NTgyZi4uYWU2Nzg5NCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2NydGMuYw0KKysrIGIvZHJpdmVycy9ncHUvZHJt L2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfY3J0Yy5jDQpAQCAtMTgsNiArMTgsMzMgQEANCiAj aW5jbHVkZSAia29tZWRhX2Rldi5oIg0KICNpbmNsdWRlICJrb21lZGFfa21zLmgiDQogDQordm9p ZCBrb21lZGFfY3J0Y19nZXRfY29sb3JfY29uZmlnKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0 Y19zdCwNCisJCQkJICB1MzIgKmNvbG9yX2RlcHRocywgdTMyICpjb2xvcl9mb3JtYXRzKQ0KK3sN CisJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm47DQorCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0 YXRlICpjb25uX3N0Ow0KKwl1MzIgY29ubl9jb2xvcl9mb3JtYXRzID0gfjB1Ow0KKwlpbnQgaSwg bWluX2JwYyA9IDMxLCBjb25uX2JwYyA9IDA7DQorDQorCWZvcl9lYWNoX25ld19jb25uZWN0b3Jf aW5fc3RhdGUoY3J0Y19zdC0+c3RhdGUsIGNvbm4sIGNvbm5fc3QsIGkpIHsNCisJCWlmIChjb25u X3N0LT5jcnRjICE9IGNydGNfc3QtPmNydGMpDQorCQkJY29udGludWU7DQorDQorCQljb25uX2Jw YyA9IGNvbm4tPmRpc3BsYXlfaW5mby5icGMgPyBjb25uLT5kaXNwbGF5X2luZm8uYnBjIDogODsN CisJCWNvbm5fY29sb3JfZm9ybWF0cyAmPSBjb25uLT5kaXNwbGF5X2luZm8uY29sb3JfZm9ybWF0 czsNCisNCisJCWlmIChjb25uX2JwYyA8IG1pbl9icGMpDQorCQkJbWluX2JwYyA9IGNvbm5fYnBj Ow0KKwl9DQorDQorCS8qIGNvbm5lY3RvciBkb2Vzbid0IGNvbmZpZyBhbnkgY29sb3JfZm9ybWF0 LCB1c2UgUkdCNDQ0IGFzIGRlZmF1bHQgKi8NCisJaWYgKGNvbm5fY29sb3JfZm9ybWF0cyA9PSAw KQ0KKwkJY29ubl9jb2xvcl9mb3JtYXRzID0gRFJNX0NPTE9SX0ZPUk1BVF9SR0I0NDQ7DQorDQor CSpjb2xvcl9kZXB0aHMgPSBHRU5NQVNLKGNvbm5fYnBjLCAwKTsNCisJKmNvbG9yX2Zvcm1hdHMg PSBjb25uX2NvbG9yX2Zvcm1hdHM7DQorfQ0KKw0KIHN0YXRpYyB2b2lkIGtvbWVkYV9jcnRjX3Vw ZGF0ZV9jbG9ja19yYXRpbyhzdHJ1Y3Qga29tZWRhX2NydGNfc3RhdGUgKmtjcnRjX3N0KQ0KIHsN CiAJdTY0IHB4bGNsaywgYWNsazsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rp c3BsYXkva29tZWRhL2tvbWVkYV9kZXYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9r b21lZGEva29tZWRhX2Rldi5jDQppbmRleCA1OTFkYTFlLi5hMDlkZTQ1IDEwMDY0NA0KLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmMNCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rldi5jDQpAQCAtMTAyLDEy ICsxMDIsMzQgQEAgc3RhdGljIHZvaWQga29tZWRhX2RlYnVnZnNfaW5pdChzdHJ1Y3Qga29tZWRh X2RldiAqbWRldikNCiAJLmF0dHJzID0ga29tZWRhX3N5c2ZzX2VudHJpZXMsDQogfTsNCiANCitz dGF0aWMgaW50IHRvX2NvbG9yX2Zvcm1hdChjb25zdCBjaGFyICpzdHIpDQorew0KKwlpbnQgZm9y bWF0Ow0KKw0KKwlpZiAoIXN0cm5jbXAoc3RyLCAiUkdCNDQ0IiwgNykpIHsNCisJCWZvcm1hdCA9 IERSTV9DT0xPUl9GT1JNQVRfUkdCNDQ0Ow0KKwl9IGVsc2UgaWYgKCFzdHJuY21wKHN0ciwgIllD UkNCNDQ0IiwgOSkpIHsNCisJCWZvcm1hdCA9IERSTV9DT0xPUl9GT1JNQVRfWUNSQ0I0NDQ7DQor CX0gZWxzZSBpZiAoIXN0cm5jbXAoc3RyLCAiWUNSQ0I0MjIiLCA5KSkgew0KKwkJZm9ybWF0ID0g RFJNX0NPTE9SX0ZPUk1BVF9ZQ1JDQjQyMjsNCisJfSBlbHNlIGlmICghc3RybmNtcChzdHIsICJZ Q1JDQjQyMCIsIDkpKSB7DQorCQlmb3JtYXQgPSBEUk1fQ09MT1JfRk9STUFUX1lDUkNCNDIwOw0K Kwl9IGVsc2Ugew0KKwkJRFJNX1dBUk4oImludmFsaWQgY29sb3JfZm9ybWF0OiAlcywgcGxlYXNl IHNldCBpdCB0byBSR0I0NDQsIFlDUkNCNDQ0LCBZQ1JDQjQyMiBvciBZQ1JDQjQyMFxuIiwNCisJ CQkgc3RyKTsNCisJCWZvcm1hdCA9IERSTV9DT0xPUl9GT1JNQVRfUkdCNDQ0Ow0KKwl9DQorDQor CXJldHVybiBmb3JtYXQ7DQorfQ0KKw0KIHN0YXRpYyBpbnQga29tZWRhX3BhcnNlX3BpcGVfZHQo c3RydWN0IGtvbWVkYV9kZXYgKm1kZXYsIHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApDQogew0KIAlz dHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlOw0KIAlzdHJ1Y3QgY2xrICpjbGs7DQogCXUzMiBw aXBlX2lkOw0KLQlpbnQgcmV0ID0gMDsNCisJaW50IHJldCA9IDAsIGNvbG9yX2Zvcm1hdDsNCisJ Y29uc3QgY2hhciAqc3RyOw0KIA0KIAlyZXQgPSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihucCwgInJl ZyIsICZwaXBlX2lkKTsNCiAJaWYgKHJldCAhPSAwIHx8IHBpcGVfaWQgPj0gbWRldi0+bl9waXBl bGluZXMpDQpAQCAtMTIyLDYgKzE0NCwxNCBAQCBzdGF0aWMgaW50IGtvbWVkYV9wYXJzZV9waXBl X2R0KHN0cnVjdCBrb21lZGFfZGV2ICptZGV2LCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wKQ0KIAl9 DQogCXBpcGUtPnB4bGNsayA9IGNsazsNCiANCisJLyogZmV0Y2ggRFQgY29uZmlndXJlZCBjb2xv ci1mb3JtYXQsIGlmIG5vdCBzZXQsIHVzZSBSR0I0NDQgKi8NCisJaWYgKCFvZl9wcm9wZXJ0eV9y ZWFkX3N0cmluZyhucCwgImNvbG9yLWZvcm1hdCIsICZzdHIpKQ0KKwkJY29sb3JfZm9ybWF0ID0g dG9fY29sb3JfZm9ybWF0KHN0cik7DQorCWVsc2UNCisJCWNvbG9yX2Zvcm1hdCA9IERSTV9DT0xP Ul9GT1JNQVRfUkdCNDQ0Ow0KKw0KKwlwaXBlLT5pbXByb2MtPnByZWZlcnJlZF9jb2xvcl9mb3Jt YXRzID0gKGNvbG9yX2Zvcm1hdCA8PCAxKSAtIDE7DQorDQogCS8qIGVudW0gcG9ydHMgKi8NCiAJ cGlwZS0+b2Zfb3V0cHV0X2xpbmtzWzBdID0NCiAJCW9mX2dyYXBoX2dldF9yZW1vdGVfbm9kZShu cCwgS09NRURBX09GX1BPUlRfT1VUUFVULCAwKTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9rbXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9hcm0v ZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5oDQppbmRleCBjZjIxMjJiLi5kYzFkNDM2IDEwMDY0 NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfa21zLmgN CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5oDQpA QCAtMTgwLDYgKzE4MCw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBoYXNfZmxpcF9oKHUzMiByb3Qp DQogCQlyZXR1cm4gISEocm90YXRpb24gJiBEUk1fTU9ERV9SRUZMRUNUX1gpOw0KIH0NCiANCit2 b2lkIGtvbWVkYV9jcnRjX2dldF9jb2xvcl9jb25maWcoc3RydWN0IGRybV9jcnRjX3N0YXRlICpj cnRjX3N0LA0KKwkJCQkgIHUzMiAqY29sb3JfZGVwdGhzLCB1MzIgKmNvbG9yX2Zvcm1hdHMpOw0K IHVuc2lnbmVkIGxvbmcga29tZWRhX2NydGNfZ2V0X2FjbGsoc3RydWN0IGtvbWVkYV9jcnRjX3N0 YXRlICprY3J0Y19zdCk7DQogDQogaW50IGtvbWVkYV9rbXNfc2V0dXBfY3J0Y3Moc3RydWN0IGtv bWVkYV9rbXNfZGV2ICprbXMsIHN0cnVjdCBrb21lZGFfZGV2ICptZGV2KTsNCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZS5oIGIv ZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmUuaA0KaW5k ZXggOWE1ZmMzNS4uOWU4NDIzMiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlz cGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmgNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0v ZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmgNCkBAIC0zMTcsNiArMzE3LDggQEAgc3Ry dWN0IGtvbWVkYV9zcGxpdHRlcl9zdGF0ZSB7DQogc3RydWN0IGtvbWVkYV9pbXByb2Mgew0KIAlz dHJ1Y3Qga29tZWRhX2NvbXBvbmVudCBiYXNlOw0KIAl1MzIgc3VwcG9ydGVkX2NvbG9yX2Zvcm1h dHM7ICAvKiBEUk1fUkdCL1lVVjQ0NC9ZVVY0MjAqLw0KKwkvKiB0aGUgcHJlZmVycmVkIG9yZGVy IGlzIGZyb20gTVNCIHRvIExTQiBZVVY0MjAgLS0+IFJHQjQ0NCAqLw0KKwl1MzIgcHJlZmVycmVk X2NvbG9yX2Zvcm1hdHM7DQogCXUzMiBzdXBwb3J0ZWRfY29sb3JfZGVwdGhzOyAvKiBCSVQoOCkg fCBCSVQoMTApKi8NCiAJdTggc3VwcG9ydHNfZGVnYW1tYSA6IDE7DQogCXU4IHN1cHBvcnRzX2Nz YyA6IDE7DQpAQCAtMzI1LDYgKzMyNyw3IEBAIHN0cnVjdCBrb21lZGFfaW1wcm9jIHsNCiANCiBz dHJ1Y3Qga29tZWRhX2ltcHJvY19zdGF0ZSB7DQogCXN0cnVjdCBrb21lZGFfY29tcG9uZW50X3N0 YXRlIGJhc2U7DQorCXU4IGNvbG9yX2Zvcm1hdCwgY29sb3JfZGVwdGg7DQogCXUxNiBoc2l6ZSwg dnNpemU7DQogCXUzMiBmZ2FtbWFfY29lZmZzW0tPTUVEQV9OX0dBTU1BX0NPRUZGU107DQogCXUz MiBjdG1fY29lZmZzW0tPTUVEQV9OX0NUTV9DT0VGRlNdOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lX3N0YXRlLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZV9zdGF0ZS5jDQpp bmRleCA3OTZjYWU2Li40NTIzZDI4IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9k aXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYw0KKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYw0KQEAgLTc0Myw2 ICs3NDMsNyBAQCB2b2lkIHBpcGVsaW5lX2NvbXBvc2l0aW9uX3NpemUoc3RydWN0IGtvbWVkYV9j cnRjX3N0YXRlICprY3J0Y19zdCwNCiAJCSAgICAgICBzdHJ1Y3Qga29tZWRhX2RhdGFfZmxvd19j ZmcgKmRmbG93KQ0KIHsNCiAJc3RydWN0IGRybV9jcnRjICpjcnRjID0ga2NydGNfc3QtPmJhc2Uu Y3J0YzsNCisJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0ID0gJmtjcnRjX3N0LT5iYXNl Ow0KIAlzdHJ1Y3Qga29tZWRhX2NvbXBvbmVudF9zdGF0ZSAqY19zdDsNCiAJc3RydWN0IGtvbWVk YV9pbXByb2Nfc3RhdGUgKnN0Ow0KIA0KQEAgLTc1Niw2ICs3NTcsMzYgQEAgdm9pZCBwaXBlbGlu ZV9jb21wb3NpdGlvbl9zaXplKHN0cnVjdCBrb21lZGFfY3J0Y19zdGF0ZSAqa2NydGNfc3QsDQog CXN0LT5oc2l6ZSA9IGRmbG93LT5pbl93Ow0KIAlzdC0+dnNpemUgPSBkZmxvdy0+aW5faDsNCiAN CisJaWYgKGRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0KGNydGNfc3QpKSB7DQorCQl1MzIg b3V0cHV0X2RlcHRocywgb3V0cHV0X2Zvcm1hdHM7DQorCQl1MzIgYXZhaWxfZGVwdGhzLCBhdmFp bF9mb3JtYXRzOw0KKw0KKwkJa29tZWRhX2NydGNfZ2V0X2NvbG9yX2NvbmZpZyhjcnRjX3N0LCAm b3V0cHV0X2RlcHRocywNCisJCQkJCSAgICAgJm91dHB1dF9mb3JtYXRzKTsNCisNCisJCWF2YWls X2RlcHRocyA9IG91dHB1dF9kZXB0aHMgJiBpbXByb2MtPnN1cHBvcnRlZF9jb2xvcl9kZXB0aHM7 DQorCQlpZiAoYXZhaWxfZGVwdGhzID09IDApIHsNCisJCQlEUk1fREVCVUdfQVRPTUlDKCJObyBh dmFpbGFibGUgY29sb3IgZGVwdGhzLCBjb25uIGRlcHRoczogMHgleCAmIGRpc3BsYXk6IDB4JXhc biIsDQorCQkJCQkgb3V0cHV0X2RlcHRocywNCisJCQkJCSBpbXByb2MtPnN1cHBvcnRlZF9jb2xv cl9kZXB0aHMpOw0KKwkJCXJldHVybiAtRUlOVkFMOw0KKwkJfQ0KKw0KKwkJYXZhaWxfZm9ybWF0 cyA9IG91dHB1dF9mb3JtYXRzICYNCisJCQkJaW1wcm9jLT5zdXBwb3J0ZWRfY29sb3JfZm9ybWF0 cyAmDQorCQkJCWltcHJvYy0+cHJlZmVycmVkX2NvbG9yX2Zvcm1hdHM7DQorCQlpZiAoYXZhaWxf Zm9ybWF0cyA9PSAwKSB7DQorCQkJRFJNX0RFQlVHX0FUT01JQygiTm8gYXZhaWxhYmxlIGNvbG9y X2Zvcm1hdHMsIGNvbm4gZm9ybWF0cyAweCV4ICYgZGlzcGxheTogMHgleCAmIHByZWZlcnJlZDog MHgleFxuIiwNCisJCQkJCSBvdXRwdXRfZm9ybWF0cywNCisJCQkJCSBpbXByb2MtPnN1cHBvcnRl ZF9jb2xvcl9mb3JtYXRzLA0KKwkJCQkJIGltcHJvYy0+cHJlZmVycmVkX2NvbG9yX2Zvcm1hdHMp Ow0KKwkJCXJldHVybiAtRUlOVkFMOw0KKwkJfQ0KKw0KKwkJc3QtPmNvbG9yX2RlcHRoID0gX19m bHMoYXZhaWxfZGVwdGhzKTsNCisJCXN0LT5jb2xvcl9mb3JtYXQgPSBCSVQoX19mbHMoYXZhaWxf Zm9ybWF0cykpOw0KKwl9DQorDQogCWlmIChrY3J0Y19zdC0+YmFzZS5jb2xvcl9tZ210X2NoYW5n ZWQpIHsNCiAJCWRybV9sdXRfdG9fZmdhbW1hX2NvZWZmcyhrY3J0Y19zdC0+YmFzZS5nYW1tYV9s dXQsDQogCQkJCQkgc3QtPmZnYW1tYV9jb2VmZnMpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3diX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9n cHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfd2JfY29ubmVjdG9yLmMNCmluZGV4IDRl MjZiMjcuLjZjNDM0NjIgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkv a29tZWRhL2tvbWVkYV93Yl9jb25uZWN0b3IuYw0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9k aXNwbGF5L2tvbWVkYS9rb21lZGFfd2JfY29ubmVjdG9yLmMNCkBAIC0xNDksNiArMTQ5LDcgQEAg c3RhdGljIGludCBrb21lZGFfd2JfY29ubmVjdG9yX2FkZChzdHJ1Y3Qga29tZWRhX2ttc19kZXYg KmttcywNCiAJc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYgPSBrbXMtPmJhc2UuZGV2X3ByaXZhdGU7 DQogCXN0cnVjdCBrb21lZGFfd2JfY29ubmVjdG9yICprd2JfY29ubjsNCiAJc3RydWN0IGRybV93 cml0ZWJhY2tfY29ubmVjdG9yICp3Yl9jb25uOw0KKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAq aW5mbzsNCiAJdTMyICpmb3JtYXRzLCBuX2Zvcm1hdHMgPSAwOw0KIAlpbnQgZXJyOw0KIA0KQEAg LTE3OCw2ICsxNzksMTAgQEAgc3RhdGljIGludCBrb21lZGFfd2JfY29ubmVjdG9yX2FkZChzdHJ1 Y3Qga29tZWRhX2ttc19kZXYgKmttcywNCiANCiAJZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfYWRkKCZ3 Yl9jb25uLT5iYXNlLCAma29tZWRhX3diX2Nvbm5faGVscGVyX2Z1bmNzKTsNCiANCisJaW5mbyA9 ICZrd2JfY29ubi0+YmFzZS5iYXNlLmRpc3BsYXlfaW5mbzsNCisJaW5mby0+YnBjID0gX19mbHMo a2NydGMtPm1hc3Rlci0+aW1wcm9jLT5zdXBwb3J0ZWRfY29sb3JfZGVwdGhzKTsNCisJaW5mby0+ Y29sb3JfZm9ybWF0cyA9IGtjcnRjLT5tYXN0ZXItPmltcHJvYy0+c3VwcG9ydGVkX2NvbG9yX2Zv cm1hdHM7DQorDQogCWtjcnRjLT53Yl9jb25uID0ga3diX2Nvbm47DQogDQogCXJldHVybiAwOw0K LS0gDQoxLjkuMQ0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWw=