From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v12 8/8] drm/i915: Add YCBCR 4:2:0/4:4:4 support for LSPCON Date: Fri, 12 Oct 2018 11:53:14 +0530 Message-ID: <1539325394-20788-8-git-send-email-shashank.sharma@intel.com> References: <1539325394-20788-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: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 257186E446 for ; Fri, 12 Oct 2018 06:16:28 +0000 (UTC) In-Reply-To: <1539325394-20788-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAbGludXguaW50ZWwuY29tPgoK TFNQQ09OIGNoaXBzIGNhbiBnZW5lcmF0ZSBZQ0JDUiBvdXRwdXRzLCBpZiBhc2tlZCBuaWNlbHkg OikuCgpJbiBvcmRlciB0byBnZW5lcmF0ZSBZQ0JDUiA0OjI6MCBvdXRwdXRzLCBhIHNvdXJjZSBt dXN0OgotIHNlbmQgWUNCQ1IgNDo0OjQgc2lnbmFscyB0byBMU1BDT04KLSBwcm9ncmFtIGNvbG9y IHNwYWNlIGFzIDQ6MjowIGluIEFWSSBpbmZvZnJhbWVzCgpXaGVyZWFzIGZvciBZQ0JDUiA0OjQ6 NCBvdXRwdXRzLCB0aGUgc291cmNlIG11c3Q6Ci0gc2VuZCBZQ0JDUiA0OjQ6NCBzaWduYWxzIHRv IExTUENPTgotIHByb2dyYW0gY29sb3Igc3BhY2UgYXMgNDo0OjQgaW4gQVZJIGluZm9mcmFtZXMK ClNvIGZvciBib3RoIDQ6MjowIGFzIHdlbGwgYXMgNDo0OjQgb3V0cHV0cywgd2UgYXJlIGRyaXZp bmcgdGhlCnBpcGUgZm9yIFlDQkNSIDQ6NDo0IG91dHB1dCwgYnV0IEFWSSBpbmZvZnJhbWUncyBj b2xvciBzcGFjZQppbmZvcm1hdGlvbiBpbmRpY2F0ZXMgTFNQQ09OIEZXIHRvIHN0YXJ0IHNjYWxp bmcgZG93biBmcm9tIFlDQkNSCjQ6NDo0IGFuZCBnZW5lcmF0ZSBZQ0JDUiA0OjI6MCBvdXRwdXQu IEFzIHRoZSBzY2FsaW5nIGlzIGRvbmUgYnkKTFNQQ09OIGRldmljZSwgd2UgbmVlZCBub3QgdG8g cmVzZXJ2ZSBhIHNjYWxlciBmb3IgNDoyOjAgb3V0cHV0cy4KClYyOiByZWJhc2UKVjM6IEFkZHJl c3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBWaWxsZQogICAgLSBhZGQgZW51bSBjcnRjX291dHB1 dF9mb3JtYXQgaW5zdGVhZCBvZiBib29sIHljYmNyNDIwCiAgICAtIHVzZSBjcnRjX291dHB1dF9m b3JtYXQ9NDo0OjQgZm9yIG1vZGVzZXQgb2YgTFNQQ09OIDQ6MjowIG91dHB1dAogICAgICBjYXNl cyBpbiB0aGlzIHdheSB3ZSB3aWxsIGhhdmUgWUNCQ1IgNDo0OjQgZnJhbWV3b3JrIHJlYWR5IChl eGNlcHQKICAgICAgdGhlIEFCSSBwYXJ0KQpWNDogQWRkZWQgci1iIGZyb20gTWFhcnRlbiAoZm9y IHYzKQogICAgQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIFZpbGxlOgogICAgLSBEbyBu b3QgYWRkIGEgbm9uLWF0b21pYyBzdGF0ZSB2YXJpYWJsZSB0byBkZXRlcm1pbmUgbHNwY29uIG91 dHB1dC4KICAgICAgSW5zdGVhZCBhZGQgYm9vbCBpbiBDUlRDIHN0YXRlIHRvIGluZGljYXRlIGxz cGNvbiBiYXNlZCBzY2FsaW5nLgpWNTogQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIFZp bGxlOgogICAgLSBDaGFuZ2UgdGhlIHN0YXRlIGJvb2wgbmFtZSBmcm9tIGV4dGVybmFsIHNjYWxp bmcgdG8gc29tZXRoaW5nIG1vcmUKICAgICAgcmVsYXZlbnQuCiAgICAtIEtlZXAgdGhlIGluZm8g YW5kIGFkanVzdGVkX21vZGUgc3RydWN0dXJlcyBjb25zdC4KICAgIC0gdXNlIGNydGNfc3RhdGUg aW5zdGVhZCBvZiBwaXBlX2NvbmZpZy4KICAgIC0gUHVzaCBhbGwgdGhlIGNvbmZpZyBjaGFuZ2Ug aW50byBsc3Bjb25feWNiY3I0MjBfY29uZmlnIGZ1bmN0aW9uLgpWNjogUmViYXNlLCBzbWFsbCBj aGFuZ2VzIHRvIGFjY29tbW9kYXRlIGNoYW5nZXMgaW4gcGF0Y2ggMi4KVjc6IEZpeGVkIGNoZWNr cGF0Y2ggd2FybmluZ3MgZm9yIGFsaWdubWVudApWODogUmViYXNlCgogICAgUFM6IElnbm9yZWQg Zm9sbG93aW5nIHdhcm5pbmdzIHRvIG1hdGNoIHRoZSBjdXJyZW50IGZvcm1hdHRpbmc6CiAgICBk cm0vaTkxNTogQWRkIFlDQkNSIDQ6MjowLzQ6NDo0IHN1cHBvcnQgZm9yIExTUENPTgogICAgIC06 NTM6IENIRUNLOlNQQUNJTkc6IHNwYWNlcyBwcmVmZXJyZWQgYXJvdW5kIHRoYXQgJzw8JyAoY3R4 OlZ4VikKICAgICM1MzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaDo4NzIx OgogICAgKyNkZWZpbmUgIFRSQU5TX01TQV9TQU1QTElOR180NDQgICAgICAgICgyPDwxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAtOjU0OiBDSEVDSzpT UEFDSU5HOiBzcGFjZXMgcHJlZmVycmVkIGFyb3VuZCB0aGF0ICc8PCcgKGN0eDpWeFYpCiAgICAj NTQ6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmg6ODcyMjoKICAgICsjZGVm aW5lICBUUkFOU19NU0FfQ0xSU1BfWUNCQ1IgICAgICAgICAoMjw8MykKVjk6IFJlYmFzZQpWMTA6 IFJlYmFzZQpWMTE6IFJlYmFzZQoKQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPgpDYzogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxp bnV4LmludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxh bmtob3JzdEBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8 c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oICAgICAgfCAgMiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAg IHwgIDcgKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMTIg KysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAgfCAgNCAr KysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgNSArKysrKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMgIHwgMjYgKysrKysrKysrKysrKysrKysr KysrKysrKysKIDYgZmlsZXMgY2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCmluZGV4IDIwNzg1NDEuLjFlMTNlNTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aApAQCAtOTIyOSw2ICs5MjI5LDggQEAgZW51bSBza2xfcG93ZXJfZ2F0ZSB7CiAjZGVmaW5lIFRS QU5TX01TQV9NSVNDKHRyYW4pIF9NTUlPX1RSQU5TMih0cmFuLCBfVFJBTlNBX01TQV9NSVNDKQog CiAjZGVmaW5lICBUUkFOU19NU0FfU1lOQ19DTEsJCSgxIDw8IDApCisjZGVmaW5lICBUUkFOU19N U0FfU0FNUExJTkdfNDQ0CQkoMiA8PCAxKQorI2RlZmluZSAgVFJBTlNfTVNBX0NMUlNQX1lDQkNS CQkoMiA8PCAzKQogI2RlZmluZSAgVFJBTlNfTVNBXzZfQlBDCQkoMCA8PCA1KQogI2RlZmluZSAg VFJBTlNfTVNBXzhfQlBDCQkoMSA8PCA1KQogI2RlZmluZSAgVFJBTlNfTVNBXzEwX0JQQwkJKDIg PDwgNSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKaW5kZXggYmUyMTEzMS4uMTg2MTExYSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKQEAgLTE3ODQsNiArMTc4NCwxMyBAQCB2b2lkIGludGVs X2RkaV9zZXRfcGlwZV9zZXR0aW5ncyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSkKIAkJYnJlYWs7CiAJfQogCisJLyoKKwkgKiBBcyBwZXIgRFAgMS4yIHNwZWMgc2Vj dGlvbiAyLjMuNC4zIHdoaWxlIHNlbmRpbmcKKwkgKiBZQ0JDUiA0NDQgc2lnbmFscyB3ZSBzaG91 bGQgcHJvZ3JhbSBNU0EgTUlTQzEvMCBmaWVsZHMgd2l0aAorCSAqIGNvbG9yc3BhY2UgaW5mb3Jt YXRpb24uIFRoZSBvdXRwdXQgY29sb3JzcGFjZSBlbmNvZGluZyBpcyBCVDYwMS4KKwkgKi8KKwlp ZiAoY3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1hdCA9PSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNS NDQ0KQorCQl0ZW1wIHw9IFRSQU5TX01TQV9TQU1QTElOR180NDQgfCBUUkFOU19NU0FfQ0xSU1Bf WUNCQ1I7CiAJSTkxNV9XUklURShUUkFOU19NU0FfTUlTQyhjcHVfdHJhbnNjb2RlciksIHRlbXAp OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggMzMxN2M2Yy4uNDFh YmQwMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtNzc5Nyw2ICs3Nzk3 LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZ2V0X2NydGNfeWNiY3JfY29uZmlnKHN0cnVjdCBpbnRl bF9jcnRjICpjcnRjLAogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gaW50ZWxfb3V0cHV0X2Zvcm1hdCBvdXRwdXQgPSBJ TlRFTF9PVVRQVVRfRk9STUFUX1JHQjsKIAorCXBpcGVfY29uZmlnLT5sc3Bjb25fZG93bnNhbXBs aW5nID0gZmFsc2U7CisKIAlpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSB8fCBJTlRFTF9HRU4o ZGV2X3ByaXYpID49IDkpIHsKIAkJdTMyIHRtcCA9IEk5MTVfUkVBRChQSVBFTUlTQyhjcnRjLT5w aXBlKSk7CiAKQEAgLTc4MTQsNiArNzgxNiwxNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9nZXRfY3J0 Y195Y2Jjcl9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJCQkJZWxzZQogCQkJCQlv dXRwdXQgPSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNSNDIwOwogCQkJfSBlbHNlIHsKKwkJCQkv KgorCQkJCSAqIEN1cnJlbnRseSB0aGVyZSBpcyBubyBpbnRlcmZhY2UgZGVmaW5lZCB0bworCQkJ CSAqIGNoZWNrIHVzZXIgcHJlZmVyZW5jZSBiZXR3ZWVuIFJHQi9ZQ0JDUjQ0NAorCQkJCSAqIG9y IFlDQkNSNDIwLiBTbyB0aGUgb25seSBwb3NzaWJsZSBjYXNlIGZvcgorCQkJCSAqIFlDQkNSNDQ0 IHVzYWdlIGlzIGRyaXZpbmcgWUNCQ1I0MjAgb3V0cHV0CisJCQkJICogd2l0aCBMU1BDT04sIHdo ZW4gcGlwZSBpcyBjb25maWd1cmVkIGZvcgorCQkJCSAqIFlDQkNSNDQ0IG91dHB1dCBhbmQgTFNQ Q09OIHRha2VzIGNhcmUgb2YKKwkJCQkgKiBkb3duc2FtcGxpbmcgaXQuCisJCQkJICovCisJCQkJ cGlwZV9jb25maWctPmxzcGNvbl9kb3duc2FtcGxpbmcgPSB0cnVlOwogCQkJCW91dHB1dCA9IElO VEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0NDQ7CiAJCQl9CiAJCX0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cC5jCmluZGV4IGMzZjYzMzAuLjExNTZkNTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAt MjA3NCw2ICsyMDc0LDcgQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVz dGVkX21vZGUgPSAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKIAlzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1 Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24gPSBlbmNfdG9faW50ZWxfbHNwY29uKCZlbmNvZGVyLT5i YXNlKTsKIAllbnVtIHBvcnQgcG9ydCA9IGVuY29kZXItPnBvcnQ7CiAJc3RydWN0IGludGVsX2Ny dGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpOwog CXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9IGludGVsX2RwLT5hdHRh Y2hlZF9jb25uZWN0b3I7CkBAIC0yMDg2LDYgKzIwODcsOSBAQCBpbnRlbF9kcF9jb21wdXRlX2Nv bmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJcGlwZV9jb25maWctPmhhc19w Y2hfZW5jb2RlciA9IHRydWU7CiAKIAlwaXBlX2NvbmZpZy0+b3V0cHV0X2Zvcm1hdCA9IElOVEVM X09VVFBVVF9GT1JNQVRfUkdCOworCWlmIChsc3Bjb24tPmFjdGl2ZSkKKwkJbHNwY29uX3ljYmNy NDIwX2NvbmZpZygmaW50ZWxfY29ubmVjdG9yLT5iYXNlLCBwaXBlX2NvbmZpZyk7CisKIAlwaXBl X2NvbmZpZy0+aGFzX2RycnMgPSBmYWxzZTsKIAlpZiAoSVNfRzRYKGRldl9wcml2KSB8fCBwb3J0 ID09IFBPUlRfQSkKIAkJcGlwZV9jb25maWctPmhhc19hdWRpbyA9IGZhbHNlOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAppbmRleCBiOGU1Zjk1Li45NWUyNTJlIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaApAQCAtOTA4LDYgKzkwOCw5IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKIAog CS8qIE91dHB1dCBmb3JtYXQgUkdCL1lDQkNSIGV0YyAqLwogCWVudW0gaW50ZWxfb3V0cHV0X2Zv cm1hdCBvdXRwdXRfZm9ybWF0OworCisJLyogT3V0cHV0IGRvd24gc2NhbGluZyBpcyBkb25lIGlu IExTUENPTiBkZXZpY2UgKi8KKwlib29sIGxzcGNvbl9kb3duc2FtcGxpbmc7CiB9OwogCiBzdHJ1 Y3QgaW50ZWxfY3J0YyB7CkBAIC0yMjI1LDYgKzIyMjgsOCBAQCB2b2lkIGxzcGNvbl9zZXRfaW5m b2ZyYW1lcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgIGNvbnN0IHN0cnVj dCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKTsKIGJvb2wgbHNwY29uX2luZm9mcmFt ZV9lbmFibGVkKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICAgY29uc3Qg c3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKK3ZvaWQgbHNwY29uX3ljYmNy NDIwX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAorCQkJICAgIHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKIAogLyogaW50ZWxfcGlwZV9jcmMuYyAq LwogI2lmZGVmIENPTkZJR19ERUJVR19GUwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHNwY29uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwpp bmRleCA4MjljNDBhLi5mZmYzMmIzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9sc3Bjb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sc3Bjb24uYwpA QCAtMTgwLDYgKzE4MCwyMSBAQCBzdGF0aWMgYm9vbCBsc3Bjb25fd2FrZV9uYXRpdmVfYXV4X2No KHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbikKIAlyZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBs c3Bjb25feWNiY3I0MjBfY29uZmlnKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCisJ CQkgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCit7CisJY29uc3Qgc3Ry dWN0IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5X2luZm87CisJ Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQorCQkJCQkmY3J0 Y19zdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlOworCisJaWYgKGRybV9tb2RlX2lzXzQyMF9vbmx5 KGluZm8sIGFkanVzdGVkX21vZGUpICYmCisJICAgIGNvbm5lY3Rvci0+eWNiY3JfNDIwX2FsbG93 ZWQpIHsKKwkJY3J0Y19zdGF0ZS0+cG9ydF9jbG9jayAvPSAyOworCQljcnRjX3N0YXRlLT5vdXRw dXRfZm9ybWF0ID0gSU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQ0NDsKKwkJY3J0Y19zdGF0ZS0+ bHNwY29uX2Rvd25zYW1wbGluZyA9IHRydWU7CisJfQorfQorCiBzdGF0aWMgYm9vbCBsc3Bjb25f cHJvYmUoc3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29uKQogewogCWludCByZXRyeTsKQEAgLTQ2 NCw2ICs0NzksMTUgQEAgdm9pZCBsc3Bjb25fc2V0X2luZm9mcmFtZXMoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCiAJCXJldHVybjsKIAl9CiAKKwlpZiAoY3J0Y19zdGF0ZS0+b3V0cHV0 X2Zvcm1hdCA9PSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNSNDQ0KSB7CisJCWlmIChjcnRjX3N0 YXRlLT5sc3Bjb25fZG93bnNhbXBsaW5nKQorCQkJZnJhbWUuYXZpLmNvbG9yc3BhY2UgPSBIRE1J X0NPTE9SU1BBQ0VfWVVWNDIwOworCQllbHNlCisJCQlmcmFtZS5hdmkuY29sb3JzcGFjZSA9IEhE TUlfQ09MT1JTUEFDRV9ZVVY0NDQ7CisJfSBlbHNlIHsKKwkJZnJhbWUuYXZpLmNvbG9yc3BhY2Ug PSBIRE1JX0NPTE9SU1BBQ0VfUkdCOworCX0KKwogCWRybV9oZG1pX2F2aV9pbmZvZnJhbWVfcXVh bnRfcmFuZ2UoJmZyYW1lLmF2aSwgbW9kZSwKIAkJCQkJICAgY3J0Y19zdGF0ZS0+bGltaXRlZF9j b2xvcl9yYW5nZSA/CiAJCQkJCSAgIEhETUlfUVVBTlRJWkFUSU9OX1JBTkdFX0xJTUlURUQgOgpA QCAtNTE3LDYgKzU0MSw3IEBAIGJvb2wgbHNwY29uX2luaXQoc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqaW50ZWxfZGlnX3BvcnQpCiAJc3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29uID0gJmlu dGVsX2RpZ19wb3J0LT5sc3Bjb247CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2Rp Z19wb3J0LT5iYXNlLmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoZGV2KTsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gJmRw LT5hdHRhY2hlZF9jb25uZWN0b3ItPmJhc2U7CiAKIAlpZiAoIUhBU19MU1BDT04oZGV2X3ByaXYp KSB7CiAJCURSTV9FUlJPUigiTFNQQ09OIGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9y bVxuIik7CkBAIC01NDEsNiArNTY2LDcgQEAgYm9vbCBsc3Bjb25faW5pdChzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCkKIAkJcmV0dXJuIGZhbHNlOwogCX0KIAorCWNv bm5lY3Rvci0+eWNiY3JfNDIwX2FsbG93ZWQgPSB0cnVlOwogCWxzcGNvbi0+YWN0aXZlID0gdHJ1 ZTsKIAlEUk1fREVCVUdfS01TKCJTdWNjZXNzOiBMU1BDT04gaW5pdFxuIik7CiAJcmV0dXJuIHRy dWU7Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==