Received: by 2002:a25:86ce:0:0:0:0:0 with SMTP id y14csp733563ybm; Tue, 21 May 2019 02:36:15 -0700 (PDT) X-Google-Smtp-Source: APXvYqwnOv5PwCmnYTZ+lmjHgTS8UMAPctvicOqPK6Y1uSnhIw2USDSxOtGEIveTaC0oJBD5LRog X-Received: by 2002:a63:e358:: with SMTP id o24mr36773055pgj.78.1558431375685; Tue, 21 May 2019 02:36:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558431375; cv=none; d=google.com; s=arc-20160816; b=HJlxoTT4jSyfXk/i1MUceIiaNZxPKYm+L8635GLBIUYjkNycx/G4Sr/Cbm9/D0qILW JXy6+SbClY33kNrxHikdrRo+WOUmN7a05pfzn6gE7XuCC83b8F0lC8ZgPvO7ZdVy5oiA W1cTVyumYDpB7CSbxUBM/POwLlvUnEtJnRMXK1+aAt5kMEILOEn/Am310ecdYoZDpIg9 d0YjUm/ANkStXXWW9Sr4ttTt+sy5qgRQzFRR0jcGV/XD/q8wz3/oz0syc7/JjXaq3RV3 IieO5QhKLsNVQ5wIByyPgKkpRMm+rd0LXw6rGPh6JKtWXcfq4NFZPzC+Z1nSun8mqi9J a9Xg== 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=tCamK8Kw1yh2QgLK36V/ig8gEG5VDB6ohB5VfLQrQjA=; b=H4bTDp0Vz506fx7fv5A6ylgZ30QmI3K7dsBfgfx20LlddEzgVj1wl/qFCLDe59sZy5 UJaE3l2fS1PBz4BTTV54S/KSZtz0EvB2eutqBiPt7RL5zxiCBFFl275p4QSJieiIsDN6 dgYQdVnvnfiRWMGeGax0l43ux2TmZuLANpWaQfokV5IGz6DEnyi3/jHQApb/tSxI8NWM p+8j2TWdW4dy8aHE4xMLzHgsrjWSoP4SAxc0liejPRM6Jog12xmkVbnZiesvL5AUqY3w h1IZ+DShQ2Fyy0k5Hfk2O4Szi1FDR8SSgLxpS1B8e9SdcHKKMhJqrexqwmQcnH4Z0gQz amiQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=JgiPCSXP; 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 w69si13397449pgd.165.2019.05.21.02.36.00; Tue, 21 May 2019 02:36:15 -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=selector2-armh-onmicrosoft-com header.b=JgiPCSXP; 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 S1727136AbfEUJer (ORCPT + 99 others); Tue, 21 May 2019 05:34:47 -0400 Received: from mail-eopbgr10066.outbound.protection.outlook.com ([40.107.1.66]:5189 "EHLO EUR02-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726006AbfEUJer (ORCPT ); Tue, 21 May 2019 05:34:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tCamK8Kw1yh2QgLK36V/ig8gEG5VDB6ohB5VfLQrQjA=; b=JgiPCSXPAVFzOErak3XNc97PKX2CrmPJZ741T2XOtPByjeI5thiWOgVS1MWVASq8HEo9q960a9NJCfmBvTuyEyuOKu9bLv8Jsg4w+RN/4a/BhRt4/KqcUYqkal4XyYp5AwFaETQueLqq3tcLUybqQin0Oob/iYO0EghCHPeU+3g= Received: from VE1PR08MB5006.eurprd08.prod.outlook.com (10.255.159.31) by VE1PR08MB5134.eurprd08.prod.outlook.com (20.179.30.93) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1900.16; Tue, 21 May 2019 09:34:42 +0000 Received: from VE1PR08MB5006.eurprd08.prod.outlook.com ([fe80::206b:5cf6:97e:1358]) by VE1PR08MB5006.eurprd08.prod.outlook.com ([fe80::206b:5cf6:97e:1358%7]) with mapi id 15.20.1900.020; Tue, 21 May 2019 09:34:42 +0000 From: "james qian wang (Arm Technology China)" To: Liviu Dudau , "airlied@linux.ie" , Brian Starkey , "maarten.lankhorst@linux.intel.com" , "sean@poorly.run" , "ezequiel@collabora.com" , "uma.shankar@intel.com" 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" , Ben Davis , "Oscar Zhang (Arm Technology China)" , "Channing Chen (Arm Technology China)" , "james qian wang (Arm Technology China)" Subject: [PATCH 1/4] drm/komeda: Introduce komeda_coeffs_table/manager Thread-Topic: [PATCH 1/4] drm/komeda: Introduce komeda_coeffs_table/manager Thread-Index: AQHVD7hqo4Z2mU7NqU6hxzw6Ux+tpA== Date: Tue, 21 May 2019 09:34:42 +0000 Message-ID: <20190521093411.26609-2-james.qian.wang@arm.com> References: <20190521093411.26609-1-james.qian.wang@arm.com> In-Reply-To: <20190521093411.26609-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: HK0PR03CA0002.apcprd03.prod.outlook.com (2603:1096:203:2e::14) 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: 0c1318a5-6a4c-446e-7de3-08d6ddcf8d26 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020);SRVR:VE1PR08MB5134; x-ms-traffictypediagnostic: VE1PR08MB5134: nodisclaimer: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3968; x-forefront-prvs: 0044C17179 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(136003)(39860400002)(346002)(376002)(366004)(396003)(199004)(189003)(54906003)(486006)(68736007)(110136005)(4326008)(103116003)(2501003)(66446008)(64756008)(66066001)(73956011)(66946007)(50226002)(11346002)(66556008)(66476007)(36756003)(8676002)(2906002)(81156014)(25786009)(8936002)(186003)(26005)(446003)(81166006)(476003)(86362001)(3846002)(99286004)(256004)(14444005)(478600001)(76176011)(52116002)(5660300002)(2616005)(6116002)(305945005)(7736002)(53936002)(6512007)(2201001)(71190400001)(6486002)(316002)(6436002)(71200400001)(55236004)(14454004)(1076003)(6506007)(102836004)(386003);DIR:OUT;SFP:1101;SCL:1;SRVR:VE1PR08MB5134;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: K4T9Zo4t2XyCRKT6Yo2BSOJiPQ97Z2vifw6EvxpZez/Ab7ojFrYT50eqXP58zvH/wVHa/QGjrRqgiEZre7xY6osVb2yn0C5kkzxyf+kwOJLAC8jGnSdybwvwsNRvfkDJGctLklsbr5+hmqzyekG68GGmr08K38nBI+eEp0huZie/Cu8r/0io+oFhwA9Oe+t9/P6VcOuUZ/9KlSrD/mCJM9gTmLsE/OiInJX7F2TrXVLQFp/ofVf632D3uhSDhCAdzyfuQ2FttRC0qmyeJOFGXLrpSslOEMMp6XxM2EFK0jV9iOyYYm766ujJZIvrchY7ozB8ldqIiDylPGtvkCIOGqpinVGIIyNuBf9AOdp9FTgP8PmRjZviXcBEb/A2lJJx5bfDoP+Weqr/ZuNKerT9NXgOXqQHLE+sckOugonKCfs= 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: 0c1318a5-6a4c-446e-7de3-08d6ddcf8d26 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 May 2019 09:34:42.0170 (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: VE1PR08MB5134 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org a29tZWRhIGRpc3BsYXkgSFdzIGhhdmUga2luZHMgb2YgY29lZmZpY2llbnQgdGFibGVzIGZvciB2 YXJpb3VzIHB1cnBvc2VzDQpsaWtlIGdhbW1hL2RlZ2FtbWEuIHVzdXNhbGx5IHRoZXNlIHRhYmxl cyBhcmUgc2hhcmVkIGJ5IG11bHRpcGxlIEhXDQpjb21wb25lbnQgYW5kIGhhdmUgbGltaXRlZCBu dW1iZXIuDQpJbnRyb2R1Y2Uga29tZWRhX2NvZWZmc190YWJsZS9tYW5hZ2VyIGZvciBkZXNjcmli aW5nIGFuZCBtYW5hZ2luZyB0aGVzZQ0KdGFibGVzLCBsaWtlIHRhYmxlIHJldXNlLCByYWNpbmcu DQoNClNpZ25lZC1vZmYtYnk6IEphbWVzIFFpYW4gV2FuZyAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEp IDxqYW1lcy5xaWFuLndhbmdAYXJtLmNvbT4NCi0tLQ0KIGRyaXZlcnMvZ3B1L2RybS9hcm0vZGlz cGxheS9rb21lZGEvTWFrZWZpbGUgICB8ICAgMSArDQogLi4uL2RybS9hcm0vZGlzcGxheS9rb21l ZGEva29tZWRhX2NvZWZmcy5jICAgIHwgMTE5ICsrKysrKysrKysrKysrKysrKw0KIC4uLi9kcm0v YXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9jb2VmZnMuaCAgICB8ICA3NCArKysrKysrKysrKw0K IDMgZmlsZXMgY2hhbmdlZCwgMTk0IGluc2VydGlvbnMoKykNCiBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfY29lZmZzLmMNCiBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFf Y29lZmZzLmgNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21l ZGEvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL01ha2VmaWxl DQppbmRleCA3M2I4ZThiZTE4NjIuLmU4NTNjMWM0OTljOSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvTWFrZWZpbGUNCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hcm0vZGlzcGxheS9rb21lZGEvTWFrZWZpbGUNCkBAIC04LDYgKzgsNyBAQCBrb21lZGEteSA6 PSBcDQogCWtvbWVkYV9kcnYubyBcDQogCWtvbWVkYV9kZXYubyBcDQogCWtvbWVkYV9mb3JtYXRf Y2Fwcy5vIFwNCisJa29tZWRhX2NvZWZmcy5vIFwNCiAJa29tZWRhX2NvbG9yX21nbXQubyBcDQog CWtvbWVkYV9waXBlbGluZS5vIFwNCiAJa29tZWRhX3BpcGVsaW5lX3N0YXRlLm8gXA0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2NvZWZmcy5j IGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfY29lZmZzLmMNCm5l dyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLmQ5ZDM1ZTIzMDAzYw0KLS0t IC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21l ZGFfY29lZmZzLmMNCkBAIC0wLDAgKzEsMTE5IEBADQorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjANCisvKg0KKyAqIChDKSBDT1BZUklHSFQgMjAxOSBBUk0gTGltaXRlZC4gQWxs IHJpZ2h0cyByZXNlcnZlZC4NCisgKiBBdXRob3I6IEphbWVzLlFpYW4uV2FuZyA8amFtZXMucWlh bi53YW5nQGFybS5jb20+DQorICoNCisgKi8NCisjaW5jbHVkZSA8bGludXgvc2xhYi5oPg0KKyNp bmNsdWRlICJrb21lZGFfY29lZmZzLmgiDQorDQorc3RhdGljIGlubGluZSBib29sIGlzX3RhYmxl X2luX3VzaW5nKHN0cnVjdCBrb21lZGFfY29lZmZzX3RhYmxlICp0YWJsZSkNCit7DQorCXJldHVy biByZWZjb3VudF9yZWFkKCZ0YWJsZS0+cmVmY291bnQpID4gMTsNCit9DQorDQorLyogcmVxdWVz dCBhIGNvZWZmcyB0YWJsZSBmb3IgdGhlIGNvZWZmcyBkYXRhIHNwZWNpZmllZCBieSBhcmd1bWVu dCBjb2VmZnMgKi8NCitzdHJ1Y3Qga29tZWRhX2NvZWZmc190YWJsZSAqDQora29tZWRhX2NvZWZm c19yZXF1ZXN0KHN0cnVjdCBrb21lZGFfY29lZmZzX21hbmFnZXIgKm1nciwgdm9pZCAqY29lZmZz KQ0KK3sNCisJc3RydWN0IGtvbWVkYV9jb2VmZnNfdGFibGUgKnRhYmxlOw0KKwl1MzIgaTsNCisN CisJbXV0ZXhfbG9jaygmbWdyLT5tdXRleCk7DQorDQorCS8qIHNlYXJjaCB0YWJsZSBsaXN0IHRv IGZpbmQgaWYgdGhlcmUgaXMgYSBpbi11c2luZyB0YWJsZSB3aXRoIHRoZQ0KKwkgKiBzYW1lIGNv ZWZmaWNpZW50IGNvbnRlbnQsIGlmIGZpbmQsIHJldXNlIHRoaXMgdGFibGUuDQorCSAqLw0KKwlm b3IgKGkgPSAwOyBpIDwgbWdyLT5uX3RhYmxlczsgaSsrKSB7DQorCQl0YWJsZSA9IG1nci0+dGFi bGVzW2ldOw0KKw0KKwkJLyogc2tpcCB0aGUgdW51c2VkIHRhYmxlICovDQorCQlpZiAoIWlzX3Rh YmxlX2luX3VzaW5nKHRhYmxlKSkNCisJCQljb250aW51ZTsNCisNCisJCWlmICghbWVtY21wKHRh YmxlLT5jb2VmZnMsIGNvZWZmcywgbWdyLT5jb2VmZnNfc3opKQ0KKwkJCWdvdG8gZm91bmQ7DQor CX0NCisNCisJLyogY2FuIG5vdCByZXVzZSB0aGUgZXhpc3RpbmcgaW4tdXNpbmcgdGFibGUsIGxv b3AgZm9yIGEgbmV3IG9uZSAqLw0KKwlmb3IgKGkgPSAwOyBpIDwgbWdyLT5uX3RhYmxlczsgaSsr KSB7DQorCQl0YWJsZSA9IG1nci0+dGFibGVzW2ldOw0KKw0KKwkJaWYgKCFpc190YWJsZV9pbl91 c2luZyh0YWJsZSkpIHsNCisJCQltZW1jcHkodGFibGUtPmNvZWZmcywgY29lZmZzLCBtZ3ItPmNv ZWZmc19zeik7DQorCQkJdGFibGUtPm5lZWRzX3VwZGF0ZSA9IHRydWU7DQorCQkJZ290byBmb3Vu ZDsNCisJCX0NCisJfQ0KKw0KKwkvKiBTaW5jZSBwcmV2aW91cyB0d28gc2VhcmNoIGxvb3Agd2ls bCBkaXJlY3RseSBnb3RvIGZvdW5kIGlmIGZvdW5kIGFuDQorCSAqIGF2YWlsYWJsZSB0YWJsZSwg c28gb25jZSBwcm9ncmFtIHJhbiBoZXJlIG1lYW5zIHNlYXJjaCBmYWlsZWQuDQorCSAqIGNsZWFy IHRoZSB0YWJsZSB0byBOVUxMLCB1bmxvY2sobWdyLT5tdXRleCkgYW5kIHJldHVybiBOVUxMLg0K KwkgKi8NCisJdGFibGUgPSBOVUxMOw0KKw0KK2ZvdW5kOg0KKwlrb21lZGFfY29lZmZzX2dldCh0 YWJsZSk7DQorCW11dGV4X3VubG9jaygmbWdyLT5tdXRleCk7DQorCXJldHVybiB0YWJsZTsNCit9 DQorDQorLyogQWRkIGEgY29lZmZzIHRhYmxlIHRvIG1hbmFnZXIgKi8NCitpbnQga29tZWRhX2Nv ZWZmc19hZGQoc3RydWN0IGtvbWVkYV9jb2VmZnNfbWFuYWdlciAqbWdyLA0KKwkJICAgICAgdTMy IGh3X2lkLCB1MzIgX19pb21lbSAqcmVnLA0KKwkJICAgICAgdm9pZCAoKnVwZGF0ZSkoc3RydWN0 IGtvbWVkYV9jb2VmZnNfdGFibGUgKnRhYmxlKSkNCit7DQorCXN0cnVjdCBrb21lZGFfY29lZmZz X3RhYmxlICp0YWJsZTsNCisNCisJaWYgKG1nci0+bl90YWJsZXMgPj0gQVJSQVlfU0laRShtZ3It PnRhYmxlcykpDQorCQlyZXR1cm4gLUVOT1NQQzsNCisNCisJdGFibGUgPSBremFsbG9jKHNpemVv ZigqdGFibGUpLCBHRlBfS0VSTkVMKTsNCisJaWYgKCF0YWJsZSkNCisJCXJldHVybiAtRU5PTUVN Ow0KKw0KKwl0YWJsZS0+Y29lZmZzID0ga3phbGxvYyhtZ3ItPmNvZWZmc19zeiwgR0ZQX0tFUk5F TCk7DQorCWlmICghdGFibGUtPmNvZWZmcykgew0KKwkJa2ZyZWUodGFibGUpOw0KKwkJcmV0dXJu IC1FTk9NRU07DQorCX0NCisNCisJcmVmY291bnRfc2V0KCZ0YWJsZS0+cmVmY291bnQsIDEpOw0K Kwl0YWJsZS0+bWdyID0gbWdyOw0KKwl0YWJsZS0+aHdfaWQgPSBod19pZDsNCisJdGFibGUtPnVw ZGF0ZSA9IHVwZGF0ZTsNCisJdGFibGUtPnJlZyA9IHJlZzsNCisNCisJbWdyLT50YWJsZXNbbWdy LT5uX3RhYmxlcysrXSA9IHRhYmxlOw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RydWN0IGtvbWVk YV9jb2VmZnNfbWFuYWdlciAqa29tZWRhX2NvZWZmc19jcmVhdGVfbWFuYWdlcih1MzIgY29lZmZz X3N6KQ0KK3sNCisJc3RydWN0IGtvbWVkYV9jb2VmZnNfbWFuYWdlciAqbWdyOw0KKw0KKwltZ3Ig PSBremFsbG9jKHNpemVvZigqbWdyKSwgR0ZQX0tFUk5FTCk7DQorCWlmICghbWdyKQ0KKwkJcmV0 dXJuIEVSUl9QVFIoLUVOT01FTSk7DQorDQorCW11dGV4X2luaXQoJm1nci0+bXV0ZXgpOw0KKwlt Z3ItPmNvZWZmc19zeiA9IGNvZWZmc19zejsNCisNCisJcmV0dXJuIG1ncjsNCit9DQorDQordm9p ZCBrb21lZGFfY29lZmZzX2Rlc3Ryb3lfbWFuYWdlcihzdHJ1Y3Qga29tZWRhX2NvZWZmc19tYW5h Z2VyICptZ3IpDQorew0KKwl1MzIgaTsNCisNCisJaWYgKCFtZ3IpDQorCQlyZXR1cm47DQorDQor CWZvciAoaSA9IDA7IGkgPCBtZ3ItPm5fdGFibGVzOyBpKyspIHsNCisJCVdBUk5fT04oaXNfdGFi bGVfaW5fdXNpbmcobWdyLT50YWJsZXNbaV0pKTsNCisJCWtmcmVlKG1nci0+dGFibGVzW2ldLT5j b2VmZnMpOw0KKwkJa2ZyZWUobWdyLT50YWJsZXNbaV0pOw0KKwl9DQorDQorCWtmcmVlKG1ncik7 DQorfQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29t ZWRhX2NvZWZmcy5oIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFf Y29lZmZzLmgNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLjE3MmFj MmVhMTdiYQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5 L2tvbWVkYS9rb21lZGFfY29lZmZzLmgNCkBAIC0wLDAgKzEsNzQgQEANCisvKiBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMCAqLw0KKy8qDQorICogKEMpIENPUFlSSUdIVCAyMDE5IEFS TSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KKyAqIEF1dGhvcjogSmFtZXMuUWlhbi5X YW5nIDxqYW1lcy5xaWFuLndhbmdAYXJtLmNvbT4NCisgKg0KKyAqLw0KKyNpZm5kZWYgX0tPTUVE QV9DT0VGRlNfSF8NCisjZGVmaW5lIF9LT01FREFfQ09FRkZTX0hfDQorDQorI2luY2x1ZGUgPGxp bnV4L3JlZmNvdW50Lmg+DQorDQorLyogS29tZWRhIGRpc3BsYXkgSFdzIGhhdmUga2luZHMgb2Yg Y29lZmZpY2llbnQgdGFibGVzIGZvciB2YXJpb3VzIHB1cnBvc2VzLA0KKyAqIGxpa2UgZ2FtbWEv ZGVnYW1tYS4gdXN1c2FsbHkgdGhlc2UgdGFibGVzIGFyZSBzaGFyZWQgYnkgbXVsdGlwbGUgSFcg Y29tcG9uZW50DQorICogYW5kIGxpbWl0ZWQgbnVtYmVyLg0KKyAqIFRoZSBrb21lZGFfY29lZmZz X3RhYmxlL21hbmFnZXIgYXJlIGltcG9ydGVkIGZvciBkZXNjcmliaW5nIGFuZCBtYW5hZ2luZw0K KyAqIHRoZXNlIHRhYmxlcyBmb3IgdGFibGUgcmV1c2UgYW5kIHJhY2luZy4NCisgKi8NCitzdHJ1 Y3Qga29tZWRhX2NvZWZmc190YWJsZSB7DQorCXN0cnVjdCBrb21lZGFfY29lZmZzX21hbmFnZXIg Km1ncjsNCisJcmVmY291bnRfdCByZWZjb3VudDsNCisJYm9vbCBuZWVkc191cGRhdGU7DQorCXUz MiBod19pZDsNCisJdm9pZCAqY29lZmZzOw0KKwl1MzIgX19pb21lbSAqcmVnOw0KKwl2b2lkICgq dXBkYXRlKShzdHJ1Y3Qga29tZWRhX2NvZWZmc190YWJsZSAqdGFibGUpOw0KK307DQorDQorc3Ry dWN0IGtvbWVkYV9jb2VmZnNfbWFuYWdlciB7DQorCXN0cnVjdCBtdXRleCBtdXRleDsgLyogZm9y IHRhYmxlcyBhY2Nlc3NpbmcgKi8NCisJdTMyIG5fdGFibGVzOw0KKwl1MzIgY29lZmZzX3N6Ow0K KwlzdHJ1Y3Qga29tZWRhX2NvZWZmc190YWJsZSAqdGFibGVzWzhdOw0KK307DQorDQorc3RhdGlj IGlubGluZSBzdHJ1Y3Qga29tZWRhX2NvZWZmc190YWJsZSAqDQora29tZWRhX2NvZWZmc19nZXQo c3RydWN0IGtvbWVkYV9jb2VmZnNfdGFibGUgKnRhYmxlKQ0KK3sNCisJaWYgKHRhYmxlKQ0KKwkJ cmVmY291bnRfaW5jKCZ0YWJsZS0+cmVmY291bnQpOw0KKw0KKwlyZXR1cm4gdGFibGU7DQorfQ0K Kw0KK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2tvbWVkYV9jb2VmZnNfcHV0KHN0cnVjdCBrb21lZGFf Y29lZmZzX3RhYmxlICp0YWJsZSkNCit7DQorCWlmICh0YWJsZSkNCisJCXJlZmNvdW50X2RlYygm dGFibGUtPnJlZmNvdW50KTsNCit9DQorDQorI2RlZmluZSBrb21lZGFfY29lZmZzX3B1dCh0YWJs ZSkgXA0KK2RvIHsgXA0KKwlfX2tvbWVkYV9jb2VmZnNfcHV0KHRhYmxlKTsgXA0KKwkodGFibGUp ID0gTlVMTDsgXA0KK30gd2hpbGUgKDApDQorDQorc3RhdGljIGlubGluZSB2b2lkIGtvbWVkYV9j b2VmZnNfdXBkYXRlKHN0cnVjdCBrb21lZGFfY29lZmZzX3RhYmxlICp0YWJsZSkNCit7DQorCWlm ICghdGFibGUgfHwgIXRhYmxlLT5uZWVkc191cGRhdGUpDQorCQlyZXR1cm47DQorDQorCXRhYmxl LT51cGRhdGUodGFibGUpOw0KKwl0YWJsZS0+bmVlZHNfdXBkYXRlID0gZmFsc2U7DQorfQ0KKw0K K3N0cnVjdCBrb21lZGFfY29lZmZzX21hbmFnZXIgKmtvbWVkYV9jb2VmZnNfY3JlYXRlX21hbmFn ZXIodTMyIGNvZWZmc19zeik7DQordm9pZCBrb21lZGFfY29lZmZzX2Rlc3Ryb3lfbWFuYWdlcihz dHJ1Y3Qga29tZWRhX2NvZWZmc19tYW5hZ2VyICptZ3IpOw0KKw0KK2ludCBrb21lZGFfY29lZmZz X2FkZChzdHJ1Y3Qga29tZWRhX2NvZWZmc19tYW5hZ2VyICptZ3IsDQorCQkgICAgICB1MzIgaHdf aWQsIHUzMiBfX2lvbWVtICpyZWcsDQorCQkgICAgICB2b2lkICgqdXBkYXRlKShzdHJ1Y3Qga29t ZWRhX2NvZWZmc190YWJsZSAqdGFibGUpKTsNCitzdHJ1Y3Qga29tZWRhX2NvZWZmc190YWJsZSAq DQora29tZWRhX2NvZWZmc19yZXF1ZXN0KHN0cnVjdCBrb21lZGFfY29lZmZzX21hbmFnZXIgKm1n ciwgdm9pZCAqY29lZmZzKTsNCisNCisjZW5kaWYgLypfS09NRURBX0NPRUZGU19IXyovDQotLQ0K Mi4xNy4xDQo=