Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp323848imu; Mon, 5 Nov 2018 01:16:29 -0800 (PST) X-Google-Smtp-Source: AJdET5c1Z7RGjYu9KJ8zZ7OMVvpaEhEv9amIgjLTqiFNvHx/wVME54+SZwY3jq+eYmkY3e1DMPhm X-Received: by 2002:a63:2a4a:: with SMTP id q71mr5327592pgq.374.1541409389287; Mon, 05 Nov 2018 01:16:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541409389; cv=none; d=google.com; s=arc-20160816; b=FQCXx+Ds8UGVEhoDBiV3lzd/jftNvtTs6VSn/3hrmjxueb8BPM0qZheX7c4IKymz5l CbtqWz03MihXbfVryow0XcnHznIq2U6cRn01WZkwt0cqpdYnMYa+TjXzmHYPx66tUHt/ +84wBXwTfPol5rdUMC6RQvktYVMrJSCrmCPNIowlDNm6jKcOidCWyEeF2qxIWyjEXRpI L3emDhfQD6yGEyQWvXRtXGsdgad9d/KZ/BsdpccxO12sqIgyprQQExXCT64DZDxZ75kf Hk6TNFXGY650DUCQCwIiDGDSLhH3QaSi0CM92OafHp1HmaE5D/LyxtY01VxO9GDHn93i ig2A== 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 :spamdiagnosticmetadata:spamdiagnosticoutput:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature; bh=ZsxYxz0o/jjD4BElM+7DxW3BX5Hc8U+5ovcFQUN/b7Q=; b=no+n70VRqdUJ4nWQuuL0Kh/Rfy5cayjD3gMxOAbzbTNz/xUZnazMe4Xm924nBLehmA dv9FBZPhqtGbTANPMKIbn9gHmH4+Eu008seXtTfa4wkwDzG8ABFMiE9d9eEKIlwe8ehS EUct1a5eEWQWUfL9c5AIRrkWoFwgRnlZVqX6VbTHyPjATPaxaORtE/h+kQ2YUhFeSXfi QlrfU6YjJZM4jjnRXFHefiiuFPvwjvJ8RZ7G2unT6YjP4LMmgwcDZFIz8eLum9h4/i0c EsuEvkFP+dNNJ4m62K0yOWJah0w8ceaUK1Ttbj+1D/JeAJZ4UAmtR26pmlZ+4nkFSAp2 Ys1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector1 header.b=BCe1aYby; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p15-v6si7759664plo.26.2018.11.05.01.16.14; Mon, 05 Nov 2018 01:16:29 -0800 (PST) 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=@nxp.com header.s=selector1 header.b=BCe1aYby; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727035AbeKESeS (ORCPT + 99 others); Mon, 5 Nov 2018 13:34:18 -0500 Received: from mail-eopbgr10086.outbound.protection.outlook.com ([40.107.1.86]:35680 "EHLO EUR02-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726173AbeKESeS (ORCPT ); Mon, 5 Nov 2018 13:34:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZsxYxz0o/jjD4BElM+7DxW3BX5Hc8U+5ovcFQUN/b7Q=; b=BCe1aYby0HlVDv0URXBMjpA84Ca5N7MDnZYXrzYJJJDhlcq2VkU+HwisB/NHNWDTCY4e7U7ItkAu+i6LLo7ctl6qyWK91pvASGD/GR9Sb9fWngfAAKGmZJ9K8+QTpvmK7C6lub/P9a0HAKtpj6qTR6mjDsYixkyt7IXrSiBYKjI= Received: from HE1PR04MB1497.eurprd04.prod.outlook.com (10.163.176.23) by HE1PR04MB1097.eurprd04.prod.outlook.com (10.162.26.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.26; Mon, 5 Nov 2018 09:15:23 +0000 Received: from HE1PR04MB1497.eurprd04.prod.outlook.com ([fe80::4070:91bb:7cd2:1f63]) by HE1PR04MB1497.eurprd04.prod.outlook.com ([fe80::4070:91bb:7cd2:1f63%3]) with mapi id 15.20.1294.032; Mon, 5 Nov 2018 09:15:23 +0000 From: Xiaowei Bao To: Kishon Vijay Abraham I , "bhelgaas@google.com" , "robh+dt@kernel.org" , "mark.rutland@arm.com" , "shawnguo@kernel.org" , Leo Li , "lorenzo.pieralisi@arm.com" , "arnd@arndb.de" , "gregkh@linuxfoundation.org" , "M.h. Lian" , Mingkai Hu , Roy Zang , "kstewart@linuxfoundation.org" , "cyrille.pitchen@free-electrons.com" , "pombredanne@nexb.com" , "shawn.lin@rock-chips.com" , "niklas.cassel@axis.com" , "linux-pci@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linuxppc-dev@lists.ozlabs.org" CC: Jiafei Pan Subject: RE: [PATCH 5/6] pci: layerscape: Add the EP mode support. Thread-Topic: [PATCH 5/6] pci: layerscape: Add the EP mode support. Thread-Index: AQHUbFPBC6aEqg5WuUCTs5ZVrmqyDqUxAPsAgAA8nBCAB2zBkIAAHa2AgAAAvtCACCmfgIAAANHA Date: Mon, 5 Nov 2018 09:15:22 +0000 Message-ID: References: <20181025110901.5680-1-xiaowei.bao@nxp.com> <20181025110901.5680-5-xiaowei.bao@nxp.com> <8ec7f502-e058-2c28-9140-5d125e4af6ff@ti.com> In-Reply-To: <8ec7f502-e058-2c28-9140-5d125e4af6ff@ti.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=xiaowei.bao@nxp.com; x-originating-ip: [119.31.174.73] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;HE1PR04MB1097;6:IVtFl8wM2IMe67R8PExoHdb15aE1SRhaV18IErK/WqZrYPjn2LUuaWmtztZCrg2tdwOrJOjt9/kxfeSmpmLYvTCC4l9TJZIsuWRQkGSA118gGj69xch8dWHlm1l4SWXoieAtIkJMPw5/Azu83uHjBb+yvIs5A6GTicnUdkm78Mj8gzupjepqLqjf0W6ZaYLG6PSWaBBXY1GwIcNFAIEJqbE/i59yEe4osbKYsyFjOfBhnhiUBaGmUvXOd7BVgTIEd0mH52apFiXw1NokHNZdstq4el0qAieiH2WXZBaAlLX0UWMHfNpG4GZgwR4EzaIAsqAxeoKhiRSuRe1byEgaCjTYsyeQAaW26om5V8qzW76P281HDO4fe/GP5bpEhH2uBAGULZPqiQduzIlQDbDb4jDsBwnrulh/G4mVSBsVk3HqUjOEaeGATa7YjHuL6CGmzLocjZg7KV6i2Eu8y3v8Vg==;5:Eerx942Y/sgYOGzvbH9nWS+Q4NzS+Szg9WKW+q9pKnJf+pkQ/Fx7SdQaCx9q2q63OjPrCBpi86U8jjY/t9U4IlGFxrMPIFV+p7N8L7hHIe1Hrcv0dDckFstxOhopOtAogYfz4baNffzsCXc1ZQqjm9wSg+d2FC+TN+vPypNq5H4=;7:q/vqE75rSpNIsDnJKCW9ch56hpjDJfG1xDDv54EgLhE0Jnz/ue8zYuvi9aCRxCtPq4NlBw6CHB3Kp7EEudUSeTIGPb6PikWy6xFohXXRwkeVEIGEhZM5BDDM1xNtE+Lh8P1R4zV+VobZKflWBzTx1A== x-ms-office365-filtering-correlation-id: 91f40ecd-6f52-4b8e-4193-08d642ff376c x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);SRVR:HE1PR04MB1097; x-ms-traffictypediagnostic: HE1PR04MB1097: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(211936372134217)(180628864354917)(58145275503218)(9452136761055)(258649278758335)(65623756079841)(31051911155226)(185117386973197); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231382)(944501410)(52105095)(3002001)(10201501046)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123560045)(20161123564045)(20161123558120)(201708071742011)(7699051)(76991095);SRVR:HE1PR04MB1097;BCL:0;PCL:0;RULEID:;SRVR:HE1PR04MB1097; x-forefront-prvs: 08476BC6EF x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(396003)(39860400002)(366004)(346002)(136003)(376002)(13464003)(199004)(189003)(305945005)(2900100001)(99286004)(7416002)(74316002)(33656002)(9686003)(76176011)(8676002)(55016002)(81156014)(81166006)(478600001)(7736002)(2201001)(53936002)(7696005)(6246003)(44832011)(71190400001)(71200400001)(106356001)(105586002)(476003)(6436002)(6116002)(3846002)(446003)(11346002)(486006)(5660300001)(8936002)(6506007)(53546011)(186003)(102836004)(93886005)(2906002)(14454004)(26005)(66066001)(229853002)(68736007)(97736004)(575784001)(86362001)(316002)(2501003)(256004)(4326008)(25786009)(110136005)(921003)(1121003);DIR:OUT;SFP:1101;SCL:1;SRVR:HE1PR04MB1097;H:HE1PR04MB1497.eurprd04.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: hBdgLGEXvBkOduSDjb2UmgpC9pOvK54jvPWAhWI6Y1ZOynowEDxjGxQvQFfGpaQJFgmqGHVPVRv4HYdEKqUflB6ohIjx2ipnoYE/kwIRkV+smIshvWFVITUWN00Fa8rrWHgsSuD3ckGexj1zxw/1BxBEjHHhR+X5rQ5WabOhF2AGdt2ouHv5Vc1p3mWGZlhHjY35FAlOes9zR1Vdc/s+VE5ITrGGT0cmgU8nPWYoVCuRhKX9lSEdc3xp+EmzHZXx0L0tPkaTzFShtmYl6Lfor2tdY3YMrdrGWMg+m09bnDSsYk1/WqLHKTlVRIDt7IeI2Uu93Rze3gd1wyv8F7DGDYEyiFIe73drFK2d+LqANXc= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 91f40ecd-6f52-4b8e-4193-08d642ff376c X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Nov 2018 09:15:23.0626 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB1097 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBLaXNob24gVmlqYXkgQWJyYWhh bSBJIDxraXNob25AdGkuY29tPiANClNlbnQ6IDIwMTjlubQxMeaciDXml6UgMTY6NTcNClRvOiBY aWFvd2VpIEJhbyA8eGlhb3dlaS5iYW9AbnhwLmNvbT47IGJoZWxnYWFzQGdvb2dsZS5jb207IHJv YmgrZHRAa2VybmVsLm9yZzsgbWFyay5ydXRsYW5kQGFybS5jb207IHNoYXduZ3VvQGtlcm5lbC5v cmc7IExlbyBMaSA8bGVveWFuZy5saUBueHAuY29tPjsgbG9yZW56by5waWVyYWxpc2lAYXJtLmNv bTsgYXJuZEBhcm5kYi5kZTsgZ3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc7IE0uaC4gTGlhbiA8 bWluZ2h1YW4ubGlhbkBueHAuY29tPjsgTWluZ2thaSBIdSA8bWluZ2thaS5odUBueHAuY29tPjsg Um95IFphbmcgPHJveS56YW5nQG54cC5jb20+OyBrc3Rld2FydEBsaW51eGZvdW5kYXRpb24ub3Jn OyBjeXJpbGxlLnBpdGNoZW5AZnJlZS1lbGVjdHJvbnMuY29tOyBwb21icmVkYW5uZUBuZXhiLmNv bTsgc2hhd24ubGluQHJvY2stY2hpcHMuY29tOyBuaWtsYXMuY2Fzc2VsQGF4aXMuY29tOyBsaW51 eC1wY2lAdmdlci5rZXJuZWwub3JnOyBkZXZpY2V0cmVlQHZnZXIua2VybmVsLm9yZzsgbGludXgt a2VybmVsQHZnZXIua2VybmVsLm9yZzsgbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnOyBsaW51eHBwYy1kZXZAbGlzdHMub3psYWJzLm9yZw0KQ2M6IEppYWZlaSBQYW4gPGppYWZl aS5wYW5AbnhwLmNvbT4NClN1YmplY3Q6IFJlOiBbUEFUQ0ggNS82XSBwY2k6IGxheWVyc2NhcGU6 IEFkZCB0aGUgRVAgbW9kZSBzdXBwb3J0Lg0KDQpIaSwNCg0KT24gMzEvMTAvMTggNDowOCBQTSwg WGlhb3dlaSBCYW8gd3JvdGU6DQo+IA0KPiANCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gRnJvbTogS2lzaG9uIFZpamF5IEFicmFoYW0gSSA8a2lzaG9uQHRpLmNvbT4NCj4gU2VudDog MjAxOOW5tDEw5pyIMzHml6UgMTI6MTUNCj4gVG86IFhpYW93ZWkgQmFvIDx4aWFvd2VpLmJhb0Bu eHAuY29tPjsgYmhlbGdhYXNAZ29vZ2xlLmNvbTsgDQo+IHJvYmgrZHRAa2VybmVsLm9yZzsgbWFy ay5ydXRsYW5kQGFybS5jb207IHNoYXduZ3VvQGtlcm5lbC5vcmc7IExlbyBMaSANCj4gPGxlb3lh bmcubGlAbnhwLmNvbT47IGxvcmVuem8ucGllcmFsaXNpQGFybS5jb207IGFybmRAYXJuZGIuZGU7 IA0KPiBncmVna2hAbGludXhmb3VuZGF0aW9uLm9yZzsgTS5oLiBMaWFuIDxtaW5naHVhbi5saWFu QG54cC5jb20+OyBNaW5na2FpIA0KPiBIdSA8bWluZ2thaS5odUBueHAuY29tPjsgUm95IFphbmcg PHJveS56YW5nQG54cC5jb20+OyANCj4ga3N0ZXdhcnRAbGludXhmb3VuZGF0aW9uLm9yZzsgY3ly aWxsZS5waXRjaGVuQGZyZWUtZWxlY3Ryb25zLmNvbTsgDQo+IHBvbWJyZWRhbm5lQG5leGIuY29t OyBzaGF3bi5saW5Acm9jay1jaGlwcy5jb207IA0KPiBuaWtsYXMuY2Fzc2VsQGF4aXMuY29tOyBs aW51eC1wY2lAdmdlci5rZXJuZWwub3JnOyANCj4gZGV2aWNldHJlZUB2Z2VyLmtlcm5lbC5vcmc7 IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IA0KPiBsaW51eC1hcm0ta2VybmVsQGxpc3Rz LmluZnJhZGVhZC5vcmc7IGxpbnV4cHBjLWRldkBsaXN0cy5vemxhYnMub3JnDQo+IENjOiBKaWFm ZWkgUGFuIDxqaWFmZWkucGFuQG54cC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggNS82XSBw Y2k6IGxheWVyc2NhcGU6IEFkZCB0aGUgRVAgbW9kZSBzdXBwb3J0Lg0KPiANCj4gSGksDQo+IA0K PiBPbiAzMS8xMC8xOCA4OjAzIEFNLCBYaWFvd2VpIEJhbyB3cm90ZToNCj4+DQo+Pg0KPj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+IEZyb206IFhpYW93ZWkgQmFvDQo+PiBTZW50OiAy MDE45bm0MTDmnIgyNuaXpSAxNzoxOQ0KPj4gVG86ICdLaXNob24gVmlqYXkgQWJyYWhhbSBJJyA8 a2lzaG9uQHRpLmNvbT47IGJoZWxnYWFzQGdvb2dsZS5jb207DQo+PiByb2JoK2R0QGtlcm5lbC5v cmc7IG1hcmsucnV0bGFuZEBhcm0uY29tOyBzaGF3bmd1b0BrZXJuZWwub3JnOyBMZW8gTGkNCj4+ IDxsZW95YW5nLmxpQG54cC5jb20+OyBsb3JlbnpvLnBpZXJhbGlzaUBhcm0uY29tOyBhcm5kQGFy bmRiLmRlOyANCj4+IGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnOyBNLmguIExpYW4gPG1pbmdo dWFuLmxpYW5AbnhwLmNvbT47IA0KPj4gTWluZ2thaSBIdSA8bWluZ2thaS5odUBueHAuY29tPjsg Um95IFphbmcgPHJveS56YW5nQG54cC5jb20+OyANCj4+IGtzdGV3YXJ0QGxpbnV4Zm91bmRhdGlv bi5vcmc7IGN5cmlsbGUucGl0Y2hlbkBmcmVlLWVsZWN0cm9ucy5jb207DQo+PiBwb21icmVkYW5u ZUBuZXhiLmNvbTsgc2hhd24ubGluQHJvY2stY2hpcHMuY29tOyANCj4+IG5pa2xhcy5jYXNzZWxA YXhpcy5jb207IGxpbnV4LXBjaUB2Z2VyLmtlcm5lbC5vcmc7IA0KPj4gZGV2aWNldHJlZUB2Z2Vy Lmtlcm5lbC5vcmc7IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IA0KPj4gbGludXgtYXJt LWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnOyBsaW51eHBwYy1kZXZAbGlzdHMub3psYWJzLm9y Zw0KPj4gQ2M6IEppYWZlaSBQYW4gPGppYWZlaS5wYW5AbnhwLmNvbT4NCj4+IFN1YmplY3Q6IFJF OiBbUEFUQ0ggNS82XSBwY2k6IGxheWVyc2NhcGU6IEFkZCB0aGUgRVAgbW9kZSBzdXBwb3J0Lg0K Pj4NCj4+DQo+Pg0KPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+IEZyb206IEtpc2hv biBWaWpheSBBYnJhaGFtIEkgPGtpc2hvbkB0aS5jb20+DQo+PiBTZW50OiAyMDE45bm0MTDmnIgy NuaXpSAxMzoyOQ0KPj4gVG86IFhpYW93ZWkgQmFvIDx4aWFvd2VpLmJhb0BueHAuY29tPjsgYmhl bGdhYXNAZ29vZ2xlLmNvbTsNCj4+IHJvYmgrZHRAa2VybmVsLm9yZzsgbWFyay5ydXRsYW5kQGFy bS5jb207IHNoYXduZ3VvQGtlcm5lbC5vcmc7IExlbyBMaQ0KPj4gPGxlb3lhbmcubGlAbnhwLmNv bT47IGxvcmVuem8ucGllcmFsaXNpQGFybS5jb207IGFybmRAYXJuZGIuZGU7IA0KPj4gZ3JlZ2to QGxpbnV4Zm91bmRhdGlvbi5vcmc7IE0uaC4gTGlhbiA8bWluZ2h1YW4ubGlhbkBueHAuY29tPjsg DQo+PiBNaW5na2FpIEh1IDxtaW5na2FpLmh1QG54cC5jb20+OyBSb3kgWmFuZyA8cm95LnphbmdA bnhwLmNvbT47IA0KPj4ga3N0ZXdhcnRAbGludXhmb3VuZGF0aW9uLm9yZzsgY3lyaWxsZS5waXRj aGVuQGZyZWUtZWxlY3Ryb25zLmNvbTsNCj4+IHBvbWJyZWRhbm5lQG5leGIuY29tOyBzaGF3bi5s aW5Acm9jay1jaGlwcy5jb207IA0KPj4gbmlrbGFzLmNhc3NlbEBheGlzLmNvbTsgbGludXgtcGNp QHZnZXIua2VybmVsLm9yZzsgDQo+PiBkZXZpY2V0cmVlQHZnZXIua2VybmVsLm9yZzsgbGludXgt a2VybmVsQHZnZXIua2VybmVsLm9yZzsgDQo+PiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJh ZGVhZC5vcmc7IGxpbnV4cHBjLWRldkBsaXN0cy5vemxhYnMub3JnDQo+PiBTdWJqZWN0OiBSZTog W1BBVENIIDUvNl0gcGNpOiBsYXllcnNjYXBlOiBBZGQgdGhlIEVQIG1vZGUgc3VwcG9ydC4NCj4+ DQo+PiBIaSwNCj4+DQo+PiBPbiBUaHVyc2RheSAyNSBPY3RvYmVyIDIwMTggMDQ6MzkgUE0sIFhp YW93ZWkgQmFvIHdyb3RlOg0KPj4+IEFkZCB0aGUgUENJZSBFUCBtb2RlIHN1cHBvcnQgZm9yIGxh eWVyc2NhcGUgcGxhdGZvcm0uDQo+Pj4NCj4+PiBTaWduZWQtb2ZmLWJ5OiBYaWFvd2VpIEJhbyA8 eGlhb3dlaS5iYW9AbnhwLmNvbT4NCj4+PiAtLS0NCj4+PiAgZHJpdmVycy9wY2kvY29udHJvbGxl ci9kd2MvTWFrZWZpbGUgICAgICAgICAgICB8ICAgIDIgKy0NCj4+PiAgZHJpdmVycy9wY2kvY29u dHJvbGxlci9kd2MvcGNpLWxheWVyc2NhcGUtZXAuYyB8ICAxNjENCj4+PiArKysrKysrKysrKysr KysrKysrKysrKysNCj4+PiAgMiBmaWxlcyBjaGFuZ2VkLCAxNjIgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbnMoLSkgIGNyZWF0ZSBtb2RlDQo+Pj4gMTAwNjQ0IGRyaXZlcnMvcGNpL2NvbnRyb2xs ZXIvZHdjL3BjaS1sYXllcnNjYXBlLWVwLmMNCj4+Pg0KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3BjaS9jb250cm9sbGVyL2R3Yy9NYWtlZmlsZQ0KPj4+IGIvZHJpdmVycy9wY2kvY29udHJvbGxl ci9kd2MvTWFrZWZpbGUNCj4+PiBpbmRleCA1ZDJjZTcyLi5iMjZkNjE3IDEwMDY0NA0KPj4+IC0t LSBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL01ha2VmaWxlDQo+Pj4gKysrIGIvZHJpdmVy cy9wY2kvY29udHJvbGxlci9kd2MvTWFrZWZpbGUNCj4+PiBAQCAtOCw3ICs4LDcgQEAgb2JqLSQo Q09ORklHX1BDSV9FWFlOT1MpICs9IHBjaS1leHlub3Mubw0KPj4+ICBvYmotJChDT05GSUdfUENJ X0lNWDYpICs9IHBjaS1pbXg2Lm8NCj4+PiAgb2JqLSQoQ09ORklHX1BDSUVfU1BFQVIxM1hYKSAr PSBwY2llLXNwZWFyMTN4eC5vDQo+Pj4gIG9iai0kKENPTkZJR19QQ0lfS0VZU1RPTkUpICs9IHBj aS1rZXlzdG9uZS1kdy5vIHBjaS1rZXlzdG9uZS5vDQo+Pj4gLW9iai0kKENPTkZJR19QQ0lfTEFZ RVJTQ0FQRSkgKz0gcGNpLWxheWVyc2NhcGUubw0KPj4+ICtvYmotJChDT05GSUdfUENJX0xBWUVS U0NBUEUpICs9IHBjaS1sYXllcnNjYXBlLm8gDQo+Pj4gK3BjaS1sYXllcnNjYXBlLWVwLm8NCj4+ PiAgb2JqLSQoQ09ORklHX1BDSUVfUUNPTSkgKz0gcGNpZS1xY29tLm8NCj4+PiAgb2JqLSQoQ09O RklHX1BDSUVfQVJNQURBXzhLKSArPSBwY2llLWFybWFkYThrLm8NCj4+PiAgb2JqLSQoQ09ORklH X1BDSUVfQVJUUEVDNikgKz0gcGNpZS1hcnRwZWM2Lm8gZGlmZiAtLWdpdCANCj4+PiBhL2RyaXZl cnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1sYXllcnNjYXBlLWVwLmMNCj4+PiBiL2RyaXZlcnMv cGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1sYXllcnNjYXBlLWVwLmMNCj4+PiBuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KPj4+IGluZGV4IDAwMDAwMDAuLjNiMzNiYmMNCj4+PiAtLS0gL2Rldi9udWxsDQo+ Pj4gKysrIGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNpLWxheWVyc2NhcGUtZXAuYw0K Pj4+IEBAIC0wLDAgKzEsMTYxIEBADQo+Pj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wDQo+Pj4gKy8qDQo+Pj4gKyAqIFBDSWUgY29udHJvbGxlciBFUCBkcml2ZXIgZm9yIEZy ZWVzY2FsZSBMYXllcnNjYXBlIFNvQ3MNCj4+PiArICoNCj4+PiArICogQ29weXJpZ2h0IChDKSAy MDE4IE5YUCBTZW1pY29uZHVjdG9yLg0KPj4+ICsgKg0KPj4+ICsgKiBBdXRob3I6IFhpYW93ZWkg QmFvIDx4aWFvd2VpLmJhb0BueHAuY29tPiAgKi8NCj4+PiArDQo+Pj4gKyNpbmNsdWRlIDxsaW51 eC9rZXJuZWwuaD4NCj4+PiArI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4NCj4+PiArI2luY2x1ZGUg PGxpbnV4L29mX3BjaS5oPg0KPj4+ICsjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0uaD4NCj4+ PiArI2luY2x1ZGUgPGxpbnV4L29mX2FkZHJlc3MuaD4NCj4+PiArI2luY2x1ZGUgPGxpbnV4L3Bj aS5oPg0KPj4+ICsjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQo+Pj4gKyNpbmNs dWRlIDxsaW51eC9yZXNvdXJjZS5oPg0KPj4+ICsNCj4+PiArI2luY2x1ZGUgInBjaWUtZGVzaWdu d2FyZS5oIg0KPj4+ICsNCj4+PiArI2RlZmluZSBQQ0lFX0RCSTJfT0ZGU0VUCQkweDEwMDAJLyog REJJMiBiYXNlIGFkZHJlc3MqLw0KPj4NCj4+IFRoZSBiYXNlIGFkZHJlc3Mgc2hvdWxkIGNvbWUg ZnJvbSBkdC4NCj4+PiArDQo+Pj4gK3N0cnVjdCBsc19wY2llX2VwIHsNCj4+PiArCXN0cnVjdCBk d19wY2llCQkqcGNpOw0KPj4+ICt9Ow0KPj4+ICsNCj4+PiArI2RlZmluZSB0b19sc19wY2llX2Vw KHgpCWRldl9nZXRfZHJ2ZGF0YSgoeCktPmRldikNCj4+PiArDQo+Pj4gK3N0YXRpYyBib29sIGxz X3BjaWVfaXNfYnJpZGdlKHN0cnVjdCBsc19wY2llX2VwICpwY2llKSB7DQo+Pj4gKwlzdHJ1Y3Qg ZHdfcGNpZSAqcGNpID0gcGNpZS0+cGNpOw0KPj4+ICsJdTMyIGhlYWRlcl90eXBlOw0KPj4+ICsN Cj4+PiArCWhlYWRlcl90eXBlID0gaW9yZWFkOChwY2ktPmRiaV9iYXNlICsgUENJX0hFQURFUl9U WVBFKTsNCj4+PiArCWhlYWRlcl90eXBlICY9IDB4N2Y7DQo+Pj4gKw0KPj4+ICsJcmV0dXJuIGhl YWRlcl90eXBlID09IFBDSV9IRUFERVJfVFlQRV9CUklER0U7IH0NCj4+PiArDQo+Pj4gK3N0YXRp YyBpbnQgbHNfcGNpZV9lc3RhYmxpc2hfbGluayhzdHJ1Y3QgZHdfcGNpZSAqcGNpKSB7DQo+Pj4g KwlyZXR1cm4gMDsNCj4+PiArfQ0KPj4NCj4+IFRoZXJlIHNob3VsZCBiZSBzb21lIHdheSBieSB3 aGljaCBFUCBzaG91bGQgdGVsbCBSQyB0aGF0IGl0IGlzIG5vdCBjb25maWd1cmVkIHlldC4gQXJl IHRoZXJlIG5vIGJpdHMgdG8gY29udHJvbCBMVFNTTSBzdGF0ZSBpbml0aWFsaXphdGlvbiBvciBD b25maWd1cmF0aW9uIHJldHJ5IHN0YXR1cyBlbmFibGluZz8NCj4+IFtYaWFvd2VpIEJhb10gVGhl cmUgaGF2ZSBub3QgYml0cyB0byBjb250cm9sIExUU1NNIHN0YXRlIHRvIHRlbGwgdGhlIFJDIGl0 IGlzIGNvbmZpZ3VyZWQuIFRoZSBzdGFydCBsaW5rIGlzIGF1dG8gY29tcGxldGVkLg0KPj4gW1hp YW93ZWkgQmFvXSBIaSBLaXNob24sIGlzIHRoZXJlIGFueSBhZHZpY2U/DQo+IA0KPiBJZiB0aGVy ZSBpcyBubyBIVyBzdXBwb3J0LCBJIGRvbid0IHRoaW5rIGFueXRoaW5nIGNvdWxkIGJlIGRvbmUg aGVyZS4gVGhpcyBjb3VsZCByZXN1bHQgaW4gUkMgcmVhZGluZyBjb25maWd1cmF0aW9uIHNwYWNl IGV2ZW4gYmVmb3JlIEVQIGlzIGZ1bGx5IGluaXRpYWxpemVkLg0KPiBbWGlhb3dlaSBCYW9dIFRo ZSBib290bG9hZGVyIGhhdmUgaW5pdGlhbGl6ZWQgdGhlIEVQIGRldmljZSBhbmQgc2V0IHRoZSBj b25maWcgcmVhZHkgYml0LCBhbmQgdGhlIGtlcm5lbCBkb24ndCBuZWVkIHRvIGRvIGFueXRoaW5n Lg0KDQpXaGF0IGRvZXMgYm9vdGxvYWRlciBpbml0YWxpemU/IFRoZSBFUCBkcml2ZXIgaGVyZSB3 aWxsIHJlaW5pdGlhbGl6ZSBldmVyeXRoaW5nIHJpZ2h0Pw0KW1hpYW93ZWkgQmFvXSBUaGUgYm9v dGxvYWRlciBpbml0aWFsaXplIEJBUiBzaXplLCBvdXRib3VuZCB3aW5kb3csIGluYm91bmQgd2lu ZG93IGFuZCBzZXQgdGhlIGNvbmZpZyByZWFkeSBiaXQuDQoJCSAgICB5ZXMsIHRoZSBFUCBmcmFt ZXdvcmsgd2lsbCByZWluaXRpYWxpemUsIGlmIGRvbid0IHNldCB0aGUgZHdfcGNpZV9vcHMgdGhl cmUgd2lsbCBoYXZlIGNhbGwgdHJhY2UsIGJlY2F1c2UgdGhlIERXIGRyaXZlciB3aWxsIGNhbGwg dGhlIHdyaXRlX2RiaSBvciByZWFkX2RiaSBmdW5jdGlvbiBkaXJlY3RseSBidXQgbm90IGNoZWNr IHRoZSBkd19wY2llX29wcyB3aGV0aGVyIGlzIG51bGwuIEkgcmVmZXIgdG8gdGhlIHBjaWUtZGVz aWdud2FyZS0JCQkJcGxhdC5jIHRvIGltcGxlbWVudCBpdC4gSSBkb24ndCBrbm93IHdoYXQgeW91 IHNhaWQgYWJvdXQgdGhpcywgcGxlYXNlIGV4cGxhaW4gZGV0YWlsbHksIFRoYW5rcyBhIGxvdC4N Cg0KVGhhbmtzDQpLaXNob24NCj4+PiArDQo+Pj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHdfcGNp ZV9vcHMgbHNfcGNpZV9lcF9vcHMgPSB7DQo+Pj4gKwkuc3RhcnRfbGluayA9IGxzX3BjaWVfZXN0 YWJsaXNoX2xpbmssIH07DQo+Pj4gKw0KPj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2Rldmlj ZV9pZCBsc19wY2llX2VwX29mX21hdGNoW10gPSB7DQo+Pj4gKwl7IC5jb21wYXRpYmxlID0gImZz bCxscy1wY2llLWVwIix9LA0KPj4+ICsJeyB9LA0KPj4+ICt9Ow0KPj4+ICsNCj4+PiArc3RhdGlj IHZvaWQgbHNfcGNpZV9lcF9pbml0KHN0cnVjdCBkd19wY2llX2VwICplcCkgew0KPj4+ICsJc3Ry dWN0IGR3X3BjaWUgKnBjaSA9IHRvX2R3X3BjaWVfZnJvbV9lcChlcCk7DQo+Pj4gKwlzdHJ1Y3Qg cGNpX2VwYyAqZXBjID0gZXAtPmVwYzsNCj4+PiArCWVudW0gcGNpX2Jhcm5vIGJhcjsNCj4+PiAr DQo+Pj4gKwlmb3IgKGJhciA9IEJBUl8wOyBiYXIgPD0gQkFSXzU7IGJhcisrKQ0KPj4+ICsJCWR3 X3BjaWVfZXBfcmVzZXRfYmFyKHBjaSwgYmFyKTsNCj4+PiArDQo+Pj4gKwllcGMtPmZlYXR1cmVz IHw9IEVQQ19GRUFUVVJFX05PX0xJTktVUF9OT1RJRklFUjsgfQ0KPj4+ICsNCj4+PiArc3RhdGlj IGludCBsc19wY2llX2VwX3JhaXNlX2lycShzdHJ1Y3QgZHdfcGNpZV9lcCAqZXAsIHU4IGZ1bmNf bm8sDQo+Pj4gKwkJCQkgIGVudW0gcGNpX2VwY19pcnFfdHlwZSB0eXBlLCB1MTYgaW50ZXJydXB0 X251bSkgew0KPj4+ICsJc3RydWN0IGR3X3BjaWUgKnBjaSA9IHRvX2R3X3BjaWVfZnJvbV9lcChl cCk7DQo+Pj4gKw0KPj4+ICsJc3dpdGNoICh0eXBlKSB7DQo+Pj4gKwljYXNlIFBDSV9FUENfSVJR X0xFR0FDWToNCj4+PiArCQlyZXR1cm4gZHdfcGNpZV9lcF9yYWlzZV9sZWdhY3lfaXJxKGVwLCBm dW5jX25vKTsNCj4+PiArCWNhc2UgUENJX0VQQ19JUlFfTVNJOg0KPj4+ICsJCXJldHVybiBkd19w Y2llX2VwX3JhaXNlX21zaV9pcnEoZXAsIGZ1bmNfbm8sIGludGVycnVwdF9udW0pOw0KPj4+ICsJ Y2FzZSBQQ0lfRVBDX0lSUV9NU0lYOg0KPj4+ICsJCXJldHVybiBkd19wY2llX2VwX3JhaXNlX21z aXhfaXJxKGVwLCBmdW5jX25vLCBpbnRlcnJ1cHRfbnVtKTsNCj4+PiArCWRlZmF1bHQ6DQo+Pj4g KwkJZGV2X2VycihwY2ktPmRldiwgIlVOS05PV04gSVJRIHR5cGVcbiIpOw0KPj4+ICsJfQ0KPj4+ ICsNCj4+PiArCXJldHVybiAwOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICtzdGF0aWMgc3RydWN0IGR3 X3BjaWVfZXBfb3BzIHBjaWVfZXBfb3BzID0gew0KPj4+ICsJLmVwX2luaXQgPSBsc19wY2llX2Vw X2luaXQsDQo+Pj4gKwkucmFpc2VfaXJxID0gbHNfcGNpZV9lcF9yYWlzZV9pcnEsIH07DQo+Pj4g Kw0KPj4+ICtzdGF0aWMgaW50IF9faW5pdCBsc19hZGRfcGNpZV9lcChzdHJ1Y3QgbHNfcGNpZV9l cCAqcGNpZSwNCj4+PiArCQkJCQlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPj4+ICt7 DQo+Pj4gKwlzdHJ1Y3QgZHdfcGNpZSAqcGNpID0gcGNpZS0+cGNpOw0KPj4+ICsJc3RydWN0IGRl dmljZSAqZGV2ID0gcGNpLT5kZXY7DQo+Pj4gKwlzdHJ1Y3QgZHdfcGNpZV9lcCAqZXA7DQo+Pj4g KwlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsNCj4+PiArCWludCByZXQ7DQo+Pj4gKw0KPj4+ICsJZXAg PSAmcGNpLT5lcDsNCj4+PiArCWVwLT5vcHMgPSAmcGNpZV9lcF9vcHM7DQo+Pj4gKw0KPj4+ICsJ cmVzID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlX2J5bmFtZShwZGV2LCBJT1JFU09VUkNFX01FTSwg ImFkZHJfc3BhY2UiKTsNCj4+PiArCWlmICghcmVzKQ0KPj4+ICsJCXJldHVybiAtRUlOVkFMOw0K Pj4+ICsNCj4+PiArCWVwLT5waHlzX2Jhc2UgPSByZXMtPnN0YXJ0Ow0KPj4+ICsJZXAtPmFkZHJf c2l6ZSA9IHJlc291cmNlX3NpemUocmVzKTsNCj4+PiArDQo+Pj4gKwlyZXQgPSBkd19wY2llX2Vw X2luaXQoZXApOw0KPj4+ICsJaWYgKHJldCkgew0KPj4+ICsJCWRldl9lcnIoZGV2LCAiZmFpbGVk IHRvIGluaXRpYWxpemUgZW5kcG9pbnRcbiIpOw0KPj4+ICsJCXJldHVybiByZXQ7DQo+Pj4gKwl9 DQo+Pj4gKw0KPj4+ICsJcmV0dXJuIDA7DQo+Pj4gK30NCj4+PiArDQo+Pj4gK3N0YXRpYyBpbnQg X19pbml0IGxzX3BjaWVfZXBfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikgew0K Pj4+ICsJc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRldjsNCj4+PiArCXN0cnVjdCBkd19w Y2llICpwY2k7DQo+Pj4gKwlzdHJ1Y3QgbHNfcGNpZV9lcCAqcGNpZTsNCj4+PiArCXN0cnVjdCBy ZXNvdXJjZSAqZGJpX2Jhc2U7DQo+Pj4gKwlpbnQgcmV0Ow0KPj4+ICsNCj4+PiArCXBjaWUgPSBk ZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKnBjaWUpLCBHRlBfS0VSTkVMKTsNCj4+PiArCWlmICgh cGNpZSkNCj4+PiArCQlyZXR1cm4gLUVOT01FTTsNCj4+PiArDQo+Pj4gKwlwY2kgPSBkZXZtX2t6 YWxsb2MoZGV2LCBzaXplb2YoKnBjaSksIEdGUF9LRVJORUwpOw0KPj4+ICsJaWYgKCFwY2kpDQo+ Pj4gKwkJcmV0dXJuIC1FTk9NRU07DQo+Pj4gKw0KPj4+ICsJZGJpX2Jhc2UgPSBwbGF0Zm9ybV9n ZXRfcmVzb3VyY2VfYnluYW1lKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAicmVncyIpOw0KPj4+ICsJ cGNpLT5kYmlfYmFzZSA9IGRldm1fcGNpX3JlbWFwX2NmZ19yZXNvdXJjZShkZXYsIGRiaV9iYXNl KTsNCj4+PiArCWlmIChJU19FUlIocGNpLT5kYmlfYmFzZSkpDQo+Pj4gKwkJcmV0dXJuIFBUUl9F UlIocGNpLT5kYmlfYmFzZSk7DQo+Pj4gKw0KPj4+ICsJcGNpLT5kYmlfYmFzZTIgPSBwY2ktPmRi aV9iYXNlICsgUENJRV9EQkkyX09GRlNFVDsNCj4+PiArCXBjaS0+ZGV2ID0gZGV2Ow0KPj4+ICsJ cGNpLT5vcHMgPSAmbHNfcGNpZV9lcF9vcHM7DQo+Pj4gKwlwY2llLT5wY2kgPSBwY2k7DQo+Pj4g Kw0KPj4+ICsJaWYgKGxzX3BjaWVfaXNfYnJpZGdlKHBjaWUpKQ0KPj4+ICsJCXJldHVybiAtRU5P REVWOw0KPj4NCj4+IEZvciBhbiBlbmRwb2ludCB0aGlzIGNvbmRpdGlvbiBzaG91bGQgbmV2ZXIg b2NjdXIuIFRoaXMgc2hvdWxkIG9ubHkgbWVhbiwgYSB3cm9uZyBjb21wYXRpYmxlIGhhcyBiZWVu IHVzZWQgaW4gZHQuDQo+PiBbWGlhb3dlaSBCYW9dIFRoaXMgZnVuY3Rpb24gaXMgYSB3YXkgdGhh dCBjYW4gY2hlY2sgdGhlIFBDSSBjb250cm9sbGVyIHdoZXRoZXIgd29yayBpbiBFUCBtb2RlLCBJ IHRoaW5rIGl0IGlzIG1vcmUgc2FmZXIuIE9mIGNvdXJzZSwgaXQgY2FuIGJlIHJlbW92ZWQuDQo+ PiBbWGlhb3dlaSBCYW9dIEhpIEtpc2hvbiwgaXMgdGhlcmUgYW55IGFkdmljZT8NCj4gDQo+IElN SE8gdGhpcyBjaGVjayBpcyBub3QgcmVxdWlyZWQuDQo+IFtYaWFvd2VpIEJhb10gT0ssIEkgd2ls bCByZW1vdmUgdGhpcyBmdW5jdGlvbiBpbiBwYXRjaC12Mi4NCj4gDQo+IFRoYW5rcw0KPiBLaXNo b24NCj4gDQo=