From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 00A8CC43331 for ; Thu, 26 Mar 2020 22:09:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A8B6A20714 for ; Thu, 26 Mar 2020 22:09:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="QWDL9ts5" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727685AbgCZWJd (ORCPT ); Thu, 26 Mar 2020 18:09:33 -0400 Received: from mail-eopbgr60046.outbound.protection.outlook.com ([40.107.6.46]:33165 "EHLO EUR04-DB3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727541AbgCZWJd (ORCPT ); Thu, 26 Mar 2020 18:09:33 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HbR0evkyxG4tT3tRK8XVRmmjVawthBvqNXpuAUkLYPqb1+qKVtSmdMO8/N1n1km7bOqXpni47gL7LTDpUf5vcY3OCj0g7j+u5sxT6ixagojVVirW0OlM7xfKsMXYs+L7pMb3aoVAplwvgbgegzZMcAFkrMBmaLIBYoeU4Sp2mA0IOnNJIAFlIPWTSwXLkpTR7fryOa2umeCebpNudZBmM3yOdKhQ9R4eU3dyc41UGpDkfCXvomBUxtunWP0B3S2V+HiLIUQAsBXtzhZ07qcgbt1wyPCJRmSmE4rirr4s4Bx+WHW/nnVQSDk1Nf6xC8LJI1JX+0WToNdRKOmH+xKUHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AQL7WI12goEdkvt3+soAEgkZVBhNBWA14kdRoQ4qkh8=; b=kQU/xhK+djQ7lnb2Bi5yAvysiDVDWBJobM4XGcBzH/F+SmH9J3SFYozDNlwbXgIAiql/bxez+fElE1hAzgPrMJMoZciE8SX1sp6cgyc3qIzJSsWOUc6zDibIwjNp86LUAUkk756y15Y/+7bbBzGpchb+spNg4w2kxpEolSf0GAlz1yteQRz9FWaF2BB7OoKqobdXJiYJmXvFRSD1BaoNx3aYd/nM/zvv/jcxn3QaycNgLJ2lyhr/fkqud0nyucAUfd5+7RploEV/6IMEUah61E9GffLdZBxcW8ESdtCj6OQm8g6oFjhj4+UoBe/9ewTKm5ljAlQQEyiDYPLkpzxfOA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AQL7WI12goEdkvt3+soAEgkZVBhNBWA14kdRoQ4qkh8=; b=QWDL9ts5jbxSi4jYgx9mit5XYcnsL4d8gLOAMbsJdDdSrWN8VBi/FlvHudJ+6vy+t0SowZqtIzW2FKq3mSj4xirk82wk24puX6t++4Yc5qkegkKf/cYgWoDLmEV381aFibR1upEDaiuYeo4flm2KSy1CiYRF3DVrBrZCtJ3jDzA= Received: from DB8PR04MB6828.eurprd04.prod.outlook.com (52.133.240.149) by DB8PR04MB6459.eurprd04.prod.outlook.com (20.179.248.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2835.22; Thu, 26 Mar 2020 22:09:29 +0000 Received: from DB8PR04MB6828.eurprd04.prod.outlook.com ([fe80::e44e:f867:d67:e901]) by DB8PR04MB6828.eurprd04.prod.outlook.com ([fe80::e44e:f867:d67:e901%2]) with mapi id 15.20.2835.023; Thu, 26 Mar 2020 22:09:29 +0000 From: Ioana Ciornei To: Russell King , Andrew Lunn , Florian Fainelli , Heiner Kallweit CC: "David S. Miller" , "netdev@vger.kernel.org" Subject: RE: [RFC net-next 4/5] dpaa2-mac: add 1000BASE-X/SGMII PCS support Thread-Topic: [RFC net-next 4/5] dpaa2-mac: add 1000BASE-X/SGMII PCS support Thread-Index: AQHV/GvTHjsCyatd202zm5+rDsfq+ahbaLkA Date: Thu, 26 Mar 2020 22:09:29 +0000 Message-ID: References: <20200317144944.GP25745@shell.armlinux.org.uk> In-Reply-To: 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=ioana.ciornei@nxp.com; x-originating-ip: [79.115.60.40] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: f3761dba-f161-483e-4540-08d7d1d25ac9 x-ms-traffictypediagnostic: DB8PR04MB6459: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0354B4BED2 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(136003)(39860400002)(366004)(376002)(346002)(396003)(54906003)(86362001)(316002)(4326008)(186003)(26005)(110136005)(55016002)(44832011)(9686003)(478600001)(5660300002)(8676002)(81166006)(81156014)(8936002)(66556008)(66476007)(66946007)(52536014)(64756008)(33656002)(7696005)(76116006)(6506007)(71200400001)(66446008)(2906002);DIR:OUT;SFP:1101;SCL:1;SRVR:DB8PR04MB6459;H:DB8PR04MB6828.eurprd04.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QvbrAwYgL2Y7uCmTeNunPp6gfuVFGEIDgSYO2JYt4LUmtawU/ATAz4ghMb9XY+YG1A0Oo3KRLDTrGvjj71BNqjAQriTrcyb1l5Y/f8lo6bm4d34wkLafg3EITkImqBYhJp15K8N+xVuiadKPQ+r+jSjhVGrOx2c6xpAO4mByymWEx5HzH5W+16PDFVGTuWpV5/TtiDsZPYdjjjJfEYh5j1fnuLZ4iJW4LUlbbfkIU2uFDgb1obxQixoFDHRqf8yamDXVsrq40NHCbNSvPKmXXTeHiwHZPZx4RRzQeUSUlJpaSJH0hcki1bSqu0yvx+LWexCGwhkbjr956ozxcVRTEqAFmsyx04VubhxDiDN4MCjRyNhJ5AX0i5kxqdXBYA9eVv6EDEiazQZah70fq/1uQv9imJudhsP9E92abW7WIEJhHtD/znJXfv36OiKHtdAH x-ms-exchange-antispam-messagedata: 17s/Kal2SF78BXZxbJ+59aZ25VL7mNysrndBxZwT5mhxeQPiHAwxOTs+yL95oT4R4Yus4JpNSst1l8XfM3MsGZkMhST2yncNyS4ufAtm40VfLc/9+2hBMP1KcRaHQt37FkLOIwGHRDc0p85FFUXksw== x-ms-exchange-transport-forked: True 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: f3761dba-f161-483e-4540-08d7d1d25ac9 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Mar 2020 22:09:29.1765 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: +/RRzp+nTrTyy9hxaEBAfdSh23z3Vdgb+sxh/StKMTmiPyoIKr7I51AEBZvgazSpv2Xcl2O1uhS5XNW56M91Nw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6459 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org PiBTdWJqZWN0OiBbUkZDIG5ldC1uZXh0IDQvNV0gZHBhYTItbWFjOiBhZGQgMTAwMEJBU0UtWC9T R01JSSBQQ1Mgc3VwcG9ydA0KPiANCj4gKk5PVCBGT1IgTUVSR0lORyoNCj4gDQo+IEFkZCBzdXBw b3J0IGZvciB0aGUgUENTIGJsb2NrLCBzbyB3ZSBjYW4gZHluYW1pY2FsbHkgY29uZmlndXJlIGl0 IGZvciAxMDAwYmFzZS0NCj4gWCBvciBTR01JSSBkZXBlbmRpbmcgb24gdGhlIFNGUCBtb2R1bGUg aW5zZXJ0ZWQuIFRoaXMgZ2l2ZXMgdXMgbW9yZSBmbGV4aWJpbGl0eQ0KPiB0aGFuIHVzaW5nIHRo ZSBNQyBmaXJtd2FyZSB3aXRoIGEgImZpeGVkIiBsaW5rIHR5cGUsIHdoaWNoIGNhbiBvbmx5IGJl IHNldHVwIHRvDQo+IHN1cHBvcnQgYSBzaW5nbGUgaW50ZXJmYWNlIG1vZGUuDQo+IA0KPiBTaWdu ZWQtb2ZmLWJ5OiBSdXNzZWxsIEtpbmcgPHJtaytrZXJuZWxAYXJtbGludXgub3JnLnVrPg0KPiAt LS0NCj4gIC4uLi9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEyL2RwYWEyLW1hYy5jICB8IDIw NiArKysrKysrKysrKysrKysrKy0NCj4gIC4uLi9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEy L2RwYWEyLW1hYy5oICB8ICAgMSArDQo+ICAyIGZpbGVzIGNoYW5nZWQsIDIwNCBpbnNlcnRpb25z KCspLCAzIGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVy bmV0L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1tYWMuYw0KPiBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L2ZyZWVzY2FsZS9kcGFhMi9kcGFhMi1tYWMuYw0KPiBpbmRleCAzZWUyMzZjNWZjMzcuLmU3YjJk YzM2NjMzOCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2Rw YWEyL2RwYWEyLW1hYy5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9k cGFhMi9kcGFhMi1tYWMuYw0KPiBAQCAtNyw2ICs3LDExNyBAQA0KPiAgI2RlZmluZSBwaHlsaW5r X3RvX2RwYWEyX21hYyhjb25maWcpIFwNCj4gIAljb250YWluZXJfb2YoKGNvbmZpZyksIHN0cnVj dCBkcGFhMl9tYWMsIHBoeWxpbmtfY29uZmlnKQ0KPiANCj4gKyNkZWZpbmUgTUlJX0lGTU9ERQkJ MHgxNA0KPiArI2RlZmluZSBJRl9NT0RFX1NHTUlJX0VOQQlCSVQoMCkNCj4gKyNkZWZpbmUgSUZf TU9ERV9VU0VfU0dNSUlfQU4JQklUKDEpDQo+ICsjZGVmaW5lIElGX01PREVfU0dNSUlfU1BFRURf MTAJKDAgPDwgMikNCj4gKyNkZWZpbmUgSUZfTU9ERV9TR01JSV9TUEVFRF8xMDAJKDEgPDwgMikN Cj4gKyNkZWZpbmUgSUZfTU9ERV9TR01JSV9TUEVFRF8xRwkoMiA8PCAyKQ0KPiArI2RlZmluZSBJ Rl9NT0RFX1NHTUlJX1NQRUVEX01TSwkoMyA8PCAyKQ0KPiArI2RlZmluZSBJRl9NT0RFX1NHTUlJ X0RVUExFWAlCSVQoNCkJCS8vIHNldCA9IGhhbGYgZHVwbGV4DQo+ICsNCj4gK3N0YXRpYyB2b2lk IGRwYWEyX21hY19wY3NfZ2V0X3N0YXRlKHN0cnVjdCBwaHlsaW5rX2NvbmZpZyAqY29uZmlnLA0K PiArCQkJCSAgICBzdHJ1Y3QgcGh5bGlua19saW5rX3N0YXRlICpzdGF0ZSkgew0KPiArCXN0cnVj dCBtZGlvX2RldmljZSAqcGNzID0gcGh5bGlua190b19kcGFhMl9tYWMoY29uZmlnKS0+cGNzOw0K PiArDQo+ICsJc3dpdGNoIChzdGF0ZS0+aW50ZXJmYWNlKSB7DQo+ICsJY2FzZSBQSFlfSU5URVJG QUNFX01PREVfU0dNSUk6DQo+ICsJY2FzZSBQSFlfSU5URVJGQUNFX01PREVfMTAwMEJBU0VYOg0K PiArCQlwaHlsaW5rX21paV9jMjJfcGNzX2dldF9zdGF0ZShwY3MsIHN0YXRlKTsNCj4gKwkJYnJl YWs7DQo+ICsNCj4gKwlkZWZhdWx0Og0KPiArCQlicmVhazsNCj4gKwl9DQo+ICt9DQo+ICsNCj4g K3N0YXRpYyB2b2lkIGRwYWEyX21hY19wY3NfYW5fcmVzdGFydChzdHJ1Y3QgcGh5bGlua19jb25m aWcgKmNvbmZpZykgew0KPiArCXN0cnVjdCBtZGlvX2RldmljZSAqcGNzID0gcGh5bGlua190b19k cGFhMl9tYWMoY29uZmlnKS0+cGNzOw0KPiArDQo+ICsJcGh5bGlua19taWlfYzIyX3Bjc19hbl9y ZXN0YXJ0KHBjcyk7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQgZHBhYTJfbWFjX3Bjc19jb25m aWcoc3RydWN0IHBoeWxpbmtfY29uZmlnICpjb25maWcsDQo+ICsJCQkJdW5zaWduZWQgaW50IG1v ZGUsDQo+ICsJCQkJY29uc3Qgc3RydWN0IHBoeWxpbmtfbGlua19zdGF0ZSAqc3RhdGUpIHsNCj4g KwlzdHJ1Y3QgbWRpb19kZXZpY2UgKnBjcyA9IHBoeWxpbmtfdG9fZHBhYTJfbWFjKGNvbmZpZykt PnBjczsNCj4gKwl1MTYgaWZfbW9kZTsNCj4gKwlpbnQgYm1jciwgcmV0Ow0KPiArDQo+ICsJaWYg KG1vZGUgPT0gTUxPX0FOX0lOQkFORCkNCj4gKwkJYm1jciA9IEJNQ1JfQU5FTkFCTEU7DQo+ICsJ ZWxzZQ0KPiArCQlibWNyID0gMDsNCj4gKw0KPiArCXN3aXRjaCAoc3RhdGUtPmludGVyZmFjZSkg ew0KPiArCWNhc2UgUEhZX0lOVEVSRkFDRV9NT0RFX1NHTUlJOg0KPiArCQlpZl9tb2RlID0gSUZf TU9ERV9TR01JSV9FTkE7DQo+ICsJCWlmIChtb2RlID09IE1MT19BTl9JTkJBTkQpDQo+ICsJCQlp Zl9tb2RlIHw9IElGX01PREVfVVNFX1NHTUlJX0FOOw0KPiArCQltZGlvYnVzX21vZGlmeShwY3Mt PmJ1cywgMCwgTUlJX0lGTU9ERSwNCj4gKwkJCSAgICAgICBJRl9NT0RFX1NHTUlJX0VOQSB8IElG X01PREVfVVNFX1NHTUlJX0FOLA0KPiArCQkJICAgICAgIGlmX21vZGUpOw0KPiArCQltZGlvYnVz X21vZGlmeShwY3MtPmJ1cywgMCwgTUlJX0JNQ1IsIEJNQ1JfQU5FTkFCTEUsDQo+IGJtY3IpOw0K PiArCQlyZXQgPSBwaHlsaW5rX21paV9jMjJfcGNzX3NldF9hZHZlcnRpc2VtZW50KHBjcywgc3Rh dGUpOw0KPiArCQlicmVhazsNCj4gKw0KPiArCWNhc2UgUEhZX0lOVEVSRkFDRV9NT0RFXzEwMDBC QVNFWDoNCj4gKwkJbWRpb2J1c193cml0ZShwY3MtPmJ1cywgMCwgTUlJX0lGTU9ERSwgMCk7DQo+ ICsJCW1kaW9idXNfbW9kaWZ5KHBjcy0+YnVzLCAwLCBNSUlfQk1DUiwgQk1DUl9BTkVOQUJMRSwN Cj4gYm1jcik7DQo+ICsJCXJldCA9IHBoeWxpbmtfbWlpX2MyMl9wY3Nfc2V0X2FkdmVydGlzZW1l bnQocGNzLCBzdGF0ZSk7DQo+ICsJCWJyZWFrOw0KPiArDQo+ICsJZGVmYXVsdDoNCj4gKwkJcmV0 ID0gMDsNCj4gKwkJYnJlYWs7DQo+ICsJfQ0KPiArDQo+ICsJcmV0dXJuIHJldDsNCj4gK30NCj4g Kw0KPiArc3RhdGljIHZvaWQgZHBhYTJfbWFjX3Bjc19saW5rX3VwKHN0cnVjdCBwaHlsaW5rX2Nv bmZpZyAqY29uZmlnLA0KPiArCQkJCSAgdW5zaWduZWQgaW50IG1vZGUsIHBoeV9pbnRlcmZhY2Vf dCBpbnRlcmZhY2UsDQo+ICsJCQkJICBpbnQgc3BlZWQsIGludCBkdXBsZXgpDQo+ICt7DQo+ICsJ c3RydWN0IG1kaW9fZGV2aWNlICpwY3MgPSBwaHlsaW5rX3RvX2RwYWEyX21hYyhjb25maWcpLT5w Y3M7DQo+ICsJdTE2IGlmX21vZGU7DQo+ICsNCj4gKwkvKiBUaGUgUENTIFBIWSBuZWVkcyB0byBi ZSBjb25maWd1cmVkIG1hbnVhbGx5IGZvciB0aGUgc3BlZWQgYW5kDQo+ICsJICogZHVwbGV4IHdo ZW4gb3BlcmF0aW5nIGluIFNHTUlJIG1vZGUgd2l0aG91dCBpbi1iYW5kIG5lZ290aWF0aW9uLg0K PiArCSAqLw0KPiArCWlmIChtb2RlID09IE1MT19BTl9JTkJBTkQgfHwgaW50ZXJmYWNlICE9DQo+ IFBIWV9JTlRFUkZBQ0VfTU9ERV9TR01JSSkNCj4gKwkJcmV0dXJuOw0KPiArDQo+ICsJc3dpdGNo IChzcGVlZCkgew0KPiArCWNhc2UgU1BFRURfMTA6DQo+ICsJCWlmX21vZGUgPSBJRl9NT0RFX1NH TUlJX1NQRUVEXzEwOw0KPiArCQlicmVhazsNCj4gKw0KPiArCWNhc2UgU1BFRURfMTAwOg0KPiAr CQlpZl9tb2RlID0gSUZfTU9ERV9TR01JSV9TUEVFRF8xMDA7DQo+ICsJCWJyZWFrOw0KPiArDQo+ ICsJZGVmYXVsdDoNCj4gKwkJaWZfbW9kZSA9IElGX01PREVfU0dNSUlfU1BFRURfMUc7DQo+ICsJ CWJyZWFrOw0KPiArCX0NCj4gKwlpZiAoZHVwbGV4ID09IERVUExFWF9IQUxGKQ0KPiArCQlpZl9t b2RlIHw9IElGX01PREVfU0dNSUlfRFVQTEVYOw0KPiArDQo+ICsJbWRpb2J1c19tb2RpZnkocGNz LT5idXMsIHBjcy0+YWRkciwgTUlJX0lGTU9ERSwNCj4gKwkJICAgICAgIElGX01PREVfU0dNSUlf RFVQTEVYIHwgSUZfTU9ERV9TR01JSV9TUEVFRF9NU0ssDQo+IGlmX21vZGUpOyB9DQo+ICsNCj4g K3N0YXRpYyBjb25zdCBzdHJ1Y3QgcGh5bGlua19wY3Nfb3BzIGRwYWEyX3Bjc19waHlsaW5rX29w cyA9IHsNCj4gKwkucGNzX2dldF9zdGF0ZSA9IGRwYWEyX21hY19wY3NfZ2V0X3N0YXRlLA0KPiAr CS5wY3NfY29uZmlnID0gZHBhYTJfbWFjX3Bjc19jb25maWcsDQo+ICsJLnBjc19hbl9yZXN0YXJ0 ID0gZHBhYTJfbWFjX3Bjc19hbl9yZXN0YXJ0LA0KPiArCS5wY3NfbGlua191cCA9IGRwYWEyX21h Y19wY3NfbGlua191cCwNCj4gK307DQo+ICsNCj4gIHN0YXRpYyBpbnQgcGh5X21vZGUoZW51bSBk cG1hY19ldGhfaWYgZXRoX2lmLCBwaHlfaW50ZXJmYWNlX3QgKmlmX21vZGUpICB7DQo+ICAJKmlm X21vZGUgPSBQSFlfSU5URVJGQUNFX01PREVfTkE7DQo+IEBAIC0xNSw2ICsxMjYsMTEgQEAgc3Rh dGljIGludCBwaHlfbW9kZShlbnVtIGRwbWFjX2V0aF9pZiBldGhfaWYsDQo+IHBoeV9pbnRlcmZh Y2VfdCAqaWZfbW9kZSkNCj4gIAljYXNlIERQTUFDX0VUSF9JRl9SR01JSToNCj4gIAkJKmlmX21v ZGUgPSBQSFlfSU5URVJGQUNFX01PREVfUkdNSUk7DQo+ICAJCWJyZWFrOw0KPiArDQo+ICsJY2Fz ZSBEUE1BQ19FVEhfSUZfU0dNSUk6DQo+ICsJCSppZl9tb2RlID0gUEhZX0lOVEVSRkFDRV9NT0RF X1NHTUlJOw0KPiArCQlicmVhazsNCj4gKw0KPiAgCWRlZmF1bHQ6DQo+ICAJCXJldHVybiAtRUlO VkFMOw0KPiAgCX0NCj4gQEAgLTY3LDYgKzE4MywxMCBAQCBzdGF0aWMgYm9vbCBkcGFhMl9tYWNf cGh5X21vZGVfbWlzbWF0Y2goc3RydWN0DQo+IGRwYWEyX21hYyAqbWFjLA0KPiAgCQkJCQlwaHlf aW50ZXJmYWNlX3QgaW50ZXJmYWNlKQ0KPiAgew0KPiAgCXN3aXRjaCAoaW50ZXJmYWNlKSB7DQo+ ICsJY2FzZSBQSFlfSU5URVJGQUNFX01PREVfU0dNSUk6DQo+ICsJY2FzZSBQSFlfSU5URVJGQUNF X01PREVfMTAwMEJBU0VYOg0KPiArCQlyZXR1cm4gaW50ZXJmYWNlICE9IG1hYy0+aWZfbW9kZSAm JiAhbWFjLT5wY3M7DQo+ICsNCj4gIAljYXNlIFBIWV9JTlRFUkZBQ0VfTU9ERV9SR01JSToNCj4g IAljYXNlIFBIWV9JTlRFUkZBQ0VfTU9ERV9SR01JSV9JRDoNCj4gIAljYXNlIFBIWV9JTlRFUkZB Q0VfTU9ERV9SR01JSV9SWElEOg0KPiBAQCAtOTUsMTMgKzIxNSwxOSBAQCBzdGF0aWMgdm9pZCBk cGFhMl9tYWNfdmFsaWRhdGUoc3RydWN0IHBoeWxpbmtfY29uZmlnDQo+ICpjb25maWcsDQo+ICAJ cGh5bGlua19zZXQobWFzaywgQXN5bV9QYXVzZSk7DQo+IA0KPiAgCXN3aXRjaCAoc3RhdGUtPmlu dGVyZmFjZSkgew0KPiArCWNhc2UgUEhZX0lOVEVSRkFDRV9NT0RFX05BOg0KPiArCWNhc2UgUEhZ X0lOVEVSRkFDRV9NT0RFXzEwMDBCQVNFWDoNCj4gKwljYXNlIFBIWV9JTlRFUkZBQ0VfTU9ERV9T R01JSToNCj4gIAljYXNlIFBIWV9JTlRFUkZBQ0VfTU9ERV9SR01JSToNCj4gIAljYXNlIFBIWV9J TlRFUkZBQ0VfTU9ERV9SR01JSV9JRDoNCj4gIAljYXNlIFBIWV9JTlRFUkZBQ0VfTU9ERV9SR01J SV9SWElEOg0KPiAgCWNhc2UgUEhZX0lOVEVSRkFDRV9NT0RFX1JHTUlJX1RYSUQ6DQo+IC0JCXBo eWxpbmtfc2V0KG1hc2ssIDEwYmFzZVRfRnVsbCk7DQo+IC0JCXBoeWxpbmtfc2V0KG1hc2ssIDEw MGJhc2VUX0Z1bGwpOw0KPiArCQlwaHlsaW5rX3NldChtYXNrLCAxMDAwYmFzZVhfRnVsbCk7DQo+ ICAJCXBoeWxpbmtfc2V0KG1hc2ssIDEwMDBiYXNlVF9GdWxsKTsNCj4gKwkJaWYgKHN0YXRlLT5p bnRlcmZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFXzEwMDBCQVNFWCkNCj4gKwkJCWJyZWFrOw0K PiArCQlwaHlsaW5rX3NldChtYXNrLCAxMDBiYXNlVF9GdWxsKTsNCj4gKwkJcGh5bGlua19zZXQo bWFzaywgMTBiYXNlVF9GdWxsKTsNCj4gIAkJYnJlYWs7DQo+ICAJZGVmYXVsdDoNCj4gIAkJZ290 byBlbXB0eV9zZXQ7DQo+IEBAIC0yMjcsNiArMzUzLDY1IEBAIGJvb2wgZHBhYTJfbWFjX2lzX3R5 cGVfZml4ZWQoc3RydWN0IGZzbF9tY19kZXZpY2UNCj4gKmRwbWFjX2RldiwNCj4gIAlyZXR1cm4g Zml4ZWQ7DQo+ICB9DQo+IA0KPiArc3RhdGljIGludCBkcGFhMl9wY3NfY3JlYXRlKHN0cnVjdCBk cGFhMl9tYWMgKm1hYywNCj4gKwkJCSAgICBzdHJ1Y3QgZGV2aWNlX25vZGUgKmRwbWFjX25vZGUs IGludCBpZCkgew0KPiArCXN0cnVjdCBtZGlvX2RldmljZSAqbWRpb2RldjsNCj4gKwlzdHJ1Y3Qg ZGV2aWNlX25vZGUgKm5vZGU7DQo+ICsJc3RydWN0IG1paV9idXMgKmJ1czsNCj4gKwlpbnQgZXJy Ow0KPiArDQo+ICsJbm9kZSA9IG9mX3BhcnNlX3BoYW5kbGUoZHBtYWNfbm9kZSwgInBjcy1tZGlv IiwgMCk7DQo+ICsJaWYgKCFub2RlKSB7DQo+ICsJCS8qIGFsbG93IG9sZCBEVCBmaWxlcyB0byB3 b3JrICovDQo+ICsJCW5ldGRldl93YXJuKG1hYy0+bmV0ZGV2LCAicGNzLW1kaW8gbm9kZSBub3Qg Zm91bmRcbiIpOw0KDQpzL21hYy0+bmV0ZGV2L21hYy0+bmV0X2Rldi8NCg0KPiArCQlyZXR1cm4g MDsNCj4gKwl9DQo+ICsNCj4gKwlpZiAoIW9mX2RldmljZV9pc19hdmFpbGFibGUobm9kZSkpIHsN Cj4gKwkJbmV0ZGV2X2VycihtYWMtPm5ldF9kZXYsICJwY3MtbWRpbyBub2RlIG5vdCBhdmFpbGFi bGVcbiIpOw0KPiArCQlyZXR1cm4gLUVOT0RFVjsNCj4gKwl9DQo+ICsNCj4gKwlidXMgPSBvZl9t ZGlvX2ZpbmRfYnVzKG5vZGUpOw0KPiArCW9mX25vZGVfcHV0KG5vZGUpOw0KPiArCWlmICghYnVz KQ0KPiArCQlyZXR1cm4gLUVQUk9CRV9ERUZFUjsNCj4gKw0KPiArCW1kaW9kZXYgPSBtZGlvX2Rl dmljZV9jcmVhdGUoYnVzLCAwKTsNCj4gKwlpZiAoSVNfRVJSKG1kaW9kZXYpKSB7DQo+ICsJCWVy ciA9IFBUUl9FUlIobWRpb2Rldik7DQo+ICsJCW5ldGRldl9lcnIobWFjLT5uZXRfZGV2LCAiZmFp bGVkIHRvIGNyZWF0ZSBtZGlvIGRldmljZToNCj4gJWRcbiIsDQo+ICsJCQkgICBlcnIpOw0KPiAr CQlnb3RvIGVycjsNCj4gKwl9DQo+ICsNCj4gKwllcnIgPSBtZGlvX2RldmljZV9yZWdpc3Rlciht ZGlvZGV2KTsNCj4gKwlpZiAoZXJyKSB7DQo+ICsJCW5ldGRldl9lcnIobWFjLT5uZXRfZGV2LCAi ZmFpbGVkIHRvIHJlZ2lzdGVyIG1kaW8gZGV2aWNlOg0KPiAlZFxuIiwNCj4gKwkJCSAgIGVycik7 DQo+ICsJCWdvdG8gZGV2X2ZyZWU7DQo+ICsJfQ0KPiArDQo+ICsJbWFjLT5wY3MgPSBtZGlvZGV2 Ow0KPiArCW1hYy0+cGh5bGlua19jb25maWcucGNzX3BvbGwgPSB0cnVlOw0KPiArDQo+ICsJcmV0 dXJuIDA7DQo+ICsNCj4gK2Rldl9mcmVlOg0KPiArCW1kaW9fZGV2aWNlX2ZyZWUobWRpb2Rldik7 DQo+ICtlcnI6DQo+ICsJcmV0dXJuIGVycjsNCj4gK30NCj4gKw0KPiArc3RhdGljIHZvaWQgZHBh YTJfcGNzX2Rlc3Ryb3koc3RydWN0IGRwYWEyX21hYyAqbWFjKSB7DQo+ICsJaWYgKG1hYy0+cGNz KSB7DQo+ICsJCW1kaW9fZGV2aWNlX3JlbW92ZShtYWMtPnBjcyk7DQo+ICsJCW1kaW9fZGV2aWNl X2ZyZWUobWFjLT5wY3MpOw0KPiArCX0NCj4gK30NCj4gKw0KPiAgaW50IGRwYWEyX21hY19jb25u ZWN0KHN0cnVjdCBkcGFhMl9tYWMgKm1hYykgIHsNCj4gIAlzdHJ1Y3QgZnNsX21jX2RldmljZSAq ZHBtYWNfZGV2ID0gbWFjLT5tY19kZXY7IEBAIC0yMzYsNiArNDIxLDgNCj4gQEAgaW50IGRwYWEy X21hY19jb25uZWN0KHN0cnVjdCBkcGFhMl9tYWMgKm1hYykNCj4gIAlzdHJ1Y3QgZHBtYWNfYXR0 ciBhdHRyOw0KPiAgCWludCBlcnI7DQo+IA0KPiArCW1lbXNldCgmbWFjLT5waHlsaW5rX2NvbmZp ZywgMCwgc2l6ZW9mKG1hYy0+cGh5bGlua19jb25maWcpKTsNCj4gKw0KPiAgCWVyciA9IGRwbWFj X29wZW4obWFjLT5tY19pbywgMCwgZHBtYWNfZGV2LT5vYmpfZGVzYy5pZCwNCj4gIAkJCSAmZHBt YWNfZGV2LT5tY19oYW5kbGUpOw0KPiAgCWlmIChlcnIgfHwgIWRwbWFjX2Rldi0+bWNfaGFuZGxl KSB7DQo+IEBAIC0yNzgsNiArNDY1LDEzIEBAIGludCBkcGFhMl9tYWNfY29ubmVjdChzdHJ1Y3Qg ZHBhYTJfbWFjICptYWMpDQo+ICAJCWdvdG8gZXJyX3B1dF9ub2RlOw0KPiAgCX0NCj4gDQo+ICsJ aWYgKGF0dHIubGlua190eXBlID09IERQTUFDX0xJTktfVFlQRV9QSFkgJiYNCj4gKwkgICAgYXR0 ci5ldGhfaWYgIT0gRFBNQUNfRVRIX0lGX1JHTUlJKSB7DQo+ICsJCWVyciA9IGRwYWEyX3Bjc19j cmVhdGUobWFjLCBkcG1hY19ub2RlLCBhdHRyLmlkKTsNCj4gKwkJaWYgKGVycikNCj4gKwkJCWdv dG8gZXJyX3B1dF9ub2RlOw0KPiArCX0NCj4gKw0KPiAgCW1hYy0+cGh5bGlua19jb25maWcuZGV2 ID0gJm5ldF9kZXYtPmRldjsNCj4gIAltYWMtPnBoeWxpbmtfY29uZmlnLnR5cGUgPSBQSFlMSU5L X05FVERFVjsNCj4gDQo+IEBAIC0yODYsMTAgKzQ4MCwxMyBAQCBpbnQgZHBhYTJfbWFjX2Nvbm5l Y3Qoc3RydWN0IGRwYWEyX21hYyAqbWFjKQ0KPiAgCQkJCSAmZHBhYTJfbWFjX3BoeWxpbmtfb3Bz KTsNCj4gIAlpZiAoSVNfRVJSKHBoeWxpbmspKSB7DQo+ICAJCWVyciA9IFBUUl9FUlIocGh5bGlu ayk7DQo+IC0JCWdvdG8gZXJyX3B1dF9ub2RlOw0KPiArCQlnb3RvIGVycl9wY3NfZGVzdHJveTsN Cj4gIAl9DQo+ICAJbWFjLT5waHlsaW5rID0gcGh5bGluazsNCj4gDQo+ICsJaWYgKG1hYy0+cGNz KQ0KPiArCQlwaHlsaW5rX2FkZF9wY3MobWFjLT5waHlsaW5rLCAmZHBhYTJfcGNzX3BoeWxpbmtf b3BzKTsNCj4gKw0KPiAgCWVyciA9IHBoeWxpbmtfb2ZfcGh5X2Nvbm5lY3QobWFjLT5waHlsaW5r LCBkcG1hY19ub2RlLCAwKTsNCj4gIAlpZiAoZXJyKSB7DQo+ICAJCW5ldGRldl9lcnIobmV0X2Rl diwgInBoeWxpbmtfb2ZfcGh5X2Nvbm5lY3QoKSA9ICVkXG4iLCBlcnIpOw0KPiBAQCAtMzAyLDYg KzQ5OSw4IEBAIGludCBkcGFhMl9tYWNfY29ubmVjdChzdHJ1Y3QgZHBhYTJfbWFjICptYWMpDQo+ IA0KPiAgZXJyX3BoeWxpbmtfZGVzdHJveToNCj4gIAlwaHlsaW5rX2Rlc3Ryb3kobWFjLT5waHls aW5rKTsNCj4gK2Vycl9wY3NfZGVzdHJveToNCj4gKwlkcGFhMl9wY3NfZGVzdHJveShtYWMpOw0K PiAgZXJyX3B1dF9ub2RlOg0KPiAgCW9mX25vZGVfcHV0KGRwbWFjX25vZGUpOw0KPiAgZXJyX2Ns b3NlX2RwbWFjOg0KPiBAQCAtMzE2LDYgKzUxNSw3IEBAIHZvaWQgZHBhYTJfbWFjX2Rpc2Nvbm5l Y3Qoc3RydWN0IGRwYWEyX21hYyAqbWFjKQ0KPiANCj4gIAlwaHlsaW5rX2Rpc2Nvbm5lY3RfcGh5 KG1hYy0+cGh5bGluayk7DQo+ICAJcGh5bGlua19kZXN0cm95KG1hYy0+cGh5bGluayk7DQo+ICsJ ZHBhYTJfcGNzX2Rlc3Ryb3kobWFjKTsNCj4gIAlkcG1hY19jbG9zZShtYWMtPm1jX2lvLCAwLCBt YWMtPm1jX2Rldi0+bWNfaGFuZGxlKTsgIH0NCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItbWFjLmgNCj4gYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9mcmVlc2NhbGUvZHBhYTIvZHBhYTItbWFjLmgNCj4gaW5kZXggMjEzMGQ5YzdkNDBl Li41Y2ZhZTVmOGY1NWUgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVz Y2FsZS9kcGFhMi9kcGFhMi1tYWMuaA0KPiArKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVl c2NhbGUvZHBhYTIvZHBhYTItbWFjLmgNCj4gQEAgLTE5LDYgKzE5LDcgQEAgc3RydWN0IGRwYWEy X21hYyB7DQo+IA0KPiAgCXN0cnVjdCBwaHlsaW5rX2NvbmZpZyBwaHlsaW5rX2NvbmZpZzsNCj4g IAlzdHJ1Y3QgcGh5bGluayAqcGh5bGluazsNCj4gKwlzdHJ1Y3QgbWRpb19kZXZpY2UgKnBjczsN Cj4gIAlwaHlfaW50ZXJmYWNlX3QgaWZfbW9kZTsNCj4gIAllbnVtIGRwbWFjX2xpbmtfdHlwZSBp Zl9saW5rX3R5cGU7DQo+ICB9Ow0KPiAtLQ0KPiAyLjIwLjENCg0K