Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1898485yba; Mon, 15 Apr 2019 00:12:29 -0700 (PDT) X-Google-Smtp-Source: APXvYqwd6G/wsPZD8pNdhuuyS9bKGl0p4RZbsPZM2daMxoM0JkR0/VqFFTKe+S9JBAUEJor9PLn5 X-Received: by 2002:a65:43c3:: with SMTP id n3mr70232352pgp.375.1555312349496; Mon, 15 Apr 2019 00:12:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555312349; cv=none; d=google.com; s=arc-20160816; b=p7VOcS8l86UqoSxntLLtQayjDeYZHESa0v3BlmivCbCA8wSWlSUqkwK+YtLmYOqbQg naHKXdhdP0YlLiM4zbx+dwJ4oVHrQT/vlSqo5WzfW3U7QIRGv6kGD5/YsQr1L5pfdCsK Qjn4YHu+CNRGF24pWrOOy1mhVwAPup5kTEg3sne2p2aNFebPwXPFmtg6/wGcjOIUW9tH cfieXvzrCkFpg3X0HlKc3nOxucr8/VRlINca/hzMT1boxRqDVtXm5ydOanyTM9z5xUh5 6AuWQGm4kSnP/Es9NwK5Brlogb1R+vKD0k6cS3FLiWWOJE2PyE77Ezqt4tsdOGoF+xQS qhEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :nodisclaimer:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from:dkim-signature; bh=oBNALcM8+XBV6OKvdW6+y02iEqIo7yjpyhBCjDza+eQ=; b=k8pMz1Ta9GXHxddrBC0OxJIHqG54RtUBFfJTsh8MM7I3sE6ywk78X5dk0KWIEKEGSk 09P/zx+t0kz4AhASza9r7ExpGqkCUAm1uSjLwP2A+N0wAgjAOFe6EYk3OJfbCeLclD4Y zHo45SodYNY9UAen5EECGTG+af9sFbtayyc0mxYxUf0xKmA5uZWFP+fHjyBhpmzxGBOz p9tACrIByyLwcUwIVYibFZRoRYb3jCxu56+RiiDyjdw9zR1TSBJ/DhWGaxRe48bhMFvL FhiOiJZ0xslyZzk0QjsFDh1sx8VJJNikUWqFNcEaYQYW75+H77HG+zEbnKLT4cZKMrw9 Ydcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector1-arm-com header.b=IThvcMrX; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e29si39399165pgm.134.2019.04.15.00.12.13; Mon, 15 Apr 2019 00:12:29 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector1-arm-com header.b=IThvcMrX; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726440AbfDOHJc (ORCPT + 99 others); Mon, 15 Apr 2019 03:09:32 -0400 Received: from mail-eopbgr140045.outbound.protection.outlook.com ([40.107.14.45]:44816 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725798AbfDOHJc (ORCPT ); Mon, 15 Apr 2019 03:09:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oBNALcM8+XBV6OKvdW6+y02iEqIo7yjpyhBCjDza+eQ=; b=IThvcMrXemRwigB0uBbVbvcK9Y/xx4kQpm16eyLVNIxUZ+eop67sbHvK/EBwPIyJ1OvyboBAnXT0aGBV7vgl9hsqwaxe94h3KJgkgWDdtHCQ9BbbmtO/JULqRavPF/UlI7/tGmgNgm58ZLA+OmoFYtNa8K2m+VvJMBFlDikJn5U= Received: from VE1PR08MB5006.eurprd08.prod.outlook.com (10.255.159.31) by VE1PR08MB4765.eurprd08.prod.outlook.com (10.255.113.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1792.19; Mon, 15 Apr 2019 07:09:25 +0000 Received: from VE1PR08MB5006.eurprd08.prod.outlook.com ([fe80::6ca6:1d85:8903:90d7]) by VE1PR08MB5006.eurprd08.prod.outlook.com ([fe80::6ca6:1d85:8903:90d7%5]) with mapi id 15.20.1792.018; Mon, 15 Apr 2019 07:09:25 +0000 From: "james qian wang (Arm Technology China)" To: Liviu Dudau , "airlied@linux.ie" , Brian Starkey , "maarten.lankhorst@linux.intel.com" , "sean@poorly.run" CC: "Jonathan Chai (Arm Technology China)" , "Julien Yin (Arm Technology China)" , "thomas Sun (Arm Technology China)" , "Lowry Li (Arm Technology China)" , Ayan Halder , "Tiannan Zhu (Arm Technology China)" , "Yiqi Kang (Arm Technology China)" , nd , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "james qian wang (Arm Technology China)" Subject: [PATCH v1 5/6] drm/komeda: Add engine clock requirement check for the downscaling Thread-Topic: [PATCH v1 5/6] drm/komeda: Add engine clock requirement check for the downscaling Thread-Index: AQHU81ooJQpWQ4ZsxUOmQk60LXUvsQ== Date: Mon, 15 Apr 2019 07:09:25 +0000 Message-ID: <20190415070828.24075-6-james.qian.wang@arm.com> References: <20190415070828.24075-1-james.qian.wang@arm.com> In-Reply-To: <20190415070828.24075-1-james.qian.wang@arm.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [113.29.88.7] x-clientproxiedby: HK0P153CA0011.APCP153.PROD.OUTLOOK.COM (2603:1096:203:18::23) To VE1PR08MB5006.eurprd08.prod.outlook.com (2603:10a6:803:113::31) authentication-results: spf=none (sender IP is ) smtp.mailfrom=james.qian.wang@arm.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6d53b9bb-38c3-41f1-0282-08d6c1714aff x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600140)(711020)(4605104)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020);SRVR:VE1PR08MB4765; x-ms-traffictypediagnostic: VE1PR08MB4765: nodisclaimer: True x-microsoft-antispam-prvs: x-forefront-prvs: 000800954F x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(396003)(366004)(136003)(39860400002)(376002)(346002)(199004)(189003)(186003)(14454004)(5024004)(446003)(81156014)(486006)(66066001)(8676002)(26005)(5660300002)(6436002)(1076003)(103116003)(6512007)(76176011)(36756003)(476003)(14444005)(2616005)(7736002)(4326008)(81166006)(11346002)(305945005)(2906002)(25786009)(30864003)(71200400001)(71190400001)(68736007)(86362001)(2201001)(50226002)(102836004)(110136005)(97736004)(386003)(6506007)(55236004)(54906003)(256004)(8936002)(52116002)(106356001)(105586002)(2501003)(6486002)(53936002)(3846002)(478600001)(99286004)(316002)(6116002);DIR:OUT;SFP:1101;SCL:1;SRVR:VE1PR08MB4765;H:VE1PR08MB5006.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: +uTQByyFLv1cUoiDqY4niHggS8NBNgs/MCcvw4TKVwVNcENrJzh3Jop37XlNOQxeH1sbNcGveeDYgqiZP9XtoyDpcU1X3AUltFjP7ypIisJtjwhmI/FZUgcky6BXQ/ztj/xM3WZpVGtiv9uMKRmwfqQKmyO5uDmmqkJClS44B3KHOuQHwnkdljvnFgINLQj2AA8EesWdW8W3HX8DtQEPsbYuQjGeIImumlFhNEcU6LMdeNR4D1vyR4VSjWyBHIq+jm0dH0GltnXGGEonUOh3TuKq8Jv+LIUhhrOkLZY7Fe56VXdbJzvQ2cjhliMCpQKtNMCLzRpI3p3SnrpVy7nBcXcvoEIfKBVNDZJnt8eJEqIS3Q/OdqXKuvzZFt43Vu6X7Xexbtp882s8CK7FuzUq2QC4La/5t5ArJaRsrqmelFg= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6d53b9bb-38c3-41f1-0282-08d6c1714aff X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Apr 2019 07:09:25.8489 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4765 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Rm9yIGRvd25zY2FsaW5nIHRoZXJlIGlzIGEgcmVzdHJpY3Rpb24sIHRoZSBkb3duc2NhbGluZyBu ZWVkZWQgZW5naW5lDQpjbG9jayBjYW4gbm90IGFjY2VlZCB0aGUgcmVhbCBlbmdpbmUgY2xvY2ss IGFuZCB0aGUgY2xvY2sgcmVxdWlyZW1lbnQNCm1vc3RseSBkZXBlbmQgb24gdGhlIHNwZWNpZmlj IEhXLCB0byBzb2x2ZSB0aGlzIHByb2JsZW06DQoxLiBBZGQgYSBwaXBlbGluZSBmdW5jIC0gZG93 bnNjYWxpbmdfY2xrX2NoZWNrIGZvciBDT1JFIHRvIHF1ZXJ5IHRoZSByZWFsDQogICBIVyBpZiBk b3duc2NhbGluZyBjYW4gYmUgc3VwcG9ydGVkLg0KMi4gQWRkIG5ldyBwcm9wZXJ0eSBjbG9jayBy YXRpbyB3aGljaCBpcyB0aGUgcmF0aW8gb2Y6DQogICAgIChtY2xrIDw8IDMyKSAvIHB4bGNsaw0K ICAgdGhlbiBVc2VyIGRyaXZlciBjYW4gdXNlIHRoaXMgcmF0aW8gdG8gZG8gdGhlIGNsb2NrIGNo ZWNrIHRvIGF2b2lkIHBvc3QNCiAgIGFuIGludmFsaWQgZG93bnNjYWxpbmcgdG8ga2VybmVsLg0K DQpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBRaWFuIFdhbmcgKEFybSBUZWNobm9sb2d5IENoaW5hKSA8 amFtZXMucWlhbi53YW5nQGFybS5jb20+DQotLS0NCiAuLi4vYXJtL2Rpc3BsYXkva29tZWRhL2Q3 MS9kNzFfY29tcG9uZW50LmMgICAgfCA0NSArKysrKysrKysrKysrDQogLi4uL2dwdS9kcm0vYXJt L2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfZGV2LmMgIHwgIDIgKy0NCiAuLi4vZ3B1L2RybS9hcm0v ZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9kZXYuaCAgfCAgMiArDQogLi4uL2dwdS9kcm0vYXJtL2Rp c3BsYXkva29tZWRhL2tvbWVkYV9jcnRjLmMgIHwgNjcgKysrKysrKysrKysrKysrKysrLQ0KIC4u Li9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfa21zLmggICB8ICA4ICsrKw0KIC4u Li9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZS5oICB8ICA5ICsrLQ0KIC4u Li9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYyAgICB8IDE3ICsrKystDQog NyBmaWxlcyBjaGFuZ2VkLCAxNDQgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkNCg0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9jb21w b25lbnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9jb21w b25lbnQuYw0KaW5kZXggNWE0YzhmZDEyMmRhLi5iZjIxNGRjOWUzNzIgMTAwNjQ0DQotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfY29tcG9uZW50LmMNCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9jb21wb25lbnQu Yw0KQEAgLTY3Nyw2ICs2NzcsNDcgQEAgc3RhdGljIGludCBkNzFfc2NhbGVyX2luaXQoc3RydWN0 IGQ3MV9kZXYgKmQ3MSwNCiAJcmV0dXJuIDA7DQogfQ0KIA0KK3N0YXRpYyBpbnQgZDcxX2Rvd25z Y2FsaW5nX2Nsa19jaGVjayhzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlLA0KKwkJCQkgICAg IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLA0KKwkJCQkgICAgIHVuc2lnbmVkIGxvbmcg bWNsa19yYXRlLA0KKwkJCQkgICAgIHN0cnVjdCBrb21lZGFfZGF0YV9mbG93X2NmZyAqZGZsb3cp DQorew0KKwl1MzIgaF9pbiA9IGRmbG93LT5pbl93Ow0KKwl1MzIgdl9pbiA9IGRmbG93LT5pbl9o Ow0KKwl1MzIgdl9vdXQgPSBkZmxvdy0+b3V0X2g7DQorCXU2NCBmcmFjdGlvbiwgZGVub21pbmF0 b3I7DQorDQorCS8qIEQ3MSBkb3duc2NhbGluZyBtdXN0IHNhdGlzZnkgdGhlIGZvbGxvd2luZyBl cXVhdGlvbg0KKwkgKg0KKwkgKiAgIE1DTEsgICAgICAgICAgICAgICAgICAgaF9pbiAqIHZfaW4N CisJICogLS0tLS0tLSA+PSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCisJICogIFBYTENMSyAgICAgKGhfdG90YWwgLSAoMSArIDIgKiB2X2luIC8gdl9vdXQp KSAqIHZfb3V0DQorCSAqDQorCSAqIEluIG9ubHkgaG9yaXpvbnRhbCBkb3duc2NhbGluZyBzaXR1 YXRpb24sIHRoZSByaWdodCBzaWRlIHNob3VsZCBiZQ0KKwkgKiBtdWx0aXBsaWVkIGJ5IChoX3Rv dGFsIC0gMykgLyAoaF9hY3RpdmUgLSAzKSwgdGhlbiBlcXVhdGlvbiBiZWNvbWVzDQorCSAqDQor CSAqICAgTUNMSyAgICAgICAgICBoX2luDQorCSAqIC0tLS0tLS0gPj0gLS0tLS0tLS0tLS0tLS0t LQ0KKwkgKiAgUFhMQ0xLICAgICAoaF9hY3RpdmUgLSAzKQ0KKwkgKg0KKwkgKiBUbyBhdm9pZCBw cmVjaXNpb24gbG9zdCB0aGUgZXF1YXRpb24gMSB3aWxsIGJlIGNvbnZlcnQgdG86DQorCSAqDQor CSAqICAgTUNMSyAgICAgICAgICAgICBoX2luICogdl9pbg0KKwkgKiAtLS0tLS0tID49IC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorCSAqICBQWExDTEsgICAgIChoX3RvdGFs IC0xICkgKiB2X291dCAtICAyICogdl9pbg0KKwkgKi8NCisJaWYgKHZfaW4gPT0gdl9vdXQpIHsN CisJCWZyYWN0aW9uID0gaF9pbjsNCisJCWRlbm9taW5hdG9yID0gbW9kZS0+aGRpc3BsYXkgLSAz Ow0KKwl9IGVsc2Ugew0KKwkJZnJhY3Rpb24gPSBoX2luICogdl9pbjsNCisJCWRlbm9taW5hdG9y ID0gKG1vZGUtPmh0b3RhbCAtIDEpICogdl9vdXQgLSAgMiAqIHZfaW47DQorCX0NCisNCisJcmV0 dXJuIG1jbGtfcmF0ZSAqIGRlbm9taW5hdG9yID49IG1vZGUtPmNsb2NrICogMTAwMCAqIGZyYWN0 aW9uID8NCisJICAgICAgIDAgOiAtRUlOVkFMOw0KK30NCisNCiBzdGF0aWMgdm9pZCBkNzFfaW1w cm9jX3VwZGF0ZShzdHJ1Y3Qga29tZWRhX2NvbXBvbmVudCAqYywNCiAJCQkgICAgICBzdHJ1Y3Qg a29tZWRhX2NvbXBvbmVudF9zdGF0ZSAqc3RhdGUpDQogew0KQEAgLTkzOCwzICs5NzksNyBAQCBp bnQgZDcxX3Byb2JlX2Jsb2NrKHN0cnVjdCBkNzFfZGV2ICpkNzEsDQogDQogCXJldHVybiBlcnI7 DQogfQ0KKw0KK3N0cnVjdCBrb21lZGFfcGlwZWxpbmVfZnVuY3MgZDcxX3BpcGVsaW5lX2Z1bmNz ID0gew0KKwkuZG93bnNjYWxpbmdfY2xrX2NoZWNrID0gZDcxX2Rvd25zY2FsaW5nX2Nsa19jaGVj aywNCit9Ow0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEv ZDcxL2Q3MV9kZXYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3 MV9kZXYuYw0KaW5kZXggMzQ1MDZlZjdhZDQwLi5kZDk5ZTA2MTgwZmQgMTAwNjQ0DQotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfZGV2LmMNCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9kZXYuYw0KQEAgLTM5MCw3 ICszOTAsNyBAQCBzdGF0aWMgaW50IGQ3MV9lbnVtX3Jlc291cmNlcyhzdHJ1Y3Qga29tZWRhX2Rl diAqbWRldikNCiANCiAJZm9yIChpID0gMDsgaSA8IGQ3MS0+bnVtX3BpcGVsaW5lczsgaSsrKSB7 DQogCQlwaXBlID0ga29tZWRhX3BpcGVsaW5lX2FkZChtZGV2LCBzaXplb2Yoc3RydWN0IGQ3MV9w aXBlbGluZSksDQotCQkJCQkgICBOVUxMKTsNCisJCQkJCSAgICZkNzFfcGlwZWxpbmVfZnVuY3Mp Ow0KIAkJaWYgKElTX0VSUihwaXBlKSkgew0KIAkJCWVyciA9IFBUUl9FUlIocGlwZSk7DQogCQkJ Z290byBlcnJfY2xlYW51cDsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2Q3MS9kNzFfZGV2LmggYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29t ZWRhL2Q3MS9kNzFfZGV2LmgNCmluZGV4IDc0NjVjNTdkOTc3NC4uNDBmODc5NTVlZTE2IDEwMDY0 NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2Rldi5o DQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfZGV2LmgN CkBAIC00Myw2ICs0Myw4IEBAIHN0cnVjdCBkNzFfZGV2IHsNCiANCiAjZGVmaW5lIHRvX2Q3MV9w aXBlbGluZSh4KQljb250YWluZXJfb2YoeCwgc3RydWN0IGQ3MV9waXBlbGluZSwgYmFzZSkNCiAN CitleHRlcm4gc3RydWN0IGtvbWVkYV9waXBlbGluZV9mdW5jcyBkNzFfcGlwZWxpbmVfZnVuY3M7 DQorDQogaW50IGQ3MV9wcm9iZV9ibG9jayhzdHJ1Y3QgZDcxX2RldiAqZDcxLA0KIAkJICAgIHN0 cnVjdCBibG9ja19oZWFkZXIgKmJsaywgdTMyIF9faW9tZW0gKnJlZyk7DQogdm9pZCBkNzFfcmVh ZF9ibG9ja19oZWFkZXIodTMyIF9faW9tZW0gKnJlZywgc3RydWN0IGJsb2NrX2hlYWRlciAqYmxr KTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVk YV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9jcnRj LmMNCmluZGV4IGMwZTk4NjA1ZGVmOC4uODE3YWU4OTJmN2I0IDEwMDY0NA0KLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfY3J0Yy5jDQorKysgYi9kcml2ZXJz L2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9jcnRjLmMNCkBAIC0xOCw2ICsxOCwy MiBAQA0KICNpbmNsdWRlICJrb21lZGFfZGV2LmgiDQogI2luY2x1ZGUgImtvbWVkYV9rbXMuaCIN CiANCitzdGF0aWMgdm9pZCBrb21lZGFfY3J0Y191cGRhdGVfY2xvY2tfcmF0aW8oc3RydWN0IGtv bWVkYV9jcnRjX3N0YXRlICprY3J0Y19zdCkNCit7DQorCXU2NCBweGxjbGssIG1jbGs7DQorDQor CWlmICgha2NydGNfc3QtPmJhc2UuYWN0aXZlKSB7DQorCQlrY3J0Y19zdC0+Y2xvY2tfcmF0aW8g PSAwOw0KKwkJcmV0dXJuOw0KKwl9DQorDQorCXB4bGNsayA9IGtjcnRjX3N0LT5iYXNlLmFkanVz dGVkX21vZGUuY2xvY2sgKiAxMDAwOw0KKwltY2xrID0ga29tZWRhX2NhbGNfbWNsayhrY3J0Y19z dCkgPDwgMzI7DQorDQorCWRvX2RpdihtY2xrLCBweGxjbGspOw0KKwlrY3J0Y19zdC0+Y2xvY2tf cmF0aW8gPSBtY2xrOw0KK30NCisNCiAvKioNCiAgKiBrb21lZGFfY3J0Y19hdG9taWNfY2hlY2sg LSBidWlsZCBkaXNwbGF5IG91dHB1dCBkYXRhIGZsb3cNCiAgKiBAY3J0YzogRFJNIGNydGMNCkBA IC0zOCw2ICs1NCw5IEBAIGtvbWVkYV9jcnRjX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2NydGMg KmNydGMsDQogCXN0cnVjdCBrb21lZGFfY3J0Y19zdGF0ZSAqa2NydGNfc3QgPSB0b19rY3J0Y19z dChzdGF0ZSk7DQogCWludCBlcnI7DQogDQorCWlmIChkcm1fYXRvbWljX2NydGNfbmVlZHNfbW9k ZXNldChzdGF0ZSkpDQorCQlrb21lZGFfY3J0Y191cGRhdGVfY2xvY2tfcmF0aW8oa2NydGNfc3Qp Ow0KKw0KIAlpZiAoc3RhdGUtPmFjdGl2ZSkgew0KIAkJZXJyID0ga29tZWRhX2J1aWxkX2Rpc3Bs YXlfZGF0YV9mbG93KGtjcnRjLCBrY3J0Y19zdCk7DQogCQlpZiAoZXJyKQ0KQEAgLTUyLDExICs3 MSwxMiBAQCBrb21lZGFfY3J0Y19hdG9taWNfY2hlY2soc3RydWN0IGRybV9jcnRjICpjcnRjLA0K IAlyZXR1cm4gMDsNCiB9DQogDQotdTMyIGtvbWVkYV9jYWxjX21jbGsoc3RydWN0IGtvbWVkYV9j cnRjX3N0YXRlICprY3J0Y19zdCkNCit1bnNpZ25lZCBsb25nIGtvbWVkYV9jYWxjX21jbGsoc3Ry dWN0IGtvbWVkYV9jcnRjX3N0YXRlICprY3J0Y19zdCkNCiB7DQotCXVuc2lnbmVkIGxvbmcgbWNs ayA9IGtjcnRjX3N0LT5iYXNlLmFkanVzdGVkX21vZGUuY2xvY2sgKiAxMDAwOw0KKwlzdHJ1Y3Qg a29tZWRhX2RldiAqbWRldiA9IGtjcnRjX3N0LT5iYXNlLmNydGMtPmRldi0+ZGV2X3ByaXZhdGU7 DQorCXVuc2lnbmVkIGxvbmcgcHhsY2xrID0ga2NydGNfc3QtPmJhc2UuYWRqdXN0ZWRfbW9kZS5j bG9jazsNCiANCi0JcmV0dXJuIG1jbGs7DQorCXJldHVybiBjbGtfcm91bmRfcmF0ZShtZGV2LT5t Y2xrLCBweGxjbGsgKiAxMDAwKTsNCiB9DQogDQogLyogRm9yIGFjdGl2ZSBhIGNydGMsIG1haW5s eSBuZWVkIHR3byBwYXJ0cyBvZiBwcmVwYXJhdGlvbg0KQEAgLTQwNCw2ICs0MjQsNyBAQCBrb21l ZGFfY3J0Y19hdG9taWNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykNCiAJ X19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShjcnRjLCAmbmV3LT5iYXNl KTsNCiANCiAJbmV3LT5hZmZlY3RlZF9waXBlcyA9IG9sZC0+YWN0aXZlX3BpcGVzOw0KKwluZXct PmNsb2NrX3JhdGlvID0gb2xkLT5jbG9ja19yYXRpbzsNCiANCiAJcmV0dXJuICZuZXctPmJhc2U7 DQogfQ0KQEAgLTQzMiw2ICs0NTMsMjUgQEAgc3RhdGljIHZvaWQga29tZWRhX2NydGNfdmJsYW5r X2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQ0KIAltZGV2LT5mdW5jcy0+b25fb2ZmX3Zi bGFuayhtZGV2LCBrY3J0Yy0+bWFzdGVyLT5pZCwgZmFsc2UpOw0KIH0NCiANCitzdGF0aWMgaW50 DQora29tZWRhX2NydGNfYXRvbWljX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMs DQorCQkJCWNvbnN0IHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsDQorCQkJCXN0cnVjdCBk cm1fcHJvcGVydHkgKnByb3BlcnR5LCB1aW50NjRfdCAqdmFsKQ0KK3sNCisJc3RydWN0IGtvbWVk YV9jcnRjICprY3J0YyA9IHRvX2tjcnRjKGNydGMpOw0KKwlzdHJ1Y3Qga29tZWRhX2NydGNfc3Rh dGUgKmtjcnRjX3N0ID0gdG9fa2NydGNfc3Qoc3RhdGUpOw0KKw0KKwlpZiAocHJvcGVydHkgPT0g a2NydGMtPmNsb2NrX3JhdGlvX3Byb3BlcnR5KSB7DQorCQkqdmFsID0ga2NydGNfc3QtPmNsb2Nr X3JhdGlvOw0KKwkJcHJfaW5mbygiR2V0IHByb3BlcnR5OiAlbGx1LlxuIiwga2NydGNfc3QtPmNs b2NrX3JhdGlvKTsNCisJfSBlbHNlIHsNCisJCURSTV9ERUJVR19EUklWRVIoIlVua25vd24gcHJv cGVydHkgJXNcbiIsIHByb3BlcnR5LT5uYW1lKTsNCisJCXJldHVybiAtRUlOVkFMOw0KKwl9DQor DQorCXJldHVybiAwOw0KK30NCisNCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNz IGtvbWVkYV9jcnRjX2Z1bmNzID0gew0KIAkuZ2FtbWFfc2V0CQk9IGRybV9hdG9taWNfaGVscGVy X2xlZ2FjeV9nYW1tYV9zZXQsDQogCS5kZXN0cm95CQk9IGRybV9jcnRjX2NsZWFudXAsDQpAQCAt NDQyLDYgKzQ4Miw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3Mga29tZWRh X2NydGNfZnVuY3MgPSB7DQogCS5hdG9taWNfZGVzdHJveV9zdGF0ZQk9IGtvbWVkYV9jcnRjX2F0 b21pY19kZXN0cm95X3N0YXRlLA0KIAkuZW5hYmxlX3ZibGFuawkJPSBrb21lZGFfY3J0Y192Ymxh bmtfZW5hYmxlLA0KIAkuZGlzYWJsZV92YmxhbmsJCT0ga29tZWRhX2NydGNfdmJsYW5rX2Rpc2Fi bGUsDQorCS5hdG9taWNfZ2V0X3Byb3BlcnR5CT0ga29tZWRhX2NydGNfYXRvbWljX2dldF9wcm9w ZXJ0eSwNCiB9Ow0KIA0KIGludCBrb21lZGFfa21zX3NldHVwX2NydGNzKHN0cnVjdCBrb21lZGFf a21zX2RldiAqa21zLA0KQEAgLTQ3Nyw2ICs1MTgsMjIgQEAgaW50IGtvbWVkYV9rbXNfc2V0dXBf Y3J0Y3Moc3RydWN0IGtvbWVkYV9rbXNfZGV2ICprbXMsDQogCXJldHVybiAwOw0KIH0NCiANCitz dGF0aWMgaW50IGtvbWVkYV9jcnRjX2NyZWF0ZV9jbG9ja19yYXRpb19wcm9wZXJ0eShzdHJ1Y3Qg a29tZWRhX2NydGMgKmtjcnRjKQ0KK3sNCisJc3RydWN0IGRybV9jcnRjICpjcnRjID0gJmtjcnRj LT5iYXNlOw0KKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wOw0KKw0KKwlwcm9wID0gZHJtX3By b3BlcnR5X2NyZWF0ZV9yYW5nZShjcnRjLT5kZXYsIERSTV9NT0RFX1BST1BfQVRPTUlDLA0KKwkJ CQkJICJDTE9DS19SQVRJTyIsIDAsIFU2NF9NQVgpOw0KKwlpZiAoIXByb3ApDQorCQlyZXR1cm4g LUVOT01FTTsNCisNCisJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNydGMtPmJhc2UsIHBy b3AsIDApOw0KKwlrY3J0Yy0+Y2xvY2tfcmF0aW9fcHJvcGVydHkgPSBwcm9wOw0KKw0KKwlyZXR1 cm4gMDsNCit9DQorDQogc3RhdGljIHN0cnVjdCBkcm1fcGxhbmUgKg0KIGdldF9jcnRjX3ByaW1h cnkoc3RydWN0IGtvbWVkYV9rbXNfZGV2ICprbXMsIHN0cnVjdCBrb21lZGFfY3J0YyAqY3J0YykN CiB7DQpAQCAtNTEzLDYgKzU3MCwxMCBAQCBzdGF0aWMgaW50IGtvbWVkYV9jcnRjX2FkZChzdHJ1 Y3Qga29tZWRhX2ttc19kZXYgKmttcywNCiANCiAJY3J0Yy0+cG9ydCA9IGtjcnRjLT5tYXN0ZXIt Pm9mX291dHB1dF9wb3J0Ow0KIA0KKwllcnIgPSBrb21lZGFfY3J0Y19jcmVhdGVfY2xvY2tfcmF0 aW9fcHJvcGVydHkoa2NydGMpOw0KKwlpZiAoZXJyKQ0KKwkJcmV0dXJuIGVycjsNCisNCiAJcmV0 dXJuIDA7DQogfQ0KIA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9r b21lZGEva29tZWRhX2ttcy5oIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9r b21lZGFfa21zLmgNCmluZGV4IGYxNmU5ZTU3NzU5My4uZGI1OWE5MDQyYmViIDEwMDY0NA0KLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfa21zLmgNCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5oDQpAQCAtNzks NiArNzksOSBAQCBzdHJ1Y3Qga29tZWRhX2NydGMgew0KIA0KIAkvKiogQGRpc2FibGVfZG9uZTog dGhpcyBmbGlwX2RvbmUgaXMgZm9yIHRyYWNpbmcgdGhlIGRpc2FibGUgKi8NCiAJc3RydWN0IGNv bXBsZXRpb24gKmRpc2FibGVfZG9uZTsNCisNCisJLyoqIEBjbG9ja19yYXRpb19wcm9wZXJ0eTog cHJvcGVydHkgZm9yIHJhdGlvIG9mIChtY2xrIDw8IDMyKS9weGxjbGsgKi8NCisJc3RydWN0IGRy bV9wcm9wZXJ0eSAqY2xvY2tfcmF0aW9fcHJvcGVydHk7DQogfTsNCiANCiAvKioNCkBAIC0xMDEs NiArMTA0LDkgQEAgc3RydWN0IGtvbWVkYV9jcnRjX3N0YXRlIHsNCiAJICogdGhlIGFjdGl2ZSBw aXBlbGluZXMgaW4gb25jZSBkaXNwbGF5IGluc3RhbmNlDQogCSAqLw0KIAl1MzIgYWN0aXZlX3Bp cGVzOw0KKw0KKwkvKiogQGNsb2NrX3JhdGlvOiByYXRpbyBvZiAobWNsayA8PCAzMikvcHhsY2xr ICovDQorCXU2NCBjbG9ja19yYXRpbzsNCiB9Ow0KIA0KIC8qKiBzdHJ1Y3Qga29tZWRhX2ttc19k ZXYgLSBmb3IgZ2F0aGVyIEtNUyByZWxhdGVkIHRoaW5ncyAqLw0KQEAgLTE0Miw2ICsxNDgsOCBA QCBpc19vbmx5X2NoYW5nZWRfY29ubmVjdG9yKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3QsIHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uKQ0KIAlyZXR1cm4gQklUKGRybV9jb25uZWN0b3JfaW5k ZXgoY29ubikpID09IGNoYW5nZWRfY29ubmVjdG9yczsNCiB9DQogDQordW5zaWduZWQgbG9uZyBr b21lZGFfY2FsY19tY2xrKHN0cnVjdCBrb21lZGFfY3J0Y19zdGF0ZSAqa2NydGNfc3QpOw0KKw0K IGludCBrb21lZGFfa21zX3NldHVwX2NydGNzKHN0cnVjdCBrb21lZGFfa21zX2RldiAqa21zLCBz dHJ1Y3Qga29tZWRhX2RldiAqbWRldik7DQogDQogaW50IGtvbWVkYV9rbXNfYWRkX2NydGNzKHN0 cnVjdCBrb21lZGFfa21zX2RldiAqa21zLCBzdHJ1Y3Qga29tZWRhX2RldiAqbWRldik7DQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxp bmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5l LmgNCmluZGV4IGJmYWQ3ZDAzZjgwMS4uYjI2Yzg1NTJhMmQxIDEwMDY0NA0KLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmUuaA0KKysrIGIvZHJp dmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmUuaA0KQEAgLTMx Niw4ICszMTYsMTUgQEAgc3RydWN0IGtvbWVkYV9kYXRhX2Zsb3dfY2ZnIHsNCiAJdTggbmVlZHNf c2NhbGluZyA6IDE7DQogfTsNCiANCi0vKiogc3RydWN0IGtvbWVkYV9waXBlbGluZV9mdW5jcyAq Lw0KKy8qIHN0cnVjdCBrb21lZGFfcGlwZWxpbmVfZnVuY3MgKi8NCiBzdHJ1Y3Qga29tZWRhX3Bp cGVsaW5lX2Z1bmNzIHsNCisJLyogY2hlY2sgaWYgdGhlIG1jbGsgKG1haW4gZW5naW5lIGNsb2Nr KSBjYW4gc2F0aXNmeSB0aGUgY2xvY2sNCisJICogcmVxdWlyZW1lbnRzIG9mIHRoZSBkb3duc2Nh bGluZyB0aGF0IHNwZWNpZmllZCBieSBkZmxvdw0KKwkgKi8NCisJaW50ICgqZG93bnNjYWxpbmdf Y2xrX2NoZWNrKShzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlLA0KKwkJCQkgICAgIHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICptb2RlLA0KKwkJCQkgICAgIHVuc2lnbmVkIGxvbmcgbWNsa19y YXRlLA0KKwkJCQkgICAgIHN0cnVjdCBrb21lZGFfZGF0YV9mbG93X2NmZyAqZGZsb3cpOw0KIAkv KiBkdW1wX3JlZ2lzdGVyOiBPcHRpb25hbCwgZHVtcCByZWdpc3RlcnMgdG8gc2VxX2ZpbGUgKi8N CiAJdm9pZCAoKmR1bXBfcmVnaXN0ZXIpKHN0cnVjdCBrb21lZGFfcGlwZWxpbmUgKnBpcGUsDQog CQkJICAgICAgc3RydWN0IHNlcV9maWxlICpzZik7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYyBiL2RyaXZlcnMv Z3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lX3N0YXRlLmMNCmluZGV4 IGM2ZjE5OTY5ZmMxMC4uNTNlYjQwOTQxMjgxIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYw0KKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYw0KQEAg LTM4NSw2ICszODUsNyBAQCBzdGF0aWMgYm9vbCBzY2FsaW5nX3JhdGlvX3ZhbGlkKHUzMiBzaXpl X2luLCB1MzIgc2l6ZV9vdXQsDQogDQogc3RhdGljIGludA0KIGtvbWVkYV9zY2FsZXJfY2hlY2tf Y2ZnKHN0cnVjdCBrb21lZGFfc2NhbGVyICpzY2FsZXIsDQorCQkJc3RydWN0IGtvbWVkYV9jcnRj X3N0YXRlICprY3J0Y19zdCwNCiAJCQlzdHJ1Y3Qga29tZWRhX2RhdGFfZmxvd19jZmcgKmRmbG93 KQ0KIHsNCiAJdTMyIGhzaXplX2luLCB2c2l6ZV9pbiwgaHNpemVfb3V0LCB2c2l6ZV9vdXQ7DQpA QCAtNDI2LDYgKzQyNywyMCBAQCBrb21lZGFfc2NhbGVyX2NoZWNrX2NmZyhzdHJ1Y3Qga29tZWRh X3NjYWxlciAqc2NhbGVyLA0KIAkJRFJNX0RFQlVHX0FUT01JQygiSW52YWxpZCB2ZXJ0aWNhbCBz Y2FsaW5nIHJhdGlvIik7DQogCQlyZXR1cm4gLUVJTlZBTDsNCiAJfQ0KKw0KKwlpZiAoaHNpemVf aW4gPiBoc2l6ZV9vdXQgfHwgdnNpemVfaW4gPiB2c2l6ZV9vdXQpIHsNCisJCXN0cnVjdCBrb21l ZGFfcGlwZWxpbmUgKnBpcGUgPSBzY2FsZXItPmJhc2UucGlwZWxpbmU7DQorCQlpbnQgZXJyOw0K Kw0KKwkJZXJyID0gcGlwZS0+ZnVuY3MtPmRvd25zY2FsaW5nX2Nsa19jaGVjayhwaXBlLA0KKwkJ CQkJJmtjcnRjX3N0LT5iYXNlLmFkanVzdGVkX21vZGUsDQorCQkJCQlrb21lZGFfY2FsY19tY2xr KGtjcnRjX3N0KSwgZGZsb3cpOw0KKwkJaWYgKGVycikgew0KKwkJCURSTV9ERUJVR19BVE9NSUMo Im1jbGsgY2FuJ3Qgc2F0aXNmeSB0aGUgY2xvY2sgcmVxdWlyZW1lbnQgb2YgdGhlIGRvd25zY2Fs aW5nIik7DQorCQkJcmV0dXJuIGVycjsNCisJCX0NCisJfQ0KKw0KIAlyZXR1cm4gMDsNCiB9DQog DQpAQCAtNDUwLDcgKzQ2NSw3IEBAIGtvbWVkYV9zY2FsZXJfdmFsaWRhdGUodm9pZCAqdXNlciwN CiAJCXJldHVybiAtRUlOVkFMOw0KIAl9DQogDQotCWVyciA9IGtvbWVkYV9zY2FsZXJfY2hlY2tf Y2ZnKHNjYWxlciwgZGZsb3cpOw0KKwllcnIgPSBrb21lZGFfc2NhbGVyX2NoZWNrX2NmZyhzY2Fs ZXIsIGtjcnRjX3N0LCBkZmxvdyk7DQogCWlmIChlcnIpDQogCQlyZXR1cm4gZXJyOw0KIA0KLS0g DQoyLjE3LjENCg0K