From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH 08/11] drm/i915: handle ycbcr outputs Date: Fri, 7 Apr 2017 19:39:25 +0300 Message-ID: <1491583168-20042-9-git-send-email-shashank.sharma@intel.com> References: <1491583168-20042-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1491583168-20042-1-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: Ander Conselvan De Oliveira , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIEhETUkgeWNiY3Igb3V0cHV0cyBpbiBpOTE1IGxh eWVyLgpIRE1JIG91dHB1dCBtb2RlIGlzIGEgY29ubmVjdG9yIHByb3BlcnR5LCB0aGlzIHBhdGNo IGNoZWNrcyBpZgpzb3VyY2UgYW5kIHNpbmsgY2FuIHN1cHBvcnQgdGhlIEhETUkgb3V0cHV0IHR5 cGUgc2VsZWN0ZWQgYnkgdXNlci4KQW5kIGlmIHRoZXkgYm90aCBjYW4sIGl0IGNvbW1pdHMgdGhl IGhkbWkgb3V0cHV0IHR5cGUgaW50byBjcnRjIHN0YXRlLApmb3IgZnVydGhlciBzdGFnaW5nIGlu IGRyaXZlci4KCkNjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNv bT4KQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgpDYzogQW5kZXIg Q29uc2VsdmFuIERlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2YW4uZGUub2xpdmVpcmFAaW50ZWwu Y29tPgpTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRl bC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgICAxICsK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAgMyArCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgICAgfCAxNjEgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0KIDMgZmlsZXMgY2hhbmdlZCwgMTYyIGluc2VydGlvbnMoKyksIDMgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IGI2YjQwY2QuLmZj NDNhMjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTExNzA1LDYgKzEx NzA1LDcgQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCiAJUElQRV9DT05GX0NIRUNLX0koaGRtaV9zY3JhbWJsaW5nKTsKIAlQSVBF X0NPTkZfQ0hFQ0tfSShoZG1pX2hpZ2hfdG1kc19jbG9ja19yYXRpbyk7CiAJUElQRV9DT05GX0NI RUNLX0koaGFzX2luZm9mcmFtZSk7CisJUElQRV9DT05GX0NIRUNLX0koaGRtaV9vdXRwdXQpOwog CiAJUElQRV9DT05GX0NIRUNLX0koaGFzX2F1ZGlvKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aAppbmRleCA0M2VhNzQ4Li45ODkwMmQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAt NzM4LDYgKzczOCw5IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKIAogCS8qIEhETUkgSGln aCBUTURTIGNoYXIgcmF0ZSByYXRpbyAqLwogCWJvb2wgaGRtaV9oaWdoX3RtZHNfY2xvY2tfcmF0 aW87CisKKwkvKiBIRE1JIG91dHB1dCB0eXBlICovCisJZW51bSBkcm1faGRtaV9vdXRwdXRfdHlw ZSBoZG1pX291dHB1dDsKIH07CiAKIHN0cnVjdCBpbnRlbF9jcnRjIHsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2hkbWkuYwppbmRleCA3NmQ5ZTBkLi40MGQzNDE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf aGRtaS5jCkBAIC0xMzAxLDcgKzEzMDEsOCBAQCBpbnRlbF9oZG1pX21vZGVfdmFsaWQoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAlyZXR1cm4gc3RhdHVzOwogfQogCi1zdGF0aWMg Ym9vbCBoZG1pXzEyYnBjX3Bvc3NpYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQorc3RhdGljIGJvb2wgaGRtaV8xMmJwY19wb3NzaWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSwKKwkJCQllbnVtIGRybV9oZG1pX291dHB1dF90eXBlIGhkbWlfb3V0 KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9CiAJCXRvX2k5MTUoY3J0 Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwpAQCAtMTMxMyw2ICsxMzE0LDE2IEBAIHN0YXRpYyBi b29sIGhkbWlfMTJicGNfcG9zc2libGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCiAJaWYgKEhBU19HTUNIX0RJU1BMQVkoZGV2X3ByaXYpKQogCQlyZXR1cm4gZmFsc2U7CiAK KwlpZiAoaGRtaV9vdXQgPT0gRFJNX0hETUlfT1VUUFVUX1lDQkNSNDIyKSB7CisJCS8qCisJCSAq IEhETUkgc3BlYyBzYXlzIFlDQkNSNDIyIGlzIDEyYnBjLCBidXQgaXRzIG5vdCBhIGRlZXAKKwkJ ICogY29sb3IgZm9ybWF0LiBTbyByZXNwZWN0IHRoZSBzcGVjLCBhbmQgbm90IGFsbG93IHRoaXMK KwkJICogdG8gYmUgZGVlcCBjb2xvcgorCQkgKi8KKwkJRFJNX0RFQlVHX0tNUygiTm90IGFsbG93 aW5nIGRlZXAgY29sb3IgZm9yIFlDQkNSNDIyIG91dHB1dFxuIik7CisJCXJldHVybiBmYWxzZTsK Kwl9CisKIAkvKgogCSAqIEhETUkgMTJicGMgYWZmZWN0cyB0aGUgY2xvY2tzLCBzbyBpdCdzIG9u bHkgcG9zc2libGUKIAkgKiB3aGVuIG5vdCBjbG9uaW5nIHdpdGggb3RoZXIgZW5jb2RlciB0eXBl cy4KQEAgLTEzMzMsNiArMTM0NCwxMzYgQEAgc3RhdGljIGJvb2wgaGRtaV8xMmJwY19wb3NzaWJs ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAlyZXR1cm4gdHJ1ZTsKIH0K IAorc3RhdGljIGlubGluZQorYm9vbCBfY2hlY2tfeWNiY3JfbW9kZV9zdXBwb3J0KHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlKQoreworCXJldHVybiBtb2RlLT5mbGFncyAmIERSTV9NT0RF X0ZMQUdfNDIwX01BU0s7Cit9CisKK3N0YXRpYyBpbmxpbmUKK2Jvb2wgX2NoZWNrX3ljYmNyX3Np bmtfc3VwcG9ydChzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyAqZGlzcGxheSwKKwkJCSAgICAgICBl bnVtIGRybV9oZG1pX291dHB1dF90eXBlIHR5cGUpCit7CisJcmV0dXJuIGRpc3BsYXktPmNvbG9y X2Zvcm1hdHMgJiB0eXBlOworfQorCitzdGF0aWMgaW5saW5lIGVudW0gZHJtX2hkbWlfb3V0cHV0 X3R5cGUKK19nZXRfaGlnaGVzdF9xdWFsaXR5X3ljYmNyX3N1cHBvcnRlZChzdHJ1Y3QgZHJtX2Rp c3BsYXlfaW5mbyAqZGlzcGxheSwKKwkJCSAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl KQoreworCS8qCisJICogR2V0IHRoZSB5Y2JjciBvdXRwdXQgd2l0aCB0aGUgaGlnaGVzdCBwb3Nz aWJsZSBzdWJzYW1wbGluZyByYXRlLgorCSAqIFByZWZlcmVuY2Ugc2hvdWxkIGdvIGFzOgorCSAq IHljYmNyIDQ0NAorCSAqIHljYmNyIDQyMgorCSAqIHljYmNyIDQyMAorCSAqLworCWlmIChkaXNw bGF5LT5jb2xvcl9mb3JtYXRzICYgRFJNX0NPTE9SX0ZPUk1BVF9ZQ1JDQjQ0NCkKKwkJcmV0dXJu IERSTV9IRE1JX09VVFBVVF9ZQ0JDUjQ0NDsKKwllbHNlIGlmIChkaXNwbGF5LT5jb2xvcl9mb3Jt YXRzICYgRFJNX0NPTE9SX0ZPUk1BVF9ZQ1JDQjQyMikKKwkJcmV0dXJuIERSTV9IRE1JX09VVFBV VF9ZQ0JDUjQyMjsKKwllbHNlIGlmIChkaXNwbGF5LT5jb2xvcl9mb3JtYXRzICYgRFJNX0NPTE9S X0ZPUk1BVF9ZQ1JDQjQyMCAmJgorCQkJX2NoZWNrX3ljYmNyX21vZGVfc3VwcG9ydChtb2RlKSkK KwkJcmV0dXJuIERSTV9IRE1JX09VVFBVVF9ZQ0JDUjQyMDsKKwllbHNlIHsKKwkJRFJNX0VSUk9S KCJTaW5rIGRvZXMndCBzdXBwb3J0IGFueSBZQ0JDUiBvdXRwdXRcbiIpOworCQlyZXR1cm4gRFJN X0hETUlfT1VUUFVUX0lOVkFMSUQ7CisJfQorfQorCitzdGF0aWMgaW5saW5lIGVudW0gZHJtX2hk bWlfb3V0cHV0X3R5cGUKK19nZXRfbG93ZXN0X3F1YWxpdHlfeWNiY3Jfc3VwcG9ydGVkKHN0cnVj dCBkcm1fZGlzcGxheV9pbmZvICpkaXNwbGF5LAorCQkJICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSkKK3sKKwkvKgorCSAqIEdldCB0aGUgeWNiY3Igb3V0cHV0IHdpdGggdGhlIGxvd2Vz dCBwb3NzaWJsZSBzdWJzYW1wbGluZyByYXRlLgorCSAqIFByZWZlcmVuY2Ugc2hvdWxkIGdvIGFz OgorCSAqIHljYmNyIDQyMAorCSAqIHljYmNyIDQyMgorCSAqIHljYmNyIDQ0NAorCSAqLworCWlm IChkaXNwbGF5LT5jb2xvcl9mb3JtYXRzICYgRFJNX0NPTE9SX0ZPUk1BVF9ZQ1JDQjQyMCAmJgor CQlfY2hlY2tfeWNiY3JfbW9kZV9zdXBwb3J0KG1vZGUpKQorCQlyZXR1cm4gRFJNX0hETUlfT1VU UFVUX1lDQkNSNDIwOworCWVsc2UgaWYgKGRpc3BsYXktPmNvbG9yX2Zvcm1hdHMgJiBEUk1fQ09M T1JfRk9STUFUX1lDUkNCNDIyKQorCQlyZXR1cm4gRFJNX0hETUlfT1VUUFVUX1lDQkNSNDIyOwor CWVsc2UgaWYgKGRpc3BsYXktPmNvbG9yX2Zvcm1hdHMgJiBEUk1fQ09MT1JfRk9STUFUX1lDUkNC NDQ0KQorCQlyZXR1cm4gRFJNX0hETUlfT1VUUFVUX1lDQkNSNDIwOworCWVsc2UgeworCQlEUk1f RVJST1IoIlNpbmsgZG9lcyd0IHN1cHBvcnQgYW55IFlDQkNSIG91dHB1dFxuIik7CisJCXJldHVy biBEUk1fSERNSV9PVVRQVVRfSU5WQUxJRDsKKwl9Cit9CisKK3N0YXRpYyBpbmxpbmUgZW51bSBk cm1faGRtaV9vdXRwdXRfdHlwZQoraW50ZWxfaGRtaV9jb21wdXRlX3ljYmNyX2NvbmZpZyhzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSwKKwkJCSAgICAgICBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY29uZmlnLAorCQkJICAgICAgIGludCAqY2xvY2tfMTJicGMsIGludCAq Y2xvY2tfOGJwYykKK3sKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gY29ubl9z dGF0ZS0+Y29ubmVjdG9yOworCXN0cnVjdCBkcm1fZGlzcGxheV9pbmZvICppbmZvID0gJmNvbm5l Y3Rvci0+ZGlzcGxheV9pbmZvOworCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlID0gJmNv bmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOworCWVudW0gZHJtX2hkbWlfb3V0cHV0X3R5cGUgdHlw ZSA9IGNvbm5fc3RhdGUtPmhkbWlfb3V0cHV0OworCisJaWYgKHR5cGUgPT0gRFJNX0hETUlfT1VU UFVUX1lDQkNSX0hRKSB7CisJCXR5cGUgPSBfZ2V0X2hpZ2hlc3RfcXVhbGl0eV95Y2Jjcl9zdXBw b3J0ZWQoaW5mbywgbW9kZSk7CisJCWlmICh0eXBlID09IERSTV9IRE1JX09VVFBVVF9JTlZBTElE KSB7CisJCQlEUk1fRVJST1IoIkNhbid0IHN1cHBvcnQgbW9kZSAlcyBpbiBZQ0JDUiBmb3JtYXRc biIsCisJCQkJICBtb2RlLT5uYW1lKTsKKwkJCXJldHVybiBEUk1fSERNSV9PVVRQVVRfSU5WQUxJ RDsKKwkJfQorCX0gZWxzZSBpZiAodHlwZSA9PSBEUk1fSERNSV9PVVRQVVRfWUNCQ1JfTFEpIHsK KwkJdHlwZSA9IF9nZXRfbG93ZXN0X3F1YWxpdHlfeWNiY3Jfc3VwcG9ydGVkKGluZm8sIG1vZGUp OworCQlpZiAodHlwZSA9PSBEUk1fSERNSV9PVVRQVVRfSU5WQUxJRCkgeworCQkJRFJNX0VSUk9S KCJDYW4ndCBzdXBwb3J0IG1vZGUgJXMgaW4gWUNCQ1IgZm9ybWF0XG4iLAorCQkJCSAgbW9kZS0+ bmFtZSk7CisJCQlyZXR1cm4gRFJNX0hETUlfT1VUUFVUX0lOVkFMSUQ7CisJCX0KKwl9IGVsc2Ug aWYgKCFfY2hlY2tfeWNiY3Jfc2lua19zdXBwb3J0KGluZm8sIHR5cGUpKSB7CisJCURSTV9FUlJP UigiU2luayBkb2Vzbid0IHN1cHBvcnQgb3V0cHV0IG1vZGUgJXNcbiIsCisJCQkgIGRybV9nZXRf aGRtaV9vdXRwdXRfbmFtZSh0eXBlKSk7CisJCXJldHVybiBEUk1fSERNSV9PVVRQVVRfSU5WQUxJ RDsKKwl9CisKKwkvKiBOb3cgZGVhbCB3aXRoIHRoZSBwcmVmZXJyZWQgYW5kIHN1cHBvcnRlZCBv dXRwdXQgKi8KKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIERSTV9IRE1JX09VVFBVVF9ZQ0JDUjQy MDoKKwkJLyoKKwkJICogU2lua3MgY2FuIHN1cHBvcnQgeWNiY3I0MjAgb3V0cHV0IG9uIGEgbW9k ZS1ieS1tb2RlCisJCSAqIGJhc2lzLCBzbyBjaGVjayBpZiB0aGlzIG1vZGUgaXMgc3VwcG9ydGVk IGFzIDQyMCBvdXRwdXQKKwkJICogbW9kZS4KKwkJICovCisJCWlmICghX2NoZWNrX3ljYmNyX21v ZGVfc3VwcG9ydChtb2RlKSkgeworCQkJRFJNX0VSUk9SKCJTaW5rIGNhbnQgc3VwcG9ydCAlcyBv dXRwdXQgd2l0aCAlcyBtb2RlXG4iLAorCQkJCSAgZHJtX2dldF9oZG1pX291dHB1dF9uYW1lKHR5 cGUpLAorCQkJCSAgbW9kZS0+bmFtZSk7CisJCQlyZXR1cm4gRFJNX0hETUlfT1VUUFVUX0lOVkFM SUQ7CisJCX0KKworCQkvKiB5Y2JjciA0MjAgVE1EUyByYXRlIHJlcXVpcmVtZW50IGlzIGhhbGYg dGhlIHBpeGVsIGNsb2NrICovCisJCWNvbmZpZy0+aGRtaV9vdXRwdXQgPSBEUk1fSERNSV9PVVRQ VVRfWUNCQ1I0MjA7CisJCWNvbmZpZy0+cG9ydF9jbG9jayAvPSAyOworCQkqY2xvY2tfMTJicGMg Lz0gMjsKKwkJKmNsb2NrXzhicGMgLz0gMjsKKwkJYnJlYWs7CisKKwljYXNlIERSTV9IRE1JX09V VFBVVF9ZQ0JDUjQyMjoKKwljYXNlIERSTV9IRE1JX09VVFBVVF9ZQ0JDUjQ0NDoKKwkJYnJlYWs7 CisKKwljYXNlIERSTV9IRE1JX09VVFBVVF9JTlZBTElEOgorCWRlZmF1bHQ6CisJCURSTV9FUlJP UigiSW52YWxpZCBZQ0JDUiBvdXRwdXRcbiIpOworCQlyZXR1cm4gRFJNX0hETUlfT1VUUFVUX0lO VkFMSUQ7CisJfQorCisJLyogRW5jb2RlciBpcyBjYXBhYmxlIG9mIHRoaXMgb3V0cHV0LCBsZXRz IGNvbW1pdCB0byBDUlRDICovCisJY29uZmlnLT5oZG1pX291dHB1dCA9IHR5cGU7CisJRFJNX0RF QlVHX0tNUygiSERNSSBvdXRwdXQgdHlwZSBpcyAlc1xuIiwKKwkJICAgICAgZHJtX2dldF9oZG1p X291dHB1dF9uYW1lKHR5cGUpKTsKKwlyZXR1cm4gdHlwZTsKK30KKwogYm9vbCBpbnRlbF9oZG1p X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICAg IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAkJCSAgICAgICBzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKQEAgLTEzNDAsNyArMTQ4MSwxMCBAQCBi b29sIGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCiAJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaSgm ZW5jb2Rlci0+YmFzZSk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVz dGVkX21vZGUgPSAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKLQlzdHJ1Y3QgZHJt X3NjZGMgKnNjZGMgPSAmY29ubl9zdGF0ZS0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGRtaS5z Y2RjOworCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBjb25uX3N0YXRlLT5jb25u ZWN0b3I7CisJc3RydWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAmY29ubmVjdG9yLT5kaXNw bGF5X2luZm87CisJc3RydWN0IGRybV9zY2RjICpzY2RjID0gJmluZm8tPmhkbWkuc2NkYzsKKwll bnVtIGRybV9oZG1pX291dHB1dF90eXBlIGhkbWlfb3V0ID0gY29ubl9zdGF0ZS0+aGRtaV9vdXRw dXQ7CiAJaW50IGNsb2NrXzhicGMgPSBwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLmNy dGNfY2xvY2s7CiAJaW50IGNsb2NrXzEyYnBjID0gY2xvY2tfOGJwYyAqIDMgLyAyOwogCWludCBk ZXNpcmVkX2JwcDsKQEAgLTEzNjcsNiArMTUxMSwxNyBAQCBib29sIGludGVsX2hkbWlfY29tcHV0 ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCWNsb2NrXzEyYnBjICo9 IDI7CiAJfQogCisJLyogWUNCQ1IgSERNSSBvdXRwdXQgKi8KKwlpZiAoaGRtaV9vdXQgPiBEUk1f SERNSV9PVVRQVVRfREVGQVVMVF9SR0IpIHsKKwkJaGRtaV9vdXQgPSBpbnRlbF9oZG1pX2NvbXB1 dGVfeWNiY3JfY29uZmlnKGNvbm5fc3RhdGUsCisJCQkJCQkgICBwaXBlX2NvbmZpZywgJmNsb2Nr XzEyYnBjLAorCQkJCQkJICAgJmNsb2NrXzhicGMpOworCQlpZiAoaGRtaV9vdXQgPT0gRFJNX0hE TUlfT1VUUFVUX0lOVkFMSUQpIHsKKwkJCURSTV9FUlJPUigiQ2FuJ3Qgc3VwcG9ydCBkZXNpcmVk IEhETUkgb3V0cHV0XG4iKTsKKwkJCXJldHVybiBmYWxzZTsKKwkJfQorCX0KKwogCWlmIChIQVNf UENIX1NQTElUKGRldl9wcml2KSAmJiAhSEFTX0RESShkZXZfcHJpdikpCiAJCXBpcGVfY29uZmln LT5oYXNfcGNoX2VuY29kZXIgPSB0cnVlOwogCkBAIC0xMzgxLDcgKzE1MzYsNyBAQCBib29sIGlu dGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJ ICovCiAJaWYgKHBpcGVfY29uZmlnLT5waXBlX2JwcCA+IDgqMyAmJiBwaXBlX2NvbmZpZy0+aGFz X2hkbWlfc2luayAmJgogCSAgICBoZG1pX3BvcnRfY2xvY2tfdmFsaWQoaW50ZWxfaGRtaSwgY2xv Y2tfMTJicGMsIHRydWUpID09IE1PREVfT0sgJiYKLQkgICAgaGRtaV8xMmJwY19wb3NzaWJsZShw aXBlX2NvbmZpZykpIHsKKwkgICAgaGRtaV8xMmJwY19wb3NzaWJsZShwaXBlX2NvbmZpZywgaGRt aV9vdXQpKSB7CiAJCURSTV9ERUJVR19LTVMoInBpY2tpbmcgYnBjIHRvIDEyIGZvciBIRE1JIG91 dHB1dFxuIik7CiAJCWRlc2lyZWRfYnBwID0gMTIqMzsKIAotLSAKMi43LjQKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=