Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1897793yba; Mon, 15 Apr 2019 00:11:17 -0700 (PDT) X-Google-Smtp-Source: APXvYqzccSeQhkebzHSoVLzmR+RQiufB5RPo0Tz13iZcdteEGDUL4ucdbO48NvRGS7+UGkaiMnoT X-Received: by 2002:a63:cc0c:: with SMTP id x12mr68470564pgf.336.1555312277315; Mon, 15 Apr 2019 00:11:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555312277; cv=none; d=google.com; s=arc-20160816; b=Oe5cNUjWGhUbp6Eao4ey/dM39CSQ7vYTXCkV7VwwyzE7c3e+z37zpxxhSNNZDWsoCW Z22Sb2Wg+of0J3L+wB/IvQFS5n4+wNAIgXFKoeDiIAaaPyub5g/YTKnCfK5vd7LdneUS CFx9xmP81ODBH4o64NZqFG4dbI86BNulQKwWmMDBW9lO+niFJG5rQ5hF8LaEyTLP9/pE 5csLuG6zHcUPiwk4/yb5rUCpTiL/JO4cbF+qe250Rpx7M4HQ94Z9uu8rGYjIWSBsXTta 8OPKvxp+iCnlVYMPbv4ad2R6zQ+QXcuM3pKf3BcabkU9vwxadnB356rZs+c5DPgGrD/a v+cA== 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=H681B3umMbytc//z8YXxpXKvOwb3FYghhdtdj6v3BMM=; b=MokYDzK62WtDAmplEgWfUG/mxLExoJWTdnV3f0fXP2Om7YovToNjn7ClNbftdUQN+y QP+Gp/sSyzcP/jmg3aHWpqaCTwMwWT9ZqiS1rKKVwQZv0kqaTPG1X1ngKWfoycvMkqp7 XCZ1tOopUp6eMG+YA9cdFXIpMcbf4ztvdGPU+oGG5X5AOH6F2UnB9VrmqC7ZBkV3LIlI hjMJObGL+Aj1I5aq0ThxPVhBwwLkn/UCGAh7JfyGyBCx0xnUYAfasxxm2oCxF89oQT4w +MEra/bC43Anz19A6sTN77sKguEIukRhV1JbULVFVnZNHtOK7rM+zHY5QeC3uEqIG89P TgUg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector1-arm-com header.b=cbKnB2NC; 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 k71si42532034pgd.583.2019.04.15.00.11.01; Mon, 15 Apr 2019 00:11:17 -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=cbKnB2NC; 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 S1726475AbfDOHJh (ORCPT + 99 others); Mon, 15 Apr 2019 03:09:37 -0400 Received: from mail-eopbgr30059.outbound.protection.outlook.com ([40.107.3.59]:22766 "EHLO EUR03-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725798AbfDOHJf (ORCPT ); Mon, 15 Apr 2019 03:09:35 -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=H681B3umMbytc//z8YXxpXKvOwb3FYghhdtdj6v3BMM=; b=cbKnB2NCKlkchTEo5drg8WLaAtvCzwCX54APWFr5tWLp4bdUAAXmNGV9UN/ukt1WEffX0ZtchXxN9rJK6N9wFiOxPicMgY0FPPKo5GjCP+jZPoYiy9GPdGnDQ7bNrj9XCZhDDQkHkdZI4Syikmud3iz8Bru7azlQeIPfIc0WQJc= Received: from VE1PR08MB5006.eurprd08.prod.outlook.com (10.255.159.31) by VE1PR08MB5151.eurprd08.prod.outlook.com (20.179.30.154) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1792.14; Mon, 15 Apr 2019 07:09:31 +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:31 +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 6/6] drm/komeda: Add image enhancement support Thread-Topic: [PATCH v1 6/6] drm/komeda: Add image enhancement support Thread-Index: AQHU81orSKx7HPFRv0ONxxssyQ0uLA== Date: Mon, 15 Apr 2019 07:09:31 +0000 Message-ID: <20190415070828.24075-7-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: 288645c2-dc33-4729-88f6-08d6c1714e46 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:VE1PR08MB5151; x-ms-traffictypediagnostic: VE1PR08MB5151: nodisclaimer: True x-microsoft-antispam-prvs: x-forefront-prvs: 000800954F x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(979002)(396003)(39850400004)(376002)(136003)(346002)(366004)(199004)(189003)(446003)(11346002)(486006)(2616005)(14454004)(476003)(6486002)(52116002)(86362001)(4326008)(97736004)(102836004)(8936002)(5660300002)(6506007)(6512007)(386003)(53936002)(76176011)(103116003)(2201001)(1076003)(6436002)(55236004)(26005)(186003)(478600001)(7736002)(110136005)(2906002)(14444005)(5024004)(256004)(81156014)(105586002)(54906003)(81166006)(99286004)(316002)(3846002)(6116002)(106356001)(305945005)(8676002)(2501003)(66066001)(25786009)(71190400001)(71200400001)(50226002)(68736007)(36756003)(309714004)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:VE1PR08MB5151;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: 430P11KheWqxWpeNTbUQqnPfe2/VO73LssFnibie2MMmLU0qCt3GOhAJnMKM1uiMB82aqlu+PQU7QL7g2BnFU4EEOGEYPM+44UtatGBhApTQo51N+m3WPOS0/d32fEEQUMLSGkqkZP6W6TZjjZNUHrgP20BhaeC2uItR1y/x+7qaxIrsSGOeEkgsQc2k+JZj5vVoFSlaE1Tzph+ZfZqeUKVkPyWGkZuvofYEFDMrDwE8D/WCfn3DwBYPvGzuqDV5jRm6INPc0BEK4bEMHXuiqNtbNTO48DhcfsAgbnXkC+Ch/KDzJXlz7IOqsBILettauG7yBTra4Ht9xXXqKg9dar08Qo/jugbFOcUdiQwYkAE6J/XHtV7U+iC2GXXuuPWkCr3c7WFSr34BUqRS4Kq/+wsLo1HJClrVh0O+8OBHizY= 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: 288645c2-dc33-4729-88f6-08d6c1714e46 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Apr 2019 07:09:31.1096 (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: VE1PR08MB5151 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QmVzaWRlcyBzY2FsaW5nLCBBcm0gZGlzcGxheSBzY2FsZXIgYWxzbyBjYW4gc3VwcG9ydCBpbWFn ZSBlbmhhbmNlbWVudC4NCkZvciBzdXBwb3J0IGl0LCBBZGQgYSBuZXcgcHJvcGVydHkgImltZ19l bmhhbmNlbWVudCIgdG8gcGxhbmUsIHRoZW4gdXNlcg0KY2FuIHR1cm4gb24vb2ZmIGl0IGJ5IHRo aXMgcHJvcGVydHksIGFuZCBrZXJuZWwgZm9sbG93IHVzZXIncyByZXF1aXJlbWVudA0KdG8gbWFp dGFpbiB0aGUgc3RhdGUgYW5kIGVuYWJsZS9kaXNhYmxlIHRoZSByZWFsIEhXIGltYWdlIGVuaGFu Y2VtZW50Lg0KDQpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBRaWFuIFdhbmcgKEFybSBUZWNobm9sb2d5 IENoaW5hKSA8amFtZXMucWlhbi53YW5nQGFybS5jb20+DQotLS0NCiAuLi4vYXJtL2Rpc3BsYXkv a29tZWRhL2Q3MS9kNzFfY29tcG9uZW50LmMgICAgfCAgMSArDQogLi4uL2dwdS9kcm0vYXJtL2Rp c3BsYXkva29tZWRhL2tvbWVkYV9rbXMuaCAgIHwgIDYgKy0NCiAuLi4vZHJtL2FybS9kaXNwbGF5 L2tvbWVkYS9rb21lZGFfcGlwZWxpbmUuaCAgfCAgNiArLQ0KIC4uLi9kaXNwbGF5L2tvbWVkYS9r b21lZGFfcGlwZWxpbmVfc3RhdGUuYyAgICB8ICAzICstDQogLi4uL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2tvbWVkYV9wbGFuZS5jIHwgNzUgKysrKysrKysrKysrKysrKysrLQ0KIDUgZmls ZXMgY2hhbmdlZCwgODQgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9jb21wb25lbnQu YyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9jb21wb25lbnQu Yw0KaW5kZXggYmYyMTRkYzllMzcyLi4yMWQyYjNhNWM2MzAgMTAwNjQ0DQotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfY29tcG9uZW50LmMNCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9jb21wb25lbnQuYw0KQEAg LTYxMCw2ICs2MTAsNyBAQCBzdGF0aWMgdm9pZCBkNzFfc2NhbGVyX3VwZGF0ZShzdHJ1Y3Qga29t ZWRhX2NvbXBvbmVudCAqYywNCiAJY3RybCA9IDA7DQogCWN0cmwgfD0gc3QtPmVuX3NjYWxpbmcg PyBTQ19DVFJMX1NDTCA6IDA7DQogCWN0cmwgfD0gc3QtPmVuX2FscGhhID8gU0NfQ1RSTF9BUCA6 IDA7DQorCWN0cmwgfD0gc3QtPmVuX2ltZ19lbmhhbmNlbWVudCA/IFNDX0NUUkxfSUVOSCA6IDA7 DQogDQogCW1hbGlkcF93cml0ZTMyKHJlZywgQkxLX0NPTlRST0wsIGN0cmwpOw0KIAltYWxpZHBf d3JpdGUzMihyZWcsIEJMS19JTlBVVF9JRDAsIHRvX2Q3MV9pbnB1dF9pZCgmc3RhdGUtPmlucHV0 c1swXSkpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEv a29tZWRhX2ttcy5oIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFf a21zLmgNCmluZGV4IGRiNTlhOTA0MmJlYi4uZTZlMDU5ZjJhZjUyIDEwMDY0NA0KLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfa21zLmgNCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5oDQpAQCAtMzIsNiArMzIs OSBAQCBzdHJ1Y3Qga29tZWRhX3BsYW5lIHsNCiAJICogTGF5ZXJzIHdpdGggc2FtZSBjYXBhYmls aXRpZXMuDQogCSAqLw0KIAlzdHJ1Y3Qga29tZWRhX2xheWVyICpsYXllcjsNCisNCisJLyoqIEBw cm9wX2ltZ19lbmhhbmNlbWVudDogZm9yIG9uL29mZiBpbWFnZSBlbmhhbmNlbWVudCAqLw0KKwlz dHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wX2ltZ19lbmhhbmNlbWVudDsNCiB9Ow0KIA0KIC8qKg0K QEAgLTQ0LDcgKzQ3LDggQEAgc3RydWN0IGtvbWVkYV9wbGFuZV9zdGF0ZSB7DQogCS8qKiBAYmFz ZTogJmRybV9wbGFuZV9zdGF0ZSAqLw0KIAlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlIGJhc2U7DQog DQotCS8qIHByaXZhdGUgcHJvcGVydGllcyAqLw0KKwkvKiBAaW1nX2VuaGFuY2VtZW50OiBvbi9v ZmYgaW1hZ2UgZW5oYW5jZW1lbnQgKi8NCisJdTggaW1nX2VuaGFuY2VtZW50IDogMTsNCiB9Ow0K IA0KIC8qKg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEv a29tZWRhX3BpcGVsaW5lLmggYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tv bWVkYV9waXBlbGluZS5oDQppbmRleCBiMjZjODU1MmEyZDEuLmEzMmE4ZDY5N2YzNCAxMDA2NDQN Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5l LmgNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVs aW5lLmgNCkBAIC0yNTQsNyArMjU0LDggQEAgc3RydWN0IGtvbWVkYV9zY2FsZXJfc3RhdGUgew0K IAl1MTYgaHNpemVfaW4sIHZzaXplX2luOw0KIAl1MTYgaHNpemVfb3V0LCB2c2l6ZV9vdXQ7DQog CXU4IGVuX3NjYWxpbmcgOiAxLA0KLQkgICBlbl9hbHBoYSA6IDE7IC8qIGVuYWJsZSBhbHBoYSBw cm9jZXNzaW5nICovDQorCSAgIGVuX2FscGhhIDogMSwgLyogZW5hYmxlIGFscGhhIHByb2Nlc3Np bmcgKi8NCisJICAgZW5faW1nX2VuaGFuY2VtZW50IDogMTsNCiB9Ow0KIA0KIHN0cnVjdCBrb21l ZGFfY29tcGl6IHsNCkBAIC0zMTMsNyArMzE0LDggQEAgc3RydWN0IGtvbWVkYV9kYXRhX2Zsb3df Y2ZnIHsNCiAJdTMyIHJvdDsNCiAJaW50IGJsZW5kaW5nX3pvcmRlcjsNCiAJdTggcGl4ZWxfYmxl bmRfbW9kZSwgbGF5ZXJfYWxwaGE7DQotCXU4IG5lZWRzX3NjYWxpbmcgOiAxOw0KKwl1OCBuZWVk c19zY2FsaW5nIDogMSwNCisJICAgbmVlZHNfaW1nX2VuaGFuY2VtZW50IDogMTsNCiB9Ow0KIA0K IC8qIHN0cnVjdCBrb21lZGFfcGlwZWxpbmVfZnVuY3MgKi8NCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZV9zdGF0ZS5jIGIvZHJp dmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYw0K aW5kZXggNTNlYjQwOTQxMjgxLi4yNDMwMzg4YTc4YzMgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZV9zdGF0ZS5jDQorKysgYi9k cml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZV9zdGF0ZS5j DQpAQCAtNDU1LDcgKzQ1NSw3IEBAIGtvbWVkYV9zY2FsZXJfdmFsaWRhdGUodm9pZCAqdXNlciwN CiAJc3RydWN0IGtvbWVkYV9zY2FsZXIgKnNjYWxlcjsNCiAJaW50IGVyciA9IDA7DQogDQotCWlm ICghZGZsb3ctPm5lZWRzX3NjYWxpbmcpDQorCWlmICghKGRmbG93LT5uZWVkc19zY2FsaW5nIHx8 IGRmbG93LT5uZWVkc19pbWdfZW5oYW5jZW1lbnQpKQ0KIAkJcmV0dXJuIDA7DQogDQogCXNjYWxl ciA9IGtvbWVkYV9jb21wb25lbnRfZ2V0X2F2YWlsX3NjYWxlcihkZmxvdy0+aW5wdXQuY29tcG9u ZW50LA0KQEAgLTQ4Myw2ICs0ODMsNyBAQCBrb21lZGFfc2NhbGVyX3ZhbGlkYXRlKHZvaWQgKnVz ZXIsDQogCXN0LT5lbl9zY2FsaW5nID0gZGZsb3ctPm5lZWRzX3NjYWxpbmc7DQogCS8qIEVuYWJs ZSBhbHBoYSBwcm9jZXNzaW5nIGlmIHRoZSBuZXh0IHN0YWdlIG5lZWRzIHRoZSBwaXhlbCBhbHBo YSAqLw0KIAlzdC0+ZW5fYWxwaGEgPSBkZmxvdy0+cGl4ZWxfYmxlbmRfbW9kZSAhPSBEUk1fTU9E RV9CTEVORF9QSVhFTF9OT05FOw0KKwlzdC0+ZW5faW1nX2VuaGFuY2VtZW50ID0gZGZsb3ctPm5l ZWRzX2ltZ19lbmhhbmNlbWVudDsNCiANCiAJa29tZWRhX2NvbXBvbmVudF9hZGRfaW5wdXQoJnN0 LT5iYXNlLCAmZGZsb3ctPmlucHV0LCAwKTsNCiAJa29tZWRhX2NvbXBvbmVudF9zZXRfb3V0cHV0 KCZkZmxvdy0+aW5wdXQsICZzY2FsZXItPmJhc2UsIDApOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9k cm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9wbGFuZS5jDQppbmRleCA1ZGU0NjIxNzIxNTEu LmZhNDU1NjY1YWE3NyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9r b21lZGEva29tZWRhX3BsYW5lLmMNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9r b21lZGEva29tZWRhX3BsYW5lLmMNCkBAIC0xNCw2ICsxNCw3IEBAIHN0YXRpYyBpbnQNCiBrb21l ZGFfcGxhbmVfaW5pdF9kYXRhX2Zsb3coc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3QsDQogCQkJ ICAgIHN0cnVjdCBrb21lZGFfZGF0YV9mbG93X2NmZyAqZGZsb3cpDQogew0KKwlzdHJ1Y3Qga29t ZWRhX3BsYW5lX3N0YXRlICprcGxhbmVfc3QgPSB0b19rcGxhbmVfc3Qoc3QpOw0KIAlzdHJ1Y3Qg ZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHN0LT5mYjsNCiANCiAJbWVtc2V0KGRmbG93LCAwLCBzaXpl b2YoKmRmbG93KSk7DQpAQCAtMjIsNyArMjMsNyBAQCBrb21lZGFfcGxhbmVfaW5pdF9kYXRhX2Zs b3coc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3QsDQogDQogCS8qIGlmIGZvcm1hdCBkb2Vzbid0 IGhhdmUgYWxwaGEsIGZpeCBibGVuZCBtb2RlIHRvIFBJWEVMX05PTkUgKi8NCiAJZGZsb3ctPnBp eGVsX2JsZW5kX21vZGUgPSBmYi0+Zm9ybWF0LT5oYXNfYWxwaGEgPw0KLQkJc3QtPnBpeGVsX2Js ZW5kX21vZGUgOiBEUk1fTU9ERV9CTEVORF9QSVhFTF9OT05FOw0KKwkJCXN0LT5waXhlbF9ibGVu ZF9tb2RlIDogRFJNX01PREVfQkxFTkRfUElYRUxfTk9ORTsNCiAJZGZsb3ctPmxheWVyX2FscGhh ID0gc3QtPmFscGhhID4+IDg7DQogDQogCWRmbG93LT5vdXRfeCA9IHN0LT5jcnRjX3g7DQpAQCAt MzUsNiArMzYsOCBAQCBrb21lZGFfcGxhbmVfaW5pdF9kYXRhX2Zsb3coc3RydWN0IGRybV9wbGFu ZV9zdGF0ZSAqc3QsDQogCWRmbG93LT5pbl93ID0gc3QtPnNyY193ID4+IDE2Ow0KIAlkZmxvdy0+ aW5faCA9IHN0LT5zcmNfaCA+PiAxNjsNCiANCisJZGZsb3ctPm5lZWRzX2ltZ19lbmhhbmNlbWVu dCA9IGtwbGFuZV9zdC0+aW1nX2VuaGFuY2VtZW50Ow0KKw0KIAlrb21lZGFfY29tcGxldGVfZGF0 YV9mbG93X2NmZyhkZmxvdyk7DQogDQogCXJldHVybiAwOw0KQEAgLTEzMCw3ICsxMzMsNyBAQCBz dGF0aWMgdm9pZCBrb21lZGFfcGxhbmVfcmVzZXQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpDQog c3RhdGljIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKg0KIGtvbWVkYV9wbGFuZV9hdG9taWNfZHVw bGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQ0KIHsNCi0Jc3RydWN0IGtvbWVk YV9wbGFuZV9zdGF0ZSAqbmV3Ow0KKwlzdHJ1Y3Qga29tZWRhX3BsYW5lX3N0YXRlICpuZXcsICpv bGQ7DQogDQogCWlmIChXQVJOX09OKCFwbGFuZS0+c3RhdGUpKQ0KIAkJcmV0dXJuIE5VTEw7DQpA QCAtMTQxLDYgKzE0NCwxMCBAQCBrb21lZGFfcGxhbmVfYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZShz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkNCiANCiAJX19kcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9k dXBsaWNhdGVfc3RhdGUocGxhbmUsICZuZXctPmJhc2UpOw0KIA0KKwlvbGQgPSB0b19rcGxhbmVf c3QocGxhbmUtPnN0YXRlKTsNCisNCisJbmV3LT5pbWdfZW5oYW5jZW1lbnQgPSBvbGQtPmltZ19l bmhhbmNlbWVudDsNCisNCiAJcmV0dXJuICZuZXctPmJhc2U7DQogfQ0KIA0KQEAgLTE1Miw2ICsx NTksNDAgQEAga29tZWRhX3BsYW5lX2F0b21pY19kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLA0KIAlrZnJlZSh0b19rcGxhbmVfc3Qoc3RhdGUpKTsNCiB9DQogDQorc3RhdGlj IGludA0KK2tvbWVkYV9wbGFuZV9hdG9taWNfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lLA0KKwkJCQkgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUsDQorCQkJ CSBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwNCisJCQkJIHVpbnQ2NF90ICp2YWwpDQor ew0KKwlzdHJ1Y3Qga29tZWRhX3BsYW5lICprcGxhbmUgPSB0b19rcGxhbmUocGxhbmUpOw0KKwlz dHJ1Y3Qga29tZWRhX3BsYW5lX3N0YXRlICpzdCA9IHRvX2twbGFuZV9zdChzdGF0ZSk7DQorDQor CWlmIChwcm9wZXJ0eSA9PSBrcGxhbmUtPnByb3BfaW1nX2VuaGFuY2VtZW50KQ0KKwkJKnZhbCA9 IHN0LT5pbWdfZW5oYW5jZW1lbnQ7DQorCWVsc2UNCisJCXJldHVybiAtRUlOVkFMOw0KKw0KKwly ZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludA0KK2tvbWVkYV9wbGFuZV9hdG9taWNfc2V0X3By b3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLA0KKwkJCQkgc3RydWN0IGRybV9wbGFuZV9z dGF0ZSAqc3RhdGUsDQorCQkJCSBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwNCisJCQkJ IHVpbnQ2NF90IHZhbCkNCit7DQorCXN0cnVjdCBrb21lZGFfcGxhbmUgKmtwbGFuZSA9IHRvX2tw bGFuZShwbGFuZSk7DQorCXN0cnVjdCBrb21lZGFfcGxhbmVfc3RhdGUgKnN0ID0gdG9fa3BsYW5l X3N0KHN0YXRlKTsNCisNCisJaWYgKHByb3BlcnR5ID09IGtwbGFuZS0+cHJvcF9pbWdfZW5oYW5j ZW1lbnQpDQorCQlzdC0+aW1nX2VuaGFuY2VtZW50ID0gISF2YWw7DQorCWVsc2UNCisJCXJldHVy biAtRUlOVkFMOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQogc3RhdGljIGJvb2wNCiBrb21lZGFf cGxhbmVfZm9ybWF0X21vZF9zdXBwb3J0ZWQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsDQogCQkJ CSAgdTMyIGZvcm1hdCwgdTY0IG1vZGlmaWVyKQ0KQEAgLTE3MSw5ICsyMTIsMzMgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3Mga29tZWRhX3BsYW5lX2Z1bmNzID0gew0KIAku cmVzZXQJCQk9IGtvbWVkYV9wbGFuZV9yZXNldCwNCiAJLmF0b21pY19kdXBsaWNhdGVfc3RhdGUJ PSBrb21lZGFfcGxhbmVfYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSwNCiAJLmF0b21pY19kZXN0cm95 X3N0YXRlCT0ga29tZWRhX3BsYW5lX2F0b21pY19kZXN0cm95X3N0YXRlLA0KKwkuYXRvbWljX2dl dF9wcm9wZXJ0eQk9IGtvbWVkYV9wbGFuZV9hdG9taWNfZ2V0X3Byb3BlcnR5LA0KKwkuYXRvbWlj X3NldF9wcm9wZXJ0eQk9IGtvbWVkYV9wbGFuZV9hdG9taWNfc2V0X3Byb3BlcnR5LA0KIAkuZm9y bWF0X21vZF9zdXBwb3J0ZWQJPSBrb21lZGFfcGxhbmVfZm9ybWF0X21vZF9zdXBwb3J0ZWQsDQog fTsNCiANCitzdGF0aWMgaW50DQora29tZWRhX3BsYW5lX2NyZWF0ZV9sYXllcl9wcm9wZXJ0aWVz KHN0cnVjdCBrb21lZGFfcGxhbmUgKmtwbGFuZSwNCisJCQkJICAgICBzdHJ1Y3Qga29tZWRhX2xh eWVyICpsYXllcikNCit7DQorCXN0cnVjdCBkcm1fZGV2aWNlICpkcm0gPSBrcGxhbmUtPmJhc2Uu ZGV2Ow0KKwlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSA9ICZrcGxhbmUtPmJhc2U7DQorCXN0cnVj dCBkcm1fcHJvcGVydHkgKnByb3AgPSBOVUxMOw0KKw0KKwkvKiBwcm9wZXJ0eTogbGF5ZXIgaW1h Z2VfZW5oYW5jZW1lbnQgKi8NCisJaWYgKGxheWVyLT5iYXNlLnN1cHBvcnRlZF9vdXRwdXRzICYg S09NRURBX1BJUEVMSU5FX1NDQUxFUlMpIHsNCisJCXByb3AgPSBkcm1fcHJvcGVydHlfY3JlYXRl X2Jvb2woZHJtLCBEUk1fTU9ERV9QUk9QX0FUT01JQywNCisJCQkJCQkiaW1nX2VuaGFuY2VtZW50 Iik7DQorCQlpZiAoIXByb3ApDQorCQkJcmV0dXJuIC1FTk9NRU07DQorDQorCQlkcm1fb2JqZWN0 X2F0dGFjaF9wcm9wZXJ0eSgmcGxhbmUtPmJhc2UsIHByb3AsIDApOw0KKwkJa3BsYW5lLT5wcm9w X2ltZ19lbmhhbmNlbWVudCA9IHByb3A7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KIC8q IGZvciBrb21lZGEsIHdoaWNoIGlzIHBpcGVsaW5lIGNhbiBiZSBzaGFyZSBiZXR3ZWVuIGNydGNz ICovDQogc3RhdGljIHUzMiBnZXRfcG9zc2libGVfY3J0Y3Moc3RydWN0IGtvbWVkYV9rbXNfZGV2 ICprbXMsDQogCQkJICAgICAgc3RydWN0IGtvbWVkYV9waXBlbGluZSAqcGlwZSkNCkBAIC0yNDEs MTEgKzMwNiwxNSBAQCBzdGF0aWMgaW50IGtvbWVkYV9wbGFuZV9hZGQoc3RydWN0IGtvbWVkYV9r bXNfZGV2ICprbXMsDQogDQogCWVyciA9IGRybV9wbGFuZV9jcmVhdGVfYmxlbmRfbW9kZV9wcm9w ZXJ0eShwbGFuZSwNCiAJCQlCSVQoRFJNX01PREVfQkxFTkRfUElYRUxfTk9ORSkgfA0KLQkJCUJJ VChEUk1fTU9ERV9CTEVORF9QUkVNVUxUSSkgICB8DQorCQkJQklUKERSTV9NT0RFX0JMRU5EX1BS RU1VTFRJKSB8DQogCQkJQklUKERSTV9NT0RFX0JMRU5EX0NPVkVSQUdFKSk7DQogCWlmIChlcnIp DQogCQlnb3RvIGNsZWFudXA7DQogDQorCWVyciA9IGtvbWVkYV9wbGFuZV9jcmVhdGVfbGF5ZXJf cHJvcGVydGllcyhrcGxhbmUsIGxheWVyKTsNCisJaWYgKGVycikNCisJCWdvdG8gY2xlYW51cDsN CisNCiAJcmV0dXJuIDA7DQogY2xlYW51cDoNCiAJa29tZWRhX3BsYW5lX2Rlc3Ryb3kocGxhbmUp Ow0KLS0gDQoyLjE3LjENCg0K