From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9210DC4320A for ; Thu, 29 Jul 2021 21:51:32 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 544B460F23 for ; Thu, 29 Jul 2021 21:51:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 544B460F23 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 035906EE7C; Thu, 29 Jul 2021 21:51:30 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3BFE7896B5 for ; Thu, 29 Jul 2021 21:51:23 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10060"; a="192578342" X-IronPort-AV: E=Sophos;i="5.84,279,1620716400"; d="scan'208";a="192578342" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jul 2021 14:51:22 -0700 X-IronPort-AV: E=Sophos;i="5.84,279,1620716400"; d="scan'208";a="664570754" Received: from josouza-mobl2.jf.intel.com (HELO josouza-mobl2.intel.com) ([10.24.14.59]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jul 2021 14:51:22 -0700 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= To: intel-gfx@lists.freedesktop.org Date: Thu, 29 Jul 2021 14:55:37 -0700 Message-Id: <20210729215545.192606-2-jose.souza@intel.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210729215545.192606-1-jose.souza@intel.com> References: <20210729215545.192606-1-jose.souza@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH CI 02/10] drm/i915/bios: Start to support two integrated panels X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jani Nikula Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" VkJUIGhhcyBzdXBwb3J0IGZvciB1cCB0d28gaW50ZWdyYXRlZCBwYW5lbHMgYnV0IGk5MTUgb25s eSBzdXBwb3J0cyBvbmUuCgpTbyBoZXJlIHN0YXRpbmcgdG8gYWRkIHRoZSBiYXNpYyBzdXBwb3J0 IGZvciB0d28gaW50ZWdyYXRlZCBwYW5lbHMKYW5kIG1vdmluZyB0aGUgRFJSUyB0byBkZGlfdmJ0 X3BvcnRfaW5mbyBpbnN0ZWFkIG9mIGtlZXBpbmcgYSBnbG9iYWwKb25lLgpPdGhlciBWQlQgYmxv Y2tzIHdpbGwgYmUgY29udmVydGVkIGluIGZvbGxvd2luZyBwYXRjaGVzLgoKV2hpbGUgYXQgaXMg YWxzbyBudWNraW5nIGx2ZHNfZGl0aGVyIGFzIGl0IGlzIG5vdCB1c2VkLgoKUmV2aWV3ZWQtYnk6 IE1hdHQgQXR3b29kIDxtYXR0aGV3LnMuYXR3b29kQGludGVsLmNvbT4KQ2M6IFZpbGxlIFN5cmrD pGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+CkNjOiBKYW5pIE5pa3VsYSA8amFu aS5uaWt1bGFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXph IDxqb3NlLnNvdXphQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2Jpb3MuYyAgICAgfCAxODUgKysrKysrKysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2Jpb3MuaCAgICAgfCAgIDIgKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jICAgICAgIHwgICA1ICstCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX3ZidF9kZWZzLmggfCAgIDMgKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgIHwgICA1ICstCiA1IGZpbGVzIGNoYW5nZWQsIDE1 MCBpbnNlcnRpb25zKCspLCA1MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Jpb3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfYmlvcy5jCmluZGV4IGE2Y2IzM2Y4NDdhNDMuLjk0MzliZmUzMmIxMzYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5jCkBAIC0yMTEsMjIgKzIx MSwyMCBAQCBnZXRfbHZkc19mcF90aW1pbmcoY29uc3Qgc3RydWN0IGJkYl9oZWFkZXIgKmJkYiwK IAlyZXR1cm4gKGNvbnN0IHN0cnVjdCBsdmRzX2ZwX3RpbWluZyAqKSgoY29uc3QgdTggKiliZGIg KyBvZnMpOwogfQogCi0vKiBQYXJzZSBnZW5lcmFsIHBhbmVsIG9wdGlvbnMgKi8KLXN0YXRpYyB2 b2lkCi1wYXJzZV9wYW5lbF9vcHRpb25zKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAot CQkgICAgY29uc3Qgc3RydWN0IGJkYl9oZWFkZXIgKmJkYikKKy8qCisgKiBQYXJzZSBhbmQgc2V0 IHZidC5wYW5lbF90eXBlLCBpdCB3aWxsIGJlIHVzZWQgYnkgdGhlIFZCVCBibG9ja3MgdGhhdCBh cmUKKyAqIG5vdCBiZWluZyBjYWxsZWQgZnJvbSBwYXJzZV9pbnRlZ3JhdGVkX3BhbmVsKCkgeWV0 LgorICovCitzdGF0aWMgdm9pZCBwYXJzZV9wYW5lbF90eXBlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1LAorCQkJICAgICBjb25zdCBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiKQogewogCWNv bnN0IHN0cnVjdCBiZGJfbHZkc19vcHRpb25zICpsdmRzX29wdGlvbnM7Ci0JaW50IHBhbmVsX3R5 cGU7Ci0JaW50IGRycnNfbW9kZTsKLQlpbnQgcmV0OworCWludCByZXQsIHBhbmVsX3R5cGU7CiAK IAlsdmRzX29wdGlvbnMgPSBmaW5kX3NlY3Rpb24oYmRiLCBCREJfTFZEU19PUFRJT05TKTsKIAlp ZiAoIWx2ZHNfb3B0aW9ucykKIAkJcmV0dXJuOwogCi0JaTkxNS0+dmJ0Lmx2ZHNfZGl0aGVyID0g bHZkc19vcHRpb25zLT5waXhlbF9kaXRoZXI7Ci0KIAlyZXQgPSBpbnRlbF9vcHJlZ2lvbl9nZXRf cGFuZWxfdHlwZShpOTE1KTsKIAlpZiAocmV0ID49IDApIHsKIAkJZHJtX1dBUk5fT04oJmk5MTUt PmRybSwgcmV0ID4gMHhmKTsKQEAgLTI0Niw5ICsyNDQsMjUgQEAgcGFyc2VfcGFuZWxfb3B0aW9u cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAl9CiAKIAlpOTE1LT52YnQucGFuZWxf dHlwZSA9IHBhbmVsX3R5cGU7Cit9CisKKy8qIFBhcnNlIGdlbmVyYWwgcGFuZWwgb3B0aW9ucyAq Lworc3RhdGljIHZvaWQKK3BhcnNlX3BhbmVsX29wdGlvbnMoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUsCisJCSAgICBjb25zdCBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiLAorCQkgICAgc3Ry dWN0IGRkaV92YnRfcG9ydF9pbmZvICppbmZvLAorCQkgICAgaW50IHBhbmVsX2luZGV4KQorewor CWNvbnN0IHN0cnVjdCBiZGJfbHZkc19vcHRpb25zICpsdmRzX29wdGlvbnM7CisJaW50IGRycnNf bW9kZTsKKworCWx2ZHNfb3B0aW9ucyA9IGZpbmRfc2VjdGlvbihiZGIsIEJEQl9MVkRTX09QVElP TlMpOworCWlmICghbHZkc19vcHRpb25zKQorCQlyZXR1cm47CisKKwlkcnJzX21vZGUgPSBsdmRz X29wdGlvbnMtPmRwc19wYW5lbF90eXBlX2JpdHMgPj4gKHBhbmVsX2luZGV4ICogMik7CisJZHJy c19tb2RlICY9IE1PREVfTUFTSzsKIAotCWRycnNfbW9kZSA9IChsdmRzX29wdGlvbnMtPmRwc19w YW5lbF90eXBlX2JpdHMKLQkJCQk+PiAocGFuZWxfdHlwZSAqIDIpKSAmIE1PREVfTUFTSzsKIAkv KgogCSAqIFZCVCBoYXMgc3RhdGljIERSUlMgPSAwIGFuZCBzZWFtbGVzcyBEUlJTID0gMi4KIAkg KiBUaGUgYmVsb3cgcGllY2Ugb2YgY29kZSBpcyByZXF1aXJlZCB0byBhZGp1c3QgdmJ0LmRycnNf dHlwZQpAQCAtMjU2LDE2ICsyNzAsMTYgQEAgcGFyc2VfcGFuZWxfb3B0aW9ucyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAkgKi8KIAlzd2l0Y2ggKGRycnNfbW9kZSkgewogCWNhc2Ug MDoKLQkJaTkxNS0+dmJ0LmRycnNfdHlwZSA9IFNUQVRJQ19EUlJTX1NVUFBPUlQ7CisJCWluZm8t PmRycnNfdHlwZSA9IFNUQVRJQ19EUlJTX1NVUFBPUlQ7CiAJCWRybV9kYmdfa21zKCZpOTE1LT5k cm0sICJEUlJTIHN1cHBvcnRlZCBtb2RlIGlzIHN0YXRpY1xuIik7CiAJCWJyZWFrOwogCWNhc2Ug MjoKLQkJaTkxNS0+dmJ0LmRycnNfdHlwZSA9IFNFQU1MRVNTX0RSUlNfU1VQUE9SVDsKKwkJaW5m by0+ZHJyc190eXBlID0gU0VBTUxFU1NfRFJSU19TVVBQT1JUOwogCQlkcm1fZGJnX2ttcygmaTkx NS0+ZHJtLAogCQkJICAgICJEUlJTIHN1cHBvcnRlZCBtb2RlIGlzIHNlYW1sZXNzXG4iKTsKIAkJ YnJlYWs7CiAJZGVmYXVsdDoKLQkJaTkxNS0+dmJ0LmRycnNfdHlwZSA9IERSUlNfTk9UX1NVUFBP UlRFRDsKKwkJaW5mby0+ZHJyc190eXBlID0gRFJSU19OT1RfU1VQUE9SVEVEOwogCQlkcm1fZGJn X2ttcygmaTkxNS0+ZHJtLAogCQkJICAgICJEUlJTIG5vdCBzdXBwb3J0ZWQgKFZCVCBpbnB1dClc biIpOwogCQlicmVhazsKQEAgLTcxMCwyOCArNzI0LDQyIEBAIHBhcnNlX2RyaXZlcl9mZWF0dXJl cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAkJCWk5MTUtPnZidC5pbnRfbHZkc19z dXBwb3J0ID0gMDsKIAl9CiAKLQlpZiAoYmRiLT52ZXJzaW9uIDwgMjI4KSB7Ci0JCWRybV9kYmdf a21zKCZpOTE1LT5kcm0sICJEUlJTIFN0YXRlIEVuYWJsZWQ6JWRcbiIsCi0JCQkgICAgZHJpdmVy LT5kcnJzX2VuYWJsZWQpOwotCQkvKgotCQkgKiBJZiBEUlJTIGlzIG5vdCBzdXBwb3J0ZWQsIGRy cnNfdHlwZSBoYXMgdG8gYmUgc2V0IHRvIDAuCi0JCSAqIFRoaXMgaXMgYmVjYXVzZSwgVkJUIGlz IGNvbmZpZ3VyZWQgaW4gc3VjaCBhIHdheSB0aGF0Ci0JCSAqIHN0YXRpYyBEUlJTIGlzIDAgYW5k IERSUlMgbm90IHN1cHBvcnRlZCBpcyByZXByZXNlbnRlZCBieQotCQkgKiBkcml2ZXItPmRycnNf ZW5hYmxlZD1mYWxzZQotCQkgKi8KLQkJaWYgKCFkcml2ZXItPmRycnNfZW5hYmxlZCkKLQkJCWk5 MTUtPnZidC5kcnJzX3R5cGUgPSBEUlJTX05PVF9TVVBQT1JURUQ7Ci0KKwlpZiAoYmRiLT52ZXJz aW9uIDwgMjI4KQogCQlpOTE1LT52YnQucHNyLmVuYWJsZSA9IGRyaXZlci0+cHNyX2VuYWJsZWQ7 Ci0JfQorfQorCitzdGF0aWMgdm9pZAorcGFyc2VfZHJpdmVyX2ZlYXR1cmVzX2RycnNfb25seShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKKwkJCQljb25zdCBzdHJ1Y3QgYmRiX2hlYWRl ciAqYmRiLAorCQkJCXN0cnVjdCBkZGlfdmJ0X3BvcnRfaW5mbyAqaW5mbykKK3sKKwljb25zdCBz dHJ1Y3QgYmRiX2RyaXZlcl9mZWF0dXJlcyAqZHJpdmVyOworCisJaWYgKGJkYi0+dmVyc2lvbiA+ PSAyMjgpCisJCXJldHVybjsKKworCWRyaXZlciA9IGZpbmRfc2VjdGlvbihiZGIsIEJEQl9EUklW RVJfRkVBVFVSRVMpOworCWlmICghZHJpdmVyKQorCQlyZXR1cm47CisKKwlkcm1fZGJnX2ttcygm aTkxNS0+ZHJtLCAiRFJSUyBTdGF0ZSBFbmFibGVkOiVkXG4iLCBkcml2ZXItPmRycnNfZW5hYmxl ZCk7CisJLyoKKwkgKiBJZiBEUlJTIGlzIG5vdCBzdXBwb3J0ZWQsIGRycnNfdHlwZSBoYXMgdG8g YmUgc2V0IHRvIDAuCisJICogVGhpcyBpcyBiZWNhdXNlLCBWQlQgaXMgY29uZmlndXJlZCBpbiBz dWNoIGEgd2F5IHRoYXQKKwkgKiBzdGF0aWMgRFJSUyBpcyAwIGFuZCBEUlJTIG5vdCBzdXBwb3J0 ZWQgaXMgcmVwcmVzZW50ZWQgYnkKKwkgKiBkcml2ZXItPmRycnNfZW5hYmxlZD1mYWxzZQorCSAq LworCWlmICghZHJpdmVyLT5kcnJzX2VuYWJsZWQpCisJCWluZm8tPmRycnNfdHlwZSA9IERSUlNf Tk9UX1NVUFBPUlRFRDsKIH0KIAogc3RhdGljIHZvaWQKIHBhcnNlX3Bvd2VyX2NvbnNlcnZhdGlv bl9mZWF0dXJlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKLQkJCQkgIGNvbnN0IHN0 cnVjdCBiZGJfaGVhZGVyICpiZGIpCisJCQkJICBjb25zdCBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRi LAorCQkJCSAgc3RydWN0IGRkaV92YnRfcG9ydF9pbmZvICppbmZvLAorCQkJCSAgaW50IHBhbmVs X2luZGV4KQogewogCWNvbnN0IHN0cnVjdCBiZGJfbGZwX3Bvd2VyICpwb3dlcjsKLQl1OCBwYW5l bF90eXBlID0gaTkxNS0+dmJ0LnBhbmVsX3R5cGU7CiAKIAlpZiAoYmRiLT52ZXJzaW9uIDwgMjI4 KQogCQlyZXR1cm47CkBAIC03NDAsNyArNzY4LDcgQEAgcGFyc2VfcG93ZXJfY29uc2VydmF0aW9u X2ZlYXR1cmVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCWlmICghcG93ZXIpCiAJ CXJldHVybjsKIAotCWk5MTUtPnZidC5wc3IuZW5hYmxlID0gcG93ZXItPnBzciAmIEJJVChwYW5l bF90eXBlKTsKKwlpOTE1LT52YnQucHNyLmVuYWJsZSA9IHBvd2VyLT5wc3IgJiBCSVQocGFuZWxf aW5kZXgpOwogCiAJLyoKIAkgKiBJZiBEUlJTIGlzIG5vdCBzdXBwb3J0ZWQsIGRycnNfdHlwZSBo YXMgdG8gYmUgc2V0IHRvIDAuCkBAIC03NDgsMTEgKzc3NiwxMSBAQCBwYXJzZV9wb3dlcl9jb25z ZXJ2YXRpb25fZmVhdHVyZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJICogc3Rh dGljIERSUlMgaXMgMCBhbmQgRFJSUyBub3Qgc3VwcG9ydGVkIGlzIHJlcHJlc2VudGVkIGJ5CiAJ ICogcG93ZXItPmRycnMgJiBCSVQocGFuZWxfdHlwZSk9ZmFsc2UKIAkgKi8KLQlpZiAoIShwb3dl ci0+ZHJycyAmIEJJVChwYW5lbF90eXBlKSkpCi0JCWk5MTUtPnZidC5kcnJzX3R5cGUgPSBEUlJT X05PVF9TVVBQT1JURUQ7CisJaWYgKCEocG93ZXItPmRycnMgJiBCSVQocGFuZWxfaW5kZXgpKSkK KwkJaW5mby0+ZHJyc190eXBlID0gRFJSU19OT1RfU1VQUE9SVEVEOwogCiAJaWYgKGJkYi0+dmVy c2lvbiA+PSAyMzIpCi0JCWk5MTUtPnZidC5lZHAuaG9ibCA9IHBvd2VyLT5ob2JsICYgQklUKHBh bmVsX3R5cGUpOworCQlpOTE1LT52YnQuZWRwLmhvYmwgPSBwb3dlci0+aG9ibCAmIEJJVChwYW5l bF9pbmRleCk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0xODg3LDYgKzE5MTUsNzQgQEAgc3RhdGlj IGJvb2wgaXNfcG9ydF92YWxpZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgZW51bSBw b3J0IHBvcnQpCiAJcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYmRiX2hl YWRlciAqZ2V0X2JkYl9oZWFkZXIoY29uc3Qgc3RydWN0IHZidF9oZWFkZXIgKnZidCkKK3sKKwlj b25zdCB2b2lkICpfdmJ0ID0gdmJ0OworCisJcmV0dXJuIF92YnQgKyB2YnQtPmJkYl9vZmZzZXQ7 Cit9CisKK3N0YXRpYyBpbnQKK2dldF9sZnBfcGFuZWxfaW5kZXgoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUsCisJCSAgICBjb25zdCBzdHJ1Y3QgYmRiX2hlYWRlciAqYmRiLCBpbnQgbGZw X3BhbmVsX2luc3RhbmNlKQoreworCWNvbnN0IHN0cnVjdCBiZGJfbHZkc19vcHRpb25zICpsdmRz X29wdGlvbnM7CisKKwlsdmRzX29wdGlvbnMgPSBmaW5kX3NlY3Rpb24oYmRiLCBCREJfTFZEU19P UFRJT05TKTsKKwlpZiAoIWx2ZHNfb3B0aW9ucykKKwkJcmV0dXJuIC0xOworCisJc3dpdGNoIChs ZnBfcGFuZWxfaW5zdGFuY2UpIHsKKwljYXNlIDE6CisJCXJldHVybiBsdmRzX29wdGlvbnMtPnBh bmVsX3R5cGU7CisJY2FzZSAyOgorCQlyZXR1cm4gbHZkc19vcHRpb25zLT5wYW5lbF90eXBlMjsK KwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyB2b2lk IHBhcnNlX2ludGVncmF0ZWRfcGFuZWwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJ CQkJICAgc3RydWN0IGludGVsX2Jpb3NfZW5jb2Rlcl9kYXRhICpkZXZkYXRhLAorCQkJCSAgIHN0 cnVjdCBkZGlfdmJ0X3BvcnRfaW5mbyAqaW5mbykKK3sKKwljb25zdCBzdHJ1Y3QgdmJ0X2hlYWRl ciAqdmJ0ID0gaTkxNS0+b3ByZWdpb24udmJ0OworCWNvbnN0IHN0cnVjdCBiZGJfaGVhZGVyICpi ZGI7CisJaW50IGxmcF9pbnN0ID0gMCwgcGFuZWxfaW5kZXgsIG9wcmVnaW9uX3BhbmVsX2luZGV4 OworCisJaWYgKGRldmRhdGEtPmNoaWxkLmhhbmRsZSA9PSBIQU5ETEVfTEZQXzEpCisJCWxmcF9p bnN0ID0gMTsKKwllbHNlIGlmIChkZXZkYXRhLT5jaGlsZC5oYW5kbGUgPT0gSEFORExFX0xGUF8y KQorCQlsZnBfaW5zdCA9IDI7CisKKwlpZiAobGZwX2luc3QgPT0gMCkKKwkJcmV0dXJuOworCisJ YmRiID0gZ2V0X2JkYl9oZWFkZXIodmJ0KTsKKwlwYW5lbF9pbmRleCA9IGdldF9sZnBfcGFuZWxf aW5kZXgoaTkxNSwgYmRiLCBsZnBfaW5zdCk7CisKKwlvcHJlZ2lvbl9wYW5lbF9pbmRleCA9IGlu dGVsX29wcmVnaW9uX2dldF9wYW5lbF90eXBlKGk5MTUpOworCS8qCisJICogVE9ETzogdGhlIGN1 cnJlbnQgaW1wbGVtZW50YXRpb24gYWx3YXlzIHVzZSB0aGUgcGFuZWwgaW5kZXggZnJvbQorCSAq IG9wcmVnaW9uIGlmIGF2YWlsYWJsZSBkdWUgdG8gaXNzdWVzIHdpdGggb2xkIHBsYXRmb3Jtcy4K KwkgKiBCdXQgdGhpcyBkbyBub3Qgc3VwcG9ydHMgdHdvIHBhbmVscyBhbmQgaW4gU0tMIG9yIG5l d2VyIEkgbmV2ZXIgc2F3IGEKKwkgKiBzeXN0ZW0gd2VyZSB0aGlzIGNhbGwgcmV0dXJucyBhIHZh bGlkIHZhbHVlLgorCSAqIFNvIHdpbGwgY2hhbmdlIHRoaXMgdG8gb25seSB1c2Ugb3ByZWdpb24g dXAgdG8gQkRXIGluIGEgc2VwYXJhdGVkCisJICogY29tbWl0LgorCSAqLworCWlmIChvcHJlZ2lv bl9wYW5lbF9pbmRleCA+PSAwKQorCQlwYW5lbF9pbmRleCA9IG9wcmVnaW9uX3BhbmVsX2luZGV4 OworCisJaWYgKHBhbmVsX2luZGV4ID09IC0xKQorCQlyZXR1cm47CisKKwlwYXJzZV9wYW5lbF9v cHRpb25zKGk5MTUsIGJkYiwgaW5mbywgcGFuZWxfaW5kZXgpOworCXBhcnNlX3Bvd2VyX2NvbnNl cnZhdGlvbl9mZWF0dXJlcyhpOTE1LCBiZGIsIGluZm8sIHBhbmVsX2luZGV4KTsKKwlwYXJzZV9k cml2ZXJfZmVhdHVyZXNfZHJyc19vbmx5KGk5MTUsIGJkYiwgaW5mbyk7Cit9CisKIHN0YXRpYyB2 b2lkIHBhcnNlX2RkaV9wb3J0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCQkJICAg c3RydWN0IGludGVsX2Jpb3NfZW5jb2Rlcl9kYXRhICpkZXZkYXRhKQogewpAQCAtMjAxOCw2ICsy MTE0LDggQEAgc3RhdGljIHZvaWQgcGFyc2VfZGRpX3BvcnQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUsCiAJCQkgICAgcG9ydF9uYW1lKHBvcnQpLCBpbmZvLT5kcF9tYXhfbGlua19yYXRl KTsKIAl9CiAKKwlwYXJzZV9pbnRlZ3JhdGVkX3BhbmVsKGk5MTUsIGRldmRhdGEsIGluZm8pOwor CiAJaW5mby0+ZGV2ZGF0YSA9IGRldmRhdGE7CiB9CiAKQEAgLTIxNDQsOSArMjI0Miw2IEBAIGlu aXRfdmJ0X2RlZmF1bHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCS8qIERlZmF1 bHQgdG8gaGF2aW5nIGJhY2tsaWdodCAqLwogCWk5MTUtPnZidC5iYWNrbGlnaHQucHJlc2VudCA9 IHRydWU7CiAKLQkvKiBMRlAgcGFuZWwgZGF0YSAqLwotCWk5MTUtPnZidC5sdmRzX2RpdGhlciA9 IDE7Ci0KIAkvKiBTRFZPIHBhbmVsIGRhdGEgKi8KIAlpOTE1LT52YnQuc2R2b19sdmRzX3ZidF9t b2RlID0gTlVMTDsKIApAQCAtMjIyNywxMyArMjMyMiw2IEBAIGluaXRfdmJ0X21pc3NpbmdfZGVm YXVsdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJaTkxNS0+dmJ0LnZlcnNpb24g PSAxNTU7CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgYmRiX2hlYWRlciAqZ2V0X2JkYl9oZWFk ZXIoY29uc3Qgc3RydWN0IHZidF9oZWFkZXIgKnZidCkKLXsKLQljb25zdCB2b2lkICpfdmJ0ID0g dmJ0OwotCi0JcmV0dXJuIF92YnQgKyB2YnQtPmJkYl9vZmZzZXQ7Ci19Ci0KIC8qKgogICogaW50 ZWxfYmlvc19pc192YWxpZF92YnQgLSBkb2VzIHRoZSBnaXZlbiBidWZmZXIgY29udGFpbiBhIHZh bGlkIFZCVAogICogQGJ1ZjoJcG9pbnRlciB0byBhIGJ1ZmZlciB0byB2YWxpZGF0ZQpAQCAtMjM4 NywxMiArMjQ3NSwxMSBAQCB2b2lkIGludGVsX2Jpb3NfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkKIAkvKiBHcmFiIHVzZWZ1bCBnZW5lcmFsIGRlZmluaXRpb25zICovCiAJcGFy c2VfZ2VuZXJhbF9mZWF0dXJlcyhpOTE1LCBiZGIpOwogCXBhcnNlX2dlbmVyYWxfZGVmaW5pdGlv bnMoaTkxNSwgYmRiKTsKLQlwYXJzZV9wYW5lbF9vcHRpb25zKGk5MTUsIGJkYik7CisJcGFyc2Vf cGFuZWxfdHlwZShpOTE1LCBiZGIpOwogCXBhcnNlX3BhbmVsX2R0ZChpOTE1LCBiZGIpOwogCXBh cnNlX2xmcF9iYWNrbGlnaHQoaTkxNSwgYmRiKTsKIAlwYXJzZV9zZHZvX3BhbmVsX2RhdGEoaTkx NSwgYmRiKTsKIAlwYXJzZV9kcml2ZXJfZmVhdHVyZXMoaTkxNSwgYmRiKTsKLQlwYXJzZV9wb3dl cl9jb25zZXJ2YXRpb25fZmVhdHVyZXMoaTkxNSwgYmRiKTsKIAlwYXJzZV9lZHAoaTkxNSwgYmRi KTsKIAlwYXJzZV9wc3IoaTkxNSwgYmRiKTsKIAlwYXJzZV9taXBpX2NvbmZpZyhpOTE1LCBiZGIp OwpAQCAtMzAxMiwzICszMDk5LDExIEBAIGludGVsX2Jpb3NfZW5jb2Rlcl9kYXRhX2xvb2t1cChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgZW51bSBwb3J0IHBvcnQpCiB7CiAJcmV0dXJu IGk5MTUtPnZidC5kZGlfcG9ydF9pbmZvW3BvcnRdLmRldmRhdGE7CiB9CisKK2VudW0gZHJyc19z dXBwb3J0X3R5cGUKK2ludGVsX2Jpb3NfZHJyc190eXBlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShlbmNv ZGVyLT5iYXNlLmRldik7CisKKwlyZXR1cm4gaTkxNS0+dmJ0LmRkaV9wb3J0X2luZm9bZW5jb2Rl ci0+cG9ydF0uZHJyc190eXBlOworfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9iaW9zLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2Jpb3MuaAppbmRleCA0NzA5YzRkMjk4MDU5Li5iYWQyODJiNjRjNWU2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Jpb3MuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Jpb3MuaApAQCAtMjY2LDQgKzI2Niw2IEBAIGJvb2wg aW50ZWxfYmlvc19lbmNvZGVyX3N1cHBvcnRzX3RidChjb25zdCBzdHJ1Y3QgaW50ZWxfYmlvc19l bmNvZGVyX2RhdGEgKmRldmRhCiBpbnQgaW50ZWxfYmlvc19lbmNvZGVyX2RwX2Jvb3N0X2xldmVs KGNvbnN0IHN0cnVjdCBpbnRlbF9iaW9zX2VuY29kZXJfZGF0YSAqZGV2ZGF0YSk7CiBpbnQgaW50 ZWxfYmlvc19lbmNvZGVyX2hkbWlfYm9vc3RfbGV2ZWwoY29uc3Qgc3RydWN0IGludGVsX2Jpb3Nf ZW5jb2Rlcl9kYXRhICpkZXZkYXRhKTsKIAorZW51bSBkcnJzX3N1cHBvcnRfdHlwZSBpbnRlbF9i aW9zX2RycnNfdHlwZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rlcik7CisKICNlbmRpZiAv KiBfSU5URUxfQklPU19IXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5j CmluZGV4IGE1NGUzMzk5NDdjNjUuLjgwYTJjYWY0YjgwNTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2RwLmMKQEAgLTUxMzYsNiArNTEzNiw3IEBAIGludGVsX2RwX2RycnNf aW5pdChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCiB7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKIAlz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZG93bmNsb2NrX21vZGUgPSBOVUxMOworCWVudW0gZHJy c19zdXBwb3J0X3R5cGUgZHJyc190eXBlID0gaW50ZWxfYmlvc19kcnJzX3R5cGUoY29ubmVjdG9y LT5lbmNvZGVyKTsKIAogCUlOSVRfREVMQVlFRF9XT1JLKCZkZXZfcHJpdi0+ZHJycy53b3JrLCBp bnRlbF9lZHBfZHJyc19kb3duY2xvY2tfd29yayk7CiAJbXV0ZXhfaW5pdCgmZGV2X3ByaXYtPmRy cnMubXV0ZXgpOwpAQCAtNTE0Niw3ICs1MTQ3LDcgQEAgaW50ZWxfZHBfZHJyc19pbml0KHN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJcmV0dXJuIE5VTEw7CiAJfQogCi0JaWYg KGRldl9wcml2LT52YnQuZHJyc190eXBlICE9IFNFQU1MRVNTX0RSUlNfU1VQUE9SVCkgeworCWlm IChkcnJzX3R5cGUgIT0gU0VBTUxFU1NfRFJSU19TVVBQT1JUKSB7CiAJCWRybV9kYmdfa21zKCZk ZXZfcHJpdi0+ZHJtLCAiVkJUIGRvZXNuJ3Qgc3VwcG9ydCBEUlJTXG4iKTsKIAkJcmV0dXJuIE5V TEw7CiAJfQpAQCAtNTE1OCw3ICs1MTU5LDcgQEAgaW50ZWxfZHBfZHJyc19pbml0KHN0cnVjdCBp bnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJcmV0dXJuIE5VTEw7CiAJfQogCi0JZGV2X3By aXYtPmRycnMudHlwZSA9IGRldl9wcml2LT52YnQuZHJyc190eXBlOworCWRldl9wcml2LT5kcnJz LnR5cGUgPSBkcnJzX3R5cGU7CiAKIAlkZXZfcHJpdi0+ZHJycy5yZWZyZXNoX3JhdGVfdHlwZSA9 IERSUlNfSElHSF9SUjsKIAlkcm1fZGJnX2ttcygmZGV2X3ByaXYtPmRybSwKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdmJ0X2RlZnMuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdmJ0X2RlZnMuaAppbmRleCBkYmUyNGQ3ZTczNzU5 Li5jZDkyN2QxMzI1MGYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX3ZidF9kZWZzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF92YnRfZGVmcy5oCkBAIC0zNTksNiArMzU5LDkgQEAgZW51bSB2YnRfZ21idXNfZGRpIHsKICNk ZWZpbmUgQkRCXzIzMF9WQlRfRFBfTUFYX0xJTktfUkFURV9VSEJSMTNQNQk2CiAjZGVmaW5lIEJE Ql8yMzBfVkJUX0RQX01BWF9MSU5LX1JBVEVfVUhCUjIwCTcKIAorI2RlZmluZSBIQU5ETEVfTEZQ XzEgMHgwMDA4CisjZGVmaW5lIEhBTkRMRV9MRlBfMiAweDAwODAKKwogLyoKICAqIFRoZSBjaGls ZCBkZXZpY2UgY29uZmlnLCBha2EgdGhlIGRpc3BsYXkgZGV2aWNlIGRhdGEgc3RydWN0dXJlLCBw cm92aWRlcyBhCiAgKiBkZXNjcmlwdGlvbiBvZiBhIHBvcnQgYW5kIGl0cyBjb25maWd1cmF0aW9u IG9uIHRoZSBwbGF0Zm9ybS4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDhiYjM2NjFkM2Iy ZGIuLmRmMDk2YTI4M2Q1MmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtNjUwLDYgKzY1 MCw4IEBAIHN0cnVjdCBkZGlfdmJ0X3BvcnRfaW5mbyB7CiAJdTggYWx0ZXJuYXRlX2RkY19waW47 CiAKIAlpbnQgZHBfbWF4X2xpbmtfcmF0ZTsJCS8qIDAgZm9yIG5vdCBsaW1pdGVkIGJ5IFZCVCAq LworCisJZW51bSBkcnJzX3N1cHBvcnRfdHlwZSBkcnJzX3R5cGU7CiB9OwogCiBlbnVtIHBzcl9s aW5lc190b193YWl0IHsKQEAgLTY2OCw3ICs2NzAsNiBAQCBzdHJ1Y3QgaW50ZWxfdmJ0X2RhdGEg ewogCiAJLyogRmVhdHVyZSBiaXRzICovCiAJdW5zaWduZWQgaW50IGludF90dl9zdXBwb3J0OjE7 Ci0JdW5zaWduZWQgaW50IGx2ZHNfZGl0aGVyOjE7CiAJdW5zaWduZWQgaW50IGludF9jcnRfc3Vw cG9ydDoxOwogCXVuc2lnbmVkIGludCBsdmRzX3VzZV9zc2M6MTsKIAl1bnNpZ25lZCBpbnQgaW50 X2x2ZHNfc3VwcG9ydDoxOwpAQCAtNjc5LDggKzY4MCw2IEBAIHN0cnVjdCBpbnRlbF92YnRfZGF0 YSB7CiAJdW5zaWduZWQgaW50IGJpb3NfbHZkc192YWw7IC8qIGluaXRpYWwgW1BDSF9dTFZEUyBy ZWcgdmFsIGluIFZCSU9TICovCiAJZW51bSBkcm1fcGFuZWxfb3JpZW50YXRpb24gb3JpZW50YXRp b247CiAKLQllbnVtIGRycnNfc3VwcG9ydF90eXBlIGRycnNfdHlwZTsKLQogCXN0cnVjdCB7CiAJ CWludCByYXRlOwogCQlpbnQgbGFuZXM7Ci0tIAoyLjMyLjAKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=