Received: by 2002:a25:86ce:0:0:0:0:0 with SMTP id y14csp1617058ybm; Thu, 23 May 2019 04:11:49 -0700 (PDT) X-Google-Smtp-Source: APXvYqwSuK28jeb1zQ4ulFDwDUwgwX6XR4UXyN5POkqsyC2rsmN/54PIdvuzyh2dOI9seOgw8n5C X-Received: by 2002:a63:fc08:: with SMTP id j8mr95910769pgi.432.1558609909171; Thu, 23 May 2019 04:11:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558609909; cv=none; d=google.com; s=arc-20160816; b=Pc0tW+I9OqRPtchJS9K5rv1RqGWzcaFDfyWafgg7aQIwVPQnxvwT3u49JGD1kgY0qL HqZMVejJpccdRuGgaocd8/X3kCr0nsUk1gEg4DJ/kP8ZTqrC1hW6RePAnATjf08ZkoOb 9ZjjnZztKyB4l06n8GLxvZxQHU4buCexgnq/WuEJfrBjGINhtq9AEhfffbjPhAVLaIIz hIxRtvh5oAfblz7KK3vesCen64g86n2o4A2eM68s0padw7vlVdJN0RJEfA0Ui2ZKmas7 cChBOsF/opXDjqFlkizv+NyR8xvgu8rEep4GwzBfNoEVOzHxRaf4rGPktArha1/7eVsq TFzw== 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=ae+9jVo7VNA0Ku1dUuyvXnCrMpK9JeVC36mDxm/k4rM=; b=y8zmwGF38i8JVk0I6F5JL5ba8MYvY96KITRTzOE/CGlyJw4fDCwycvsbMWdMHJFvFW 2jEqKtPI2q3PdwuUCbyWuO4+H5o2YX9y9GBGO6cwRcU8Q+4CnKX9lPbtaFO4D+oEQknf 4UyhC/LKsJRxqTOg41jjCOCF8KPriLQNCkGPp6KJ9FbsJ9s2C83BoZi9GnTecatCteLM mX6J870hT6Cw6sjcMEjfKKClbHiaqn0naCMIDQf2kT1zkgp3pDFizxNgoLUASPtvXpjX Y6dGwNJAXVFY8kM/Za1nzVpfQQmqye5VgaZFv/TGYfJaFyWwV0AEo7s8qXY9vFwuyDLY DOEQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=fndzWlLy; 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 b3si12349109pgw.444.2019.05.23.04.11.32; Thu, 23 May 2019 04:11:49 -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=fndzWlLy; 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 S1730492AbfEWLKN (ORCPT + 99 others); Thu, 23 May 2019 07:10:13 -0400 Received: from mail-eopbgr130074.outbound.protection.outlook.com ([40.107.13.74]:37634 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726429AbfEWLKN (ORCPT ); Thu, 23 May 2019 07:10:13 -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=ae+9jVo7VNA0Ku1dUuyvXnCrMpK9JeVC36mDxm/k4rM=; b=fndzWlLyra89OMxTpn76iCOKUDALFIpLB/9cmGJDeIiSBvaRaAztLZ9ww2+gMkyQJ86XyI82po6q+/+DwaFdpmqYpFx9o6hRiNChKzvpR5GvYj0OfP0+/B67RhRvhl9ZvG0bt2O5etdCJWUNpbn03Asz/d4U0SYtyzrXLK/xc1c= Received: from VE1PR08MB5006.eurprd08.prod.outlook.com (10.255.159.31) by VE1PR08MB5166.eurprd08.prod.outlook.com (20.179.30.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1922.18; Thu, 23 May 2019 11:10:03 +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.1922.017; Thu, 23 May 2019 11:10:03 +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" , Ben Davis , "Oscar Zhang (Arm Technology China)" , "Channing Chen (Arm Technology China)" , "james qian wang (Arm Technology China)" Subject: [PATCH v2 2/6] drm/komeda: Add the initial scaler support for CORE Thread-Topic: [PATCH v2 2/6] drm/komeda: Add the initial scaler support for CORE Thread-Index: AQHVEVgS6Zqch1EA+k24VPXL4n4sBw== Date: Thu, 23 May 2019 11:10:03 +0000 Message-ID: <20190523110933.10742-3-james.qian.wang@arm.com> References: <20190523110933.10742-1-james.qian.wang@arm.com> In-Reply-To: <20190523110933.10742-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: HK2PR02CA0191.apcprd02.prod.outlook.com (2603:1096:201:21::27) 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: 8885f7f8-341e-4784-934b-08d6df6f3451 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:VE1PR08MB5166; x-ms-traffictypediagnostic: VE1PR08MB5166: nodisclaimer: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:416; x-forefront-prvs: 00462943DE x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(396003)(366004)(376002)(346002)(136003)(39860400002)(199004)(189003)(6512007)(25786009)(50226002)(53936002)(476003)(256004)(14444005)(6436002)(103116003)(446003)(2616005)(11346002)(99286004)(486006)(4326008)(6486002)(81156014)(26005)(81166006)(36756003)(66066001)(54906003)(110136005)(8676002)(2906002)(316002)(8936002)(73956011)(66946007)(2501003)(305945005)(68736007)(7736002)(64756008)(186003)(66556008)(1076003)(76176011)(55236004)(66446008)(66476007)(86362001)(6506007)(386003)(71200400001)(71190400001)(478600001)(3846002)(52116002)(6116002)(2201001)(102836004)(14454004)(5660300002);DIR:OUT;SFP:1101;SCL:1;SRVR:VE1PR08MB5166;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: W7FT/YtmV906wWtjGi2rPOlkPjb0Uey6fQ6QuiDKZdYYF+SwfG+IIr7p2aHdgO+APsZ2XEuDg1hXigiNSfDC05cpjPtagTO8rru9U5Y7itaePymL2rwvAMzf39p8eWKf7RZisYYki7ToAwDDEB9UvNV24WZIm+mj2/7AC+JMWLC1osJsi43BOQAj7jCeoBuHOOLrRfBpINlhpldeoY5izsWIgvQhC7MFt9n6ezj8A6iKX0jWa/gbAQ2yy3haszPvTKYA7z2n2fWOo5pUkzVyQUX1CXPixRKOkiJZtJeoRoJSY5Dc9SJAycqQM+VDDo3i3iLbgjftfsgdlp+Cu4qeIVIt0/LM/6sftnGQbOHRUwDyQ0/l0LXyeGRPkbIdEvQ++BZlaaJzdfk0RwOOJI3ZWzrn3InEXgbvbLO55D8ifB4= 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: 8885f7f8-341e-4784-934b-08d6df6f3451 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 May 2019 11:10:03.7475 (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-CrossTenant-userprincipalname: james.qian.wang@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5166 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 ciBpbnB1dCBkYXRhIGZsb3cpLg0KDQp2MjogRml4IGEgdHlwbywgYW5kIHJlbmFtZSAibmVlZHNf c2NhbGluZyIgdG8gImVuX3NjYWxpbmciDQoNClNpZ25lZC1vZmYtYnk6IEphbWVzIFFpYW4gV2Fu ZyAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEpIDxqYW1lcy5xaWFuLndhbmdAYXJtLmNvbT4NCi0tLQ0K IC4uLi9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZS5jICB8ICAxNCArKysN CiAuLi4vZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmUuaCAgfCAgMjAgKyst DQogLi4uL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZV9zdGF0ZS5jICAgIHwgMTE2ICsr KysrKysrKysrKysrKysrKw0KIC4uLi9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFf cGxhbmUuYyB8ICAgOCArKw0KIDQgZmlsZXMgY2hhbmdlZCwgMTU3IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9r b21lZGEva29tZWRhX3BpcGVsaW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29t ZWRhL2tvbWVkYV9waXBlbGluZS5jDQppbmRleCBhMTMwYjYyZmE2ZDEuLjk2MjQ4NTg2YjRlOCAx MDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3Bp cGVsaW5lLmMNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRh X3BpcGVsaW5lLmMNCkBAIC0xMjYsNiArMTI2LDIwIEBAIGtvbWVkYV9waXBlbGluZV9nZXRfY29t cG9uZW50KHN0cnVjdCBrb21lZGFfcGlwZWxpbmUgKnBpcGUsIGludCBpZCkNCiAJcmV0dXJuIGM7 DQogfQ0KIA0KK3N0cnVjdCBrb21lZGFfY29tcG9uZW50ICoNCitrb21lZGFfcGlwZWxpbmVfZ2V0 X2ZpcnN0X2NvbXBvbmVudChzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlLA0KKwkJCQkgICAg dTMyIGNvbXBfbWFzaykNCit7DQorCXN0cnVjdCBrb21lZGFfY29tcG9uZW50ICpjID0gTlVMTDsN CisJaW50IGlkOw0KKw0KKwlpZCA9IGZpbmRfZmlyc3RfYml0KCh1bnNpZ25lZCBsb25nICopJmNv bXBfbWFzaywgMzIpOw0KKwlpZiAoaWQgPCAzMikNCisJCWMgPSBrb21lZGFfcGlwZWxpbmVfZ2V0 X2NvbXBvbmVudChwaXBlLCBpZCk7DQorDQorCXJldHVybiBjOw0KK30NCisNCiAvKioga29tZWRh X2NvbXBvbmVudF9hZGQgLSBBZGQgYSBjb21wb25lbnQgdG8gJmtvbWVkYV9waXBlbGluZSAqLw0K IHN0cnVjdCBrb21lZGFfY29tcG9uZW50ICoNCiBrb21lZGFfY29tcG9uZW50X2FkZChzdHJ1Y3Qg a29tZWRhX3BpcGVsaW5lICpwaXBlLA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0v ZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmggYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rp c3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZS5oDQppbmRleCBmZGRlOTNiYWQ4ZGUuLjQwMGFm MjE3ZWQ4NiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEv a29tZWRhX3BpcGVsaW5lLmgNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21l ZGEva29tZWRhX3BpcGVsaW5lLmgNCkBAIC0yNDQsMTEgKzI0NCwxNyBAQCBzdHJ1Y3Qga29tZWRh X2xheWVyX3N0YXRlIHsNCiANCiBzdHJ1Y3Qga29tZWRhX3NjYWxlciB7DQogCXN0cnVjdCBrb21l ZGFfY29tcG9uZW50IGJhc2U7DQotCS8qIHNjYWxlciBmZWF0dXJlcyBhbmQgY2FwcyAqLw0KKwlz dHJ1Y3QgbWFsaWRwX3JhbmdlIGhzaXplLCB2c2l6ZTsNCisJdTMyIG1heF91cHNjYWxpbmc7DQor CXUzMiBtYXhfZG93bnNjYWxpbmc7DQogfTsNCiANCiBzdHJ1Y3Qga29tZWRhX3NjYWxlcl9zdGF0 ZSB7DQogCXN0cnVjdCBrb21lZGFfY29tcG9uZW50X3N0YXRlIGJhc2U7DQorCXUxNiBoc2l6ZV9p biwgdnNpemVfaW47DQorCXUxNiBoc2l6ZV9vdXQsIHZzaXplX291dDsNCisJdTggZW5fc2NhbGlu ZyA6IDEsDQorCSAgIGVuX2FscGhhIDogMTsgLyogZW5hYmxlIGFscGhhIHByb2Nlc3NpbmcgKi8N CiB9Ow0KIA0KIHN0cnVjdCBrb21lZGFfY29tcGl6IHsNCkBAIC0zMDcsNiArMzEzLDcgQEAgc3Ry dWN0IGtvbWVkYV9kYXRhX2Zsb3dfY2ZnIHsNCiAJdTMyIHJvdDsNCiAJaW50IGJsZW5kaW5nX3pv cmRlcjsNCiAJdTggcGl4ZWxfYmxlbmRfbW9kZSwgbGF5ZXJfYWxwaGE7DQorCXU4IGVuX3NjYWxp bmcgOiAxOw0KIH07DQogDQogLyoqIHN0cnVjdCBrb21lZGFfcGlwZWxpbmVfZnVuY3MgKi8NCkBA IC00MDcsNiArNDE0LDkgQEAgdm9pZCBrb21lZGFfcGlwZWxpbmVfZGVzdHJveShzdHJ1Y3Qga29t ZWRhX2RldiAqbWRldiwNCiBpbnQga29tZWRhX2Fzc2VtYmxlX3BpcGVsaW5lcyhzdHJ1Y3Qga29t ZWRhX2RldiAqbWRldik7DQogc3RydWN0IGtvbWVkYV9jb21wb25lbnQgKg0KIGtvbWVkYV9waXBl bGluZV9nZXRfY29tcG9uZW50KHN0cnVjdCBrb21lZGFfcGlwZWxpbmUgKnBpcGUsIGludCBpZCk7 DQorc3RydWN0IGtvbWVkYV9jb21wb25lbnQgKg0KK2tvbWVkYV9waXBlbGluZV9nZXRfZmlyc3Rf Y29tcG9uZW50KHN0cnVjdCBrb21lZGFfcGlwZWxpbmUgKnBpcGUsDQorCQkJCSAgICB1MzIgY29t cF9tYXNrKTsNCiANCiB2b2lkIGtvbWVkYV9waXBlbGluZV9kdW1wX3JlZ2lzdGVyKHN0cnVjdCBr b21lZGFfcGlwZWxpbmUgKnBpcGUsDQogCQkJCSAgIHN0cnVjdCBzZXFfZmlsZSAqc2YpOw0KQEAg LTQyMyw2ICs0MzMsMTQgQEAga29tZWRhX2NvbXBvbmVudF9hZGQoc3RydWN0IGtvbWVkYV9waXBl bGluZSAqcGlwZSwNCiB2b2lkIGtvbWVkYV9jb21wb25lbnRfZGVzdHJveShzdHJ1Y3Qga29tZWRh X2RldiAqbWRldiwNCiAJCQkgICAgICBzdHJ1Y3Qga29tZWRhX2NvbXBvbmVudCAqYyk7DQogDQor c3RhdGljIGlubGluZSBzdHJ1Y3Qga29tZWRhX2NvbXBvbmVudCAqDQora29tZWRhX2NvbXBvbmVu dF9waWNrdXBfb3V0cHV0KHN0cnVjdCBrb21lZGFfY29tcG9uZW50ICpjLCB1MzIgYXZhaWxfY29t cHMpDQorew0KKwl1MzIgYXZhaWxfaW5wdXRzID0gYy0+c3VwcG9ydGVkX291dHB1dHMgJiAoYXZh aWxfY29tcHMpOw0KKw0KKwlyZXR1cm4ga29tZWRhX3BpcGVsaW5lX2dldF9maXJzdF9jb21wb25l bnQoYy0+cGlwZWxpbmUsIGF2YWlsX2lucHV0cyk7DQorfQ0KKw0KIHN0cnVjdCBrb21lZGFfcGxh bmVfc3RhdGU7DQogc3RydWN0IGtvbWVkYV9jcnRjX3N0YXRlOw0KIHN0cnVjdCBrb21lZGFfY3J0 YzsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVk YV9waXBlbGluZV9zdGF0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9r b21lZGFfcGlwZWxpbmVfc3RhdGUuYw0KaW5kZXggZGIyYzNkNmQyYThhLi5hNTMwMGVmOTJlYjcg MTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9w aXBlbGluZV9zdGF0ZS5jDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRh L2tvbWVkYV9waXBlbGluZV9zdGF0ZS5jDQpAQCAtMjQ5LDYgKzI0OSwyNiBAQCBrb21lZGFfY29t cG9uZW50X3ZhbGlkYXRlX3ByaXZhdGUoc3RydWN0IGtvbWVkYV9jb21wb25lbnQgKmMsDQogCXJl dHVybiBlcnI7DQogfQ0KIA0KKy8qIEdldCBjdXJyZW50IGF2YWlsYWJsZSBzY2FsZXIgZnJvbSB0 aGUgY29tcG9uZW50LT5zdXBwb3J0ZWRfb3V0cHV0cyAqLw0KK3N0YXRpYyBzdHJ1Y3Qga29tZWRh X3NjYWxlciAqDQora29tZWRhX2NvbXBvbmVudF9nZXRfYXZhaWxfc2NhbGVyKHN0cnVjdCBrb21l ZGFfY29tcG9uZW50ICpjLA0KKwkJCQkgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkN Cit7DQorCXN0cnVjdCBrb21lZGFfcGlwZWxpbmVfc3RhdGUgKnBpcGVfc3Q7DQorCXUzMiBhdmFp bF9zY2FsZXJzOw0KKw0KKwlwaXBlX3N0ID0ga29tZWRhX3BpcGVsaW5lX2dldF9zdGF0ZShjLT5w aXBlbGluZSwgc3RhdGUpOw0KKwlpZiAoIXBpcGVfc3QpDQorCQlyZXR1cm4gTlVMTDsNCisNCisJ YXZhaWxfc2NhbGVycyA9IChwaXBlX3N0LT5hY3RpdmVfY29tcHMgJiBLT01FREFfUElQRUxJTkVf U0NBTEVSUykgXg0KKwkJCUtPTUVEQV9QSVBFTElORV9TQ0FMRVJTOw0KKw0KKwljID0ga29tZWRh X2NvbXBvbmVudF9waWNrdXBfb3V0cHV0KGMsIGF2YWlsX3NjYWxlcnMpOw0KKw0KKwlyZXR1cm4g dG9fc2NhbGVyKGMpOw0KK30NCisNCiBzdGF0aWMgaW50DQoga29tZWRhX2xheWVyX2NoZWNrX2Nm ZyhzdHJ1Y3Qga29tZWRhX2xheWVyICpsYXllciwNCiAJCSAgICAgICBzdHJ1Y3Qga29tZWRhX3Bs YW5lX3N0YXRlICprcGxhbmVfc3QsDQpAQCAtMzU1LDYgKzM3NSw5OCBAQCBrb21lZGFfd2JfbGF5 ZXJfdmFsaWRhdGUoc3RydWN0IGtvbWVkYV9sYXllciAqd2JfbGF5ZXIsDQogCXJldHVybiAwOw0K IH0NCiANCitzdGF0aWMgYm9vbCBzY2FsaW5nX3JhdGlvX3ZhbGlkKHUzMiBzaXplX2luLCB1MzIg c2l6ZV9vdXQsDQorCQkJCXUzMiBtYXhfdXBzY2FsaW5nLCB1MzIgbWF4X2Rvd25zY2FsaW5nKQ0K K3sNCisJaWYgKHNpemVfb3V0ID4gc2l6ZV9pbiAqIG1heF91cHNjYWxpbmcpDQorCQlyZXR1cm4g ZmFsc2U7DQorCWVsc2UgaWYgKHNpemVfaW4gPiBzaXplX291dCAqIG1heF9kb3duc2NhbGluZykN CisJCXJldHVybiBmYWxzZTsNCisJcmV0dXJuIHRydWU7DQorfQ0KKw0KK3N0YXRpYyBpbnQNCitr b21lZGFfc2NhbGVyX2NoZWNrX2NmZyhzdHJ1Y3Qga29tZWRhX3NjYWxlciAqc2NhbGVyLA0KKwkJ CXN0cnVjdCBrb21lZGFfZGF0YV9mbG93X2NmZyAqZGZsb3cpDQorew0KKwl1MzIgaHNpemVfaW4s IHZzaXplX2luLCBoc2l6ZV9vdXQsIHZzaXplX291dDsNCisNCisJaHNpemVfaW4gPSBkZmxvdy0+ aW5fdzsNCisJdnNpemVfaW4gPSBkZmxvdy0+aW5faDsNCisJaHNpemVfb3V0ID0gZGZsb3ctPm91 dF93Ow0KKwl2c2l6ZV9vdXQgPSBkZmxvdy0+b3V0X2g7DQorDQorCWlmICghaW5fcmFuZ2UoJnNj YWxlci0+aHNpemUsIGhzaXplX2luKSB8fA0KKwkgICAgIWluX3JhbmdlKCZzY2FsZXItPmhzaXpl LCBoc2l6ZV9vdXQpKSB7DQorCQlEUk1fREVCVUdfQVRPTUlDKCJJbnZhbGlkIGhvcml6b250YWwg c2l6ZXMiKTsNCisJCXJldHVybiAtRUlOVkFMOw0KKwl9DQorDQorCWlmICghaW5fcmFuZ2UoJnNj YWxlci0+dnNpemUsIHZzaXplX2luKSB8fA0KKwkgICAgIWluX3JhbmdlKCZzY2FsZXItPnZzaXpl LCB2c2l6ZV9vdXQpKSB7DQorCQlEUk1fREVCVUdfQVRPTUlDKCJJbnZhbGlkIHZlcnRpY2FsIHNp emVzIik7DQorCQlyZXR1cm4gLUVJTlZBTDsNCisJfQ0KKw0KKwlpZiAoIXNjYWxpbmdfcmF0aW9f dmFsaWQoaHNpemVfaW4sIGhzaXplX291dCwgc2NhbGVyLT5tYXhfdXBzY2FsaW5nLA0KKwkJCQkg c2NhbGVyLT5tYXhfZG93bnNjYWxpbmcpKSB7DQorCQlEUk1fREVCVUdfQVRPTUlDKCJJbnZhbGlk IGhvcml6b250YWwgc2NhbGluZyByYXRpbyIpOw0KKwkJcmV0dXJuIC1FSU5WQUw7DQorCX0NCisN CisJaWYgKCFzY2FsaW5nX3JhdGlvX3ZhbGlkKHZzaXplX2luLCB2c2l6ZV9vdXQsIHNjYWxlci0+ bWF4X3Vwc2NhbGluZywNCisJCQkJIHNjYWxlci0+bWF4X2Rvd25zY2FsaW5nKSkgew0KKwkJRFJN X0RFQlVHX0FUT01JQygiSW52YWxpZCB2ZXJ0aWNhbCBzY2FsaW5nIHJhdGlvIik7DQorCQlyZXR1 cm4gLUVJTlZBTDsNCisJfQ0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludA0KK2tvbWVk YV9zY2FsZXJfdmFsaWRhdGUodm9pZCAqdXNlciwNCisJCSAgICAgICBzdHJ1Y3Qga29tZWRhX2Ny dGNfc3RhdGUgKmtjcnRjX3N0LA0KKwkJICAgICAgIHN0cnVjdCBrb21lZGFfZGF0YV9mbG93X2Nm ZyAqZGZsb3cpDQorew0KKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqZHJtX3N0ID0ga2NydGNf c3QtPmJhc2Uuc3RhdGU7DQorCXN0cnVjdCBrb21lZGFfY29tcG9uZW50X3N0YXRlICpjX3N0Ow0K KwlzdHJ1Y3Qga29tZWRhX3NjYWxlcl9zdGF0ZSAqc3Q7DQorCXN0cnVjdCBrb21lZGFfc2NhbGVy ICpzY2FsZXI7DQorCWludCBlcnIgPSAwOw0KKw0KKwlpZiAoIWRmbG93LT5lbl9zY2FsaW5nKQ0K KwkJcmV0dXJuIDA7DQorDQorCXNjYWxlciA9IGtvbWVkYV9jb21wb25lbnRfZ2V0X2F2YWlsX3Nj YWxlcihkZmxvdy0+aW5wdXQuY29tcG9uZW50LA0KKwkJCQkJCSAgIGRybV9zdCk7DQorCWlmICgh c2NhbGVyKSB7DQorCQlEUk1fREVCVUdfQVRPTUlDKCJObyBzY2FsZXIgYXZhaWxhYmxlIik7DQor CQlyZXR1cm4gLUVJTlZBTDsNCisJfQ0KKw0KKwllcnIgPSBrb21lZGFfc2NhbGVyX2NoZWNrX2Nm ZyhzY2FsZXIsIGRmbG93KTsNCisJaWYgKGVycikNCisJCXJldHVybiBlcnI7DQorDQorCWNfc3Qg PSBrb21lZGFfY29tcG9uZW50X2dldF9zdGF0ZV9hbmRfc2V0X3VzZXIoJnNjYWxlci0+YmFzZSwN CisJCQlkcm1fc3QsIHVzZXIsIGtjcnRjX3N0LT5iYXNlLmNydGMpOw0KKwlpZiAoSVNfRVJSKGNf c3QpKQ0KKwkJcmV0dXJuIFBUUl9FUlIoY19zdCk7DQorDQorCXN0ID0gdG9fc2NhbGVyX3N0KGNf c3QpOw0KKw0KKwlzdC0+aHNpemVfaW4gPSBkZmxvdy0+aW5fdzsNCisJc3QtPnZzaXplX2luID0g ZGZsb3ctPmluX2g7DQorCXN0LT5oc2l6ZV9vdXQgPSBkZmxvdy0+b3V0X3c7DQorCXN0LT52c2l6 ZV9vdXQgPSBkZmxvdy0+b3V0X2g7DQorCXN0LT5lbl9zY2FsaW5nID0gZGZsb3ctPmVuX3NjYWxp bmc7DQorCS8qIEVuYWJsZSBhbHBoYSBwcm9jZXNzaW5nIGlmIHRoZSBuZXh0IHN0YWdlIG5lZWRz IHRoZSBwaXhlbCBhbHBoYSAqLw0KKwlzdC0+ZW5fYWxwaGEgPSBkZmxvdy0+cGl4ZWxfYmxlbmRf bW9kZSAhPSBEUk1fTU9ERV9CTEVORF9QSVhFTF9OT05FOw0KKw0KKwlrb21lZGFfY29tcG9uZW50 X2FkZF9pbnB1dCgmc3QtPmJhc2UsICZkZmxvdy0+aW5wdXQsIDApOw0KKwlrb21lZGFfY29tcG9u ZW50X3NldF9vdXRwdXQoJmRmbG93LT5pbnB1dCwgJnNjYWxlci0+YmFzZSwgMCk7DQorCXJldHVy biBlcnI7DQorfQ0KKw0KIHZvaWQgcGlwZWxpbmVfY29tcG9zaXRpb25fc2l6ZShzdHJ1Y3Qga29t ZWRhX2NydGNfc3RhdGUgKmtjcnRjX3N0LA0KIAkJCSAgICAgICB1MTYgKmhzaXplLCB1MTYgKnZz aXplKQ0KIHsNCkBAIC01MjAsNiArNjMyLDEwIEBAIGludCBrb21lZGFfYnVpbGRfbGF5ZXJfZGF0 YV9mbG93KHN0cnVjdCBrb21lZGFfbGF5ZXIgKmxheWVyLA0KIAlpZiAoZXJyKQ0KIAkJcmV0dXJu IGVycjsNCiANCisJZXJyID0ga29tZWRhX3NjYWxlcl92YWxpZGF0ZShwbGFuZSwga2NydGNfc3Qs IGRmbG93KTsNCisJaWYgKGVycikNCisJCXJldHVybiBlcnI7DQorDQogCWVyciA9IGtvbWVkYV9j b21waXpfc2V0X2lucHV0KHBpcGUtPmNvbXBpeiwga2NydGNfc3QsIGRmbG93KTsNCiANCiAJcmV0 dXJuIGVycjsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRh L2tvbWVkYV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21l ZGFfcGxhbmUuYw0KaW5kZXggNjQ2MmMwMjA2OTQyLi5jZDNhNzE3MmE3NTYgMTAwNjQ0DQotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9wbGFuZS5jDQorKysg Yi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9wbGFuZS5jDQpAQCAt MTYsNiArMTYsNyBAQCBrb21lZGFfcGxhbmVfaW5pdF9kYXRhX2Zsb3coc3RydWN0IGRybV9wbGFu ZV9zdGF0ZSAqc3QsDQogCQkJICAgIHN0cnVjdCBrb21lZGFfZGF0YV9mbG93X2NmZyAqZGZsb3cp DQogew0KIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHN0LT5mYjsNCisJdTMyIHcsIGg7 DQogDQogCW1lbXNldChkZmxvdywgMCwgc2l6ZW9mKCpkZmxvdykpOw0KIA0KQEAgLTM2LDYgKzM3 LDEzIEBAIGtvbWVkYV9wbGFuZV9pbml0X2RhdGFfZmxvdyhzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRl ICpzdCwNCiAJZGZsb3ctPmluX3cgPSBzdC0+c3JjX3cgPj4gMTY7DQogCWRmbG93LT5pbl9oID0g c3QtPnNyY19oID4+IDE2Ow0KIA0KKwl3ID0gZGZsb3ctPmluX3c7DQorCWggPSBkZmxvdy0+aW5f aDsNCisJaWYgKGRybV9yb3RhdGlvbl85MF9vcl8yNzAoZGZsb3ctPnJvdCkpDQorCQlzd2FwKHcs IGgpOw0KKw0KKwlkZmxvdy0+ZW5fc2NhbGluZyA9ICh3ICE9IGRmbG93LT5vdXRfdykgfHwgKGgg IT0gZGZsb3ctPm91dF9oKTsNCisNCiAJcmV0dXJuIDA7DQogfQ0KIA0KLS0gDQoyLjE3LjENCg0K