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=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, 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 08E6DC2BA83 for ; Wed, 12 Feb 2020 16:18:00 +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 DB4A82082F for ; Wed, 12 Feb 2020 16:17:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DB4A82082F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8D4766F544; Wed, 12 Feb 2020 16:17:59 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id BE72E6F544 for ; Wed, 12 Feb 2020 16:17:56 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Feb 2020 08:17:55 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,433,1574150400"; d="scan'208";a="227868115" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga008.fm.intel.com with SMTP; 12 Feb 2020 08:17:53 -0800 Received: by stinkbox (sSMTP sendmail emulation); Wed, 12 Feb 2020 18:17:53 +0200 From: Ville Syrjala To: intel-gfx@lists.freedesktop.org Date: Wed, 12 Feb 2020 18:17:35 +0200 Message-Id: <20200212161738.28141-6-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200212161738.28141-1-ville.syrjala@linux.intel.com> References: <20200212161738.28141-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v2 5/8] drm/i915: Use drm_rect to store the pfit window pos/size 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCk1h a2UgdGhpbmdzIGEgYml0IG1vcmUgYWJzdHJhY3QgYnkgcmVwbGFjaW5nIHRoZSBwY2hfcGZpdC5w b3Mvc2l6ZQpyYXcgcmVnaXN0ZXIgdmFsdWVzIHdpdGggYSBkcm1fcmVjdC4gTWFrZXMgaXQgc2xp Z2hseSBtb3JlIGNvbnZlbmllbnQKdG8gZWcuIGNvbXB1dGUgdGhlIHNjYWxpbmcgZmFjdG9ycy4K CnYyOiBVc2UgZHJtX3JlY3RfaW5pdCgpCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6Qg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jICB8IDEwMSArKysrKysrKysrKy0tLS0tLS0KIC4uLi9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaCAgICB8ICAgMyArLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wYW5lbC5jICAgIHwgIDEzICsrLQogMyBmaWxl cyBjaGFuZ2VkLCA2NyBpbnNlcnRpb25zKCspLCA1MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCmluZGV4IDc5NmUyN2M0YWVjZS4u MTlmM2ZlZjExYjBkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rp c3BsYXkuYwpAQCAtNjEwOCwxMCArNjEwOCw4IEBAIHN0YXRpYyBpbnQgc2tsX3VwZGF0ZV9zY2Fs ZXJfY3J0YyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAlpbnQgd2lkdGgs IGhlaWdodDsKIAogCWlmIChjcnRjX3N0YXRlLT5wY2hfcGZpdC5lbmFibGVkKSB7Ci0JCXUzMiBw Zml0X3NpemUgPSBjcnRjX3N0YXRlLT5wY2hfcGZpdC5zaXplOwotCi0JCXdpZHRoID0gcGZpdF9z aXplID4+IDE2OwotCQloZWlnaHQgPSBwZml0X3NpemUgJiAweGZmZmY7CisJCXdpZHRoID0gZHJt X3JlY3Rfd2lkdGgoJmNydGNfc3RhdGUtPnBjaF9wZml0LmRzdCk7CisJCWhlaWdodCA9IGRybV9y ZWN0X2hlaWdodCgmY3J0Y19zdGF0ZS0+cGNoX3BmaXQuZHN0KTsKIAl9IGVsc2UgewogCQl3aWR0 aCA9IGFkanVzdGVkX21vZGUtPmNydGNfaGRpc3BsYXk7CiAJCWhlaWdodCA9IGFkanVzdGVkX21v ZGUtPmNydGNfdmRpc3BsYXk7CkBAIC02MjMwLDExICs2MjI4LDIwIEBAIHN0YXRpYyB2b2lkIHNr bF9wZml0X2VuYWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkK IHsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNydGMtPmJhc2UuZGV2KTsKLQllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAJY29uc3Qg c3RydWN0IGludGVsX2NydGNfc2NhbGVyX3N0YXRlICpzY2FsZXJfc3RhdGUgPQogCQkmY3J0Y19z dGF0ZS0+c2NhbGVyX3N0YXRlOworCXN0cnVjdCBkcm1fcmVjdCBzcmMgPSB7CisJCS54MiA9IGNy dGNfc3RhdGUtPnBpcGVfc3JjX3cgPDwgMTYsCisJCS55MiA9IGNydGNfc3RhdGUtPnBpcGVfc3Jj X2ggPDwgMTYsCisJfTsKKwljb25zdCBzdHJ1Y3QgZHJtX3JlY3QgKmRzdCA9ICZjcnRjX3N0YXRl LT5wY2hfcGZpdC5kc3Q7CiAJdTE2IHV2X3JnYl9ocGhhc2UsIHV2X3JnYl92cGhhc2U7Ci0JaW50 IHBmaXRfdywgcGZpdF9oLCBoc2NhbGUsIHZzY2FsZTsKKwllbnVtIHBpcGUgcGlwZSA9IGNydGMt PnBpcGU7CisJaW50IHdpZHRoID0gZHJtX3JlY3Rfd2lkdGgoZHN0KTsKKwlpbnQgaGVpZ2h0ID0g ZHJtX3JlY3RfaGVpZ2h0KGRzdCk7CisJaW50IHggPSBkc3QtPngxOworCWludCB5ID0gZHN0LT55 MTsKKwlpbnQgaHNjYWxlLCB2c2NhbGU7CiAJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsKIAlpbnQg aWQ7CiAKQEAgLTYyNDQsMTEgKzYyNTEsOCBAQCBzdGF0aWMgdm9pZCBza2xfcGZpdF9lbmFibGUo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJaWYgKFdBUk5fT04o Y3J0Y19zdGF0ZS0+c2NhbGVyX3N0YXRlLnNjYWxlcl9pZCA8IDApKQogCQlyZXR1cm47CiAKLQlw Zml0X3cgPSAoY3J0Y19zdGF0ZS0+cGNoX3BmaXQuc2l6ZSA+PiAxNikgJiAweEZGRkY7Ci0JcGZp dF9oID0gY3J0Y19zdGF0ZS0+cGNoX3BmaXQuc2l6ZSAmIDB4RkZGRjsKLQotCWhzY2FsZSA9IChj cnRjX3N0YXRlLT5waXBlX3NyY193IDw8IDE2KSAvIHBmaXRfdzsKLQl2c2NhbGUgPSAoY3J0Y19z dGF0ZS0+cGlwZV9zcmNfaCA8PCAxNikgLyBwZml0X2g7CisJaHNjYWxlID0gZHJtX3JlY3RfY2Fs Y19oc2NhbGUoJnNyYywgZHN0LCAwLCBJTlRfTUFYKTsKKwl2c2NhbGUgPSBkcm1fcmVjdF9jYWxj X3ZzY2FsZSgmc3JjLCBkc3QsIDAsIElOVF9NQVgpOwogCiAJdXZfcmdiX2hwaGFzZSA9IHNrbF9z Y2FsZXJfY2FsY19waGFzZSgxLCBoc2NhbGUsIGZhbHNlKTsKIAl1dl9yZ2JfdnBoYXNlID0gc2ts X3NjYWxlcl9jYWxjX3BoYXNlKDEsIHZzY2FsZSwgZmFsc2UpOwpAQCAtNjI2NCw5ICs2MjY4LDkg QEAgc3RhdGljIHZvaWQgc2tsX3BmaXRfZW5hYmxlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlKQogCWludGVsX2RlX3dyaXRlX2Z3KGRldl9wcml2LCBTS0xfUFNfSFBI QVNFKHBpcGUsIGlkKSwKIAkJCSAgUFNfWV9QSEFTRSgwKSB8IFBTX1VWX1JHQl9QSEFTRSh1dl9y Z2JfaHBoYXNlKSk7CiAJaW50ZWxfZGVfd3JpdGVfZncoZGV2X3ByaXYsIFNLTF9QU19XSU5fUE9T KHBpcGUsIGlkKSwKLQkJCSAgY3J0Y19zdGF0ZS0+cGNoX3BmaXQucG9zKTsKKwkJCSAgeCA8PCAx NiB8IHkpOwogCWludGVsX2RlX3dyaXRlX2Z3KGRldl9wcml2LCBTS0xfUFNfV0lOX1NaKHBpcGUs IGlkKSwKLQkJCSAgY3J0Y19zdGF0ZS0+cGNoX3BmaXQuc2l6ZSk7CisJCQkgIHdpZHRoIDw8IDE2 IHwgaGVpZ2h0KTsKIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRldl9wcml2LT51bmNvcmUu bG9jaywgaXJxZmxhZ3MpOwogfQpAQCAtNjI3NSw3ICs2Mjc5LDEyIEBAIHN0YXRpYyB2b2lkIGls a19wZml0X2VuYWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkK IHsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+ dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNydGMtPmJhc2UuZGV2KTsKKwljb25zdCBzdHJ1Y3QgZHJtX3JlY3QgKmRzdCA9ICZjcnRjX3N0 YXRlLT5wY2hfcGZpdC5kc3Q7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlOworCWludCB3 aWR0aCA9IGRybV9yZWN0X3dpZHRoKGRzdCk7CisJaW50IGhlaWdodCA9IGRybV9yZWN0X2hlaWdo dChkc3QpOworCWludCB4ID0gZHN0LT54MTsKKwlpbnQgeSA9IGRzdC0+eTE7CiAKIAlpZiAoIWNy dGNfc3RhdGUtPnBjaF9wZml0LmVuYWJsZWQpCiAJCXJldHVybjsKQEAgLTYyOTAsMTAgKzYyOTks OCBAQCBzdGF0aWMgdm9pZCBpbGtfcGZpdF9lbmFibGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUpCiAJZWxzZQogCQlpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgUEZf Q1RMKHBpcGUpLCBQRl9FTkFCTEUgfAogCQkJICAgICAgIFBGX0ZJTFRFUl9NRURfM3gzKTsKLQlp bnRlbF9kZV93cml0ZShkZXZfcHJpdiwgUEZfV0lOX1BPUyhwaXBlKSwKLQkJICAgICAgIGNydGNf c3RhdGUtPnBjaF9wZml0LnBvcyk7Ci0JaW50ZWxfZGVfd3JpdGUoZGV2X3ByaXYsIFBGX1dJTl9T WihwaXBlKSwKLQkJICAgICAgIGNydGNfc3RhdGUtPnBjaF9wZml0LnNpemUpOworCWludGVsX2Rl X3dyaXRlKGRldl9wcml2LCBQRl9XSU5fUE9TKHBpcGUpLCB4IDw8IDE2IHwgeSk7CisJaW50ZWxf ZGVfd3JpdGUoZGV2X3ByaXYsIFBGX1dJTl9TWihwaXBlKSwgd2lkdGggPDwgMTYgfCBoZWlnaHQp OwogfQogCiB2b2lkIGhzd19lbmFibGVfaXBzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQpAQCAtNzkzMiw4ICs3OTM5LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfY3J0 Y19zdXBwb3J0c19kb3VibGVfd2lkZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIHN0 YXRpYyB1MzIgaWxrX3BpcGVfcGl4ZWxfcmF0ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKIHsKIAl1MzIgcGl4ZWxfcmF0ZSA9IGNydGNfc3RhdGUtPmh3LmFkanVz dGVkX21vZGUuY3J0Y19jbG9jazsKLQl1MzIgcGZpdF9zaXplID0gY3J0Y19zdGF0ZS0+cGNoX3Bm aXQuc2l6ZTsKLQl1NjQgcGlwZV93LCBwaXBlX2gsIHBmaXRfdywgcGZpdF9oOworCXVuc2lnbmVk IGludCBwaXBlX3csIHBpcGVfaCwgcGZpdF93LCBwZml0X2g7CiAKIAkvKgogCSAqIFdlIG9ubHkg dXNlIElGLUlEIGludGVybGFjaW5nLiBJZiB3ZSBldmVyIHVzZQpAQCAtNzk0Niw4ICs3OTUyLDkg QEAgc3RhdGljIHUzMiBpbGtfcGlwZV9waXhlbF9yYXRlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKQogCXBpcGVfdyA9IGNydGNfc3RhdGUtPnBpcGVfc3JjX3c7CiAJ cGlwZV9oID0gY3J0Y19zdGF0ZS0+cGlwZV9zcmNfaDsKIAotCXBmaXRfdyA9IChwZml0X3NpemUg Pj4gMTYpICYgMHhGRkZGOwotCXBmaXRfaCA9IHBmaXRfc2l6ZSAmIDB4RkZGRjsKKwlwZml0X3cg PSBkcm1fcmVjdF93aWR0aCgmY3J0Y19zdGF0ZS0+cGNoX3BmaXQuZHN0KTsKKwlwZml0X2ggPSBk cm1fcmVjdF9oZWlnaHQoJmNydGNfc3RhdGUtPnBjaF9wZml0LmRzdCk7CisKIAlpZiAocGlwZV93 IDwgcGZpdF93KQogCQlwaXBlX3cgPSBwZml0X3c7CiAJaWYgKHBpcGVfaCA8IHBmaXRfaCkKQEAg LTEwMzkxLDYgKzEwMzk4LDE0IEBAIHN0YXRpYyB2b2lkIGlsa19nZXRfZmRpX21fbl9jb25maWco c3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJCQkJICAgICAmcGlwZV9jb25maWctPmZkaV9tX24s IE5VTEwpOwogfQogCitzdGF0aWMgdm9pZCBpbGtfZ2V0X3BmaXRfcG9zX3NpemUoc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCisJCQkJICB1MzIgcG9zLCB1MzIgc2l6ZSkKK3sK Kwlkcm1fcmVjdF9pbml0KCZjcnRjX3N0YXRlLT5wY2hfcGZpdC5kc3QsCisJCSAgICAgIHBvcyA+ PiAxNiwgcG9zICYgMHhmZmZmLAorCQkgICAgICBzaXplID4+IDE2LCBzaXplICYgMHhmZmZmKTsK K30KKwogc3RhdGljIHZvaWQgc2tsX2dldF9wZml0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKQEAgLTEwNDAxLDE4ICsxMDQxNiwyMCBAQCBz dGF0aWMgdm9pZCBza2xfZ2V0X3BmaXRfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogCiAJLyogZmluZCBzY2FsZXIgYXR0YWNoZWQgdG8gdGhpcyBwaXBlICovCiAJ Zm9yIChpID0gMDsgaSA8IGNydGMtPm51bV9zY2FsZXJzOyBpKyspIHsKLQkJdTMyIHRtcDsKKwkJ dTMyIGN0bCwgcG9zLCBzaXplOwogCi0JCXRtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIFNL TF9QU19DVFJMKGNydGMtPnBpcGUsIGkpKTsKLQkJaWYgKCh0bXAgJiAoUFNfU0NBTEVSX0VOIHwg UFNfUExBTkVfU0VMX01BU0spKSAhPSBQU19TQ0FMRVJfRU4pCisJCWN0bCA9IGludGVsX2RlX3Jl YWQoZGV2X3ByaXYsIFNLTF9QU19DVFJMKGNydGMtPnBpcGUsIGkpKTsKKwkJaWYgKChjdGwgJiAo UFNfU0NBTEVSX0VOIHwgUFNfUExBTkVfU0VMX01BU0spKSAhPSBQU19TQ0FMRVJfRU4pCiAJCQlj b250aW51ZTsKIAogCQlpZCA9IGk7CiAJCWNydGNfc3RhdGUtPnBjaF9wZml0LmVuYWJsZWQgPSB0 cnVlOwotCQljcnRjX3N0YXRlLT5wY2hfcGZpdC5wb3MgPQotCQkJaW50ZWxfZGVfcmVhZChkZXZf cHJpdiwgU0tMX1BTX1dJTl9QT1MoY3J0Yy0+cGlwZSwgaSkpOwotCQljcnRjX3N0YXRlLT5wY2hf cGZpdC5zaXplID0KLQkJCWludGVsX2RlX3JlYWQoZGV2X3ByaXYsIFNLTF9QU19XSU5fU1ooY3J0 Yy0+cGlwZSwgaSkpOworCisJCXBvcyA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIFNLTF9QU19X SU5fUE9TKGNydGMtPnBpcGUsIGkpKTsKKwkJc2l6ZSA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYs IFNLTF9QU19XSU5fU1ooY3J0Yy0+cGlwZSwgaSkpOworCisJCWlsa19nZXRfcGZpdF9wb3Nfc2l6 ZShjcnRjX3N0YXRlLCBwb3MsIHNpemUpOworCiAJCXNjYWxlcl9zdGF0ZS0+c2NhbGVyc1tpXS5p bl91c2UgPSB0cnVlOwogCQlicmVhazsKIAl9CkBAIC0xMDU2MSwxNyArMTA1NzgsMTggQEAgc3Rh dGljIHZvaWQgaWxrX2dldF9wZml0X2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKLQl1MzIgdG1wOworCXUzMiBjdGwsIHBvcywgc2l6 ZTsKIAotCXRtcCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIFBGX0NUTChjcnRjLT5waXBlKSk7 Ci0JaWYgKCh0bXAgJiBQRl9FTkFCTEUpID09IDApCisJY3RsID0gaW50ZWxfZGVfcmVhZChkZXZf cHJpdiwgUEZfQ1RMKGNydGMtPnBpcGUpKTsKKwlpZiAoKGN0bCAmIFBGX0VOQUJMRSkgPT0gMCkK IAkJcmV0dXJuOwogCiAJY3J0Y19zdGF0ZS0+cGNoX3BmaXQuZW5hYmxlZCA9IHRydWU7Ci0JY3J0 Y19zdGF0ZS0+cGNoX3BmaXQucG9zID0KLQkJaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgUEZfV0lO X1BPUyhjcnRjLT5waXBlKSk7Ci0JY3J0Y19zdGF0ZS0+cGNoX3BmaXQuc2l6ZSA9Ci0JCWludGVs X2RlX3JlYWQoZGV2X3ByaXYsIFBGX1dJTl9TWihjcnRjLT5waXBlKSk7CisKKwlwb3MgPSBpbnRl bF9kZV9yZWFkKGRldl9wcml2LCBQRl9XSU5fUE9TKGNydGMtPnBpcGUpKTsKKwlzaXplID0gaW50 ZWxfZGVfcmVhZChkZXZfcHJpdiwgUEZfV0lOX1NaKGNydGMtPnBpcGUpKTsKKworCWlsa19nZXRf cGZpdF9wb3Nfc2l6ZShjcnRjX3N0YXRlLCBwb3MsIHNpemUpOwogCiAJLyoKIAkgKiBXZSBjdXJy ZW50bHkgZG8gbm90IGZyZWUgYXNzaWduZW1lbnRzIG9mIHBhbmVsIGZpdHRlcnMgb24KQEAgLTEw NTc5LDcgKzEwNTk3LDcgQEAgc3RhdGljIHZvaWQgaWxrX2dldF9wZml0X2NvbmZpZyhzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAkgKiBkaWZmZXJlbnRpYXRlcyB0aGVtKSBz byBqdXN0IFdBUk4gYWJvdXQgdGhpcyBjYXNlIGZvciBub3cuCiAJICovCiAJV0FSTl9PTihJU19H RU4oZGV2X3ByaXYsIDcpICYmCi0JCSh0bXAgJiBQRl9QSVBFX1NFTF9NQVNLX0lWQikgIT0gUEZf UElQRV9TRUxfSVZCKGNydGMtPnBpcGUpKTsKKwkJKGN0bCAmIFBGX1BJUEVfU0VMX01BU0tfSVZC KSAhPSBQRl9QSVBFX1NFTF9JVkIoY3J0Yy0+cGlwZSkpOwogfQogCiBzdGF0aWMgYm9vbCBpbGtf Z2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLApAQCAtMTMxOTYsOSArMTMy MTQsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kdW1wX3BpcGVfY29uZmlnKGNvbnN0IHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAkJCSAgICBwaXBlX2NvbmZpZy0+Z21jaF9w Zml0Lmx2ZHNfYm9yZGVyX2JpdHMpOwogCWVsc2UKIAkJZHJtX2RiZ19rbXMoJmRldl9wcml2LT5k cm0sCi0JCQkgICAgInBjaCBwZml0OiBwb3M6IDB4JTA4eCwgc2l6ZTogMHglMDh4LCAlcywgZm9y Y2UgdGhydTogJXNcbiIsCi0JCQkgICAgcGlwZV9jb25maWctPnBjaF9wZml0LnBvcywKLQkJCSAg ICBwaXBlX2NvbmZpZy0+cGNoX3BmaXQuc2l6ZSwKKwkJCSAgICAicGNoIHBmaXQ6ICIgRFJNX1JF Q1RfRk1UICIsICVzLCBmb3JjZSB0aHJ1OiAlc1xuIiwKKwkJCSAgICBEUk1fUkVDVF9BUkcoJnBp cGVfY29uZmlnLT5wY2hfcGZpdC5kc3QpLAogCQkJICAgIGVuYWJsZWRkaXNhYmxlZChwaXBlX2Nv bmZpZy0+cGNoX3BmaXQuZW5hYmxlZCksCiAJCQkgICAgeWVzbm8ocGlwZV9jb25maWctPnBjaF9w Zml0LmZvcmNlX3RocnUpKTsKIApAQCAtMTM5NDksOCArMTM5NjYsMTAgQEAgaW50ZWxfcGlwZV9j b25maWdfY29tcGFyZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3VycmVudF9jb25m aWcsCiAKIAkJUElQRV9DT05GX0NIRUNLX0JPT0wocGNoX3BmaXQuZW5hYmxlZCk7CiAJCWlmIChj dXJyZW50X2NvbmZpZy0+cGNoX3BmaXQuZW5hYmxlZCkgewotCQkJUElQRV9DT05GX0NIRUNLX1go cGNoX3BmaXQucG9zKTsKLQkJCVBJUEVfQ09ORl9DSEVDS19YKHBjaF9wZml0LnNpemUpOworCQkJ UElQRV9DT05GX0NIRUNLX0kocGNoX3BmaXQuZHN0LngxKTsKKwkJCVBJUEVfQ09ORl9DSEVDS19J KHBjaF9wZml0LmRzdC55MSk7CisJCQlQSVBFX0NPTkZfQ0hFQ0tfSShwY2hfcGZpdC5kc3QueDIp OworCQkJUElQRV9DT05GX0NIRUNLX0kocGNoX3BmaXQuZHN0LnkyKTsKIAkJfQogCiAJCVBJUEVf Q09ORl9DSEVDS19JKHNjYWxlcl9zdGF0ZS5zY2FsZXJfaWQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAppbmRleCAyODNjNjIyZjhi YTEuLjM4ZWIxMDM2ZjMyYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKQEAgLTkzNyw4ICs5MzcsNyBAQCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSB7CiAKIAkvKiBQYW5lbCBmaXR0ZXIgcGxhY2VtZW50IGFuZCBzaXplIGZvciBJ cm9ubGFrZSsgKi8KIAlzdHJ1Y3QgewotCQl1MzIgcG9zOwotCQl1MzIgc2l6ZTsKKwkJc3RydWN0 IGRybV9yZWN0IGRzdDsKIAkJYm9vbCBlbmFibGVkOwogCQlib29sIGZvcmNlX3RocnU7CiAJfSBw Y2hfcGZpdDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf cGFuZWwuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGFuZWwuYwppbmRl eCA4YjA3MzBmNGM0NDIuLjk3MmZmZjdlMmJhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9wYW5lbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfcGFuZWwuYwpAQCAtMTgyLDEzICsxODIsMTMgQEAgaW50ZWxfcGNoX3BhbmVs X2ZpdHRpbmcoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCiAJCQlpbnQgZml0dGluZ19t b2RlKQogewogCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0g JnBpcGVfY29uZmlnLT5ody5hZGp1c3RlZF9tb2RlOwotCWludCB4ID0gMCwgeSA9IDAsIHdpZHRo ID0gMCwgaGVpZ2h0ID0gMDsKKwlpbnQgeCwgeSwgd2lkdGgsIGhlaWdodDsKIAogCS8qIE5hdGl2 ZSBtb2RlcyBkb24ndCBuZWVkIGZpdHRpbmcgKi8KIAlpZiAoYWRqdXN0ZWRfbW9kZS0+Y3J0Y19o ZGlzcGxheSA9PSBwaXBlX2NvbmZpZy0+cGlwZV9zcmNfdyAmJgogCSAgICBhZGp1c3RlZF9tb2Rl LT5jcnRjX3ZkaXNwbGF5ID09IHBpcGVfY29uZmlnLT5waXBlX3NyY19oICYmCiAJICAgIHBpcGVf Y29uZmlnLT5vdXRwdXRfZm9ybWF0ICE9IElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0MjApCi0J CWdvdG8gZG9uZTsKKwkJcmV0dXJuOwogCiAJc3dpdGNoIChmaXR0aW5nX21vZGUpIHsKIAljYXNl IERSTV9NT0RFX1NDQUxFX0NFTlRFUjoKQEAgLTIzNCwxNCArMjM0LDEzIEBAIGludGVsX3BjaF9w YW5lbF9maXR0aW5nKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAogCQlicmVhazsKIAog CWRlZmF1bHQ6Ci0JCVdBUk4oMSwgImJhZCBwYW5lbCBmaXQgbW9kZTogJWRcbiIsIGZpdHRpbmdf bW9kZSk7CisJCU1JU1NJTkdfQ0FTRShmaXR0aW5nX21vZGUpOwogCQlyZXR1cm47CiAJfQogCi1k b25lOgotCXBpcGVfY29uZmlnLT5wY2hfcGZpdC5wb3MgPSAoeCA8PCAxNikgfCB5OwotCXBpcGVf Y29uZmlnLT5wY2hfcGZpdC5zaXplID0gKHdpZHRoIDw8IDE2KSB8IGhlaWdodDsKLQlwaXBlX2Nv bmZpZy0+cGNoX3BmaXQuZW5hYmxlZCA9IHBpcGVfY29uZmlnLT5wY2hfcGZpdC5zaXplICE9IDA7 CisJZHJtX3JlY3RfaW5pdCgmcGlwZV9jb25maWctPnBjaF9wZml0LmRzdCwKKwkJICAgICAgeCwg eSwgd2lkdGgsIGhlaWdodCk7CisJcGlwZV9jb25maWctPnBjaF9wZml0LmVuYWJsZWQgPSB0cnVl OwogfQogCiBzdGF0aWMgdm9pZAotLSAKMi4yNC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK