Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1897205yba; Mon, 15 Apr 2019 00:10:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqwg1WpWQGoCIabexSqEX7cbMK4r3vvTjkFS3tNplz0ya42ftKKSXIIbPchUcFA8rDWGkBzs X-Received: by 2002:a62:1647:: with SMTP id 68mr11722782pfw.113.1555312214819; Mon, 15 Apr 2019 00:10:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555312214; cv=none; d=google.com; s=arc-20160816; b=dLWnQN4+A472YP7/AbweVTxxn1NkB4G7m/XRr1rHmRhAH94803OQS+oobXUVMfmObL fnTahBxGxrNnyeNxhEj4FH4FvdQKV//ESx+2NQYRsk/qYQ8OZJuxo4EcvnuXoZ9wYrB9 o7yBsJk78ydHxalW4mWo/Hj1vG6ZnFKDNZobTkBtKiubD/sRI2ngMOcXD+4jhrziy61n eNHzjAWGFoRqgzKHuO7BN41YWEBjGr+bZ/6G/hsTVCfuVImS6kj5vXuwBQqoh7aqPjTz pcPljtHxX4opYPis2eceL6MQJdmh2qvnsfGSJNcrFjatr3rsd4zpZSQiVfIsHcIVgINc 19ZA== 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=qOVSw/jDfep87G0e6IjAxj0gZY3q0w6xpjjCIg9aIKE=; b=yo5um9Jd6X7a3G90diHOdc390Wq5dLFxG8SoDuDqwgv3/reNzGR18E2HwYlbB6z58O OQODwac30Lo6kIoZ8Nt9kqW8KMA9DcyiANr/ApCsiD3aSO4g9nXFrQbqF7hUKuTmv6VC Fj6y2XFwHKv8nzZfMsUWNMV2/gJmL15DuNWj67+vmzbOXKwiD3E2gynxBsD7XRV9X1UV EtTeqDebwlD5F2UxgFTkfACtpQlyBt4YHna8A1VdLt3Sxw8QtmeuzJkEETssD7fuJiZe 9OWuqTctlpFpDhE7TAynfnChR1Jv5jtcPvg2MZ+GPaxE/xmpFe/4CynE+KB6nDTyleMB 07YQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector1-arm-com header.b=rGjfXciE; 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 71si22258136plc.91.2019.04.15.00.09.59; Mon, 15 Apr 2019 00:10:14 -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=rGjfXciE; 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 S1726334AbfDOHJP (ORCPT + 99 others); Mon, 15 Apr 2019 03:09:15 -0400 Received: from mail-eopbgr140043.outbound.protection.outlook.com ([40.107.14.43]:22787 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725798AbfDOHJP (ORCPT ); Mon, 15 Apr 2019 03:09:15 -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=qOVSw/jDfep87G0e6IjAxj0gZY3q0w6xpjjCIg9aIKE=; b=rGjfXciEVFg7MgrCgo7F0hZ35uQwuGLYpsoTTcaxNMeGOEC8t89a0KJNuYvCzu6qtA8BmM1ZUi7yfv2sy28EitFTmZFB9cxp4hqwTIe8g3uhB8U9AK5XENko3KzWJ5YdiNA7dMJrvbPuEiCk36F5E/V52+F9IMef+jEjTVUVh4A= 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:10 +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:10 +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 2/6] drm/komeda: Add the initial scaler support for CORE Thread-Topic: [PATCH v1 2/6] drm/komeda: Add the initial scaler support for CORE Thread-Index: AQHU81ofJeAyTDPHgEiq4Pv1dHTLRA== Date: Mon, 15 Apr 2019 07:09:09 +0000 Message-ID: <20190415070828.24075-3-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: 3305f290-e1ec-4b8d-a5b0-08d6c1714186 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)(446003)(81156014)(486006)(66066001)(8676002)(26005)(5660300002)(6436002)(1076003)(103116003)(6512007)(76176011)(36756003)(476003)(14444005)(2616005)(7736002)(4326008)(81166006)(11346002)(305945005)(2906002)(25786009)(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: cOynI11KDqjev/3gxP/Y0fsZOa7K1fv77hrfkVQIUfouPtPbbBZSTWdJ0Dgtd7coUcohP+XTTaISAGFJ35IRI5mSsahng15TXNRLPN3GtqYVXBPBx8ADJxP5YbCCnwjnDwumSFzrmAk7Ud2wx2Nba0jgkkVrRkrEUqSgcvxQSPSJy6V9WhPGTsUgyxONGO3FDdTxfPdwwpFWH3wmm8vIZ24scxaUL6htUVoTvDoBGS2cm0breeObmTXZvo7OuFWdS+KAbL1sZ9+BU/6W+wtisaSw9ulQ/Z2Stje4Kq6RG5wr0h8j1AFrcRDRxzWyGCL9UpqzmhGmD/QwRLUzZ/wr2iVtJ4JpvFGve7FvCabMYIWlVQe07oh7iFfJyAcq1NkFEznMq46KtLduNlQQuZmAdBbE3pJ89fq0Hiiq3CO3S1Q= 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: 3305f290-e1ec-4b8d-a5b0-08d6c1714186 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Apr 2019 07:09:09.8675 (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 VGhpcyBwYXRjaCBhZGQgdGhlIGluaXRpYWwgYW5kIG5lY2Vzc2FyeSBsb2dpYyBmb3IgQ09SRSB0 byBzdXBwb3J0IHNjYWxlcjoNCi0gQ29tcGxldGUgdGhlIHN0cnVjdCBrb21lZGFfc2NhbGVyIGFu ZCBrb21lZGFfc2NhbGVyX3N0YXRlIGZvciBhZGRpbmcNCiAgdGhlIHNjYWxlciBzcGVjaWZpYyBm ZWF0dXJlcyBhbmQgY2FwYWJsaXRpZXMuDQotIEltcGxlbWVudCBrb21lZGFfc2NhbGVyX3ZhbGlk YXRlIHRvIGNoZWNrIHRoZSBzY2FsZXIgd2l0aCB0aGUgZGF0YSBmbG93DQogIGNvbmZpZ3VyYXRp b25zLg0KLSBFbmFibGUgc2NhbGluZyBzdXBwb3J0IGZvciBwbGFuZSBpbnB1dCBwYXRoIChsYXll ciBpbnB1dCBkYXRhIGZsb3cpLg0KDQpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBRaWFuIFdhbmcgKEFy bSBUZWNobm9sb2d5IENoaW5hKSA8amFtZXMucWlhbi53YW5nQGFybS5jb20+DQotLS0NCiAuLi4v ZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmUuYyAgfCAgMTQgKysrDQogLi4u L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmggIHwgIDIwICsrLQ0KIC4u Li9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYyAgICB8IDExNiArKysrKysr KysrKysrKysrKysNCiAuLi4vZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BsYW5l LmMgfCAgIDggKysNCiA0IGZpbGVzIGNoYW5nZWQsIDE1NyBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRh L2tvbWVkYV9waXBlbGluZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9r b21lZGFfcGlwZWxpbmUuYw0KaW5kZXggMDczOThlZmM0MGY1Li5kMGMyN2ExMmRkYmUgMTAwNjQ0 DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGlu ZS5jDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBl bGluZS5jDQpAQCAtMTI2LDYgKzEyNiwyMCBAQCBrb21lZGFfcGlwZWxpbmVfZ2V0X2NvbXBvbmVu dChzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlLCBpbnQgaWQpDQogCXJldHVybiBjOw0KIH0N CiANCitzdHJ1Y3Qga29tZWRhX2NvbXBvbmVudCAqDQora29tZWRhX3BpcGVsaW5lX2dldF9maXJz dF9jb21wb25lbnQoc3RydWN0IGtvbWVkYV9waXBlbGluZSAqcGlwZSwNCisJCQkJICAgIHUzMiBj b21wX21hc2spDQorew0KKwlzdHJ1Y3Qga29tZWRhX2NvbXBvbmVudCAqYyA9IE5VTEw7DQorCWlu dCBpZDsNCisNCisJaWQgPSBmaW5kX2ZpcnN0X2JpdCgodW5zaWduZWQgbG9uZyAqKSZjb21wX21h c2ssIDMyKTsNCisJaWYgKGlkIDwgMzIpDQorCQljID0ga29tZWRhX3BpcGVsaW5lX2dldF9jb21w b25lbnQocGlwZSwgaWQpOw0KKw0KKwlyZXR1cm4gYzsNCit9DQorDQogLyoqIGtvbWVkYV9jb21w b25lbnRfYWRkIC0gQWRkIGEgY29tcG9uZW50IHRvICZrb21lZGFfcGlwZWxpbmUgKi8NCiBzdHJ1 Y3Qga29tZWRhX2NvbXBvbmVudCAqDQoga29tZWRhX2NvbXBvbmVudF9hZGQoc3RydWN0IGtvbWVk YV9waXBlbGluZSAqcGlwZSwNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2tvbWVkYV9waXBlbGluZS5oIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5 L2tvbWVkYS9rb21lZGFfcGlwZWxpbmUuaA0KaW5kZXggYmE1YmMwODEwYzgxLi44NWQ3ZWMzNDFh Y2MgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVk YV9waXBlbGluZS5oDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tv bWVkYV9waXBlbGluZS5oDQpAQCAtMjQ0LDExICsyNDQsMTcgQEAgc3RydWN0IGtvbWVkYV9sYXll cl9zdGF0ZSB7DQogDQogc3RydWN0IGtvbWVkYV9zY2FsZXIgew0KIAlzdHJ1Y3Qga29tZWRhX2Nv bXBvbmVudCBiYXNlOw0KLQkvKiBzY2FsZXIgZmVhdHVyZXMgYW5kIGNhcHMgKi8NCisJc3RydWN0 IG1hbGlkcF9yYW5nZSBoc2l6ZSwgdnNpemU7DQorCXUzMiBtYXhfdXBzY2FsaW5nOw0KKwl1MzIg bWF4X2Rvd25zY2FsaW5nOw0KIH07DQogDQogc3RydWN0IGtvbWVkYV9zY2FsZXJfc3RhdGUgew0K IAlzdHJ1Y3Qga29tZWRhX2NvbXBvbmVudF9zdGF0ZSBiYXNlOw0KKwl1MTYgaHNpemVfaW4sIHZz aXplX2luOw0KKwl1MTYgaHNpemVfb3V0LCB2c2l6ZV9vdXQ7DQorCXU4IGVuX3NjYWxpbmcgOiAx LA0KKwkgICBlbl9hbHBoYSA6IDE7IC8qIGVuYWJsZSBhbHBoYSBwcm9jZXNzaW5nICovDQogfTsN CiANCiBzdHJ1Y3Qga29tZWRhX2NvbXBpeiB7DQpAQCAtMzA3LDYgKzMxMyw3IEBAIHN0cnVjdCBr b21lZGFfZGF0YV9mbG93X2NmZyB7DQogCXUzMiByb3Q7DQogCWludCBibGVuZGluZ196b3JkZXI7 DQogCXU4IHBpeGVsX2JsZW5kX21vZGUsIGxheWVyX2FscGhhOw0KKwl1OCBuZWVkc19zY2FsaW5n IDogMTsNCiB9Ow0KIA0KIC8qKiBzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lX2Z1bmNzICovDQpAQCAt NDA3LDYgKzQxNCw5IEBAIHZvaWQga29tZWRhX3BpcGVsaW5lX2Rlc3Ryb3koc3RydWN0IGtvbWVk YV9kZXYgKm1kZXYsDQogaW50IGtvbWVkYV9hc3NlbWJsZV9waXBlbGluZXMoc3RydWN0IGtvbWVk YV9kZXYgKm1kZXYpOw0KIHN0cnVjdCBrb21lZGFfY29tcG9uZW50ICoNCiBrb21lZGFfcGlwZWxp bmVfZ2V0X2NvbXBvbmVudChzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlLCBpbnQgaWQpOw0K K3N0cnVjdCBrb21lZGFfY29tcG9uZW50ICoNCitrb21lZGFfcGlwZWxpbmVfZ2V0X2ZpcnN0X2Nv bXBvbmVudChzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlLA0KKwkJCQkgICAgdTMyIGNvbXBf bWFzayk7DQogDQogdm9pZCBrb21lZGFfcGlwZWxpbmVfZHVtcF9yZWdpc3RlcihzdHJ1Y3Qga29t ZWRhX3BpcGVsaW5lICpwaXBlLA0KIAkJCQkgICBzdHJ1Y3Qgc2VxX2ZpbGUgKnNmKTsNCkBAIC00 MjMsNiArNDMzLDE0IEBAIGtvbWVkYV9jb21wb25lbnRfYWRkKHN0cnVjdCBrb21lZGFfcGlwZWxp bmUgKnBpcGUsDQogdm9pZCBrb21lZGFfY29tcG9uZW50X2Rlc3Ryb3koc3RydWN0IGtvbWVkYV9k ZXYgKm1kZXYsDQogCQkJICAgICAgc3RydWN0IGtvbWVkYV9jb21wb25lbnQgKmMpOw0KIA0KK3N0 YXRpYyBpbmxpbmUgc3RydWN0IGtvbWVkYV9jb21wb25lbnQgKg0KK2tvbWVkYV9jb21wb25lbnRf cGlja3VwX291dHB1dChzdHJ1Y3Qga29tZWRhX2NvbXBvbmVudCAqYywgdTMyIGF2YWlsX2NvbXBz KQ0KK3sNCisJdTMyIGF2YWlsX2lucHV0cyA9IGMtPnN1cHBvcnRlZF9vdXRwdXRzICYgKGF2YWls X2NvbXBzKTsNCisNCisJcmV0dXJuIGtvbWVkYV9waXBlbGluZV9nZXRfZmlyc3RfY29tcG9uZW50 KGMtPnBpcGVsaW5lLCBhdmFpbF9pbnB1dHMpOw0KK30NCisNCiBzdHJ1Y3Qga29tZWRhX3BsYW5l X3N0YXRlOw0KIHN0cnVjdCBrb21lZGFfY3J0Y19zdGF0ZTsNCiBzdHJ1Y3Qga29tZWRhX2NydGM7 DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFf cGlwZWxpbmVfc3RhdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29t ZWRhX3BpcGVsaW5lX3N0YXRlLmMNCmluZGV4IDliMjllOWE5ZjQ5Yy4uMWRlYzMyMWM3MjdiIDEw MDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlw ZWxpbmVfc3RhdGUuYw0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9r b21lZGFfcGlwZWxpbmVfc3RhdGUuYw0KQEAgLTI0Nyw2ICsyNDcsMjYgQEAga29tZWRhX2NvbXBv bmVudF92YWxpZGF0ZV9wcml2YXRlKHN0cnVjdCBrb21lZGFfY29tcG9uZW50ICpjLA0KIAlyZXR1 cm4gZXJyOw0KIH0NCiANCisvKiBHZXQgY3VycmVudCBhdmFpbGFibGUgc2NhbGVyIGZyb20gdGhl IGNvbXBvbmVudC0+c3VwcG9ydGVkX291dHB1dHMgKi8NCitzdGF0aWMgc3RydWN0IGtvbWVkYV9z Y2FsZXIgKg0KK2tvbWVkYV9jb21wb25lbnRfZ2V0X2F2YWlsX3NjYWxlcihzdHJ1Y3Qga29tZWRh X2NvbXBvbmVudCAqYywNCisJCQkJICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpDQor ew0KKwlzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lX3N0YXRlICpwaXBlX3N0Ow0KKwl1MzIgYXZhaWxf c2NhbGVyczsNCisNCisJcGlwZV9zdCA9IGtvbWVkYV9waXBlbGluZV9nZXRfc3RhdGUoYy0+cGlw ZWxpbmUsIHN0YXRlKTsNCisJaWYgKCFwaXBlX3N0KQ0KKwkJcmV0dXJuIE5VTEw7DQorDQorCWF2 YWlsX3NjYWxlcnMgPSAocGlwZV9zdC0+YWN0aXZlX2NvbXBzICYgS09NRURBX1BJUEVMSU5FX1ND QUxFUlMpIF4NCisJCQlLT01FREFfUElQRUxJTkVfU0NBTEVSUzsNCisNCisJYyA9IGtvbWVkYV9j b21wb25lbnRfcGlja3VwX291dHB1dChjLCBhdmFpbF9zY2FsZXJzKTsNCisNCisJcmV0dXJuIHRv X3NjYWxlcihjKTsNCit9DQorDQogc3RhdGljIGludA0KIGtvbWVkYV9sYXllcl9jaGVja19jZmco c3RydWN0IGtvbWVkYV9sYXllciAqbGF5ZXIsDQogCQkgICAgICAgc3RydWN0IGtvbWVkYV9wbGFu ZV9zdGF0ZSAqa3BsYW5lX3N0LA0KQEAgLTM1Myw2ICszNzMsOTggQEAga29tZWRhX3diX2xheWVy X3ZhbGlkYXRlKHN0cnVjdCBrb21lZGFfbGF5ZXIgKndiX2xheWVyLA0KIAlyZXR1cm4gMDsNCiB9 DQogDQorc3RhdGljIGJvb2wgc2NhbGluZ19yYXRpb192YWxpZCh1MzIgc2l6ZV9pbiwgdTMyIHNp emVfb3V0LA0KKwkJCQl1MzIgbWF4X3Vwc2NhbGluZywgdTMyIG1heF9kb3duc2NhbGluZykNCit7 DQorCWlmIChzaXplX291dCA+IHNpemVfaW4gKiBtYXhfdXBzY2FsaW5nKQ0KKwkJcmV0dXJuIGZh bHNlOw0KKwllbHNlIGlmIChzaXplX2luID4gc2l6ZV9vdXQgKiBtYXhfZG93bnNjYWxpbmcpDQor CQlyZXR1cm4gZmFsc2U7DQorCXJldHVybiB0cnVlOw0KK30NCisNCitzdGF0aWMgaW50DQora29t ZWRhX3NjYWxlcl9jaGVja19jZmcoc3RydWN0IGtvbWVkYV9zY2FsZXIgKnNjYWxlciwNCisJCQlz dHJ1Y3Qga29tZWRhX2RhdGFfZmxvd19jZmcgKmRmbG93KQ0KK3sNCisJdTMyIGhzaXplX2luLCB2 c2l6ZV9pbiwgaHNpemVfb3V0LCB2c2l6ZV9vdXQ7DQorDQorCWhzaXplX2luID0gZGZsb3ctPmlu X3c7DQorCXZzaXplX2luID0gZGZsb3ctPmluX2g7DQorCWhzaXplX291dCA9IGRmbG93LT5vdXRf dzsNCisJdnNpemVfb3V0ID0gZGZsb3ctPm91dF9oOw0KKw0KKwlpZiAoIWluX3JhbmdlKCZzY2Fs ZXItPmhzaXplLCBoc2l6ZV9pbikgfHwNCisJICAgICFpbl9yYW5nZSgmc2NhbGVyLT5oc2l6ZSwg aHNpemVfb3V0KSkgew0KKwkJRFJNX0RFQlVHX0FUT01JQygiSW52YWxpZCBob3Jpem9udGFsIHNp emVzIik7DQorCQlyZXR1cm4gLUVJTlZBTDsNCisJfQ0KKw0KKwlpZiAoIWluX3JhbmdlKCZzY2Fs ZXItPnZzaXplLCB2c2l6ZV9pbikgfHwNCisJICAgICFpbl9yYW5nZSgmc2NhbGVyLT52c2l6ZSwg dnNpemVfb3V0KSkgew0KKwkJRFJNX0RFQlVHX0FUT01JQygiSW52YWxpZCB2ZXJ0aWNhbCBzaXpl cyIpOw0KKwkJcmV0dXJuIC1FSU5WQUw7DQorCX0NCisNCisJaWYgKCFzY2FsaW5nX3JhdGlvX3Zh bGlkKGhzaXplX2luLCBoc2l6ZV9vdXQsIHNjYWxlci0+bWF4X3Vwc2NhbGluZywNCisJCQkJIHNj YWxlci0+bWF4X2Rvd25zY2FsaW5nKSkgew0KKwkJRFJNX0RFQlVHX0FUT01JQygiSW52YWxpZCBo b3Jpem9udGFsIHNjYWxpbmcgcmF0aW8iKTsNCisJCXJldHVybiAtRUlOVkFMOw0KKwl9DQorDQor CWlmICghc2NhbGluZ19yYXRpb192YWxpZCh2c2l6ZV9pbiwgdnNpemVfb3V0LCBzY2FsZXItPm1h eF91cHNjYWxpbmcsDQorCQkJCSBzY2FsZXItPm1heF9kb3duc2NhbGluZykpIHsNCisJCURSTV9E RUJVR19BVE9NSUMoIkludmFsaWQgdmVydGljYWwgc2NhbGluZyByYXRpbyIpOw0KKwkJcmV0dXJu IC1FSU5WQUw7DQorCX0NCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQNCitrb21lZGFf c2NhbGVyX3ZhbGlkYXRlKHZvaWQgKnVzZXIsDQorCQkgICAgICAgc3RydWN0IGtvbWVkYV9jcnRj X3N0YXRlICprY3J0Y19zdCwNCisJCSAgICAgICBzdHJ1Y3Qga29tZWRhX2RhdGFfZmxvd19jZmcg KmRmbG93KQ0KK3sNCisJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKmRybV9zdCA9IGtjcnRjX3N0 LT5iYXNlLnN0YXRlOw0KKwlzdHJ1Y3Qga29tZWRhX2NvbXBvbmVudF9zdGF0ZSAqY19zdDsNCisJ c3RydWN0IGtvbWVkYV9zY2FsZXJfc3RhdGUgKnN0Ow0KKwlzdHJ1Y3Qga29tZWRhX3NjYWxlciAq c2NhbGVyOw0KKwlpbnQgZXJyID0gMDsNCisNCisJaWYgKCFkZmxvdy0+bmVlZHNfc2NhbGluZykN CisJCXJldHVybiAwOw0KKw0KKwlzY2FsZXIgPSBrb21lZGFfY29tcG9uZW50X2dldF9hdmFpbF9z Y2FsZXIoZGZsb3ctPmlucHV0LmNvbXBvbmVudCwNCisJCQkJCQkgICBkcm1fc3QpOw0KKwlpZiAo IXNjYWxlcikgew0KKwkJRFJNX0RFQlVHX0FUT01JQygiTm8gc2NhbGVyIGF2YWlsYWJsZSIpOw0K KwkJcmV0dXJuIC1FSU5WQUw7DQorCX0NCisNCisJZXJyID0ga29tZWRhX3NjYWxlcl9jaGVja19j Zmcoc2NhbGVyLCBkZmxvdyk7DQorCWlmIChlcnIpDQorCQlyZXR1cm4gZXJyOw0KKw0KKwljX3N0 ID0ga29tZWRhX2NvbXBvbmVudF9nZXRfc3RhdGVfYW5kX3NldF91c2VyKCZzY2FsZXItPmJhc2Us DQorCQkJZHJtX3N0LCB1c2VyLCBrY3J0Y19zdC0+YmFzZS5jcnRjKTsNCisJaWYgKElTX0VSUihj X3N0KSkNCisJCXJldHVybiBQVFJfRVJSKGNfc3QpOw0KKw0KKwlzdCA9IHRvX3NjYWxlcl9zdChj X3N0KTsNCisNCisJc3QtPmhzaXplX2luID0gZGZsb3ctPmluX3c7DQorCXN0LT52c2l6ZV9pbiA9 IGRmbG93LT5pbl9oOw0KKwlzdC0+aHNpemVfb3V0ID0gZGZsb3ctPm91dF93Ow0KKwlzdC0+dnNp emVfb3V0ID0gZGZsb3ctPm91dF93Ow0KKwlzdC0+ZW5fc2NhbGluZyA9IGRmbG93LT5uZWVkc19z Y2FsaW5nOw0KKwkvKiBFbmFibGUgYWxwaGEgcHJvY2Vzc2luZyBpZiB0aGUgbmV4dCBzdGFnZSBu ZWVkcyB0aGUgcGl4ZWwgYWxwaGEgKi8NCisJc3QtPmVuX2FscGhhID0gZGZsb3ctPnBpeGVsX2Js ZW5kX21vZGUgIT0gRFJNX01PREVfQkxFTkRfUElYRUxfTk9ORTsNCisNCisJa29tZWRhX2NvbXBv bmVudF9hZGRfaW5wdXQoJnN0LT5iYXNlLCAmZGZsb3ctPmlucHV0LCAwKTsNCisJa29tZWRhX2Nv bXBvbmVudF9zZXRfb3V0cHV0KCZkZmxvdy0+aW5wdXQsICZzY2FsZXItPmJhc2UsIDApOw0KKwly ZXR1cm4gZXJyOw0KK30NCisNCiB2b2lkIHBpcGVsaW5lX2NvbXBvc2l0aW9uX3NpemUoc3RydWN0 IGtvbWVkYV9jcnRjX3N0YXRlICprY3J0Y19zdCwNCiAJCQkgICAgICAgdTE2ICpoc2l6ZSwgdTE2 ICp2c2l6ZSkNCiB7DQpAQCAtNTE4LDYgKzYzMCwxMCBAQCBpbnQga29tZWRhX2J1aWxkX2xheWVy X2RhdGFfZmxvdyhzdHJ1Y3Qga29tZWRhX2xheWVyICpsYXllciwNCiAJaWYgKGVycikNCiAJCXJl dHVybiBlcnI7DQogDQorCWVyciA9IGtvbWVkYV9zY2FsZXJfdmFsaWRhdGUocGxhbmUsIGtjcnRj X3N0LCBkZmxvdyk7DQorCWlmIChlcnIpDQorCQlyZXR1cm4gZXJyOw0KKw0KIAllcnIgPSBrb21l ZGFfY29tcGl6X3NldF9pbnB1dChwaXBlLT5jb21waXosIGtjcnRjX3N0LCBkZmxvdyk7DQogDQog CXJldHVybiBlcnI7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tv bWVkYS9rb21lZGFfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEv a29tZWRhX3BsYW5lLmMNCmluZGV4IDE0ZDY4NjEyMDUyZi4uMzhjOTRlOGYwY2UyIDEwMDY0NA0K LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGxhbmUuYw0K KysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGxhbmUuYw0K QEAgLTE1LDYgKzE1LDcgQEAga29tZWRhX3BsYW5lX2luaXRfZGF0YV9mbG93KHN0cnVjdCBkcm1f cGxhbmVfc3RhdGUgKnN0LA0KIAkJCSAgICBzdHJ1Y3Qga29tZWRhX2RhdGFfZmxvd19jZmcgKmRm bG93KQ0KIHsNCiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBzdC0+ZmI7DQorCXUzMiB3 LCBoOw0KIA0KIAltZW1zZXQoZGZsb3csIDAsIHNpemVvZigqZGZsb3cpKTsNCiANCkBAIC0zNSw2 ICszNiwxMyBAQCBrb21lZGFfcGxhbmVfaW5pdF9kYXRhX2Zsb3coc3RydWN0IGRybV9wbGFuZV9z dGF0ZSAqc3QsDQogCWRmbG93LT5pbl93ID0gc3QtPnNyY193ID4+IDE2Ow0KIAlkZmxvdy0+aW5f aCA9IHN0LT5zcmNfaCA+PiAxNjsNCiANCisJdyA9IGRmbG93LT5pbl93Ow0KKwloID0gZGZsb3ct PmluX2g7DQorCWlmIChkcm1fcm90YXRpb25fOTBfb3JfMjcwKGRmbG93LT5yb3QpKQ0KKwkJc3dh cCh3LCBoKTsNCisNCisJZGZsb3ctPm5lZWRzX3NjYWxpbmcgPSAodyAhPSBkZmxvdy0+b3V0X3cp IHx8IChoICE9IGRmbG93LT5vdXRfaCk7DQorDQogCXJldHVybiAwOw0KIH0NCiANCi0tIA0KMi4x Ny4xDQoNCg==