Received: by 2002:a25:f815:0:0:0:0:0 with SMTP id u21csp1776772ybd; Thu, 27 Jun 2019 01:13:13 -0700 (PDT) X-Google-Smtp-Source: APXvYqyvGufwzuXlKK85Lklk2CBEhrnvXC0tG8e+dboeNmNFYmVEVXXfJlt2o3JKudQ9Mn+GGkzd X-Received: by 2002:a17:90a:6097:: with SMTP id z23mr4460649pji.75.1561623193838; Thu, 27 Jun 2019 01:13:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561623193; cv=none; d=google.com; s=arc-20160816; b=e+hRj4uXRQ5QiNHrVgPdO5xjefIefM6V/4STgGCpUuTR4dlRW7uSCYw2qm1GeUif7C GSsz1lG0A59qJZw8ZuG7gvA5rTbDLZ+YhEVWYOe6BzIXuVr4gABXd36/2U/0h72uedT+ Zaj7QQbwcz3/WvpISW4IxEJMyWviJnqGPao6z26MCTz1RHGgvPhpz41wOJeLEC2swrah 6gh/4m3nkPq9Uu1drykxCIPvnK204MGVaoTREDaJIVDbVr7Ey6G1+9K1oQKEdW2E+Fjj 5oparM8f+wEeHGudSQ5cAi2pmdJGs7z2p0dUj8Z3lvx9SIJosohx0wArfXlDjw+z7PV3 mezQ== 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 :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=PCRdjCcIWaqAzo4AG385nDP9nPkFHnwY2N7r/L9eS08=; b=w4MZX8RWC6MvaDSW84iiaXOyuf3F+hca56MkReG0aWUF6NU73IU/Jf31mH/NEv+Ov8 9Eh+nVQL+PoHkJu0Y/7eIx83qwY/EbNGUMxwkJo7WNwEt/fkA/iXzNNlXul4ia6RRcBy ubicHVTz2MC5lZbLDcsxP5PsnppQ4GN4FWHAeAnII+k0BTFxJcKjwIO2Ezu5x1a4OGk6 4y1c5As1qK84kA6wF3bOewwuubwrvYYxJKwBkxOhB0Jtq5m3BA9wWoXClC/anbHFlAGJ cZTcSFQN1J4aB5IhBlV64hg3d1Nb52Tvwk+oARM/4BDeGeGZd6uCCOW0KPNmto5JwRrc rycg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b="Kilx/2E5"; 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 m11si4652808pjr.100.2019.06.27.01.12.57; Thu, 27 Jun 2019 01:13:13 -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=@nxp.com header.s=selector2 header.b="Kilx/2E5"; 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 S1726572AbfF0IMa (ORCPT + 99 others); Thu, 27 Jun 2019 04:12:30 -0400 Received: from mail-eopbgr60066.outbound.protection.outlook.com ([40.107.6.66]:62531 "EHLO EUR04-DB3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726537AbfF0IM3 (ORCPT ); Thu, 27 Jun 2019 04:12:29 -0400 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=PCRdjCcIWaqAzo4AG385nDP9nPkFHnwY2N7r/L9eS08=; b=Kilx/2E5QUsjuGuXrIgX90sAFwclt/WgOIuvvr9IqAp0NwxSLTbi+Ts7KDOmiAHwKmDUNBLJZhNzTAzAMG94pkIUZZjOq2w5s0CsKILr9YLNQOKBnE/MKIRV1CnDOWmMk89nOzjvoLoNFsY1bZtkNIKUnL0fMHl+tSoRX9TvJFQ= Received: from AM6PR04MB5207.eurprd04.prod.outlook.com (20.177.35.159) by AM6PR04MB4453.eurprd04.prod.outlook.com (20.176.242.94) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2008.17; Thu, 27 Jun 2019 08:12:19 +0000 Received: from AM6PR04MB5207.eurprd04.prod.outlook.com ([fe80::9c87:7753:43b9:6d4a]) by AM6PR04MB5207.eurprd04.prod.outlook.com ([fe80::9c87:7753:43b9:6d4a%4]) with mapi id 15.20.2008.014; Thu, 27 Jun 2019 08:12:19 +0000 From: Daniel Baluta To: "shawnguo@kernel.org" , "robh+dt@kernel.org" , "o.rempel@pengutronix.de" CC: "s.hauer@pengutronix.de" , "S.j. Wang" , "festevam@gmail.com" , dl-linux-imx , Aisheng Dong , Anson Huang , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "mark.rutland@arm.com" , "devicetree@vger.kernel.org" , Daniel Baluta Subject: [PATCH v2 1/2] firmware: imx: Add DSP IPC protocol interface Thread-Topic: [PATCH v2 1/2] firmware: imx: Add DSP IPC protocol interface Thread-Index: AQHVLMAKsAQXFVfM80aDHo0cs/xXGA== Date: Thu, 27 Jun 2019 08:12:19 +0000 Message-ID: <20190627081205.22065-2-daniel.baluta@nxp.com> References: <20190627081205.22065-1-daniel.baluta@nxp.com> In-Reply-To: <20190627081205.22065-1-daniel.baluta@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR0802CA0020.eurprd08.prod.outlook.com (2603:10a6:800:aa::30) To AM6PR04MB5207.eurprd04.prod.outlook.com (2603:10a6:20b:e::31) x-mailer: git-send-email 2.17.1 authentication-results: spf=none (sender IP is ) smtp.mailfrom=daniel.baluta@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [89.37.124.34] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 51a89c88-0759-47b4-fb4f-08d6fad72ca1 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:AM6PR04MB4453; x-ms-traffictypediagnostic: AM6PR04MB4453: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:534; x-forefront-prvs: 008184426E x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(376002)(346002)(396003)(39860400002)(136003)(366004)(199004)(189003)(2501003)(81156014)(25786009)(68736007)(14444005)(256004)(186003)(14454004)(26005)(66066001)(476003)(99286004)(50226002)(6506007)(4326008)(8936002)(8676002)(81166006)(386003)(44832011)(102836004)(52116002)(305945005)(486006)(76176011)(446003)(3846002)(71190400001)(54906003)(71200400001)(7736002)(11346002)(6436002)(2616005)(478600001)(86362001)(316002)(53936002)(36756003)(5660300002)(1076003)(110136005)(66556008)(66476007)(64756008)(66946007)(73956011)(6486002)(2906002)(6116002)(66446008)(6512007);DIR:OUT;SFP:1101;SCL:1;SRVR:AM6PR04MB4453;H:AM6PR04MB5207.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-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 51cfBY+WhhcA/10ILDBEBFERCPxaFY7MbyF1OKFJp+yJKEQ5xpUVb/o+yKwNY+YdmxzjHyLV/h6Jsgr9QjnZU3KgCu8gbzDNS7Hq99QTpr7sz+utCeCkiuxRyxoKX1Yzy0Ksx558ukcHSUqrDKFDvDgLxDOwaBkU627J8vItZPcITSi1MG1Yy7UFPPup5Ac++ptdhvUtF/GuYLLkM01fahgRpq6TgZJZSUrxKzeOmaM/L/rAljoRoVp+tQ01gxVCRuKiUxD4gfVLaFvt5ZxzRVpqQzN4z84iWthNgnp5rR8mr81HMOyf7Hkn+UwtifXnuz0K94iPXYWZAjo1CurY8w2ykz1eUkfzHp/2IKoL+Y7auDHAzCN+MYsDpvLV5jh7chCqmcyRVL+JpnSCAl8kypphy9OXFGQ8+I8/p+qgA9w= 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: 51a89c88-0759-47b4-fb4f-08d6fad72ca1 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jun 2019 08:12:19.6727 (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: daniel.baluta@nxp.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4453 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org U29tZSBvZiBpLk1YOCBwcm9jZXNzb3JzIChlLmcgaS5NWDhRTSwgaS5NWDhRWFApIGNvbnRhaW4N CnRoZSBUZW5zaWxpY2EgSGlGaTQgRFNQIGZvciBhZHZhbmNlZCBwcmUtIGFuZCBwb3N0LWF1ZGlv DQpwcm9jZXNzaW5nLg0KDQpUaGUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIEhvc3QgQ1BVIGFuZCBE U1AgZmlybXdhcmUgaXMNCnRha2luZyBwbGFjZSB1c2luZyBhIHNoYXJlZCBtZW1vcnkgYXJlYSBm b3IgbWVzc2FnZSBwYXNzaW5nDQphbmQgYSBkZWRpY2F0ZWQgTWVzc2FnaW5nIFVuaXQgZm9yIG5v dGlmaWNhdGlvbnMuDQoNCkRTUCBJUEMgcHJvdG9jb2wgZHJpdmVyIG9mZmVycyBhIGRvb3JiZWxs IGludGVyZmFjZSB1c2luZw0KaW14LW1haWxib3ggQVBJLg0KDQpXZSB1c2UgNCBNVSBjaGFubmVs cyAoMiB4IFRYREIsIDIgeCBSWERCKSB0byBpbXBsZW1lbnQgYQ0KcmVxdWVzdC1yZXBseSBwcm90 b2NvbC4NCg0KQ29ubmVjdGlvbiAwICh0eGRiMCwgcnhkYjApOg0KICAgICAgICAtIEhvc3Qgd3Jp dGVzIG1lc3Nhc2dlIHRvIHNoYXJlZCBtZW1vcnkgW1NITUVNXQ0KCS0gSG9zdCBzZW5kcyBhIHJl cXVlc3QgW01VXQ0KCS0gRFNQIGhhbmRsZXMgcmVxdWVzdCBbU0hNRU1dDQoJLSBEU1Agc2VuZHMg cmVwbHkgW01VXQ0KDQpDb25uZWN0aW9uIDEgKHR4ZGIxLCByeGRiMSk6DQoJLSBEU1Agd3JpdGVz IGEgbWVzc2FnZSB0byBzaGFyZWQgbWVtb3J5IFtTSE1FTV0NCgktIERTUCBzZW5kcyBhIHJlcXVl c3QgW01VXQ0KCS0gSG9zdCBoYW5kbGVzIHJlcXVlc3QgW1NITUVNXQ0KCS0gSG9zdCBzZW5kcyBy ZXBseSBbTVVdDQoNClRoZSBwcm90b2NvbCBkcml2ZXIgd2lsbCBiZSB1c2VkIGJ5IGEgSG9zdCBj bGllbnQgdG8NCmNvbW11bmljYXRlIHdpdGggdGhlIERTUC4gRmlyc3QgY2xpZW50IHdpbGwgYmUg dGhlIGkuTVg4DQpwYXJ0IGZyb20gU291bmQgT3BlbiBGaXJtd2FyZSBpbmZyYXN0cnVjdHVyZS4N Cg0KVGhlIHByb3RvY29sIGRyaXZlcnMgb2ZmZXJzIHRoZSBmb2xsb3dpbmcgaW50ZXJmYWNlOg0K DQpPbiBUeDoNCiAgIC0gaW14X2RzcF9yaW5nX2Rvb3JiZWxsLCB3aWxsIGJlIGNhbGxlZCB0byBu b3RpZnkgdGhlIERTUA0KICAgdGhhdCBpdCBuZWVkcyB0byBoYW5kbGUgYSByZXF1ZXN0Lg0KDQpP biBSeDoNCiAgIC0gY2xpZW50cyBuZWVkIHRvIHByb3ZpZGUgdHdvIGNhbGxiYWNrczoNCgkuaGFu ZGxlX3JlcGx5DQoJLmhhbmRsZV9yZXF1ZXN0DQogIC0gdGhlIGNhbGxiYWNrcyB3aWxsIGJlIHVz ZWQgYnkgdGhlIHByb3RvY29sIGRyaXZlciBvbg0KICAgIG5vdGlmaWNhdGlvbiBhcnJpdmFsIGZy b20gRFNQLg0KDQpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgQmFsdXRhIDxkYW5pZWwuYmFsdXRhQG54 cC5jb20+DQotLS0NCiBkcml2ZXJzL2Zpcm13YXJlL2lteC9LY29uZmlnICAgICB8ICAxMSArKysN CiBkcml2ZXJzL2Zpcm13YXJlL2lteC9NYWtlZmlsZSAgICB8ICAgMSArDQogZHJpdmVycy9maXJt d2FyZS9pbXgvaW14LWRzcC5jICAgfCAxNDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Kw0KIGluY2x1ZGUvbGludXgvZmlybXdhcmUvaW14L2RzcC5oIHwgIDY3ICsrKysrKysrKysrKysr Kw0KIDQgZmlsZXMgY2hhbmdlZCwgMjIxIGluc2VydGlvbnMoKykNCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9maXJtd2FyZS9pbXgvaW14LWRzcC5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGlu Y2x1ZGUvbGludXgvZmlybXdhcmUvaW14L2RzcC5oDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zp cm13YXJlL2lteC9LY29uZmlnIGIvZHJpdmVycy9maXJtd2FyZS9pbXgvS2NvbmZpZw0KaW5kZXgg NDJiNTY2Zjg5MDNmLi5kZGIyNDE3MDhjMzEgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2Zpcm13YXJl L2lteC9LY29uZmlnDQorKysgYi9kcml2ZXJzL2Zpcm13YXJlL2lteC9LY29uZmlnDQpAQCAtMSw0 ICsxLDE1IEBADQogIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5DQorY29u ZmlnIElNWF9EU1ANCisJYm9vbCAiSU1YIERTUCBQcm90b2NvbCBkcml2ZXIiDQorCWRlcGVuZHMg b24gSU1YX01CT1gNCisJaGVscA0KKwkgIFRoaXMgZW5hYmxlcyBEU1AgSVBDIHByb3RvY29sIGJl dHdlZW4gaG9zdCBDUFUgKExpbnV4KQ0KKwkgIGFuZCB0aGUgZmlybXdhcmUgcnVubmluZyBvbiBE U1AuDQorCSAgRFNQIGV4aXN0cyBvbiBzb21lIGkuTVg4IHByb2Nlc3NvcnMgKGUuZyBpLk1YOFFN LCBpLk1YOFFYUCkuDQorDQorCSAgSXQgYWN0cyBsaWtlIGEgZG9vcmJlbGwuIENsaWVudCBtaWdo dCB1c2Ugc2hhcmVkIG1lbW9yeSB0bw0KKwkgIGV4Y2hhbmdlIGluZm9ybWF0aW9uIHdpdGggRFNQ IHNpZGUuDQorDQogY29uZmlnIElNWF9TQ1UNCiAJYm9vbCAiSU1YIFNDVSBQcm90b2NvbCBkcml2 ZXIiDQogCWRlcGVuZHMgb24gSU1YX01CT1gNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJl L2lteC9NYWtlZmlsZSBiL2RyaXZlcnMvZmlybXdhcmUvaW14L01ha2VmaWxlDQppbmRleCA4MDJj NGFkOGU4ZjkuLjA4YmM5ZGRmYmRmYiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZmlybXdhcmUvaW14 L01ha2VmaWxlDQorKysgYi9kcml2ZXJzL2Zpcm13YXJlL2lteC9NYWtlZmlsZQ0KQEAgLTEsMyAr MSw0IEBADQogIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMA0KK29iai0kKENPTkZJ R19JTVhfRFNQKQkJKz0gaW14LWRzcC5vDQogb2JqLSQoQ09ORklHX0lNWF9TQ1UpCQkrPSBpbXgt c2N1Lm8gbWlzYy5vIGlteC1zY3UtaXJxLm8NCiBvYmotJChDT05GSUdfSU1YX1NDVV9QRCkJKz0g c2N1LXBkLm8NCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL2lteC9pbXgtZHNwLmMgYi9k cml2ZXJzL2Zpcm13YXJlL2lteC9pbXgtZHNwLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRl eCAwMDAwMDAwMDAwMDAuLmM0ZDM0YTJmYmZmMw0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZHJpdmVy cy9maXJtd2FyZS9pbXgvaW14LWRzcC5jDQpAQCAtMCwwICsxLDE0MiBAQA0KKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKw0KKy8qDQorICogQ29weXJpZ2h0IDIwMTkgTlhQDQor ICogIEF1dGhvcjogRGFuaWVsIEJhbHV0YSA8ZGFuaWVsLmJhbHV0YUBueHAuY29tPg0KKyAqDQor ICogSW1wbGVtZW50YXRpb24gb2YgdGhlIERTUCBJUEMgaW50ZXJmYWNlIChob3N0IHNpZGUpDQor ICovDQorDQorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlL2lteC9kc3AuaD4NCisjaW5jbHVkZSA8 bGludXgva2VybmVsLmg+DQorI2luY2x1ZGUgPGxpbnV4L21haWxib3hfY2xpZW50Lmg+DQorI2lu Y2x1ZGUgPGxpbnV4L21vZHVsZS5oPg0KKyNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPg0K KyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCisjaW5jbHVkZSA8bGludXgvc2xh Yi5oPg0KKw0KKy8qDQorICogaW14X2RzcF9yaW5nX2Rvb3JiZWxsIC0gdHJpZ2dlcnMgYW4gaW50 ZXJydXB0IG9uIHRoZSBvdGhlciBzaWRlIChEU1ApDQorICoNCisgKiBAZHNwOiBEU1AgSVBDIGhh bmRsZQ0KKyAqIEBjaGFuX2lkeDogaW5kZXggb2YgdGhlIGNoYW5uZWwgd2hlcmUgdG8gdHJpZ2dl ciB0aGUgaW50ZXJydXB0DQorICoNCisgKiBSZXR1cm5zIG5vbi1uZWdhdGl2ZSB2YWx1ZSBmb3Ig c3VjY2VzcywgbmVnYXRpdmUgdmFsdWUgZm9yIGVycm9yDQorICovDQoraW50IGlteF9kc3Bfcmlu Z19kb29yYmVsbChzdHJ1Y3QgaW14X2RzcF9pcGMgKmlwYywgdW5zaWduZWQgaW50IGlkeCkNCit7 DQorCWludCByZXQ7DQorCXN0cnVjdCBpbXhfZHNwX2NoYW4gKmRzcF9jaGFuOw0KKw0KKwlpZiAo aWR4ID49IERTUF9NVV9DSEFOX05VTSkNCisJCXJldHVybiAtRUlOVkFMOw0KKw0KKwlkc3BfY2hh biA9ICZpcGMtPmNoYW5zW2lkeF07DQorCXJldCA9IG1ib3hfc2VuZF9tZXNzYWdlKGRzcF9jaGFu LT5jaCwgTlVMTCk7DQorCWlmIChyZXQgPCAwKQ0KKwkJcmV0dXJuIHJldDsNCisNCisJcmV0dXJu IDA7DQorfQ0KK0VYUE9SVF9TWU1CT0woaW14X2RzcF9yaW5nX2Rvb3JiZWxsKTsNCisNCisvKg0K KyAqIGlteF9kc3BfaGFuZGxlX3J4IC0gcnggY2FsbGJhY2sgdXNlZCBieSBpbXggbWFpbGJveA0K KyAqDQorICogQGM6IG1ib3ggY2xpZW50DQorICogQG1zZzogbWVzc2FnZSByZWNlaXZlZA0KKyAq DQorICogVXNlcnMgb2YgRFNQIElQQyB3aWxsIG5lZWQgdG8gcHJpdmRlIGhhbmRsZV9yZXBseSBh bmQgaGFuZGxlX3JlcXVlc3QNCisgKiBjYWxsYmFja3MuDQorICovDQorc3RhdGljIHZvaWQgaW14 X2RzcF9oYW5kbGVfcngoc3RydWN0IG1ib3hfY2xpZW50ICpjLCB2b2lkICptc2cpDQorew0KKwlz dHJ1Y3QgaW14X2RzcF9jaGFuICpjaGFuID0gY29udGFpbmVyX29mKGMsIHN0cnVjdCBpbXhfZHNw X2NoYW4sIGNsKTsNCisNCisJaWYgKGNoYW4tPmlkeCA9PSAwKSB7DQorCQljaGFuLT5pcGMtPm9w cy0+aGFuZGxlX3JlcGx5KGNoYW4tPmlwYyk7DQorCX0gZWxzZSB7DQorCQljaGFuLT5pcGMtPm9w cy0+aGFuZGxlX3JlcXVlc3QoY2hhbi0+aXBjKTsNCisJCWlteF9kc3BfcmluZ19kb29yYmVsbChj aGFuLT5pcGMsIDEpOw0KKwl9DQorfQ0KKw0KK3N0YXRpYyBpbnQgaW14X2RzcF9wcm9iZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGRldmljZSAqZGV2ID0gJnBk ZXYtPmRldjsNCisJc3RydWN0IGlteF9kc3BfaXBjICpkc3BfaXBjOw0KKwlzdHJ1Y3QgaW14X2Rz cF9jaGFuICpkc3BfY2hhbjsNCisJc3RydWN0IG1ib3hfY2xpZW50ICpjbDsNCisJY2hhciAqY2hh bl9uYW1lOw0KKwlpbnQgcmV0Ow0KKwlpbnQgaSwgajsNCisNCisJZHNwX2lwYyA9IGRldm1fa3ph bGxvYyhkZXYsIHNpemVvZigqZHNwX2lwYyksIEdGUF9LRVJORUwpOw0KKwlpZiAoIWRzcF9pcGMp DQorCQlyZXR1cm4gLUVOT01FTTsNCisNCisJZm9yIChpID0gMDsgaSA8IERTUF9NVV9DSEFOX05V TTsgaSsrKSB7DQorCQlpZiAoaSA8IDIpDQorCQkJY2hhbl9uYW1lID0ga2FzcHJpbnRmKEdGUF9L RVJORUwsICJ0eGRiJWQiLCBpKTsNCisJCWVsc2UNCisJCQljaGFuX25hbWUgPSBrYXNwcmludGYo R0ZQX0tFUk5FTCwgInJ4ZGIlZCIsIGkgLSAyKTsNCisNCisJCWlmICghY2hhbl9uYW1lKQ0KKwkJ CXJldHVybiAtRU5PTUVNOw0KKw0KKwkJZHNwX2NoYW4gPSAmZHNwX2lwYy0+Y2hhbnNbaV07DQor CQljbCA9ICZkc3BfY2hhbi0+Y2w7DQorCQljbC0+ZGV2ID0gZGV2Ow0KKwkJY2wtPnR4X2Jsb2Nr ID0gZmFsc2U7DQorCQljbC0+a25vd3NfdHhkb25lID0gdHJ1ZTsNCisJCWNsLT5yeF9jYWxsYmFj ayA9IGlteF9kc3BfaGFuZGxlX3J4Ow0KKw0KKwkJZHNwX2NoYW4tPmlwYyA9IGRzcF9pcGM7DQor CQlkc3BfY2hhbi0+aWR4ID0gaSAlIDI7DQorCQlkc3BfY2hhbi0+Y2ggPSBtYm94X3JlcXVlc3Rf Y2hhbm5lbF9ieW5hbWUoY2wsIGNoYW5fbmFtZSk7DQorCQlpZiAoSVNfRVJSKGRzcF9jaGFuLT5j aCkpIHsNCisJCQlyZXQgPSBQVFJfRVJSKGRzcF9jaGFuLT5jaCk7DQorCQkJaWYgKHJldCAhPSAt RVBST0JFX0RFRkVSKQ0KKwkJCQlkZXZfZXJyKGRldiwgIkZhaWxlZCB0byByZXF1ZXN0IG1ib3gg Y2hhbiAlcyByZXQgJWRcbiIsDQorCQkJCQljaGFuX25hbWUsIHJldCk7DQorCQkJZ290byBvdXQ7 DQorCQl9DQorDQorCQlkZXZfZGJnKGRldiwgInJlcXVlc3QgbWJveCBjaGFuICVzXG4iLCBjaGFu X25hbWUpOw0KKwkJLyogY2hhbl9uYW1lIGlzIG5vdCB1c2VkIGFueW1vcmUgYnkgZnJhbWV3b3Jr ICovDQorCQlrZnJlZShjaGFuX25hbWUpOw0KKwl9DQorDQorCWRzcF9pcGMtPmRldiA9IGRldjsN CisNCisJZGV2X3NldF9kcnZkYXRhKGRldiwgZHNwX2lwYyk7DQorDQorCWRldl9pbmZvKGRldiwg Ik5YUCBpLk1YIERTUCBJUEMgaW5pdGlhbGl6ZWRcbiIpOw0KKw0KKwlyZXR1cm4gZGV2bV9vZl9w bGF0Zm9ybV9wb3B1bGF0ZShkZXYpOw0KK291dDoNCisJa2ZyZWUoY2hhbl9uYW1lKTsNCisJZm9y IChqID0gMDsgaiA8IGk7IGorKykgew0KKwkJZHNwX2NoYW4gPSAmZHNwX2lwYy0+Y2hhbnNbal07 DQorCQltYm94X2ZyZWVfY2hhbm5lbChkc3BfY2hhbi0+Y2gpOw0KKwl9DQorDQorCXJldHVybiBy ZXQ7DQorfQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGlteF9kc3BfbWF0 Y2hbXSA9IHsNCisJeyAuY29tcGF0aWJsZSA9ICJmc2wsaW14OHF4cC1kc3AiLCB9LA0KKwl7IC8q IFNlbnRpbmVsICovIH0NCit9Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGlt eF9kc3BfZHJpdmVyID0gew0KKwkuZHJpdmVyID0gew0KKwkJLm5hbWUgPSAiaW14LWRzcCIsDQor CQkub2ZfbWF0Y2hfdGFibGUgPSBpbXhfZHNwX21hdGNoLA0KKwl9LA0KKwkucHJvYmUgPSBpbXhf ZHNwX3Byb2JlLA0KK307DQorYnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIoaW14X2RzcF9kcml2ZXIp Ow0KKw0KK01PRFVMRV9BVVRIT1IoIkRhbmllbCBCYWx1dGEgPGRhbmllbC5iYWx1dGFAbnhwLmNv bT4iKTsNCitNT0RVTEVfREVTQ1JJUFRJT04oIklNWCBEU1AgSVBDIHByb3RvY29sIGRyaXZlciIp Ow0KK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsNCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4 L2Zpcm13YXJlL2lteC9kc3AuaCBiL2luY2x1ZGUvbGludXgvZmlybXdhcmUvaW14L2RzcC5oDQpu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi43NTYyMDk5YzllNDYNCi0t LSAvZGV2L251bGwNCisrKyBiL2luY2x1ZGUvbGludXgvZmlybXdhcmUvaW14L2RzcC5oDQpAQCAt MCwwICsxLDY3IEBADQorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjArICovDQor LyoNCisgKiBDb3B5cmlnaHQgMjAxOSBOWFANCisgKg0KKyAqIEhlYWRlciBmaWxlIGZvciB0aGUg RFNQIElQQyBpbXBsZW1lbnRhdGlvbg0KKyAqLw0KKw0KKyNpZm5kZWYgX0lNWF9EU1BfSVBDX0gN CisjZGVmaW5lIF9JTVhfRFNQX0lQQ19IDQorDQorI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPg0K KyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPg0KKyNpbmNsdWRlIDxsaW51eC9tYWlsYm94X2NsaWVu dC5oPg0KKw0KKyNkZWZpbmUgRFNQX01VX0NIQU5fTlVNCQk0DQorDQorc3RydWN0IGlteF9kc3Bf Y2hhbiB7DQorCXN0cnVjdCBpbXhfZHNwX2lwYyAqaXBjOw0KKwlzdHJ1Y3QgbWJveF9jbGllbnQg Y2w7DQorCXN0cnVjdCBtYm94X2NoYW4gKmNoOw0KKwljaGFyICpuYW1lOw0KKwlpbnQgaWR4Ow0K K307DQorDQorc3RydWN0IGlteF9kc3Bfb3BzIHsNCisJdm9pZCAoKmhhbmRsZV9yZXBseSkoc3Ry dWN0IGlteF9kc3BfaXBjICppcGMpOw0KKwl2b2lkICgqaGFuZGxlX3JlcXVlc3QpKHN0cnVjdCBp bXhfZHNwX2lwYyAqaXBjKTsNCit9Ow0KKw0KK3N0cnVjdCBpbXhfZHNwX2lwYyB7DQorCS8qIEhv c3QgPC0+IERTUCBjb21tdW5pY2F0aW9uIHVzZXMgMiB0eGRiIGFuZCAyIHJ4ZGIgY2hhbm5lbHMg Ki8NCisJc3RydWN0IGlteF9kc3BfY2hhbiBjaGFuc1tEU1BfTVVfQ0hBTl9OVU1dOw0KKwlzdHJ1 Y3QgZGV2aWNlICpkZXY7DQorCXN0cnVjdCBpbXhfZHNwX29wcyAqb3BzOw0KKwl2b2lkICpwcml2 YXRlX2RhdGE7DQorfTsNCisNCitzdGF0aWMgaW5saW5lIHZvaWQgaW14X2RzcF9zZXRfZGF0YShz dHJ1Y3QgaW14X2RzcF9pcGMgKmlwYywgdm9pZCAqZGF0YSkNCit7DQorCWlmICghaXBjKQ0KKwkJ cmV0dXJuOw0KKw0KKwlpcGMtPnByaXZhdGVfZGF0YSA9IGRhdGE7DQorfQ0KKw0KK3N0YXRpYyBp bmxpbmUgdm9pZCAqaW14X2RzcF9nZXRfZGF0YShzdHJ1Y3QgaW14X2RzcF9pcGMgKmlwYykNCit7 DQorCWlmICghaXBjKQ0KKwkJcmV0dXJuIE5VTEw7DQorDQorCXJldHVybiBpcGMtPnByaXZhdGVf ZGF0YTsNCit9DQorDQorI2lmIElTX0VOQUJMRUQoQ09ORklHX0lNWF9EU1ApDQorDQoraW50IGlt eF9kc3BfcmluZ19kb29yYmVsbChzdHJ1Y3QgaW14X2RzcF9pcGMgKmRzcCwgdW5zaWduZWQgaW50 IGNoYW5faWR4KTsNCisNCisjZWxzZQ0KKw0KK3N0YXRpYyBpbmxpbmUgaW50IGlteF9kc3Bfcmlu Z19kb29yYmVsbChzdHJ1Y3QgaW14X2RzcF9pcGMgKmlwYywNCisJCQkJCXVuc2lnbmVkIGludCBj aGFuX2lkeCkNCit7DQorCXJldHVybiAtRU5PVFNVUFA7DQorfQ0KKw0KKyNlbmRpZg0KKyNlbmRp ZiAvKiBfSU1YX0RTUF9JUENfSCAqLw0KLS0gDQoyLjE3LjENCg0K