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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1C4CEC433FE for ; Thu, 7 Apr 2022 08:32:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243119AbiDGId5 (ORCPT ); Thu, 7 Apr 2022 04:33:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38878 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243141AbiDGIdx (ORCPT ); Thu, 7 Apr 2022 04:33:53 -0400 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-eopbgr130073.outbound.protection.outlook.com [40.107.13.73]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 39D5221F778 for ; Thu, 7 Apr 2022 01:31:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EhNfvQsF1y9ZIcptZwptXpzw0XbbIydkD277aefQfX3YCFtFtuUtY4LdNEvXKWsUe95AB6x8auLT2IGzSganWAxYYSNC5u77gpyT9xY/l2ZpCw3SNwVgQ3yg83067EQZifZwaiQq/29ZUB5gQhMZjwx1w6KHRv05auPYdYMCHQkeCDFGfHHwA/lAyG2s9lAdRuLFamz4oxkv+YlBwelaQsGFpJAAh7GJj/EcrHfuU0LLMdPOVVbnO1ztM2To8rgE4NW+Iq4LmUpUNcTMU8ezjasCSyT7wAyvqRcW5Wqc2agOY5hVqy02kTaYul/slSgc/0zS3Ksnr57qz5rHOwshUA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BRs2IAa7SuOdrE3Mok686PRqZTWPzyiS/50TwsmWL/I=; b=l5aI9rjtdj5GHEv+TQ6ofjqqe8KwvWiNOJK8nNKOukd4qIAUBmMNT0Z1DB1ak9qrTaDvR0wkbV2pffz9K1wq4bnpvX7G9HiqB/1yUGg/C/FNTHtOqlYrS4gaHpEOlVaFKLi6MOEP3yQlvDQsMoJHgYnZ547uJq0/upbQ8WszNv5uAKtnJDqde1a5XStouBScs3aoLM57CtAb5RtJEq8hJSxzeUPmqOCn5LR/O5z3X5Sdtux0c7296GqtI56XmNYU9pljXBolBGCjT9wyOiFoHaAR2G44Mo1hjkaujnuIJrzWTtuuyzCTsfEZdwTVYkffQ5RuyHZ1TEdQ2IqIznSsKw== 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=BRs2IAa7SuOdrE3Mok686PRqZTWPzyiS/50TwsmWL/I=; b=rsAlXuWhWSdt55e4rJQwnUALTk7zjeFyYg+picu0o/+Zvk9XRGSl9BkamZQ4dArpY5ClDSqfi9X3h5HIixfT/0P1242QDMhrDG7QDSREoUhTLSJuiwVmo0EhL5u9boLhX3PiutaZ4hMljtJ+i2oPAHdxVh4p8XkXLbq2hnJh7fA= Received: from DB7PR04MB5450.eurprd04.prod.outlook.com (2603:10a6:10:86::11) by AM0PR04MB6753.eurprd04.prod.outlook.com (2603:10a6:208:169::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.19; Thu, 7 Apr 2022 08:31:43 +0000 Received: from DB7PR04MB5450.eurprd04.prod.outlook.com ([fe80::dcb:d345:1503:d921]) by DB7PR04MB5450.eurprd04.prod.outlook.com ([fe80::dcb:d345:1503:d921%7]) with mapi id 15.20.5144.022; Thu, 7 Apr 2022 08:31:43 +0000 From: Sandor Yu To: Neil Armstrong , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "andrzej.hajda@intel.com" , "robert.foss@linaro.org" , "Laurent.pinchart@ideasonboard.com" , "jonas@kwiboo.se" , "jernej.skrabec@gmail.com" CC: "S.J. Wang" , "cai.huoqing@linux.dev" , "maxime@cerno.tech" , "harry.wentland@amd.com" , "hverkuil-cisco@xs4all.nl" , "amuel@sholland.org" Subject: RE: [EXT] Re: [PATCH v1 5/5] drm: bridge: dw_hdmi: Audio: Add General Parallel Audio (GPA) driver Thread-Topic: [EXT] Re: [PATCH v1 5/5] drm: bridge: dw_hdmi: Audio: Add General Parallel Audio (GPA) driver Thread-Index: AQHYSZHzAsqZpEq9SE2eaVOjb3OiNqzingQAgAF3nVA= Date: Thu, 7 Apr 2022 08:31:42 +0000 Message-ID: References: <224e9fec-2fab-b818-0b30-e3d83c7fd4be@baylibre.com> In-Reply-To: <224e9fec-2fab-b818-0b30-e3d83c7fd4be@baylibre.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 969e2f3a-eb1a-4926-23ad-08da18710b9a x-ms-traffictypediagnostic: AM0PR04MB6753:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: lFZxZFUQWbElnx1HSzspHdSSSFfLSilv6s0M2Tw1Vuir4qmtvBkW9lAOkktt5+haHITxY27HLiCDUZR4IK6k5hGL0ru5FphrwZsBKjs1VGTnT9ubmcTPHlfxhl3g5ffx6Citxuw6sFJMuMYR7whgLIE8RPWTraNk122PU9nVzSM2UeKeUshr1Sa/OmsgxgkN63cfIpS+1d08NFj03zKwJBZGqRqY+4WFqQjEAHcN7sb82VMwCPXXJfCBE1l87QY/ZmeeYyn4k9E7cqsSlUroCWynle5FE0hhiB+nrmYvLcM/8Ikcn/W44nh6NdVIHVpbm4+t1/EyVVE2DYePymcPrQSPtqqsPTiL7zolSEtXMFl9VvmD+1WdeHSjPzJFnw0xkg4uUdoh/dC9Oi0dDRDh8TErARRU1/Hfqb65lJ/06LLl4CGwaxjmJME/6YZ5IksUQoGPYqiazSZV0kuIWoWOmFQbTFJ2QGPiS3QMJXd8wgY+U/q3MsKc4bNbCRI8lJDrtQb+/qNYZ7t435ZrHig2P7oCt1MhP5R0R2MIk7LIoac0CM/msQHFiOCQwqia7DPqbhGk0zow+JmZ9l8L00hOF/0xEoS2gadyUw4hX6osHY31858p/moGQyLSsr7UxYM+jJaVG/H2MKrftWT5nk1zvdyY/bqREXbK0q3/Hf2igoKC8IB33595mqQ2Z/8ejrTDdwe0p/6kRjgr8IB/rIISGg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR04MB5450.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(5660300002)(33656002)(186003)(55016003)(508600001)(110136005)(83380400001)(316002)(54906003)(7696005)(2906002)(64756008)(7416002)(71200400001)(66446008)(66476007)(6506007)(9686003)(53546011)(52536014)(8936002)(30864003)(76116006)(66946007)(44832011)(86362001)(66556008)(26005)(4326008)(38100700002)(8676002)(38070700005)(122000001)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MVV0elduUDFQTTE2TWJWTU9FSVIwZHVSNjdLdEMrWGt0YXVtZUQxeXVCeVlY?= =?utf-8?B?YjhwVU45dXNMVFZ2RHdiMVBDS3VTWHZ4ZkFFMmw0OWRpTnRORDNJVDNrOFVq?= =?utf-8?B?SzhObjRvL1FMV3BZRXNuaUdGNGlhUCtkV2hzSXlMMXRnbGtpMW1qRFAvSW5n?= =?utf-8?B?UmdVV2VMVS8wcWhwWXpyeDBvazVRVU15akMxV2kvZXdYVTNlK2k2UVR0OFBJ?= =?utf-8?B?N3JpbzlVZ3FlYURZNUZ5WE9SOEc1TXZMNzBDOU1ES2RYY2FtWmtRTHp5Vnp2?= =?utf-8?B?cjZYOG5YRlhPR1VPUEJDZEFsQWZiQTJNUlZpRC90TzJFbzhCYXYrWU1oYVow?= =?utf-8?B?L1hQUWFFV1EyWFkzb2l5elRnMGoySWI4MmhibTFtUzlwK0F1WnlhYzg4Y21L?= =?utf-8?B?dUxJVGdkY1lXU1gvcXdNUHZIdWh1ejE3NnNhY0h5RXUvWlRWTlY5alZ3ZXNU?= =?utf-8?B?UmYvTXNLMC9rVEdCUTlxRTJhS3U3OURFdmx2UlRFSWFPM09wQTJmSzB1anFi?= =?utf-8?B?RnBxcnZxcVBKSjlzT0dDY2ozOVBPOHdMN1lEcThKdXFWK1dja1g1Qm94QlhC?= =?utf-8?B?L2dhZmVjZUthWmNnTDl2NG9NWkVuR1JZNUIyNWk3alljSnY2L0s5djM1aGhz?= =?utf-8?B?UlA4MXFGUWpMbDZRVnVEOXpYQ21NQWM2UW9zWUtwWGVLcm8zbk5PcTFUUFZI?= =?utf-8?B?ODFEQytuMlF6VlZ1T253RWExY1loWkdmTVJVTG5XQXB4dXlMU0JYMi9qUEp0?= =?utf-8?B?WlF6UzIwZW9TdWRkWm1JbGZkU25XYjhLaXBOYkwraUo4SDg4TUtYSW5iK1Fz?= =?utf-8?B?SGp1RTFGOUNWcmZVUHZMeXhEOWdWMG9jdldoTzQzQ2VDVlNibkdJd0VUdGpL?= =?utf-8?B?MllGdXFBWGlCMTd4a0pka2pYYWx2RlBTUlQ1R05KdlNpSEt1S2U4SzJDMHpp?= =?utf-8?B?a1Z3Z3lpUmFWV05PZEpRR04wN3M0cy9CNTQwNmpMejdZNEM2MlpwR2JrV2F5?= =?utf-8?B?N1BCdlEzN0NFOXk3am9FdkZ3V09uaFlNQkxDN2RnZ0NTM0YvU0RsdVhZazg1?= =?utf-8?B?RzB4MmxhMm1ESEpxRjJYOVZFM3FBSlMxL3BPak5hR3J0aUZaT3NpbHdhQVE4?= =?utf-8?B?MHhvak91bmhRTkc2ZWlpUjFDK0huMXVFVXBZa21jRS9XcVRacTY3eVgzRTVs?= =?utf-8?B?cGNKUXp0TjYxRFdheWRyWVBqTVZYQXJvY3NtNGlVMm1lZjRCK3NFYjJ1UWJz?= =?utf-8?B?T2ZSbnVyY2xKWi9mRFRUbE8rMXBvOUFiRmtXRVNSNU5UaE1OZFJtTE9HTXZy?= =?utf-8?B?bXVxNU53MkU1RmxCc0NjQnd6OVpmcTZyWkdXTkR4M25wK0V2Mkpxc0NuQTRs?= =?utf-8?B?amlKSDc4MGxySTJ3cWZBTkdONFFyRjRmclYwMUYwUHZCdnJQdmYxT3RLQzF6?= =?utf-8?B?ajZMZXlMQS9ocktIekdhRXhRSys3VWhZNklJZ2h5Sk5qOFh4bCtybkxEc05z?= =?utf-8?B?emI3ZGpNMkRzd1JqeklMTFM1UklDN2VRZ04wS3V6cllkTmFvamJUZ1g5Sm9v?= =?utf-8?B?aTA0TTg3UU9ZZEljdDRZOHh6dHhLOGVxTldwM1hMUXptMXcwOHR3NFRQeUpM?= =?utf-8?B?MDhHaHlGT1Z2RG9hbmJMNzYxNlloQk1LY3lhcG9LOVI1cVRrL21OV3Z6S09h?= =?utf-8?B?L21JbFB6c0NQcFJpR2dKeFhZRThDZzgwV3hzaGtIWUIwaXJWZVBTbXZ2WDFv?= =?utf-8?B?R1RocVZxTHlhRi9yT0FscWJvU1JSUk4rQnNOYzJ4Kzlub2RqbDVBOXMxalZU?= =?utf-8?B?bVVtb0ZJa1JNeTJWYVU4OXVxRWhNa01pRUZNVENHTGhhYkY0NjJTUGZuOEc1?= =?utf-8?B?MWJKVlhNQ0xMTm5Qb3FTVE5wT2l6NlNBeTdYbU12OTltNkdvV0h6RUNnbnVy?= =?utf-8?B?RmdPTk5tdEZ4L0FPM1Bsc3J4aEhnbmVNalF5TzNpZWhwU1NFL0lhWU9RNFRi?= =?utf-8?B?QWVxTUNjUDZOeGV4UWJoamJPWVZQS0paVG9UeGlFQVBKcklHbHRkVEoyZzFX?= =?utf-8?B?bHRRckhLYVZwVUM3ckJ2RVpaZjloQ3Mxelh6Q1p0T0laLzdPQStKWEdVRk1a?= =?utf-8?B?SmovTFdNNVRUdUlCZHlVelV1N2dJZWk5WExtRWlFTW5KZW5IRW0zeFJBNExw?= =?utf-8?B?dVA2YVJ2bTl6RFc5cFk2ZjVjWEljeWR4NTJWejFMVlBrM0t2VUVTeFoycTRR?= =?utf-8?B?QnRuVlBmaVN2Z052cXR4VENlRFl5Z20zWjRReXN3dzZ2cTF4dWtpLzArVzZF?= =?utf-8?B?OTg5eGdpc01tOWNZQU91WlJnOVhvallJbHNWUHVWMmhCN1k4Vm1OZz09?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB7PR04MB5450.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 969e2f3a-eb1a-4926-23ad-08da18710b9a X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Apr 2022 08:31:43.0118 (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: XgHfFGCyQhXYKFg8FQYXmH1U6rTIGCJxm6FOOkUvgHNUBVj0uWNgP2Rs4uj77MXHzd5aPTihxDbxmswZ3a0Hdw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6753 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTmVpbCBBcm1zdHJv bmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPg0KPiBTZW50OiAyMDIy5bm0NOaciDbml6UgMTc6 MjgNCj4gVG86IFNhbmRvciBZdSA8c2FuZG9yLnl1QG54cC5jb20+OyBkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnOw0KPiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBhbmRyemVq LmhhamRhQGludGVsLmNvbTsNCj4gcm9iZXJ0LmZvc3NAbGluYXJvLm9yZzsgTGF1cmVudC5waW5j aGFydEBpZGVhc29uYm9hcmQuY29tOw0KPiBqb25hc0Brd2lib28uc2U7IGplcm5lai5za3JhYmVj QGdtYWlsLmNvbQ0KPiBDYzogUy5KLiBXYW5nIDxzaGVuZ2ppdS53YW5nQG54cC5jb20+OyBjYWku aHVvcWluZ0BsaW51eC5kZXY7DQo+IG1heGltZUBjZXJuby50ZWNoOyBoYXJyeS53ZW50bGFuZEBh bWQuY29tOyBodmVya3VpbC1jaXNjb0B4czRhbGwubmw7DQo+IGFtdWVsQHNob2xsYW5kLm9yZw0K PiBTdWJqZWN0OiBbRVhUXSBSZTogW1BBVENIIHYxIDUvNV0gZHJtOiBicmlkZ2U6IGR3X2hkbWk6 IEF1ZGlvOiBBZGQgR2VuZXJhbA0KPiBQYXJhbGxlbCBBdWRpbyAoR1BBKSBkcml2ZXINCj4gDQo+ IENhdXRpb246IEVYVCBFbWFpbA0KPiANCj4gSGksDQo+IA0KPiBPbiAwNi8wNC8yMDIyIDEwOjQ4 LCBTYW5kb3IueXVAbnhwLmNvbSB3cm90ZToNCj4gPiBGcm9tOiBTYW5kb3IgWXUgPFNhbmRvci55 dUBueHAuY29tPg0KPiA+DQo+ID4gR2VuZXJhbCBQYXJhbGxlbCBBdWRpbyAoR1BBKSBpbnRlcmZh Y2UgaXMgb25lIG9mIHRoZSBzdXBwb3J0ZWQgYXVkaW8NCj4gPiBpbnRlcmZhY2UgZm9yIHN5bm9w c3lzIEhETUkgbW9kdWxlLCB3aGljaCBoYXMgdmVyaWZpZWQgZm9yIGkuTVg4TVANCj4gPiBwbGF0 Zm9ybS4NCj4gPiBUaGlzIGlzIGluaXRpYWwgdmVyc2lvbiBmb3IgR1BBLg0KPiA+DQo+ID4gU2ln bmVkLW9mZi1ieTogU2hlbmdqaXUgV2FuZyA8c2hlbmdqaXUud2FuZ0BueHAuY29tPg0KPiA+IFNp Z25lZC1vZmYtYnk6IFNhbmRvciBZdSA8U2FuZG9yLnl1QG54cC5jb20+DQo+ID4gLS0tDQo+ID4g ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL0tjb25maWcgICAgICAgfCAgMTEgKw0K PiA+ICAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9NYWtlZmlsZSAgICAgIHwgICAx ICsNCj4gPiAgIC4uLi9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWktZ3AtYXVkaW8uYyAgICB8 IDE5OQ0KPiArKysrKysrKysrKysrKysrKysNCj4gPiAgIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv c3lub3BzeXMvZHctaGRtaS5jICAgICB8IDEyOCArKysrKysrKysrLQ0KPiA+ICAgZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmggICAgIHwgIDEzICstDQo+ID4gICBpbmNs dWRlL2RybS9icmlkZ2UvZHdfaGRtaS5oICAgICAgICAgICAgICAgICAgfCAgIDUgKw0KPiA+ICAg NiBmaWxlcyBjaGFuZ2VkLCAzNTQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4gPiAg IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+IGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMv ZHctaGRtaS1ncC1hdWRpby5jDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9zeW5vcHN5cy9LY29uZmlnDQo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5 bm9wc3lzL0tjb25maWcNCj4gPiBpbmRleCAyMWExYmUzY2VkMGYuLmUzOThiNThjOTk2ZCAxMDA2 NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL0tjb25maWcNCj4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL0tjb25maWcNCj4gPiBAQCAt MjUsNiArMjUsMTcgQEAgY29uZmlnIERSTV9EV19IRE1JX0kyU19BVURJTw0KPiA+ICAgICAgICAg U3VwcG9ydCB0aGUgSTJTIEF1ZGlvIGludGVyZmFjZSB3aGljaCBpcyBwYXJ0IG9mIHRoZSBTeW5v cHN5cw0KPiA+ICAgICAgICAgRGVzaWdud2FyZSBIRE1JIGJsb2NrLg0KPiA+DQo+ID4gK2NvbmZp ZyBEUk1fRFdfSERNSV9HUF9BVURJTw0KPiA+ICsgICAgIHRyaXN0YXRlICJTeW5vcHN5cyBEZXNp Z253YXJlIEdQIEF1ZGlvIGludGVyZmFjZSINCj4gPiArICAgICBkZXBlbmRzIG9uIERSTV9EV19I RE1JICYmIFNORA0KPiA+ICsgICAgIHNlbGVjdCBTTkRfUENNDQo+ID4gKyAgICAgc2VsZWN0IFNO RF9QQ01fRUxEDQo+ID4gKyAgICAgc2VsZWN0IFNORF9QQ01fSUVDOTU4DQo+ID4gKyAgICAgaGVs cA0KPiA+ICsgICAgICAgU3VwcG9ydCB0aGUgR1AgQXVkaW8gaW50ZXJmYWNlIHdoaWNoIGlzIHBh cnQgb2YgdGhlIFN5bm9wc3lzDQo+ID4gKyAgICAgICBEZXNpZ253YXJlIEhETUkgYmxvY2suICBU aGlzIGlzIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aA0KPiA+ICsgICAgICAgdGhlIGkuTVg4NjUg SERNSSBkcml2ZXIuDQo+IA0KPiBXaGF0IGRvZXMgdGhhdCBtZWFuID8gaXQgY2FuIG9ubHkgYmUg dXNlZCB3aXRoIGkuTVg4NjUgSERNSSBkcml2ZXIgPw0KPiBJZiBub3QsIHJlbW92ZSByZWZlcmVu Y2UgdG8gaS5NWDg2NSBIRE1JIGRyaXZlci4NCj4gDQpHUCBhdWRpbyBkcml2ZXIgY291bGQgYmUg dXNlZCBmb3IgZGlmZmVyZW50IFNPQ3MsIGkuTVg4NjUgc3BlY2lmaWMgZGVzY3JpcHRpb24gd2ls bCBiZSByZW1vdmVkLg0KPiA+ICsNCj4gPiAgIGNvbmZpZyBEUk1fRFdfSERNSV9DRUMNCj4gPiAg ICAgICB0cmlzdGF0ZSAiU3lub3BzaXMgRGVzaWdud2FyZSBDRUMgaW50ZXJmYWNlIg0KPiA+ICAg ICAgIGRlcGVuZHMgb24gRFJNX0RXX0hETUkNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9zeW5vcHN5cy9NYWtlZmlsZQ0KPiA+IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9zeW5vcHN5cy9NYWtlZmlsZQ0KPiA+IGluZGV4IDkxZDc0NmFkNWRlMS4uY2U3MTU1NjJlOWU1 IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvTWFrZWZp bGUNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL01ha2VmaWxlDQo+ ID4gQEAgLTEsNiArMSw3IEBADQo+ID4gICAjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt Mi4wLW9ubHkNCj4gPiAgIG9iai0kKENPTkZJR19EUk1fRFdfSERNSSkgKz0gZHctaGRtaS5vDQo+ ID4gICBvYmotJChDT05GSUdfRFJNX0RXX0hETUlfQUhCX0FVRElPKSArPSBkdy1oZG1pLWFoYi1h dWRpby5vDQo+ID4gK29iai0kKENPTkZJR19EUk1fRFdfSERNSV9HUF9BVURJTykgKz0gZHctaGRt aS1ncC1hdWRpby5vDQo+ID4gICBvYmotJChDT05GSUdfRFJNX0RXX0hETUlfSTJTX0FVRElPKSAr PSBkdy1oZG1pLWkycy1hdWRpby5vDQo+ID4gICBvYmotJChDT05GSUdfRFJNX0RXX0hETUlfQ0VD KSArPSBkdy1oZG1pLWNlYy5vDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLWdwLWF1ZGlvLmMNCj4gPiBiL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS1ncC1hdWRpby5jDQo+ID4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLjEwYTk1N2M4NWE4Mw0KPiA+IC0tLSAvZGV2 L251bGwNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkt Z3AtYXVkaW8uYw0KPiA+IEBAIC0wLDAgKzEsMTk5IEBADQo+ID4gKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiAoR1BMLTIuMCsgT1IgTUlUKQ0KPiA+ICsvKg0KPiA+ICsgKiBkdy1oZG1pLWdw LWF1ZGlvLmMNCj4gPiArICoNCj4gPiArICogQ29weXJpZ2h0IDIwMjAtMjAyMiBOWFANCj4gPiAr ICovDQo+ID4gKyNpbmNsdWRlIDxsaW51eC9pby5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvaW50 ZXJydXB0Lmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4NCj4gPiArI2luY2x1ZGUg PGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvZG1hZW5naW5l Lmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPg0KPiA+ICsjaW5jbHVkZSA8 ZHJtL2JyaWRnZS9kd19oZG1pLmg+DQo+ID4gKyNpbmNsdWRlIDxkcm0vZHJtX2VkaWQuaD4NCj4g PiArI2luY2x1ZGUgPGRybS9kcm1fY29ubmVjdG9yLmg+DQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8 c291bmQvaGRtaS1jb2RlYy5oPg0KPiA+ICsjaW5jbHVkZSA8c291bmQvYXNvdW5kZWYuaD4NCj4g PiArI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4NCj4gPiArI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwu aD4NCj4gPiArI2luY2x1ZGUgPHNvdW5kL3BjbS5oPg0KPiA+ICsjaW5jbHVkZSA8c291bmQvcGNt X2RybV9lbGQuaD4NCj4gPiArI2luY2x1ZGUgPHNvdW5kL3BjbV9pZWM5NTguaD4NCj4gPiArI2lu Y2x1ZGUgPHNvdW5kL2RtYWVuZ2luZV9wY20uaD4NCj4gPiArDQo+ID4gKyNpbmNsdWRlICJkdy1o ZG1pLWF1ZGlvLmgiDQo+ID4gKw0KPiA+ICsjZGVmaW5lIERSSVZFUl9OQU1FICJkdy1oZG1pLWdw LWF1ZGlvIg0KPiA+ICsjZGVmaW5lIERSVl9OQU1FICAgICJoZG1pLWdwLWF1ZGlvIg0KPiA+ICsN Cj4gPiArc3RydWN0IHNuZF9kd19oZG1pIHsNCj4gPiArICAgICBzdHJ1Y3QgZHdfaGRtaV9hdWRp b19kYXRhIGRhdGE7DQo+ID4gKyAgICAgc3RydWN0IHBsYXRmb3JtX2RldmljZSAgKmF1ZGlvX3Bk ZXY7DQo+ID4gKyAgICAgdW5zaWduZWQgaW50IHBvczsNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0 cnVjdCBkd19oZG1pX2NoYW5uZWxfY29uZiB7DQo+ID4gKyAgICAgdTggY29uZjE7DQo+ID4gKyAg ICAgdTggY2E7DQo+ID4gK307DQo+ID4gKw0KPiA+ICsvKg0KPiA+ICsgKiBUaGUgZGVmYXVsdCBt YXBwaW5nIG9mIEFMU0EgY2hhbm5lbHMgdG8gSERNSSBjaGFubmVscyBhbmQgc3BlYWtlcg0KPiA+ ICsgKiBhbGxvY2F0aW9uIGJpdHMuICBOb3RlIHRoYXQgd2UgY2FuJ3QgZG8gY2hhbm5lbCByZW1h cHBpbmcgaGVyZSAtDQo+ID4gKyAqIGNoYW5uZWxzIG11c3QgYmUgaW4gdGhlIHNhbWUgb3JkZXIu DQo+ID4gKyAqDQo+ID4gKyAqIE1hcHBpbmdzIGZvciBhbHNhLWxpYiBwY20vc3Vycm91bmQqLmNv bmYgZmlsZXM6DQo+ID4gKyAqDQo+ID4gKyAqICAgICAgICAgICBGcm9udCAgIFN1cjQuMCAgU3Vy NC4xICBTdXI1LjAgIFN1cjUuMSAgU3VyNy4xDQo+ID4gKyAqIENoYW5uZWxzICAyICAgICAgIDQg ICAgICAgNiAgICAgICA2ICAgICAgIDYgICAgICAgOA0KPiA+ICsgKg0KPiA+ICsgKiBPdXIgbWFw cGluZyBmcm9tIEFMU0EgY2hhbm5lbCB0byBDRUE2ODZEIHNwZWFrZXIgbmFtZSBhbmQgSERNSQ0K PiBjaGFubmVsOg0KPiA+ICsgKg0KPiA+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIE51 bWJlciBvZiBBTFNBIGNoYW5uZWxzDQo+ID4gKyAqIEFMU0EgQ2hhbm5lbCAgICAgIDIgICAgICAg MyAgICAgICA0ICAgICAgIDUgICAgICAgNiAgICAgICA3DQo+IDgNCj4gPiArICogMCAgICAgICAg IEZMOjAgICAgPSAgICAgICA9ICAgICAgID0gICAgICAgPSAgICAgICA9DQo+ID0NCj4gPiArICog MSAgICAgICAgIEZSOjEgICAgPSAgICAgICA9ICAgICAgID0gICAgICAgPSAgICAgICA9DQo+ID0N Cj4gPiArICogMiAgICAgICAgICAgICAgICAgRkM6MyAgICBSTDo0ICAgIExGRToyICAgPSAgICAg ICA9ICAgICAgID0NCj4gPiArICogMyAgICAgICAgICAgICAgICAgICAgICAgICBSUjo1ICAgIFJM OjQgICAgRkM6MyAgICA9ICAgICAgID0NCj4gPiArICogNCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJSOjUgICAgUkw6NCAgICA9DQo+ID0NCj4gPiArICogNSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUlI6NSAgICA9DQo+ID0NCj4gPiArICogNiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQzo2DQo+ID0NCj4g PiArICogNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS TEMvRlJDDQo+IFJMQy9GUkMNCj4gPiArICovDQo+ID4gK3N0YXRpYyBzdHJ1Y3QgZHdfaGRtaV9j aGFubmVsX2NvbmYgZGVmYXVsdF9oZG1pX2NoYW5uZWxfY29uZmlnWzddID0gew0KPiA+ICsgICAg IHsgMHgwMywgMHgwMCB9LCAvKiBGTCxGUiAqLw0KPiA+ICsgICAgIHsgMHgwYiwgMHgwMiB9LCAv KiBGTCxGUixGQyAqLw0KPiA+ICsgICAgIHsgMHgzMywgMHgwOCB9LCAvKiBGTCxGUixSTCxSUiAq Lw0KPiA+ICsgICAgIHsgMHgzNywgMHgwOSB9LCAvKiBGTCxGUixMRkUsUkwsUlIgKi8NCj4gPiAr ICAgICB7IDB4M2YsIDB4MGIgfSwgLyogRkwsRlIsTEZFLEZDLFJMLFJSICovDQo+ID4gKyAgICAg eyAweDdmLCAweDBmIH0sIC8qIEZMLEZSLExGRSxGQyxSTCxSUixSQyAqLw0KPiA+ICsgICAgIHsg MHhmZiwgMHgxMyB9LCAvKiBGTCxGUixMRkUsRkMsUkwsUlIsW0ZSXVJDLFtGUl1MQyAqLyB9Ow0K PiA+ICsNCj4gPiArc3RhdGljIGludCBhdWRpb19od19wYXJhbXMoc3RydWN0IGRldmljZSAqZGV2 LCAgdm9pZCAqZGF0YSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGhkbWlf Y29kZWNfZGFpZm10ICpkYWlmbXQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBoZG1pX2NvZGVjX3BhcmFtcyAqcGFyYW1zKSB7DQo+ID4gKyAgICAgc3RydWN0IHNuZF9kd19o ZG1pICpkdyA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsgICAgIGludCByZXQgPSAwOw0K PiA+ICsgICAgIHU4IGNhOw0KPiA+ICsNCj4gPiArICAgICBkd19oZG1pX3NldF9zYW1wbGVfcmF0 ZShkdy0+ZGF0YS5oZG1pLCBwYXJhbXMtPnNhbXBsZV9yYXRlKTsNCj4gPiArDQo+ID4gKyAgICAg Y2EgPSBkZWZhdWx0X2hkbWlfY2hhbm5lbF9jb25maWdbcGFyYW1zLT5jaGFubmVscyAtIDJdLmNh Ow0KPiA+ICsNCj4gPiArICAgICBkd19oZG1pX3NldF9jaGFubmVsX2NvdW50KGR3LT5kYXRhLmhk bWksIHBhcmFtcy0+Y2hhbm5lbHMpOw0KPiA+ICsgICAgIGR3X2hkbWlfc2V0X2NoYW5uZWxfYWxs b2NhdGlvbihkdy0+ZGF0YS5oZG1pLCBjYSk7DQo+ID4gKw0KPiA+ICsgICAgIGR3X2hkbWlfc2V0 X3NhbXBsZV9ub25fcGNtKGR3LT5kYXRhLmhkbWksDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGFyYW1zLT5pZWMuc3RhdHVzWzBdICYNCj4gSUVDOTU4X0FFUzBfTk9OQVVE SU8pOw0KPiA+ICsgICAgIGR3X2hkbWlfc2V0X3NhbXBsZV93aWR0aChkdy0+ZGF0YS5oZG1pLA0K PiBwYXJhbXMtPnNhbXBsZV93aWR0aCk7DQo+ID4gKw0KPiA+ICsgICAgIHJldHVybiByZXQ7DQo+ ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyB2b2lkIGF1ZGlvX3NodXRkb3duKHN0cnVjdCBkZXZp Y2UgKmRldiwgdm9pZCAqZGF0YSkgeyB9DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50IGF1ZGlvX211 dGVfc3RyZWFtKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgYm9vbCBlbmFibGUsIGludCBkaXJlY3Rpb24pIHsNCj4gPiArICAg ICBzdHJ1Y3Qgc25kX2R3X2hkbWkgKmR3ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKyAg ICAgaW50IHJldCA9IDA7DQo+ID4gKw0KPiA+ICsgICAgIGlmICghZW5hYmxlKQ0KPiA+ICsgICAg ICAgICAgICAgZHdfaGRtaV9hdWRpb19lbmFibGUoZHctPmRhdGEuaGRtaSk7DQo+ID4gKyAgICAg ZWxzZQ0KPiA+ICsgICAgICAgICAgICAgZHdfaGRtaV9hdWRpb19kaXNhYmxlKGR3LT5kYXRhLmhk bWkpOw0KPiA+ICsNCj4gPiArICAgICByZXR1cm4gcmV0Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICtz dGF0aWMgaW50IGF1ZGlvX2dldF9lbGQoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpkYXRhLA0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgdTggKmJ1Ziwgc2l6ZV90IGxlbikgew0KPiA+ICsg ICAgIHN0cnVjdCBkd19oZG1pX2F1ZGlvX2RhdGEgKmF1ZGlvID0gZGF0YTsNCj4gPiArICAgICB1 OCAqZWxkOw0KPiA+ICsNCj4gPiArICAgICBlbGQgPSBhdWRpby0+Z2V0X2VsZChhdWRpby0+aGRt aSk7DQo+ID4gKyAgICAgaWYgKGVsZCkNCj4gPiArICAgICAgICAgICAgIG1lbWNweShidWYsIGVs ZCwgbWluX3Qoc2l6ZV90LCBNQVhfRUxEX0JZVEVTLCBsZW4pKTsNCj4gPiArICAgICBlbHNlDQo+ ID4gKyAgICAgICAgICAgICAvKiBQYXNzIGVuIGVtcHR5IEVMRCBpZiBjb25uZWN0b3Igbm90IGF2 YWlsYWJsZSAqLw0KPiA+ICsgICAgICAgICAgICAgbWVtc2V0KGJ1ZiwgMCwgbGVuKTsNCj4gPiAr DQo+ID4gKyAgICAgcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyBpbnQgYXVk aW9faG9va19wbHVnZ2VkX2NiKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGRtaV9jb2RlY19wbHVnZ2VkX2NiIGZuLA0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZGV2aWNlICpjb2RlY19k ZXYpIHsNCj4gPiArICAgICBzdHJ1Y3Qgc25kX2R3X2hkbWkgKmR3ID0gZGV2X2dldF9kcnZkYXRh KGRldik7DQo+ID4gKw0KPiA+ICsgICAgIHJldHVybiBkd19oZG1pX3NldF9wbHVnZ2VkX2NiKGR3 LT5kYXRhLmhkbWksIGZuLCBjb2RlY19kZXYpOyB9DQo+ID4gKw0KPiA+ICtzdGF0aWMgY29uc3Qg c3RydWN0IGhkbWlfY29kZWNfb3BzIGF1ZGlvX2NvZGVjX29wcyA9IHsNCj4gPiArICAgICAuaHdf cGFyYW1zID0gYXVkaW9faHdfcGFyYW1zLA0KPiA+ICsgICAgIC5hdWRpb19zaHV0ZG93biA9IGF1 ZGlvX3NodXRkb3duLA0KPiA+ICsgICAgIC5tdXRlX3N0cmVhbSA9IGF1ZGlvX211dGVfc3RyZWFt LA0KPiA+ICsgICAgIC5nZXRfZWxkID0gYXVkaW9fZ2V0X2VsZCwNCj4gPiArICAgICAuaG9va19w bHVnZ2VkX2NiID0gYXVkaW9faG9va19wbHVnZ2VkX2NiLCB9Ow0KPiA+ICsNCj4gPiArc3RhdGlj IGludCBzbmRfZHdfaGRtaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KSB7DQo+ ID4gKyAgICAgc3RydWN0IGR3X2hkbWlfYXVkaW9fZGF0YSAqZGF0YSA9IHBkZXYtPmRldi5wbGF0 Zm9ybV9kYXRhOw0KPiA+ICsgICAgIHN0cnVjdCBzbmRfZHdfaGRtaSAqZHc7DQo+ID4gKw0KPiA+ ICsgICAgIGNvbnN0IHN0cnVjdCBoZG1pX2NvZGVjX3BkYXRhIGNvZGVjX2RhdGEgPSB7DQo+ID4g KyAgICAgICAgICAgICAuaTJzID0gMSwNCj4gPiArICAgICAgICAgICAgIC5zcGRpZiA9IDAsDQo+ ID4gKyAgICAgICAgICAgICAub3BzID0gJmF1ZGlvX2NvZGVjX29wcywNCj4gPiArICAgICAgICAg ICAgIC5tYXhfaTJzX2NoYW5uZWxzID0gOCwNCj4gPiArICAgICAgICAgICAgIC5kYXRhID0gZGF0 YSwNCj4gPiArICAgICB9Ow0KPiA+ICsNCj4gPiArICAgICBkdyA9IGRldm1fa3phbGxvYygmcGRl di0+ZGV2LCBzaXplb2YoKmR3KSwgR0ZQX0tFUk5FTCk7DQo+ID4gKyAgICAgaWYgKCFkdykNCj4g PiArICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KPiA+ICsNCj4gPiArICAgICBkdy0+ZGF0 YSA9ICpkYXRhOw0KPiA+ICsNCj4gPiArICAgICBwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBk dyk7DQo+ID4gKw0KPiA+ICsgICAgIGR3LT5hdWRpb19wZGV2ID0gcGxhdGZvcm1fZGV2aWNlX3Jl Z2lzdGVyX2RhdGEoJnBkZXYtPmRldiwNCj4gPiArDQo+IEhETUlfQ09ERUNfRFJWX05BTUUsIDEs DQo+ID4gKw0KPiAmY29kZWNfZGF0YSwNCj4gPiArDQo+ID4gKyBzaXplb2YoY29kZWNfZGF0YSkp Ow0KPiA+ICsNCj4gPiArICAgICByZXR1cm4gUFRSX0VSUl9PUl9aRVJPKGR3LT5hdWRpb19wZGV2 KTsgfQ0KPiA+ICsNCj4gPiArc3RhdGljIGludCBzbmRfZHdfaGRtaV9yZW1vdmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikgew0KPiA+ICsgICAgIHN0cnVjdCBzbmRfZHdfaGRtaSAqZHcg PSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsNCj4gPiArDQo+ID4gKyAgICAgcGxhdGZvcm1f ZGV2aWNlX3VucmVnaXN0ZXIoZHctPmF1ZGlvX3BkZXYpOw0KPiA+ICsNCj4gPiArICAgICByZXR1 cm4gMDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIg c25kX2R3X2hkbWlfZHJpdmVyID0gew0KPiA+ICsgICAgIC5wcm9iZSAgPSBzbmRfZHdfaGRtaV9w cm9iZSwNCj4gPiArICAgICAucmVtb3ZlID0gc25kX2R3X2hkbWlfcmVtb3ZlLA0KPiA+ICsgICAg IC5kcml2ZXIgPSB7DQo+ID4gKyAgICAgICAgICAgICAubmFtZSA9IERSSVZFUl9OQU1FLA0KPiA+ ICsgICAgIH0sDQo+ID4gK307DQo+ID4gKw0KPiA+ICttb2R1bGVfcGxhdGZvcm1fZHJpdmVyKHNu ZF9kd19oZG1pX2RyaXZlcik7DQo+ID4gKw0KPiA+ICtNT0RVTEVfQVVUSE9SKCJTaGVuZ2ppdSBX YW5nIDxzaGVuZ2ppdS53YW5nQG54cC5jb20+Iik7DQo+ID4gK01PRFVMRV9ERVNDUklQVElPTigi U3lub3BzaXMgRGVzaWdud2FyZSBIRE1JIEdQQSBBTFNBDQo+IGludGVyZmFjZSIpOw0KPiA+ICtN T0RVTEVfTElDRU5TRSgiR1BMIik7IE1PRFVMRV9BTElBUygicGxhdGZvcm06IiBEUklWRVJfTkFN RSk7DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHct aGRtaS5jDQo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYw0K PiA+IGluZGV4IGM2ZTcwMWFjZDQxNi4uMTM4NWQ4Zjc4NzBlIDEwMDY0NA0KPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jDQo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMNCj4gPiBAQCAtMTkxLDcgKzE5MSwx MCBAQCBzdHJ1Y3QgZHdfaGRtaSB7DQo+ID4NCj4gPiAgICAgICBzcGlubG9ja190IGF1ZGlvX2xv Y2s7DQo+ID4gICAgICAgc3RydWN0IG11dGV4IGF1ZGlvX211dGV4Ow0KPiA+ICsgICAgIHVuc2ln bmVkIGludCBzYW1wbGVfbm9uX3BjbTsNCj4gPiArICAgICB1bnNpZ25lZCBpbnQgc2FtcGxlX3dp ZHRoOw0KPiA+ICAgICAgIHVuc2lnbmVkIGludCBzYW1wbGVfcmF0ZTsNCj4gPiArICAgICB1bnNp Z25lZCBpbnQgY2hhbm5lbHM7DQo+ID4gICAgICAgdW5zaWduZWQgaW50IGF1ZGlvX2N0czsNCj4g PiAgICAgICB1bnNpZ25lZCBpbnQgYXVkaW9fbjsNCj4gPiAgICAgICBib29sIGF1ZGlvX2VuYWJs ZTsNCj4gPiBAQCAtNTg5LDYgKzU5Miw4IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgaGRtaV9jb21w dXRlX24odW5zaWduZWQgaW50DQo+IGZyZXEsIHVuc2lnbmVkIGxvbmcgcGl4ZWxfY2xrKQ0KPiA+ ICAgICAgICAgICAgICAgICAgICAgICBuID0gNDA5NjsNCj4gPiAgICAgICAgICAgICAgIGVsc2Ug aWYgKHBpeGVsX2NsayA9PSA3NDE3NjAwMCB8fCBwaXhlbF9jbGsgPT0gMTQ4MzUyMDAwKQ0KPiA+ ICAgICAgICAgICAgICAgICAgICAgICBuID0gMTE2NDg7DQo+ID4gKyAgICAgICAgICAgICBlbHNl IGlmIChwaXhlbF9jbGsgPT0gMjk3MDAwMDAwKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBu ID0gMzA3MjsNCj4gPiAgICAgICAgICAgICAgIGVsc2UNCj4gPiAgICAgICAgICAgICAgICAgICAg ICAgbiA9IDQwOTY7DQo+ID4gICAgICAgICAgICAgICBuICo9IG11bHQ7DQo+ID4gQEAgLTYwMSw2 ICs2MDYsOCBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGhkbWlfY29tcHV0ZV9uKHVuc2lnbmVkIGlu dA0KPiBmcmVxLCB1bnNpZ25lZCBsb25nIHBpeGVsX2NsaykNCj4gPiAgICAgICAgICAgICAgICAg ICAgICAgbiA9IDE3ODM2Ow0KPiA+ICAgICAgICAgICAgICAgZWxzZSBpZiAocGl4ZWxfY2xrID09 IDE0ODM1MjAwMCkNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgbiA9IDg5MTg7DQo+ID4gKyAg ICAgICAgICAgICBlbHNlIGlmIChwaXhlbF9jbGsgPT0gMjk3MDAwMDAwKQ0KPiA+ICsgICAgICAg ICAgICAgICAgICAgICBuID0gNDcwNDsNCj4gPiAgICAgICAgICAgICAgIGVsc2UNCj4gPiAgICAg ICAgICAgICAgICAgICAgICAgbiA9IDYyNzI7DQo+ID4gICAgICAgICAgICAgICBuICo9IG11bHQ7 DQo+ID4gQEAgLTYxNSw2ICs2MjIsOCBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGhkbWlfY29tcHV0 ZV9uKHVuc2lnbmVkIGludA0KPiBmcmVxLCB1bnNpZ25lZCBsb25nIHBpeGVsX2NsaykNCj4gPiAg ICAgICAgICAgICAgICAgICAgICAgbiA9IDExNjQ4Ow0KPiA+ICAgICAgICAgICAgICAgZWxzZSBp ZiAocGl4ZWxfY2xrID09IDE0ODM1MjAwMCkNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgbiA9 IDU4MjQ7DQo+ID4gKyAgICAgICAgICAgICBlbHNlIGlmIChwaXhlbF9jbGsgPT0gMjk3MDAwMDAw KQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBuID0gNTEyMDsNCj4gPiAgICAgICAgICAgICAg IGVsc2UNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgbiA9IDYxNDQ7DQo+ID4gICAgICAgICAg ICAgICBuICo9IG11bHQ7DQo+ID4gQEAgLTY2MCw3ICs2NjksNyBAQCBzdGF0aWMgdm9pZCBoZG1p X3NldF9jbGtfcmVnZW5lcmF0b3Ioc3RydWN0DQo+IGR3X2hkbWkgKmhkbWksDQo+ID4gICAgICAg Y29uZmlnMyA9IGhkbWlfcmVhZGIoaGRtaSwgSERNSV9DT05GSUczX0lEKTsNCj4gPg0KPiA+ICAg ICAgIC8qIE9ubHkgY29tcHV0ZSBDVFMgd2hlbiB1c2luZyBpbnRlcm5hbCBBSEIgYXVkaW8gKi8N Cj4gPiAtICAgICBpZiAoY29uZmlnMyAmIEhETUlfQ09ORklHM19BSEJBVURETUEpIHsNCj4gPiAr ICAgICBpZiAoKGNvbmZpZzMgJiBIRE1JX0NPTkZJRzNfQUhCQVVERE1BKSB8fCAoY29uZmlnMyAm DQo+ID4gKyBIRE1JX0NPTkZJRzNfR1BBVUQpKSB7DQo+IA0KPiBVcGRhdGUgdGhlIGNvbW1lbnQg dG8gaW5jbHVkZSBHUEFVRC4NCkkgd2lsbCB1cGRhdGUgaXQuDQo+IA0KPiA+ICAgICAgICAgICAg ICAgLyoNCj4gPiAgICAgICAgICAgICAgICAqIENvbXB1dGUgdGhlIENUUyB2YWx1ZSBmcm9tIHRo ZSBOIHZhbHVlLiAgTm90ZSB0aGF0DQo+IENUUyBhbmQgTg0KPiA+ICAgICAgICAgICAgICAgICog Y2FuIGJlIHVwIHRvIDIwIGJpdHMgaW4gdG90YWwsIHNvIHdlIG5lZWQgNjQtYml0DQo+ID4gbWF0 aC4gIEFsc28gQEAgLTcwMiw2ICs3MTEsMjIgQEAgc3RhdGljIHZvaWQNCj4gaGRtaV9jbGtfcmVn ZW5lcmF0b3JfdXBkYXRlX3BpeGVsX2Nsb2NrKHN0cnVjdCBkd19oZG1pICpoZG1pKQ0KPiA+ICAg ICAgIG11dGV4X3VubG9jaygmaGRtaS0+YXVkaW9fbXV0ZXgpOw0KPiA+ICAgfQ0KPiA+DQo+ID4g K3ZvaWQgZHdfaGRtaV9zZXRfc2FtcGxlX3dpZHRoKHN0cnVjdCBkd19oZG1pICpoZG1pLCB1bnNp Z25lZCBpbnQNCj4gPiArd2lkdGgpIHsNCj4gPiArICAgICBtdXRleF9sb2NrKCZoZG1pLT5hdWRp b19tdXRleCk7DQo+ID4gKyAgICAgaGRtaS0+c2FtcGxlX3dpZHRoID0gd2lkdGg7DQo+ID4gKyAg ICAgbXV0ZXhfdW5sb2NrKCZoZG1pLT5hdWRpb19tdXRleCk7IH0NCj4gPiArRVhQT1JUX1NZTUJP TF9HUEwoZHdfaGRtaV9zZXRfc2FtcGxlX3dpZHRoKTsNCj4gPiArDQo+ID4gK3ZvaWQgZHdfaGRt aV9zZXRfc2FtcGxlX25vbl9wY20oc3RydWN0IGR3X2hkbWkgKmhkbWksIHVuc2lnbmVkIGludA0K PiA+ICtub25fcGNtKSB7DQo+ID4gKyAgICAgbXV0ZXhfbG9jaygmaGRtaS0+YXVkaW9fbXV0ZXgp Ow0KPiA+ICsgICAgIGhkbWktPnNhbXBsZV9ub25fcGNtID0gbm9uX3BjbTsNCj4gPiArICAgICBt dXRleF91bmxvY2soJmhkbWktPmF1ZGlvX211dGV4KTsgfQ0KPiA+ICtFWFBPUlRfU1lNQk9MX0dQ TChkd19oZG1pX3NldF9zYW1wbGVfbm9uX3BjbSk7DQo+ID4gKw0KPiA+ICAgdm9pZCBkd19oZG1p X3NldF9zYW1wbGVfcmF0ZShzdHJ1Y3QgZHdfaGRtaSAqaGRtaSwgdW5zaWduZWQgaW50DQo+IHJh dGUpDQo+ID4gICB7DQo+ID4gICAgICAgbXV0ZXhfbG9jaygmaGRtaS0+YXVkaW9fbXV0ZXgpOw0K PiA+IEBAIC03MTcsNiArNzQyLDcgQEAgdm9pZCBkd19oZG1pX3NldF9jaGFubmVsX2NvdW50KHN0 cnVjdCBkd19oZG1pDQo+ICpoZG1pLCB1bnNpZ25lZCBpbnQgY250KQ0KPiA+ICAgICAgIHU4IGxh eW91dDsNCj4gPg0KPiA+ICAgICAgIG11dGV4X2xvY2soJmhkbWktPmF1ZGlvX211dGV4KTsNCj4g PiArICAgICBoZG1pLT5jaGFubmVscyA9IGNudDsNCj4gPg0KPiA+ICAgICAgIC8qDQo+ID4gICAg ICAgICogRm9yID4yIGNoYW5uZWwgUENNIGF1ZGlvLCB3ZSBuZWVkIHRvIHNlbGVjdCBsYXlvdXQg MSBAQA0KPiA+IC03NjUsNiArNzkxLDg3IEBAIHN0YXRpYyB1OCAqaGRtaV9hdWRpb19nZXRfZWxk KHN0cnVjdCBkd19oZG1pICpoZG1pKQ0KPiA+ICAgICAgIHJldHVybiBoZG1pLT5jdXJyX2Nvbm4t PmVsZDsNCj4gPiAgIH0NCj4gPg0KPiA+ICtzdGF0aWMgdm9pZCBkd19oZG1pX2dwX2F1ZGlvX2Vu YWJsZShzdHJ1Y3QgZHdfaGRtaSAqaGRtaSkgew0KPiA+ICsgICAgIGludCBzYW1wbGVfZnJlcSA9 IDB4Miwgb3JnX3NhbXBsZV9mcmVxID0gMHhEOw0KPiA+ICsgICAgIGludCBjaF9tYXNrID0gQklU KGhkbWktPmNoYW5uZWxzKSAtIDE7DQo+ID4gKw0KPiA+ICsgICAgIHN3aXRjaCAoaGRtaS0+c2Ft cGxlX3JhdGUpIHsNCj4gPiArICAgICBjYXNlIDMyMDAwOg0KPiA+ICsgICAgICAgICAgICAgc2Ft cGxlX2ZyZXEgPSAweDAzOw0KPiA+ICsgICAgICAgICAgICAgb3JnX3NhbXBsZV9mcmVxID0gMHgw QzsNCj4gPiArICAgICAgICAgICAgIGJyZWFrOw0KPiA+ICsgICAgIGNhc2UgNDQxMDA6DQo+ID4g KyAgICAgICAgICAgICBzYW1wbGVfZnJlcSA9IDB4MDA7DQo+ID4gKyAgICAgICAgICAgICBvcmdf c2FtcGxlX2ZyZXEgPSAweDBGOw0KPiA+ICsgICAgICAgICAgICAgYnJlYWs7DQo+ID4gKyAgICAg Y2FzZSA0ODAwMDoNCj4gPiArICAgICAgICAgICAgIHNhbXBsZV9mcmVxID0gMHgwMjsNCj4gPiAr ICAgICAgICAgICAgIG9yZ19zYW1wbGVfZnJlcSA9IDB4MEQ7DQo+ID4gKyAgICAgICAgICAgICBi cmVhazsNCj4gPiArICAgICBjYXNlIDg4MjAwOg0KPiA+ICsgICAgICAgICAgICAgc2FtcGxlX2Zy ZXEgPSAweDA4Ow0KPiA+ICsgICAgICAgICAgICAgb3JnX3NhbXBsZV9mcmVxID0gMHgwNzsNCj4g PiArICAgICAgICAgICAgIGJyZWFrOw0KPiA+ICsgICAgIGNhc2UgOTYwMDA6DQo+ID4gKyAgICAg ICAgICAgICBzYW1wbGVfZnJlcSA9IDB4MEE7DQo+ID4gKyAgICAgICAgICAgICBvcmdfc2FtcGxl X2ZyZXEgPSAweDA1Ow0KPiA+ICsgICAgICAgICAgICAgYnJlYWs7DQo+ID4gKyAgICAgY2FzZSAx NzY0MDA6DQo+ID4gKyAgICAgICAgICAgICBzYW1wbGVfZnJlcSA9IDB4MEM7DQo+ID4gKyAgICAg ICAgICAgICBvcmdfc2FtcGxlX2ZyZXEgPSAweDAzOw0KPiA+ICsgICAgICAgICAgICAgYnJlYWs7 DQo+ID4gKyAgICAgY2FzZSAxOTIwMDA6DQo+ID4gKyAgICAgICAgICAgICBzYW1wbGVfZnJlcSA9 IDB4MEU7DQo+ID4gKyAgICAgICAgICAgICBvcmdfc2FtcGxlX2ZyZXEgPSAweDAxOw0KPiA+ICsg ICAgICAgICAgICAgYnJlYWs7DQo+ID4gKyAgICAgZGVmYXVsdDoNCj4gPiArICAgICAgICAgICAg IGJyZWFrOw0KPiA+ICsgICAgIH0NCj4gPiArDQo+ID4gKyAgICAgaGRtaV9zZXRfY3RzX24oaGRt aSwgaGRtaS0+YXVkaW9fY3RzLCBoZG1pLT5hdWRpb19uKTsNCj4gPiArICAgICBoZG1pX2VuYWJs ZV9hdWRpb19jbGsoaGRtaSwgdHJ1ZSk7DQo+ID4gKw0KPiA+ICsgICAgIGhkbWlfd3JpdGViKGhk bWksIDB4MSwgSERNSV9GQ19BVURTQ0hOTFMwKTsNCj4gPiArICAgICBoZG1pX3dyaXRlYihoZG1p LCBoZG1pLT5jaGFubmVscywgSERNSV9GQ19BVURTQ0hOTFMyKTsNCj4gPiArICAgICBoZG1pX3dy aXRlYihoZG1pLCAweDIyLCBIRE1JX0ZDX0FVRFNDSE5MUzMpOw0KPiA+ICsgICAgIGhkbWlfd3Jp dGViKGhkbWksIDB4MjIsIEhETUlfRkNfQVVEU0NITkxTNCk7DQo+ID4gKyAgICAgaGRtaV93cml0 ZWIoaGRtaSwgMHgxMSwgSERNSV9GQ19BVURTQ0hOTFM1KTsNCj4gPiArICAgICBoZG1pX3dyaXRl YihoZG1pLCAweDExLCBIRE1JX0ZDX0FVRFNDSE5MUzYpOw0KPiA+ICsgICAgIGhkbWlfd3JpdGVi KGhkbWksICgweDMgPDwgNCkgfCBzYW1wbGVfZnJlcSwNCj4gSERNSV9GQ19BVURTQ0hOTFM3KTsN Cj4gPiArICAgICBoZG1pX3dyaXRlYihoZG1pLCAob3JnX3NhbXBsZV9mcmVxIDw8IDQpIHwgMHhi LA0KPiA+ICsgSERNSV9GQ19BVURTQ0hOTFM4KTsNCj4gPiArDQo+ID4gKyAgICAgaGRtaV93cml0 ZWIoaGRtaSwgY2hfbWFzaywgSERNSV9HUF9DT05GMSk7DQo+ID4gKyAgICAgaGRtaV93cml0ZWIo aGRtaSwgMHgwMiwgSERNSV9HUF9DT05GMik7DQo+ID4gKyAgICAgaGRtaV93cml0ZWIoaGRtaSwg MHgwMSwgSERNSV9HUF9DT05GMCk7DQo+ID4gKw0KPiA+ICsgICAgIGhkbWlfbW9kYihoZG1pLCAg MHgzLCAweDMsIEhETUlfRkNfREFUQVVUTzMpOw0KPiA+ICsNCj4gPiArICAgICAvKiBoYnIgKi8N Cj4gPiArICAgICBpZiAoaGRtaS0+c2FtcGxlX3JhdGUgPT0gMTkyMDAwICYmIGhkbWktPmNoYW5u ZWxzID09IDggJiYNCj4gPiArICAgICAgICAgaGRtaS0+c2FtcGxlX3dpZHRoID09IDMyICYmIGhk bWktPnNhbXBsZV9ub25fcGNtKSB7DQo+ID4gKyAgICAgICAgICAgICBoZG1pX21vZGIoaGRtaSwg MHgwMSwgMHgwMSwgSERNSV9HUF9DT05GMik7DQo+ID4gKyAgICAgfQ0KPiA+ICsNCj4gPiArICAg ICBpZiAoaGRtaS0+cGh5Lm9wcy0+ZW5hYmxlX2F1ZGlvKQ0KPiA+ICsgICAgICAgICAgICAgaGRt aS0+cGh5Lm9wcy0+ZW5hYmxlX2F1ZGlvKGhkbWksIGhkbWktPnBoeS5kYXRhLA0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhkbWktPmNoYW5uZWxzLA0KPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhkbWktPnNhbXBsZV93 aWR0aCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZG1p LT5zYW1wbGVfcmF0ZSwNCj4gPiArDQo+IGhkbWktPnNhbXBsZV9ub25fcGNtKTsgfQ0KPiA+ICsN Cj4gPiArc3RhdGljIHZvaWQgZHdfaGRtaV9ncF9hdWRpb19kaXNhYmxlKHN0cnVjdCBkd19oZG1p ICpoZG1pKSB7DQo+ID4gKyAgICAgaGRtaV9zZXRfY3RzX24oaGRtaSwgaGRtaS0+YXVkaW9fY3Rz LCAwKTsNCj4gPiArDQo+ID4gKyAgICAgaGRtaV9tb2RiKGhkbWksICAwLCAweDMsIEhETUlfRkNf REFUQVVUTzMpOw0KPiA+ICsgICAgIGlmIChoZG1pLT5waHkub3BzLT5kaXNhYmxlX2F1ZGlvKQ0K PiA+ICsgICAgICAgICAgICAgaGRtaS0+cGh5Lm9wcy0+ZGlzYWJsZV9hdWRpbyhoZG1pLCBoZG1p LT5waHkuZGF0YSk7DQo+ID4gKw0KPiA+ICsgICAgIGhkbWlfZW5hYmxlX2F1ZGlvX2NsayhoZG1p LCBmYWxzZSk7IH0NCj4gPiArDQo+ID4gICBzdGF0aWMgdm9pZCBkd19oZG1pX2FoYl9hdWRpb19l bmFibGUoc3RydWN0IGR3X2hkbWkgKmhkbWkpDQo+ID4gICB7DQo+ID4gICAgICAgaGRtaV9zZXRf Y3RzX24oaGRtaSwgaGRtaS0+YXVkaW9fY3RzLCBoZG1pLT5hdWRpb19uKTsgQEANCj4gLTMyNTks Ng0KPiA+ICszMzY2LDcgQEAgc3RydWN0IGR3X2hkbWkgKmR3X2hkbWlfcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZQ0KPiAqcGRldiwNCj4gPiAgICAgICBoZG1pLT5wbGF0X2RhdGEgPSBwbGF0 X2RhdGE7DQo+ID4gICAgICAgaGRtaS0+ZGV2ID0gZGV2Ow0KPiA+ICAgICAgIGhkbWktPnNhbXBs ZV9yYXRlID0gNDgwMDA7DQo+ID4gKyAgICAgaGRtaS0+Y2hhbm5lbHMgPSAyOw0KPiA+ICAgICAg IGhkbWktPmRpc2FibGVkID0gdHJ1ZTsNCj4gPiAgICAgICBoZG1pLT5yeHNlbnNlID0gdHJ1ZTsN Cj4gPiAgICAgICBoZG1pLT5waHlfbWFzayA9ICh1OCl+KEhETUlfUEhZX0hQRCB8IEhETUlfUEhZ X1JYX1NFTlNFKTsNCj4gQEANCj4gPiAtMzQ4Miw2ICszNTkwLDI0IEBAIHN0cnVjdCBkd19oZG1p ICpkd19oZG1pX3Byb2JlKHN0cnVjdA0KPiBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsDQo+ID4gICAg ICAgICAgICAgICBwZGV2aW5mby5zaXplX2RhdGEgPSBzaXplb2YoYXVkaW8pOw0KPiA+ICAgICAg ICAgICAgICAgcGRldmluZm8uZG1hX21hc2sgPSBETUFfQklUX01BU0soMzIpOw0KPiA+ICAgICAg ICAgICAgICAgaGRtaS0+YXVkaW8gPSBwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXJfZnVsbCgmcGRl dmluZm8pOw0KPiA+ICsgICAgIH0gZWxzZSBpZiAoaW9yZXMgJiYgY29uZmlnMyAmIEhETUlfQ09O RklHM19HUEFVRCkgew0KPiA+ICsgICAgICAgICAgICAgc3RydWN0IGR3X2hkbWlfYXVkaW9fZGF0 YSBhdWRpbzsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICBhdWRpby5waHlzID0gaW9yZXMtPnN0 YXJ0Ow0KPiA+ICsgICAgICAgICAgICAgYXVkaW8uYmFzZSA9IGhkbWktPnJlZ3M7DQo+ID4gKyAg ICAgICAgICAgICBhdWRpby5pcnEgPSBpcnE7DQo+ID4gKyAgICAgICAgICAgICBhdWRpby5oZG1p ID0gaGRtaTsNCj4gPiArICAgICAgICAgICAgIGF1ZGlvLmdldF9lbGQgPSBoZG1pX2F1ZGlvX2dl dF9lbGQ7DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAgaGRtaS0+ZW5hYmxlX2F1ZGlvID0gZHdf aGRtaV9ncF9hdWRpb19lbmFibGU7DQo+ID4gKyAgICAgICAgICAgICBoZG1pLT5kaXNhYmxlX2F1 ZGlvID0gZHdfaGRtaV9ncF9hdWRpb19kaXNhYmxlOw0KPiA+ICsNCj4gPiArICAgICAgICAgICAg IHBkZXZpbmZvLm5hbWUgPSAiZHctaGRtaS1ncC1hdWRpbyI7DQo+ID4gKyAgICAgICAgICAgICBw ZGV2aW5mby5pZCA9IFBMQVRGT1JNX0RFVklEX05PTkU7DQo+ID4gKyAgICAgICAgICAgICBwZGV2 aW5mby5kYXRhID0gJmF1ZGlvOw0KPiA+ICsgICAgICAgICAgICAgcGRldmluZm8uc2l6ZV9kYXRh ID0gc2l6ZW9mKGF1ZGlvKTsNCj4gPiArICAgICAgICAgICAgIHBkZXZpbmZvLmRtYV9tYXNrID0g RE1BX0JJVF9NQVNLKDMyKTsNCj4gPiArICAgICAgICAgICAgIGhkbWktPmF1ZGlvID0gcGxhdGZv cm1fZGV2aWNlX3JlZ2lzdGVyX2Z1bGwoJnBkZXZpbmZvKTsNCj4gPiAgICAgICB9DQo+ID4NCj4g PiAgICAgICBpZiAoIXBsYXRfZGF0YS0+ZGlzYWJsZV9jZWMgJiYgKGNvbmZpZzAgJiBIRE1JX0NP TkZJRzBfQ0VDKSkgew0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5 bm9wc3lzL2R3LWhkbWkuaA0KPiA+IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9k dy1oZG1pLmgNCj4gPiBpbmRleCAxOTk5ZGIwNWJjM2IuLjk5YWExYzAzMzQzYiAxMDA2NDQNCj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuaA0KPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5oDQo+ID4gQEAgLTE1 OCw4ICsxNTgsMTcgQEANCj4gPiAgICNkZWZpbmUgSERNSV9GQ19TUERERVZJQ0VJTkYgICAgICAg ICAgICAgICAgICAgIDB4MTA2Mg0KPiA+ICAgI2RlZmluZSBIRE1JX0ZDX0FVRFNDT05GICAgICAg ICAgICAgICAgICAgICAgICAgMHgxMDYzDQo+ID4gICAjZGVmaW5lIEhETUlfRkNfQVVEU1NUQVQg ICAgICAgICAgICAgICAgICAgICAgICAweDEwNjQNCj4gPiAtI2RlZmluZSBIRE1JX0ZDX0FVRFND SE5MUzcgICAgICAgICAgICAgICAgICAgICAgMHgxMDZlDQo+ID4gLSNkZWZpbmUgSERNSV9GQ19B VURTQ0hOTFM4ICAgICAgICAgICAgICAgICAgICAgIDB4MTA2Zg0KPiA+ICsjZGVmaW5lIEhETUlf RkNfQVVEU1YgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwNjUNCj4gPiArI2RlZmluZSBI RE1JX0ZDX0FVRFNVICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMDY2DQo+ID4gKyNkZWZp bmUgSERNSV9GQ19BVURTQ0hOTFMwICAgICAgICAgICAgICAgICAgICAgICAweDEwNjcNCj4gPiAr I2RlZmluZSBIRE1JX0ZDX0FVRFNDSE5MUzEgICAgICAgICAgICAgICAgICAgICAgIDB4MTA2OA0K PiA+ICsjZGVmaW5lIEhETUlfRkNfQVVEU0NITkxTMiAgICAgICAgICAgICAgICAgICAgICAgMHgx MDY5DQo+ID4gKyNkZWZpbmUgSERNSV9GQ19BVURTQ0hOTFMzICAgICAgICAgICAgICAgICAgICAg ICAweDEwNkENCj4gPiArI2RlZmluZSBIRE1JX0ZDX0FVRFNDSE5MUzQgICAgICAgICAgICAgICAg ICAgICAgIDB4MTA2Qg0KPiA+ICsjZGVmaW5lIEhETUlfRkNfQVVEU0NITkxTNSAgICAgICAgICAg ICAgICAgICAgICAgMHgxMDZDDQo+ID4gKyNkZWZpbmUgSERNSV9GQ19BVURTQ0hOTFM2ICAgICAg ICAgICAgICAgICAgICAgICAweDEwNkQNCj4gPiArI2RlZmluZSBIRE1JX0ZDX0FVRFNDSE5MUzcg ICAgICAgICAgICAgICAgICAgICAgIDB4MTA2RQ0KPiA+ICsjZGVmaW5lIEhETUlfRkNfQVVEU0NI TkxTOCAgICAgICAgICAgICAgICAgICAgICAgMHgxMDZGDQo+ID4gICAjZGVmaW5lIEhETUlfRkNf REFUQUNIMEZJTEwgICAgICAgICAgICAgICAgICAgICAweDEwNzANCj4gPiAgICNkZWZpbmUgSERN SV9GQ19EQVRBQ0gxRklMTCAgICAgICAgICAgICAgICAgICAgIDB4MTA3MQ0KPiA+ICAgI2RlZmlu ZSBIRE1JX0ZDX0RBVEFDSDJGSUxMICAgICAgICAgICAgICAgICAgICAgMHgxMDcyDQo+ID4gZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2JyaWRnZS9kd19oZG1pLmgNCj4gPiBiL2luY2x1ZGUvZHJt L2JyaWRnZS9kd19oZG1pLmggaW5kZXggNzAwODJmODBhOGM4Li43ZjczYzMzOThhNTQNCj4gMTAw NjQ0DQo+ID4gLS0tIGEvaW5jbHVkZS9kcm0vYnJpZGdlL2R3X2hkbWkuaA0KPiA+ICsrKyBiL2lu Y2x1ZGUvZHJtL2JyaWRnZS9kd19oZG1pLmgNCj4gPiBAQCAtMTIxLDYgKzEyMSw5IEBAIHN0cnVj dCBkd19oZG1pX3BoeV9vcHMgew0KPiA+ICAgICAgIHZvaWQgKCp1cGRhdGVfaHBkKShzdHJ1Y3Qg ZHdfaGRtaSAqaGRtaSwgdm9pZCAqZGF0YSwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg Ym9vbCBmb3JjZSwgYm9vbCBkaXNhYmxlZCwgYm9vbCByeHNlbnNlKTsNCj4gPiAgICAgICB2b2lk ICgqc2V0dXBfaHBkKShzdHJ1Y3QgZHdfaGRtaSAqaGRtaSwgdm9pZCAqZGF0YSk7DQo+ID4gKyAg ICAgdm9pZCAoKmVuYWJsZV9hdWRpbykoc3RydWN0IGR3X2hkbWkgKmhkbWksIHZvaWQgKmRhdGEs IGludCBjaGFubmVsLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwg aW50IHJhdGUsIGludCBub25fcGNtKTsNCj4gPiArICAgICB2b2lkICgqZGlzYWJsZV9hdWRpbyko c3RydWN0IGR3X2hkbWkgKmhkbWksIHZvaWQgKmRhdGEpOw0KPiA+ICAgfTsNCj4gPg0KPiA+ICAg c3RydWN0IGR3X2hkbWlfcGxhdF9kYXRhIHsNCj4gPiBAQCAtMTczLDYgKzE3Niw4IEBAIHZvaWQg ZHdfaGRtaV9zZXR1cF9yeF9zZW5zZShzdHJ1Y3QgZHdfaGRtaQ0KPiAqaGRtaSwNCj4gPiBib29s IGhwZCwgYm9vbCByeF9zZW5zZSk7DQo+ID4NCj4gPiAgIGludCBkd19oZG1pX3NldF9wbHVnZ2Vk X2NiKHN0cnVjdCBkd19oZG1pICpoZG1pLA0KPiBoZG1pX2NvZGVjX3BsdWdnZWRfY2IgZm4sDQo+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkZXZpY2UgKmNvZGVjX2Rldik7DQo+ ID4gK3ZvaWQgZHdfaGRtaV9zZXRfc2FtcGxlX25vbl9wY20oc3RydWN0IGR3X2hkbWkgKmhkbWks IHVuc2lnbmVkIGludA0KPiA+ICtub25fcGNtKTsgdm9pZCBkd19oZG1pX3NldF9zYW1wbGVfd2lk dGgoc3RydWN0IGR3X2hkbWkgKmhkbWksDQo+ID4gK3Vuc2lnbmVkIGludCB3aWR0aCk7DQo+ID4g ICB2b2lkIGR3X2hkbWlfc2V0X3NhbXBsZV9yYXRlKHN0cnVjdCBkd19oZG1pICpoZG1pLCB1bnNp Z25lZCBpbnQNCj4gcmF0ZSk7DQo+ID4gICB2b2lkIGR3X2hkbWlfc2V0X2NoYW5uZWxfY291bnQo c3RydWN0IGR3X2hkbWkgKmhkbWksIHVuc2lnbmVkIGludA0KPiBjbnQpOw0KPiA+ICAgdm9pZCBk d19oZG1pX3NldF9jaGFubmVsX3N0YXR1cyhzdHJ1Y3QgZHdfaGRtaSAqaGRtaSwgdTgNCj4gPiAq Y2hhbm5lbF9zdGF0dXMpOw0KPiANCj4gVGhhbmtzLA0KPiBOZWlsDQoNClRoYW5rcywNClNhbmRv cg0K 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 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BB99FC433F5 for ; Thu, 7 Apr 2022 08:31:48 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 10EA610E9FA; Thu, 7 Apr 2022 08:31:48 +0000 (UTC) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-eopbgr130081.outbound.protection.outlook.com [40.107.13.81]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5472710E9FC for ; Thu, 7 Apr 2022 08:31:46 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EhNfvQsF1y9ZIcptZwptXpzw0XbbIydkD277aefQfX3YCFtFtuUtY4LdNEvXKWsUe95AB6x8auLT2IGzSganWAxYYSNC5u77gpyT9xY/l2ZpCw3SNwVgQ3yg83067EQZifZwaiQq/29ZUB5gQhMZjwx1w6KHRv05auPYdYMCHQkeCDFGfHHwA/lAyG2s9lAdRuLFamz4oxkv+YlBwelaQsGFpJAAh7GJj/EcrHfuU0LLMdPOVVbnO1ztM2To8rgE4NW+Iq4LmUpUNcTMU8ezjasCSyT7wAyvqRcW5Wqc2agOY5hVqy02kTaYul/slSgc/0zS3Ksnr57qz5rHOwshUA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BRs2IAa7SuOdrE3Mok686PRqZTWPzyiS/50TwsmWL/I=; b=l5aI9rjtdj5GHEv+TQ6ofjqqe8KwvWiNOJK8nNKOukd4qIAUBmMNT0Z1DB1ak9qrTaDvR0wkbV2pffz9K1wq4bnpvX7G9HiqB/1yUGg/C/FNTHtOqlYrS4gaHpEOlVaFKLi6MOEP3yQlvDQsMoJHgYnZ547uJq0/upbQ8WszNv5uAKtnJDqde1a5XStouBScs3aoLM57CtAb5RtJEq8hJSxzeUPmqOCn5LR/O5z3X5Sdtux0c7296GqtI56XmNYU9pljXBolBGCjT9wyOiFoHaAR2G44Mo1hjkaujnuIJrzWTtuuyzCTsfEZdwTVYkffQ5RuyHZ1TEdQ2IqIznSsKw== 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=BRs2IAa7SuOdrE3Mok686PRqZTWPzyiS/50TwsmWL/I=; b=rsAlXuWhWSdt55e4rJQwnUALTk7zjeFyYg+picu0o/+Zvk9XRGSl9BkamZQ4dArpY5ClDSqfi9X3h5HIixfT/0P1242QDMhrDG7QDSREoUhTLSJuiwVmo0EhL5u9boLhX3PiutaZ4hMljtJ+i2oPAHdxVh4p8XkXLbq2hnJh7fA= Received: from DB7PR04MB5450.eurprd04.prod.outlook.com (2603:10a6:10:86::11) by AM0PR04MB6753.eurprd04.prod.outlook.com (2603:10a6:208:169::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.19; Thu, 7 Apr 2022 08:31:43 +0000 Received: from DB7PR04MB5450.eurprd04.prod.outlook.com ([fe80::dcb:d345:1503:d921]) by DB7PR04MB5450.eurprd04.prod.outlook.com ([fe80::dcb:d345:1503:d921%7]) with mapi id 15.20.5144.022; Thu, 7 Apr 2022 08:31:43 +0000 From: Sandor Yu To: Neil Armstrong , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "andrzej.hajda@intel.com" , "robert.foss@linaro.org" , "Laurent.pinchart@ideasonboard.com" , "jonas@kwiboo.se" , "jernej.skrabec@gmail.com" Subject: RE: [EXT] Re: [PATCH v1 5/5] drm: bridge: dw_hdmi: Audio: Add General Parallel Audio (GPA) driver Thread-Topic: [EXT] Re: [PATCH v1 5/5] drm: bridge: dw_hdmi: Audio: Add General Parallel Audio (GPA) driver Thread-Index: AQHYSZHzAsqZpEq9SE2eaVOjb3OiNqzingQAgAF3nVA= Date: Thu, 7 Apr 2022 08:31:42 +0000 Message-ID: References: <224e9fec-2fab-b818-0b30-e3d83c7fd4be@baylibre.com> In-Reply-To: <224e9fec-2fab-b818-0b30-e3d83c7fd4be@baylibre.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 969e2f3a-eb1a-4926-23ad-08da18710b9a x-ms-traffictypediagnostic: AM0PR04MB6753:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: lFZxZFUQWbElnx1HSzspHdSSSFfLSilv6s0M2Tw1Vuir4qmtvBkW9lAOkktt5+haHITxY27HLiCDUZR4IK6k5hGL0ru5FphrwZsBKjs1VGTnT9ubmcTPHlfxhl3g5ffx6Citxuw6sFJMuMYR7whgLIE8RPWTraNk122PU9nVzSM2UeKeUshr1Sa/OmsgxgkN63cfIpS+1d08NFj03zKwJBZGqRqY+4WFqQjEAHcN7sb82VMwCPXXJfCBE1l87QY/ZmeeYyn4k9E7cqsSlUroCWynle5FE0hhiB+nrmYvLcM/8Ikcn/W44nh6NdVIHVpbm4+t1/EyVVE2DYePymcPrQSPtqqsPTiL7zolSEtXMFl9VvmD+1WdeHSjPzJFnw0xkg4uUdoh/dC9Oi0dDRDh8TErARRU1/Hfqb65lJ/06LLl4CGwaxjmJME/6YZ5IksUQoGPYqiazSZV0kuIWoWOmFQbTFJ2QGPiS3QMJXd8wgY+U/q3MsKc4bNbCRI8lJDrtQb+/qNYZ7t435ZrHig2P7oCt1MhP5R0R2MIk7LIoac0CM/msQHFiOCQwqia7DPqbhGk0zow+JmZ9l8L00hOF/0xEoS2gadyUw4hX6osHY31858p/moGQyLSsr7UxYM+jJaVG/H2MKrftWT5nk1zvdyY/bqREXbK0q3/Hf2igoKC8IB33595mqQ2Z/8ejrTDdwe0p/6kRjgr8IB/rIISGg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR04MB5450.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(5660300002)(33656002)(186003)(55016003)(508600001)(110136005)(83380400001)(316002)(54906003)(7696005)(2906002)(64756008)(7416002)(71200400001)(66446008)(66476007)(6506007)(9686003)(53546011)(52536014)(8936002)(30864003)(76116006)(66946007)(44832011)(86362001)(66556008)(26005)(4326008)(38100700002)(8676002)(38070700005)(122000001)(579004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MVV0elduUDFQTTE2TWJWTU9FSVIwZHVSNjdLdEMrWGt0YXVtZUQxeXVCeVlY?= =?utf-8?B?YjhwVU45dXNMVFZ2RHdiMVBDS3VTWHZ4ZkFFMmw0OWRpTnRORDNJVDNrOFVq?= =?utf-8?B?SzhObjRvL1FMV3BZRXNuaUdGNGlhUCtkV2hzSXlMMXRnbGtpMW1qRFAvSW5n?= =?utf-8?B?UmdVV2VMVS8wcWhwWXpyeDBvazVRVU15akMxV2kvZXdYVTNlK2k2UVR0OFBJ?= =?utf-8?B?N3JpbzlVZ3FlYURZNUZ5WE9SOEc1TXZMNzBDOU1ES2RYY2FtWmtRTHp5Vnp2?= =?utf-8?B?cjZYOG5YRlhPR1VPUEJDZEFsQWZiQTJNUlZpRC90TzJFbzhCYXYrWU1oYVow?= =?utf-8?B?L1hQUWFFV1EyWFkzb2l5elRnMGoySWI4MmhibTFtUzlwK0F1WnlhYzg4Y21L?= =?utf-8?B?dUxJVGdkY1lXU1gvcXdNUHZIdWh1ejE3NnNhY0h5RXUvWlRWTlY5alZ3ZXNU?= =?utf-8?B?UmYvTXNLMC9rVEdCUTlxRTJhS3U3OURFdmx2UlRFSWFPM09wQTJmSzB1anFi?= =?utf-8?B?RnBxcnZxcVBKSjlzT0dDY2ozOVBPOHdMN1lEcThKdXFWK1dja1g1Qm94QlhC?= =?utf-8?B?L2dhZmVjZUthWmNnTDl2NG9NWkVuR1JZNUIyNWk3alljSnY2L0s5djM1aGhz?= =?utf-8?B?UlA4MXFGUWpMbDZRVnVEOXpYQ21NQWM2UW9zWUtwWGVLcm8zbk5PcTFUUFZI?= =?utf-8?B?ODFEQytuMlF6VlZ1T253RWExY1loWkdmTVJVTG5XQXB4dXlMU0JYMi9qUEp0?= =?utf-8?B?WlF6UzIwZW9TdWRkWm1JbGZkU25XYjhLaXBOYkwraUo4SDg4TUtYSW5iK1Fz?= =?utf-8?B?SGp1RTFGOUNWcmZVUHZMeXhEOWdWMG9jdldoTzQzQ2VDVlNibkdJd0VUdGpL?= =?utf-8?B?MllGdXFBWGlCMTd4a0pka2pYYWx2RlBTUlQ1R05KdlNpSEt1S2U4SzJDMHpp?= =?utf-8?B?a1Z3Z3lpUmFWV05PZEpRR04wN3M0cy9CNTQwNmpMejdZNEM2MlpwR2JrV2F5?= =?utf-8?B?N1BCdlEzN0NFOXk3am9FdkZ3V09uaFlNQkxDN2RnZ0NTM0YvU0RsdVhZazg1?= =?utf-8?B?RzB4MmxhMm1ESEpxRjJYOVZFM3FBSlMxL3BPak5hR3J0aUZaT3NpbHdhQVE4?= =?utf-8?B?MHhvak91bmhRTkc2ZWlpUjFDK0huMXVFVXBZa21jRS9XcVRacTY3eVgzRTVs?= =?utf-8?B?cGNKUXp0TjYxRFdheWRyWVBqTVZYQXJvY3NtNGlVMm1lZjRCK3NFYjJ1UWJz?= =?utf-8?B?T2ZSbnVyY2xKWi9mRFRUbE8rMXBvOUFiRmtXRVNSNU5UaE1OZFJtTE9HTXZy?= =?utf-8?B?bXVxNU53MkU1RmxCc0NjQnd6OVpmcTZyWkdXTkR4M25wK0V2Mkpxc0NuQTRs?= =?utf-8?B?amlKSDc4MGxySTJ3cWZBTkdONFFyRjRmclYwMUYwUHZCdnJQdmYxT3RLQzF6?= =?utf-8?B?ajZMZXlMQS9ocktIekdhRXhRSys3VWhZNklJZ2h5Sk5qOFh4bCtybkxEc05z?= =?utf-8?B?emI3ZGpNMkRzd1JqeklMTFM1UklDN2VRZ04wS3V6cllkTmFvamJUZ1g5Sm9v?= =?utf-8?B?aTA0TTg3UU9ZZEljdDRZOHh6dHhLOGVxTldwM1hMUXptMXcwOHR3NFRQeUpM?= =?utf-8?B?MDhHaHlGT1Z2RG9hbmJMNzYxNlloQk1LY3lhcG9LOVI1cVRrL21OV3Z6S09h?= =?utf-8?B?L21JbFB6c0NQcFJpR2dKeFhZRThDZzgwV3hzaGtIWUIwaXJWZVBTbXZ2WDFv?= =?utf-8?B?R1RocVZxTHlhRi9yT0FscWJvU1JSUk4rQnNOYzJ4Kzlub2RqbDVBOXMxalZU?= =?utf-8?B?bVVtb0ZJa1JNeTJWYVU4OXVxRWhNa01pRUZNVENHTGhhYkY0NjJTUGZuOEc1?= =?utf-8?B?MWJKVlhNQ0xMTm5Qb3FTVE5wT2l6NlNBeTdYbU12OTltNkdvV0h6RUNnbnVy?= =?utf-8?B?RmdPTk5tdEZ4L0FPM1Bsc3J4aEhnbmVNalF5TzNpZWhwU1NFL0lhWU9RNFRi?= =?utf-8?B?QWVxTUNjUDZOeGV4UWJoamJPWVZQS0paVG9UeGlFQVBKcklHbHRkVEoyZzFX?= =?utf-8?B?bHRRckhLYVZwVUM3ckJ2RVpaZjloQ3Mxelh6Q1p0T0laLzdPQStKWEdVRk1a?= =?utf-8?B?SmovTFdNNVRUdUlCZHlVelV1N2dJZWk5WExtRWlFTW5KZW5IRW0zeFJBNExw?= =?utf-8?B?dVA2YVJ2bTl6RFc5cFk2ZjVjWEljeWR4NTJWejFMVlBrM0t2VUVTeFoycTRR?= =?utf-8?B?QnRuVlBmaVN2Z052cXR4VENlRFl5Z20zWjRReXN3dzZ2cTF4dWtpLzArVzZF?= =?utf-8?B?OTg5eGdpc01tOWNZQU91WlJnOVhvallJbHNWUHVWMmhCN1k4Vm1OZz09?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB7PR04MB5450.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 969e2f3a-eb1a-4926-23ad-08da18710b9a X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Apr 2022 08:31:43.0118 (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: XgHfFGCyQhXYKFg8FQYXmH1U6rTIGCJxm6FOOkUvgHNUBVj0uWNgP2Rs4uj77MXHzd5aPTihxDbxmswZ3a0Hdw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6753 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "S.J. Wang" , "amuel@sholland.org" , "cai.huoqing@linux.dev" , "maxime@cerno.tech" , "hverkuil-cisco@xs4all.nl" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTmVpbCBBcm1zdHJv bmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPg0KPiBTZW50OiAyMDIy5bm0NOaciDbml6UgMTc6 MjgNCj4gVG86IFNhbmRvciBZdSA8c2FuZG9yLnl1QG54cC5jb20+OyBkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnOw0KPiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBhbmRyemVq LmhhamRhQGludGVsLmNvbTsNCj4gcm9iZXJ0LmZvc3NAbGluYXJvLm9yZzsgTGF1cmVudC5waW5j aGFydEBpZGVhc29uYm9hcmQuY29tOw0KPiBqb25hc0Brd2lib28uc2U7IGplcm5lai5za3JhYmVj QGdtYWlsLmNvbQ0KPiBDYzogUy5KLiBXYW5nIDxzaGVuZ2ppdS53YW5nQG54cC5jb20+OyBjYWku aHVvcWluZ0BsaW51eC5kZXY7DQo+IG1heGltZUBjZXJuby50ZWNoOyBoYXJyeS53ZW50bGFuZEBh bWQuY29tOyBodmVya3VpbC1jaXNjb0B4czRhbGwubmw7DQo+IGFtdWVsQHNob2xsYW5kLm9yZw0K PiBTdWJqZWN0OiBbRVhUXSBSZTogW1BBVENIIHYxIDUvNV0gZHJtOiBicmlkZ2U6IGR3X2hkbWk6 IEF1ZGlvOiBBZGQgR2VuZXJhbA0KPiBQYXJhbGxlbCBBdWRpbyAoR1BBKSBkcml2ZXINCj4gDQo+ IENhdXRpb246IEVYVCBFbWFpbA0KPiANCj4gSGksDQo+IA0KPiBPbiAwNi8wNC8yMDIyIDEwOjQ4 LCBTYW5kb3IueXVAbnhwLmNvbSB3cm90ZToNCj4gPiBGcm9tOiBTYW5kb3IgWXUgPFNhbmRvci55 dUBueHAuY29tPg0KPiA+DQo+ID4gR2VuZXJhbCBQYXJhbGxlbCBBdWRpbyAoR1BBKSBpbnRlcmZh Y2UgaXMgb25lIG9mIHRoZSBzdXBwb3J0ZWQgYXVkaW8NCj4gPiBpbnRlcmZhY2UgZm9yIHN5bm9w c3lzIEhETUkgbW9kdWxlLCB3aGljaCBoYXMgdmVyaWZpZWQgZm9yIGkuTVg4TVANCj4gPiBwbGF0 Zm9ybS4NCj4gPiBUaGlzIGlzIGluaXRpYWwgdmVyc2lvbiBmb3IgR1BBLg0KPiA+DQo+ID4gU2ln bmVkLW9mZi1ieTogU2hlbmdqaXUgV2FuZyA8c2hlbmdqaXUud2FuZ0BueHAuY29tPg0KPiA+IFNp Z25lZC1vZmYtYnk6IFNhbmRvciBZdSA8U2FuZG9yLnl1QG54cC5jb20+DQo+ID4gLS0tDQo+ID4g ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL0tjb25maWcgICAgICAgfCAgMTEgKw0K PiA+ICAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9NYWtlZmlsZSAgICAgIHwgICAx ICsNCj4gPiAgIC4uLi9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWktZ3AtYXVkaW8uYyAgICB8 IDE5OQ0KPiArKysrKysrKysrKysrKysrKysNCj4gPiAgIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv c3lub3BzeXMvZHctaGRtaS5jICAgICB8IDEyOCArKysrKysrKysrLQ0KPiA+ICAgZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmggICAgIHwgIDEzICstDQo+ID4gICBpbmNs dWRlL2RybS9icmlkZ2UvZHdfaGRtaS5oICAgICAgICAgICAgICAgICAgfCAgIDUgKw0KPiA+ICAg NiBmaWxlcyBjaGFuZ2VkLCAzNTQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4gPiAg IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+IGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMv ZHctaGRtaS1ncC1hdWRpby5jDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9zeW5vcHN5cy9LY29uZmlnDQo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5 bm9wc3lzL0tjb25maWcNCj4gPiBpbmRleCAyMWExYmUzY2VkMGYuLmUzOThiNThjOTk2ZCAxMDA2 NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL0tjb25maWcNCj4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL0tjb25maWcNCj4gPiBAQCAt MjUsNiArMjUsMTcgQEAgY29uZmlnIERSTV9EV19IRE1JX0kyU19BVURJTw0KPiA+ICAgICAgICAg U3VwcG9ydCB0aGUgSTJTIEF1ZGlvIGludGVyZmFjZSB3aGljaCBpcyBwYXJ0IG9mIHRoZSBTeW5v cHN5cw0KPiA+ICAgICAgICAgRGVzaWdud2FyZSBIRE1JIGJsb2NrLg0KPiA+DQo+ID4gK2NvbmZp ZyBEUk1fRFdfSERNSV9HUF9BVURJTw0KPiA+ICsgICAgIHRyaXN0YXRlICJTeW5vcHN5cyBEZXNp Z253YXJlIEdQIEF1ZGlvIGludGVyZmFjZSINCj4gPiArICAgICBkZXBlbmRzIG9uIERSTV9EV19I RE1JICYmIFNORA0KPiA+ICsgICAgIHNlbGVjdCBTTkRfUENNDQo+ID4gKyAgICAgc2VsZWN0IFNO RF9QQ01fRUxEDQo+ID4gKyAgICAgc2VsZWN0IFNORF9QQ01fSUVDOTU4DQo+ID4gKyAgICAgaGVs cA0KPiA+ICsgICAgICAgU3VwcG9ydCB0aGUgR1AgQXVkaW8gaW50ZXJmYWNlIHdoaWNoIGlzIHBh cnQgb2YgdGhlIFN5bm9wc3lzDQo+ID4gKyAgICAgICBEZXNpZ253YXJlIEhETUkgYmxvY2suICBU aGlzIGlzIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aA0KPiA+ICsgICAgICAgdGhlIGkuTVg4NjUg SERNSSBkcml2ZXIuDQo+IA0KPiBXaGF0IGRvZXMgdGhhdCBtZWFuID8gaXQgY2FuIG9ubHkgYmUg dXNlZCB3aXRoIGkuTVg4NjUgSERNSSBkcml2ZXIgPw0KPiBJZiBub3QsIHJlbW92ZSByZWZlcmVu Y2UgdG8gaS5NWDg2NSBIRE1JIGRyaXZlci4NCj4gDQpHUCBhdWRpbyBkcml2ZXIgY291bGQgYmUg dXNlZCBmb3IgZGlmZmVyZW50IFNPQ3MsIGkuTVg4NjUgc3BlY2lmaWMgZGVzY3JpcHRpb24gd2ls bCBiZSByZW1vdmVkLg0KPiA+ICsNCj4gPiAgIGNvbmZpZyBEUk1fRFdfSERNSV9DRUMNCj4gPiAg ICAgICB0cmlzdGF0ZSAiU3lub3BzaXMgRGVzaWdud2FyZSBDRUMgaW50ZXJmYWNlIg0KPiA+ICAg ICAgIGRlcGVuZHMgb24gRFJNX0RXX0hETUkNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9zeW5vcHN5cy9NYWtlZmlsZQ0KPiA+IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9zeW5vcHN5cy9NYWtlZmlsZQ0KPiA+IGluZGV4IDkxZDc0NmFkNWRlMS4uY2U3MTU1NjJlOWU1 IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvTWFrZWZp bGUNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL01ha2VmaWxlDQo+ ID4gQEAgLTEsNiArMSw3IEBADQo+ID4gICAjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt Mi4wLW9ubHkNCj4gPiAgIG9iai0kKENPTkZJR19EUk1fRFdfSERNSSkgKz0gZHctaGRtaS5vDQo+ ID4gICBvYmotJChDT05GSUdfRFJNX0RXX0hETUlfQUhCX0FVRElPKSArPSBkdy1oZG1pLWFoYi1h dWRpby5vDQo+ID4gK29iai0kKENPTkZJR19EUk1fRFdfSERNSV9HUF9BVURJTykgKz0gZHctaGRt aS1ncC1hdWRpby5vDQo+ID4gICBvYmotJChDT05GSUdfRFJNX0RXX0hETUlfSTJTX0FVRElPKSAr PSBkdy1oZG1pLWkycy1hdWRpby5vDQo+ID4gICBvYmotJChDT05GSUdfRFJNX0RXX0hETUlfQ0VD KSArPSBkdy1oZG1pLWNlYy5vDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLWdwLWF1ZGlvLmMNCj4gPiBiL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS1ncC1hdWRpby5jDQo+ID4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLjEwYTk1N2M4NWE4Mw0KPiA+IC0tLSAvZGV2 L251bGwNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkt Z3AtYXVkaW8uYw0KPiA+IEBAIC0wLDAgKzEsMTk5IEBADQo+ID4gKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiAoR1BMLTIuMCsgT1IgTUlUKQ0KPiA+ICsvKg0KPiA+ICsgKiBkdy1oZG1pLWdw LWF1ZGlvLmMNCj4gPiArICoNCj4gPiArICogQ29weXJpZ2h0IDIwMjAtMjAyMiBOWFANCj4gPiAr ICovDQo+ID4gKyNpbmNsdWRlIDxsaW51eC9pby5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvaW50 ZXJydXB0Lmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4NCj4gPiArI2luY2x1ZGUg PGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvZG1hZW5naW5l Lmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPg0KPiA+ICsjaW5jbHVkZSA8 ZHJtL2JyaWRnZS9kd19oZG1pLmg+DQo+ID4gKyNpbmNsdWRlIDxkcm0vZHJtX2VkaWQuaD4NCj4g PiArI2luY2x1ZGUgPGRybS9kcm1fY29ubmVjdG9yLmg+DQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8 c291bmQvaGRtaS1jb2RlYy5oPg0KPiA+ICsjaW5jbHVkZSA8c291bmQvYXNvdW5kZWYuaD4NCj4g PiArI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4NCj4gPiArI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwu aD4NCj4gPiArI2luY2x1ZGUgPHNvdW5kL3BjbS5oPg0KPiA+ICsjaW5jbHVkZSA8c291bmQvcGNt X2RybV9lbGQuaD4NCj4gPiArI2luY2x1ZGUgPHNvdW5kL3BjbV9pZWM5NTguaD4NCj4gPiArI2lu Y2x1ZGUgPHNvdW5kL2RtYWVuZ2luZV9wY20uaD4NCj4gPiArDQo+ID4gKyNpbmNsdWRlICJkdy1o ZG1pLWF1ZGlvLmgiDQo+ID4gKw0KPiA+ICsjZGVmaW5lIERSSVZFUl9OQU1FICJkdy1oZG1pLWdw LWF1ZGlvIg0KPiA+ICsjZGVmaW5lIERSVl9OQU1FICAgICJoZG1pLWdwLWF1ZGlvIg0KPiA+ICsN Cj4gPiArc3RydWN0IHNuZF9kd19oZG1pIHsNCj4gPiArICAgICBzdHJ1Y3QgZHdfaGRtaV9hdWRp b19kYXRhIGRhdGE7DQo+ID4gKyAgICAgc3RydWN0IHBsYXRmb3JtX2RldmljZSAgKmF1ZGlvX3Bk ZXY7DQo+ID4gKyAgICAgdW5zaWduZWQgaW50IHBvczsNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0 cnVjdCBkd19oZG1pX2NoYW5uZWxfY29uZiB7DQo+ID4gKyAgICAgdTggY29uZjE7DQo+ID4gKyAg ICAgdTggY2E7DQo+ID4gK307DQo+ID4gKw0KPiA+ICsvKg0KPiA+ICsgKiBUaGUgZGVmYXVsdCBt YXBwaW5nIG9mIEFMU0EgY2hhbm5lbHMgdG8gSERNSSBjaGFubmVscyBhbmQgc3BlYWtlcg0KPiA+ ICsgKiBhbGxvY2F0aW9uIGJpdHMuICBOb3RlIHRoYXQgd2UgY2FuJ3QgZG8gY2hhbm5lbCByZW1h cHBpbmcgaGVyZSAtDQo+ID4gKyAqIGNoYW5uZWxzIG11c3QgYmUgaW4gdGhlIHNhbWUgb3JkZXIu DQo+ID4gKyAqDQo+ID4gKyAqIE1hcHBpbmdzIGZvciBhbHNhLWxpYiBwY20vc3Vycm91bmQqLmNv bmYgZmlsZXM6DQo+ID4gKyAqDQo+ID4gKyAqICAgICAgICAgICBGcm9udCAgIFN1cjQuMCAgU3Vy NC4xICBTdXI1LjAgIFN1cjUuMSAgU3VyNy4xDQo+ID4gKyAqIENoYW5uZWxzICAyICAgICAgIDQg ICAgICAgNiAgICAgICA2ICAgICAgIDYgICAgICAgOA0KPiA+ICsgKg0KPiA+ICsgKiBPdXIgbWFw cGluZyBmcm9tIEFMU0EgY2hhbm5lbCB0byBDRUE2ODZEIHNwZWFrZXIgbmFtZSBhbmQgSERNSQ0K PiBjaGFubmVsOg0KPiA+ICsgKg0KPiA+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIE51 bWJlciBvZiBBTFNBIGNoYW5uZWxzDQo+ID4gKyAqIEFMU0EgQ2hhbm5lbCAgICAgIDIgICAgICAg MyAgICAgICA0ICAgICAgIDUgICAgICAgNiAgICAgICA3DQo+IDgNCj4gPiArICogMCAgICAgICAg IEZMOjAgICAgPSAgICAgICA9ICAgICAgID0gICAgICAgPSAgICAgICA9DQo+ID0NCj4gPiArICog MSAgICAgICAgIEZSOjEgICAgPSAgICAgICA9ICAgICAgID0gICAgICAgPSAgICAgICA9DQo+ID0N Cj4gPiArICogMiAgICAgICAgICAgICAgICAgRkM6MyAgICBSTDo0ICAgIExGRToyICAgPSAgICAg ICA9ICAgICAgID0NCj4gPiArICogMyAgICAgICAgICAgICAgICAgICAgICAgICBSUjo1ICAgIFJM OjQgICAgRkM6MyAgICA9ICAgICAgID0NCj4gPiArICogNCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJSOjUgICAgUkw6NCAgICA9DQo+ID0NCj4gPiArICogNSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUlI6NSAgICA9DQo+ID0NCj4gPiArICogNiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQzo2DQo+ID0NCj4g PiArICogNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS TEMvRlJDDQo+IFJMQy9GUkMNCj4gPiArICovDQo+ID4gK3N0YXRpYyBzdHJ1Y3QgZHdfaGRtaV9j aGFubmVsX2NvbmYgZGVmYXVsdF9oZG1pX2NoYW5uZWxfY29uZmlnWzddID0gew0KPiA+ICsgICAg IHsgMHgwMywgMHgwMCB9LCAvKiBGTCxGUiAqLw0KPiA+ICsgICAgIHsgMHgwYiwgMHgwMiB9LCAv KiBGTCxGUixGQyAqLw0KPiA+ICsgICAgIHsgMHgzMywgMHgwOCB9LCAvKiBGTCxGUixSTCxSUiAq Lw0KPiA+ICsgICAgIHsgMHgzNywgMHgwOSB9LCAvKiBGTCxGUixMRkUsUkwsUlIgKi8NCj4gPiAr ICAgICB7IDB4M2YsIDB4MGIgfSwgLyogRkwsRlIsTEZFLEZDLFJMLFJSICovDQo+ID4gKyAgICAg eyAweDdmLCAweDBmIH0sIC8qIEZMLEZSLExGRSxGQyxSTCxSUixSQyAqLw0KPiA+ICsgICAgIHsg MHhmZiwgMHgxMyB9LCAvKiBGTCxGUixMRkUsRkMsUkwsUlIsW0ZSXVJDLFtGUl1MQyAqLyB9Ow0K PiA+ICsNCj4gPiArc3RhdGljIGludCBhdWRpb19od19wYXJhbXMoc3RydWN0IGRldmljZSAqZGV2 LCAgdm9pZCAqZGF0YSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGhkbWlf Y29kZWNfZGFpZm10ICpkYWlmbXQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBoZG1pX2NvZGVjX3BhcmFtcyAqcGFyYW1zKSB7DQo+ID4gKyAgICAgc3RydWN0IHNuZF9kd19o ZG1pICpkdyA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsgICAgIGludCByZXQgPSAwOw0K PiA+ICsgICAgIHU4IGNhOw0KPiA+ICsNCj4gPiArICAgICBkd19oZG1pX3NldF9zYW1wbGVfcmF0 ZShkdy0+ZGF0YS5oZG1pLCBwYXJhbXMtPnNhbXBsZV9yYXRlKTsNCj4gPiArDQo+ID4gKyAgICAg Y2EgPSBkZWZhdWx0X2hkbWlfY2hhbm5lbF9jb25maWdbcGFyYW1zLT5jaGFubmVscyAtIDJdLmNh Ow0KPiA+ICsNCj4gPiArICAgICBkd19oZG1pX3NldF9jaGFubmVsX2NvdW50KGR3LT5kYXRhLmhk bWksIHBhcmFtcy0+Y2hhbm5lbHMpOw0KPiA+ICsgICAgIGR3X2hkbWlfc2V0X2NoYW5uZWxfYWxs b2NhdGlvbihkdy0+ZGF0YS5oZG1pLCBjYSk7DQo+ID4gKw0KPiA+ICsgICAgIGR3X2hkbWlfc2V0 X3NhbXBsZV9ub25fcGNtKGR3LT5kYXRhLmhkbWksDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGFyYW1zLT5pZWMuc3RhdHVzWzBdICYNCj4gSUVDOTU4X0FFUzBfTk9OQVVE SU8pOw0KPiA+ICsgICAgIGR3X2hkbWlfc2V0X3NhbXBsZV93aWR0aChkdy0+ZGF0YS5oZG1pLA0K PiBwYXJhbXMtPnNhbXBsZV93aWR0aCk7DQo+ID4gKw0KPiA+ICsgICAgIHJldHVybiByZXQ7DQo+ ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyB2b2lkIGF1ZGlvX3NodXRkb3duKHN0cnVjdCBkZXZp Y2UgKmRldiwgdm9pZCAqZGF0YSkgeyB9DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50IGF1ZGlvX211 dGVfc3RyZWFtKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgYm9vbCBlbmFibGUsIGludCBkaXJlY3Rpb24pIHsNCj4gPiArICAg ICBzdHJ1Y3Qgc25kX2R3X2hkbWkgKmR3ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKyAg ICAgaW50IHJldCA9IDA7DQo+ID4gKw0KPiA+ICsgICAgIGlmICghZW5hYmxlKQ0KPiA+ICsgICAg ICAgICAgICAgZHdfaGRtaV9hdWRpb19lbmFibGUoZHctPmRhdGEuaGRtaSk7DQo+ID4gKyAgICAg ZWxzZQ0KPiA+ICsgICAgICAgICAgICAgZHdfaGRtaV9hdWRpb19kaXNhYmxlKGR3LT5kYXRhLmhk bWkpOw0KPiA+ICsNCj4gPiArICAgICByZXR1cm4gcmV0Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICtz dGF0aWMgaW50IGF1ZGlvX2dldF9lbGQoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkICpkYXRhLA0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgdTggKmJ1Ziwgc2l6ZV90IGxlbikgew0KPiA+ICsg ICAgIHN0cnVjdCBkd19oZG1pX2F1ZGlvX2RhdGEgKmF1ZGlvID0gZGF0YTsNCj4gPiArICAgICB1 OCAqZWxkOw0KPiA+ICsNCj4gPiArICAgICBlbGQgPSBhdWRpby0+Z2V0X2VsZChhdWRpby0+aGRt aSk7DQo+ID4gKyAgICAgaWYgKGVsZCkNCj4gPiArICAgICAgICAgICAgIG1lbWNweShidWYsIGVs ZCwgbWluX3Qoc2l6ZV90LCBNQVhfRUxEX0JZVEVTLCBsZW4pKTsNCj4gPiArICAgICBlbHNlDQo+ ID4gKyAgICAgICAgICAgICAvKiBQYXNzIGVuIGVtcHR5IEVMRCBpZiBjb25uZWN0b3Igbm90IGF2 YWlsYWJsZSAqLw0KPiA+ICsgICAgICAgICAgICAgbWVtc2V0KGJ1ZiwgMCwgbGVuKTsNCj4gPiAr DQo+ID4gKyAgICAgcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyBpbnQgYXVk aW9faG9va19wbHVnZ2VkX2NiKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGRtaV9jb2RlY19wbHVnZ2VkX2NiIGZuLA0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZGV2aWNlICpjb2RlY19k ZXYpIHsNCj4gPiArICAgICBzdHJ1Y3Qgc25kX2R3X2hkbWkgKmR3ID0gZGV2X2dldF9kcnZkYXRh KGRldik7DQo+ID4gKw0KPiA+ICsgICAgIHJldHVybiBkd19oZG1pX3NldF9wbHVnZ2VkX2NiKGR3 LT5kYXRhLmhkbWksIGZuLCBjb2RlY19kZXYpOyB9DQo+ID4gKw0KPiA+ICtzdGF0aWMgY29uc3Qg c3RydWN0IGhkbWlfY29kZWNfb3BzIGF1ZGlvX2NvZGVjX29wcyA9IHsNCj4gPiArICAgICAuaHdf cGFyYW1zID0gYXVkaW9faHdfcGFyYW1zLA0KPiA+ICsgICAgIC5hdWRpb19zaHV0ZG93biA9IGF1 ZGlvX3NodXRkb3duLA0KPiA+ICsgICAgIC5tdXRlX3N0cmVhbSA9IGF1ZGlvX211dGVfc3RyZWFt LA0KPiA+ICsgICAgIC5nZXRfZWxkID0gYXVkaW9fZ2V0X2VsZCwNCj4gPiArICAgICAuaG9va19w bHVnZ2VkX2NiID0gYXVkaW9faG9va19wbHVnZ2VkX2NiLCB9Ow0KPiA+ICsNCj4gPiArc3RhdGlj IGludCBzbmRfZHdfaGRtaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KSB7DQo+ ID4gKyAgICAgc3RydWN0IGR3X2hkbWlfYXVkaW9fZGF0YSAqZGF0YSA9IHBkZXYtPmRldi5wbGF0 Zm9ybV9kYXRhOw0KPiA+ICsgICAgIHN0cnVjdCBzbmRfZHdfaGRtaSAqZHc7DQo+ID4gKw0KPiA+ ICsgICAgIGNvbnN0IHN0cnVjdCBoZG1pX2NvZGVjX3BkYXRhIGNvZGVjX2RhdGEgPSB7DQo+ID4g KyAgICAgICAgICAgICAuaTJzID0gMSwNCj4gPiArICAgICAgICAgICAgIC5zcGRpZiA9IDAsDQo+ ID4gKyAgICAgICAgICAgICAub3BzID0gJmF1ZGlvX2NvZGVjX29wcywNCj4gPiArICAgICAgICAg ICAgIC5tYXhfaTJzX2NoYW5uZWxzID0gOCwNCj4gPiArICAgICAgICAgICAgIC5kYXRhID0gZGF0 YSwNCj4gPiArICAgICB9Ow0KPiA+ICsNCj4gPiArICAgICBkdyA9IGRldm1fa3phbGxvYygmcGRl di0+ZGV2LCBzaXplb2YoKmR3KSwgR0ZQX0tFUk5FTCk7DQo+ID4gKyAgICAgaWYgKCFkdykNCj4g PiArICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KPiA+ICsNCj4gPiArICAgICBkdy0+ZGF0 YSA9ICpkYXRhOw0KPiA+ICsNCj4gPiArICAgICBwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBk dyk7DQo+ID4gKw0KPiA+ICsgICAgIGR3LT5hdWRpb19wZGV2ID0gcGxhdGZvcm1fZGV2aWNlX3Jl Z2lzdGVyX2RhdGEoJnBkZXYtPmRldiwNCj4gPiArDQo+IEhETUlfQ09ERUNfRFJWX05BTUUsIDEs DQo+ID4gKw0KPiAmY29kZWNfZGF0YSwNCj4gPiArDQo+ID4gKyBzaXplb2YoY29kZWNfZGF0YSkp Ow0KPiA+ICsNCj4gPiArICAgICByZXR1cm4gUFRSX0VSUl9PUl9aRVJPKGR3LT5hdWRpb19wZGV2 KTsgfQ0KPiA+ICsNCj4gPiArc3RhdGljIGludCBzbmRfZHdfaGRtaV9yZW1vdmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikgew0KPiA+ICsgICAgIHN0cnVjdCBzbmRfZHdfaGRtaSAqZHcg PSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsNCj4gPiArDQo+ID4gKyAgICAgcGxhdGZvcm1f ZGV2aWNlX3VucmVnaXN0ZXIoZHctPmF1ZGlvX3BkZXYpOw0KPiA+ICsNCj4gPiArICAgICByZXR1 cm4gMDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIg c25kX2R3X2hkbWlfZHJpdmVyID0gew0KPiA+ICsgICAgIC5wcm9iZSAgPSBzbmRfZHdfaGRtaV9w cm9iZSwNCj4gPiArICAgICAucmVtb3ZlID0gc25kX2R3X2hkbWlfcmVtb3ZlLA0KPiA+ICsgICAg IC5kcml2ZXIgPSB7DQo+ID4gKyAgICAgICAgICAgICAubmFtZSA9IERSSVZFUl9OQU1FLA0KPiA+ ICsgICAgIH0sDQo+ID4gK307DQo+ID4gKw0KPiA+ICttb2R1bGVfcGxhdGZvcm1fZHJpdmVyKHNu ZF9kd19oZG1pX2RyaXZlcik7DQo+ID4gKw0KPiA+ICtNT0RVTEVfQVVUSE9SKCJTaGVuZ2ppdSBX YW5nIDxzaGVuZ2ppdS53YW5nQG54cC5jb20+Iik7DQo+ID4gK01PRFVMRV9ERVNDUklQVElPTigi U3lub3BzaXMgRGVzaWdud2FyZSBIRE1JIEdQQSBBTFNBDQo+IGludGVyZmFjZSIpOw0KPiA+ICtN T0RVTEVfTElDRU5TRSgiR1BMIik7IE1PRFVMRV9BTElBUygicGxhdGZvcm06IiBEUklWRVJfTkFN RSk7DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHct aGRtaS5jDQo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYw0K PiA+IGluZGV4IGM2ZTcwMWFjZDQxNi4uMTM4NWQ4Zjc4NzBlIDEwMDY0NA0KPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jDQo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMNCj4gPiBAQCAtMTkxLDcgKzE5MSwx MCBAQCBzdHJ1Y3QgZHdfaGRtaSB7DQo+ID4NCj4gPiAgICAgICBzcGlubG9ja190IGF1ZGlvX2xv Y2s7DQo+ID4gICAgICAgc3RydWN0IG11dGV4IGF1ZGlvX211dGV4Ow0KPiA+ICsgICAgIHVuc2ln bmVkIGludCBzYW1wbGVfbm9uX3BjbTsNCj4gPiArICAgICB1bnNpZ25lZCBpbnQgc2FtcGxlX3dp ZHRoOw0KPiA+ICAgICAgIHVuc2lnbmVkIGludCBzYW1wbGVfcmF0ZTsNCj4gPiArICAgICB1bnNp Z25lZCBpbnQgY2hhbm5lbHM7DQo+ID4gICAgICAgdW5zaWduZWQgaW50IGF1ZGlvX2N0czsNCj4g PiAgICAgICB1bnNpZ25lZCBpbnQgYXVkaW9fbjsNCj4gPiAgICAgICBib29sIGF1ZGlvX2VuYWJs ZTsNCj4gPiBAQCAtNTg5LDYgKzU5Miw4IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgaGRtaV9jb21w dXRlX24odW5zaWduZWQgaW50DQo+IGZyZXEsIHVuc2lnbmVkIGxvbmcgcGl4ZWxfY2xrKQ0KPiA+ ICAgICAgICAgICAgICAgICAgICAgICBuID0gNDA5NjsNCj4gPiAgICAgICAgICAgICAgIGVsc2Ug aWYgKHBpeGVsX2NsayA9PSA3NDE3NjAwMCB8fCBwaXhlbF9jbGsgPT0gMTQ4MzUyMDAwKQ0KPiA+ ICAgICAgICAgICAgICAgICAgICAgICBuID0gMTE2NDg7DQo+ID4gKyAgICAgICAgICAgICBlbHNl IGlmIChwaXhlbF9jbGsgPT0gMjk3MDAwMDAwKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBu ID0gMzA3MjsNCj4gPiAgICAgICAgICAgICAgIGVsc2UNCj4gPiAgICAgICAgICAgICAgICAgICAg ICAgbiA9IDQwOTY7DQo+ID4gICAgICAgICAgICAgICBuICo9IG11bHQ7DQo+ID4gQEAgLTYwMSw2 ICs2MDYsOCBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGhkbWlfY29tcHV0ZV9uKHVuc2lnbmVkIGlu dA0KPiBmcmVxLCB1bnNpZ25lZCBsb25nIHBpeGVsX2NsaykNCj4gPiAgICAgICAgICAgICAgICAg ICAgICAgbiA9IDE3ODM2Ow0KPiA+ICAgICAgICAgICAgICAgZWxzZSBpZiAocGl4ZWxfY2xrID09 IDE0ODM1MjAwMCkNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgbiA9IDg5MTg7DQo+ID4gKyAg ICAgICAgICAgICBlbHNlIGlmIChwaXhlbF9jbGsgPT0gMjk3MDAwMDAwKQ0KPiA+ICsgICAgICAg ICAgICAgICAgICAgICBuID0gNDcwNDsNCj4gPiAgICAgICAgICAgICAgIGVsc2UNCj4gPiAgICAg ICAgICAgICAgICAgICAgICAgbiA9IDYyNzI7DQo+ID4gICAgICAgICAgICAgICBuICo9IG11bHQ7 DQo+ID4gQEAgLTYxNSw2ICs2MjIsOCBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGhkbWlfY29tcHV0 ZV9uKHVuc2lnbmVkIGludA0KPiBmcmVxLCB1bnNpZ25lZCBsb25nIHBpeGVsX2NsaykNCj4gPiAg ICAgICAgICAgICAgICAgICAgICAgbiA9IDExNjQ4Ow0KPiA+ICAgICAgICAgICAgICAgZWxzZSBp ZiAocGl4ZWxfY2xrID09IDE0ODM1MjAwMCkNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgbiA9 IDU4MjQ7DQo+ID4gKyAgICAgICAgICAgICBlbHNlIGlmIChwaXhlbF9jbGsgPT0gMjk3MDAwMDAw KQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBuID0gNTEyMDsNCj4gPiAgICAgICAgICAgICAg IGVsc2UNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgbiA9IDYxNDQ7DQo+ID4gICAgICAgICAg ICAgICBuICo9IG11bHQ7DQo+ID4gQEAgLTY2MCw3ICs2NjksNyBAQCBzdGF0aWMgdm9pZCBoZG1p X3NldF9jbGtfcmVnZW5lcmF0b3Ioc3RydWN0DQo+IGR3X2hkbWkgKmhkbWksDQo+ID4gICAgICAg Y29uZmlnMyA9IGhkbWlfcmVhZGIoaGRtaSwgSERNSV9DT05GSUczX0lEKTsNCj4gPg0KPiA+ICAg ICAgIC8qIE9ubHkgY29tcHV0ZSBDVFMgd2hlbiB1c2luZyBpbnRlcm5hbCBBSEIgYXVkaW8gKi8N Cj4gPiAtICAgICBpZiAoY29uZmlnMyAmIEhETUlfQ09ORklHM19BSEJBVURETUEpIHsNCj4gPiAr ICAgICBpZiAoKGNvbmZpZzMgJiBIRE1JX0NPTkZJRzNfQUhCQVVERE1BKSB8fCAoY29uZmlnMyAm DQo+ID4gKyBIRE1JX0NPTkZJRzNfR1BBVUQpKSB7DQo+IA0KPiBVcGRhdGUgdGhlIGNvbW1lbnQg dG8gaW5jbHVkZSBHUEFVRC4NCkkgd2lsbCB1cGRhdGUgaXQuDQo+IA0KPiA+ICAgICAgICAgICAg ICAgLyoNCj4gPiAgICAgICAgICAgICAgICAqIENvbXB1dGUgdGhlIENUUyB2YWx1ZSBmcm9tIHRo ZSBOIHZhbHVlLiAgTm90ZSB0aGF0DQo+IENUUyBhbmQgTg0KPiA+ICAgICAgICAgICAgICAgICog Y2FuIGJlIHVwIHRvIDIwIGJpdHMgaW4gdG90YWwsIHNvIHdlIG5lZWQgNjQtYml0DQo+ID4gbWF0 aC4gIEFsc28gQEAgLTcwMiw2ICs3MTEsMjIgQEAgc3RhdGljIHZvaWQNCj4gaGRtaV9jbGtfcmVn ZW5lcmF0b3JfdXBkYXRlX3BpeGVsX2Nsb2NrKHN0cnVjdCBkd19oZG1pICpoZG1pKQ0KPiA+ICAg ICAgIG11dGV4X3VubG9jaygmaGRtaS0+YXVkaW9fbXV0ZXgpOw0KPiA+ICAgfQ0KPiA+DQo+ID4g K3ZvaWQgZHdfaGRtaV9zZXRfc2FtcGxlX3dpZHRoKHN0cnVjdCBkd19oZG1pICpoZG1pLCB1bnNp Z25lZCBpbnQNCj4gPiArd2lkdGgpIHsNCj4gPiArICAgICBtdXRleF9sb2NrKCZoZG1pLT5hdWRp b19tdXRleCk7DQo+ID4gKyAgICAgaGRtaS0+c2FtcGxlX3dpZHRoID0gd2lkdGg7DQo+ID4gKyAg ICAgbXV0ZXhfdW5sb2NrKCZoZG1pLT5hdWRpb19tdXRleCk7IH0NCj4gPiArRVhQT1JUX1NZTUJP TF9HUEwoZHdfaGRtaV9zZXRfc2FtcGxlX3dpZHRoKTsNCj4gPiArDQo+ID4gK3ZvaWQgZHdfaGRt aV9zZXRfc2FtcGxlX25vbl9wY20oc3RydWN0IGR3X2hkbWkgKmhkbWksIHVuc2lnbmVkIGludA0K PiA+ICtub25fcGNtKSB7DQo+ID4gKyAgICAgbXV0ZXhfbG9jaygmaGRtaS0+YXVkaW9fbXV0ZXgp Ow0KPiA+ICsgICAgIGhkbWktPnNhbXBsZV9ub25fcGNtID0gbm9uX3BjbTsNCj4gPiArICAgICBt dXRleF91bmxvY2soJmhkbWktPmF1ZGlvX211dGV4KTsgfQ0KPiA+ICtFWFBPUlRfU1lNQk9MX0dQ TChkd19oZG1pX3NldF9zYW1wbGVfbm9uX3BjbSk7DQo+ID4gKw0KPiA+ICAgdm9pZCBkd19oZG1p X3NldF9zYW1wbGVfcmF0ZShzdHJ1Y3QgZHdfaGRtaSAqaGRtaSwgdW5zaWduZWQgaW50DQo+IHJh dGUpDQo+ID4gICB7DQo+ID4gICAgICAgbXV0ZXhfbG9jaygmaGRtaS0+YXVkaW9fbXV0ZXgpOw0K PiA+IEBAIC03MTcsNiArNzQyLDcgQEAgdm9pZCBkd19oZG1pX3NldF9jaGFubmVsX2NvdW50KHN0 cnVjdCBkd19oZG1pDQo+ICpoZG1pLCB1bnNpZ25lZCBpbnQgY250KQ0KPiA+ICAgICAgIHU4IGxh eW91dDsNCj4gPg0KPiA+ICAgICAgIG11dGV4X2xvY2soJmhkbWktPmF1ZGlvX211dGV4KTsNCj4g PiArICAgICBoZG1pLT5jaGFubmVscyA9IGNudDsNCj4gPg0KPiA+ICAgICAgIC8qDQo+ID4gICAg ICAgICogRm9yID4yIGNoYW5uZWwgUENNIGF1ZGlvLCB3ZSBuZWVkIHRvIHNlbGVjdCBsYXlvdXQg MSBAQA0KPiA+IC03NjUsNiArNzkxLDg3IEBAIHN0YXRpYyB1OCAqaGRtaV9hdWRpb19nZXRfZWxk KHN0cnVjdCBkd19oZG1pICpoZG1pKQ0KPiA+ICAgICAgIHJldHVybiBoZG1pLT5jdXJyX2Nvbm4t PmVsZDsNCj4gPiAgIH0NCj4gPg0KPiA+ICtzdGF0aWMgdm9pZCBkd19oZG1pX2dwX2F1ZGlvX2Vu YWJsZShzdHJ1Y3QgZHdfaGRtaSAqaGRtaSkgew0KPiA+ICsgICAgIGludCBzYW1wbGVfZnJlcSA9 IDB4Miwgb3JnX3NhbXBsZV9mcmVxID0gMHhEOw0KPiA+ICsgICAgIGludCBjaF9tYXNrID0gQklU KGhkbWktPmNoYW5uZWxzKSAtIDE7DQo+ID4gKw0KPiA+ICsgICAgIHN3aXRjaCAoaGRtaS0+c2Ft cGxlX3JhdGUpIHsNCj4gPiArICAgICBjYXNlIDMyMDAwOg0KPiA+ICsgICAgICAgICAgICAgc2Ft cGxlX2ZyZXEgPSAweDAzOw0KPiA+ICsgICAgICAgICAgICAgb3JnX3NhbXBsZV9mcmVxID0gMHgw QzsNCj4gPiArICAgICAgICAgICAgIGJyZWFrOw0KPiA+ICsgICAgIGNhc2UgNDQxMDA6DQo+ID4g KyAgICAgICAgICAgICBzYW1wbGVfZnJlcSA9IDB4MDA7DQo+ID4gKyAgICAgICAgICAgICBvcmdf c2FtcGxlX2ZyZXEgPSAweDBGOw0KPiA+ICsgICAgICAgICAgICAgYnJlYWs7DQo+ID4gKyAgICAg Y2FzZSA0ODAwMDoNCj4gPiArICAgICAgICAgICAgIHNhbXBsZV9mcmVxID0gMHgwMjsNCj4gPiAr ICAgICAgICAgICAgIG9yZ19zYW1wbGVfZnJlcSA9IDB4MEQ7DQo+ID4gKyAgICAgICAgICAgICBi cmVhazsNCj4gPiArICAgICBjYXNlIDg4MjAwOg0KPiA+ICsgICAgICAgICAgICAgc2FtcGxlX2Zy ZXEgPSAweDA4Ow0KPiA+ICsgICAgICAgICAgICAgb3JnX3NhbXBsZV9mcmVxID0gMHgwNzsNCj4g PiArICAgICAgICAgICAgIGJyZWFrOw0KPiA+ICsgICAgIGNhc2UgOTYwMDA6DQo+ID4gKyAgICAg ICAgICAgICBzYW1wbGVfZnJlcSA9IDB4MEE7DQo+ID4gKyAgICAgICAgICAgICBvcmdfc2FtcGxl X2ZyZXEgPSAweDA1Ow0KPiA+ICsgICAgICAgICAgICAgYnJlYWs7DQo+ID4gKyAgICAgY2FzZSAx NzY0MDA6DQo+ID4gKyAgICAgICAgICAgICBzYW1wbGVfZnJlcSA9IDB4MEM7DQo+ID4gKyAgICAg ICAgICAgICBvcmdfc2FtcGxlX2ZyZXEgPSAweDAzOw0KPiA+ICsgICAgICAgICAgICAgYnJlYWs7 DQo+ID4gKyAgICAgY2FzZSAxOTIwMDA6DQo+ID4gKyAgICAgICAgICAgICBzYW1wbGVfZnJlcSA9 IDB4MEU7DQo+ID4gKyAgICAgICAgICAgICBvcmdfc2FtcGxlX2ZyZXEgPSAweDAxOw0KPiA+ICsg ICAgICAgICAgICAgYnJlYWs7DQo+ID4gKyAgICAgZGVmYXVsdDoNCj4gPiArICAgICAgICAgICAg IGJyZWFrOw0KPiA+ICsgICAgIH0NCj4gPiArDQo+ID4gKyAgICAgaGRtaV9zZXRfY3RzX24oaGRt aSwgaGRtaS0+YXVkaW9fY3RzLCBoZG1pLT5hdWRpb19uKTsNCj4gPiArICAgICBoZG1pX2VuYWJs ZV9hdWRpb19jbGsoaGRtaSwgdHJ1ZSk7DQo+ID4gKw0KPiA+ICsgICAgIGhkbWlfd3JpdGViKGhk bWksIDB4MSwgSERNSV9GQ19BVURTQ0hOTFMwKTsNCj4gPiArICAgICBoZG1pX3dyaXRlYihoZG1p LCBoZG1pLT5jaGFubmVscywgSERNSV9GQ19BVURTQ0hOTFMyKTsNCj4gPiArICAgICBoZG1pX3dy aXRlYihoZG1pLCAweDIyLCBIRE1JX0ZDX0FVRFNDSE5MUzMpOw0KPiA+ICsgICAgIGhkbWlfd3Jp dGViKGhkbWksIDB4MjIsIEhETUlfRkNfQVVEU0NITkxTNCk7DQo+ID4gKyAgICAgaGRtaV93cml0 ZWIoaGRtaSwgMHgxMSwgSERNSV9GQ19BVURTQ0hOTFM1KTsNCj4gPiArICAgICBoZG1pX3dyaXRl YihoZG1pLCAweDExLCBIRE1JX0ZDX0FVRFNDSE5MUzYpOw0KPiA+ICsgICAgIGhkbWlfd3JpdGVi KGhkbWksICgweDMgPDwgNCkgfCBzYW1wbGVfZnJlcSwNCj4gSERNSV9GQ19BVURTQ0hOTFM3KTsN Cj4gPiArICAgICBoZG1pX3dyaXRlYihoZG1pLCAob3JnX3NhbXBsZV9mcmVxIDw8IDQpIHwgMHhi LA0KPiA+ICsgSERNSV9GQ19BVURTQ0hOTFM4KTsNCj4gPiArDQo+ID4gKyAgICAgaGRtaV93cml0 ZWIoaGRtaSwgY2hfbWFzaywgSERNSV9HUF9DT05GMSk7DQo+ID4gKyAgICAgaGRtaV93cml0ZWIo aGRtaSwgMHgwMiwgSERNSV9HUF9DT05GMik7DQo+ID4gKyAgICAgaGRtaV93cml0ZWIoaGRtaSwg MHgwMSwgSERNSV9HUF9DT05GMCk7DQo+ID4gKw0KPiA+ICsgICAgIGhkbWlfbW9kYihoZG1pLCAg MHgzLCAweDMsIEhETUlfRkNfREFUQVVUTzMpOw0KPiA+ICsNCj4gPiArICAgICAvKiBoYnIgKi8N Cj4gPiArICAgICBpZiAoaGRtaS0+c2FtcGxlX3JhdGUgPT0gMTkyMDAwICYmIGhkbWktPmNoYW5u ZWxzID09IDggJiYNCj4gPiArICAgICAgICAgaGRtaS0+c2FtcGxlX3dpZHRoID09IDMyICYmIGhk bWktPnNhbXBsZV9ub25fcGNtKSB7DQo+ID4gKyAgICAgICAgICAgICBoZG1pX21vZGIoaGRtaSwg MHgwMSwgMHgwMSwgSERNSV9HUF9DT05GMik7DQo+ID4gKyAgICAgfQ0KPiA+ICsNCj4gPiArICAg ICBpZiAoaGRtaS0+cGh5Lm9wcy0+ZW5hYmxlX2F1ZGlvKQ0KPiA+ICsgICAgICAgICAgICAgaGRt aS0+cGh5Lm9wcy0+ZW5hYmxlX2F1ZGlvKGhkbWksIGhkbWktPnBoeS5kYXRhLA0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhkbWktPmNoYW5uZWxzLA0KPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhkbWktPnNhbXBsZV93 aWR0aCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZG1p LT5zYW1wbGVfcmF0ZSwNCj4gPiArDQo+IGhkbWktPnNhbXBsZV9ub25fcGNtKTsgfQ0KPiA+ICsN Cj4gPiArc3RhdGljIHZvaWQgZHdfaGRtaV9ncF9hdWRpb19kaXNhYmxlKHN0cnVjdCBkd19oZG1p ICpoZG1pKSB7DQo+ID4gKyAgICAgaGRtaV9zZXRfY3RzX24oaGRtaSwgaGRtaS0+YXVkaW9fY3Rz LCAwKTsNCj4gPiArDQo+ID4gKyAgICAgaGRtaV9tb2RiKGhkbWksICAwLCAweDMsIEhETUlfRkNf REFUQVVUTzMpOw0KPiA+ICsgICAgIGlmIChoZG1pLT5waHkub3BzLT5kaXNhYmxlX2F1ZGlvKQ0K PiA+ICsgICAgICAgICAgICAgaGRtaS0+cGh5Lm9wcy0+ZGlzYWJsZV9hdWRpbyhoZG1pLCBoZG1p LT5waHkuZGF0YSk7DQo+ID4gKw0KPiA+ICsgICAgIGhkbWlfZW5hYmxlX2F1ZGlvX2NsayhoZG1p LCBmYWxzZSk7IH0NCj4gPiArDQo+ID4gICBzdGF0aWMgdm9pZCBkd19oZG1pX2FoYl9hdWRpb19l bmFibGUoc3RydWN0IGR3X2hkbWkgKmhkbWkpDQo+ID4gICB7DQo+ID4gICAgICAgaGRtaV9zZXRf Y3RzX24oaGRtaSwgaGRtaS0+YXVkaW9fY3RzLCBoZG1pLT5hdWRpb19uKTsgQEANCj4gLTMyNTks Ng0KPiA+ICszMzY2LDcgQEAgc3RydWN0IGR3X2hkbWkgKmR3X2hkbWlfcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZQ0KPiAqcGRldiwNCj4gPiAgICAgICBoZG1pLT5wbGF0X2RhdGEgPSBwbGF0 X2RhdGE7DQo+ID4gICAgICAgaGRtaS0+ZGV2ID0gZGV2Ow0KPiA+ICAgICAgIGhkbWktPnNhbXBs ZV9yYXRlID0gNDgwMDA7DQo+ID4gKyAgICAgaGRtaS0+Y2hhbm5lbHMgPSAyOw0KPiA+ICAgICAg IGhkbWktPmRpc2FibGVkID0gdHJ1ZTsNCj4gPiAgICAgICBoZG1pLT5yeHNlbnNlID0gdHJ1ZTsN Cj4gPiAgICAgICBoZG1pLT5waHlfbWFzayA9ICh1OCl+KEhETUlfUEhZX0hQRCB8IEhETUlfUEhZ X1JYX1NFTlNFKTsNCj4gQEANCj4gPiAtMzQ4Miw2ICszNTkwLDI0IEBAIHN0cnVjdCBkd19oZG1p ICpkd19oZG1pX3Byb2JlKHN0cnVjdA0KPiBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsDQo+ID4gICAg ICAgICAgICAgICBwZGV2aW5mby5zaXplX2RhdGEgPSBzaXplb2YoYXVkaW8pOw0KPiA+ICAgICAg ICAgICAgICAgcGRldmluZm8uZG1hX21hc2sgPSBETUFfQklUX01BU0soMzIpOw0KPiA+ICAgICAg ICAgICAgICAgaGRtaS0+YXVkaW8gPSBwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXJfZnVsbCgmcGRl dmluZm8pOw0KPiA+ICsgICAgIH0gZWxzZSBpZiAoaW9yZXMgJiYgY29uZmlnMyAmIEhETUlfQ09O RklHM19HUEFVRCkgew0KPiA+ICsgICAgICAgICAgICAgc3RydWN0IGR3X2hkbWlfYXVkaW9fZGF0 YSBhdWRpbzsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICBhdWRpby5waHlzID0gaW9yZXMtPnN0 YXJ0Ow0KPiA+ICsgICAgICAgICAgICAgYXVkaW8uYmFzZSA9IGhkbWktPnJlZ3M7DQo+ID4gKyAg ICAgICAgICAgICBhdWRpby5pcnEgPSBpcnE7DQo+ID4gKyAgICAgICAgICAgICBhdWRpby5oZG1p ID0gaGRtaTsNCj4gPiArICAgICAgICAgICAgIGF1ZGlvLmdldF9lbGQgPSBoZG1pX2F1ZGlvX2dl dF9lbGQ7DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAgaGRtaS0+ZW5hYmxlX2F1ZGlvID0gZHdf aGRtaV9ncF9hdWRpb19lbmFibGU7DQo+ID4gKyAgICAgICAgICAgICBoZG1pLT5kaXNhYmxlX2F1 ZGlvID0gZHdfaGRtaV9ncF9hdWRpb19kaXNhYmxlOw0KPiA+ICsNCj4gPiArICAgICAgICAgICAg IHBkZXZpbmZvLm5hbWUgPSAiZHctaGRtaS1ncC1hdWRpbyI7DQo+ID4gKyAgICAgICAgICAgICBw ZGV2aW5mby5pZCA9IFBMQVRGT1JNX0RFVklEX05PTkU7DQo+ID4gKyAgICAgICAgICAgICBwZGV2 aW5mby5kYXRhID0gJmF1ZGlvOw0KPiA+ICsgICAgICAgICAgICAgcGRldmluZm8uc2l6ZV9kYXRh ID0gc2l6ZW9mKGF1ZGlvKTsNCj4gPiArICAgICAgICAgICAgIHBkZXZpbmZvLmRtYV9tYXNrID0g RE1BX0JJVF9NQVNLKDMyKTsNCj4gPiArICAgICAgICAgICAgIGhkbWktPmF1ZGlvID0gcGxhdGZv cm1fZGV2aWNlX3JlZ2lzdGVyX2Z1bGwoJnBkZXZpbmZvKTsNCj4gPiAgICAgICB9DQo+ID4NCj4g PiAgICAgICBpZiAoIXBsYXRfZGF0YS0+ZGlzYWJsZV9jZWMgJiYgKGNvbmZpZzAgJiBIRE1JX0NP TkZJRzBfQ0VDKSkgew0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5 bm9wc3lzL2R3LWhkbWkuaA0KPiA+IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9k dy1oZG1pLmgNCj4gPiBpbmRleCAxOTk5ZGIwNWJjM2IuLjk5YWExYzAzMzQzYiAxMDA2NDQNCj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuaA0KPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5oDQo+ID4gQEAgLTE1 OCw4ICsxNTgsMTcgQEANCj4gPiAgICNkZWZpbmUgSERNSV9GQ19TUERERVZJQ0VJTkYgICAgICAg ICAgICAgICAgICAgIDB4MTA2Mg0KPiA+ICAgI2RlZmluZSBIRE1JX0ZDX0FVRFNDT05GICAgICAg ICAgICAgICAgICAgICAgICAgMHgxMDYzDQo+ID4gICAjZGVmaW5lIEhETUlfRkNfQVVEU1NUQVQg ICAgICAgICAgICAgICAgICAgICAgICAweDEwNjQNCj4gPiAtI2RlZmluZSBIRE1JX0ZDX0FVRFND SE5MUzcgICAgICAgICAgICAgICAgICAgICAgMHgxMDZlDQo+ID4gLSNkZWZpbmUgSERNSV9GQ19B VURTQ0hOTFM4ICAgICAgICAgICAgICAgICAgICAgIDB4MTA2Zg0KPiA+ICsjZGVmaW5lIEhETUlf RkNfQVVEU1YgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwNjUNCj4gPiArI2RlZmluZSBI RE1JX0ZDX0FVRFNVICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMDY2DQo+ID4gKyNkZWZp bmUgSERNSV9GQ19BVURTQ0hOTFMwICAgICAgICAgICAgICAgICAgICAgICAweDEwNjcNCj4gPiAr I2RlZmluZSBIRE1JX0ZDX0FVRFNDSE5MUzEgICAgICAgICAgICAgICAgICAgICAgIDB4MTA2OA0K PiA+ICsjZGVmaW5lIEhETUlfRkNfQVVEU0NITkxTMiAgICAgICAgICAgICAgICAgICAgICAgMHgx MDY5DQo+ID4gKyNkZWZpbmUgSERNSV9GQ19BVURTQ0hOTFMzICAgICAgICAgICAgICAgICAgICAg ICAweDEwNkENCj4gPiArI2RlZmluZSBIRE1JX0ZDX0FVRFNDSE5MUzQgICAgICAgICAgICAgICAg ICAgICAgIDB4MTA2Qg0KPiA+ICsjZGVmaW5lIEhETUlfRkNfQVVEU0NITkxTNSAgICAgICAgICAg ICAgICAgICAgICAgMHgxMDZDDQo+ID4gKyNkZWZpbmUgSERNSV9GQ19BVURTQ0hOTFM2ICAgICAg ICAgICAgICAgICAgICAgICAweDEwNkQNCj4gPiArI2RlZmluZSBIRE1JX0ZDX0FVRFNDSE5MUzcg ICAgICAgICAgICAgICAgICAgICAgIDB4MTA2RQ0KPiA+ICsjZGVmaW5lIEhETUlfRkNfQVVEU0NI TkxTOCAgICAgICAgICAgICAgICAgICAgICAgMHgxMDZGDQo+ID4gICAjZGVmaW5lIEhETUlfRkNf REFUQUNIMEZJTEwgICAgICAgICAgICAgICAgICAgICAweDEwNzANCj4gPiAgICNkZWZpbmUgSERN SV9GQ19EQVRBQ0gxRklMTCAgICAgICAgICAgICAgICAgICAgIDB4MTA3MQ0KPiA+ICAgI2RlZmlu ZSBIRE1JX0ZDX0RBVEFDSDJGSUxMICAgICAgICAgICAgICAgICAgICAgMHgxMDcyDQo+ID4gZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2JyaWRnZS9kd19oZG1pLmgNCj4gPiBiL2luY2x1ZGUvZHJt L2JyaWRnZS9kd19oZG1pLmggaW5kZXggNzAwODJmODBhOGM4Li43ZjczYzMzOThhNTQNCj4gMTAw NjQ0DQo+ID4gLS0tIGEvaW5jbHVkZS9kcm0vYnJpZGdlL2R3X2hkbWkuaA0KPiA+ICsrKyBiL2lu Y2x1ZGUvZHJtL2JyaWRnZS9kd19oZG1pLmgNCj4gPiBAQCAtMTIxLDYgKzEyMSw5IEBAIHN0cnVj dCBkd19oZG1pX3BoeV9vcHMgew0KPiA+ICAgICAgIHZvaWQgKCp1cGRhdGVfaHBkKShzdHJ1Y3Qg ZHdfaGRtaSAqaGRtaSwgdm9pZCAqZGF0YSwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg Ym9vbCBmb3JjZSwgYm9vbCBkaXNhYmxlZCwgYm9vbCByeHNlbnNlKTsNCj4gPiAgICAgICB2b2lk ICgqc2V0dXBfaHBkKShzdHJ1Y3QgZHdfaGRtaSAqaGRtaSwgdm9pZCAqZGF0YSk7DQo+ID4gKyAg ICAgdm9pZCAoKmVuYWJsZV9hdWRpbykoc3RydWN0IGR3X2hkbWkgKmhkbWksIHZvaWQgKmRhdGEs IGludCBjaGFubmVsLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwg aW50IHJhdGUsIGludCBub25fcGNtKTsNCj4gPiArICAgICB2b2lkICgqZGlzYWJsZV9hdWRpbyko c3RydWN0IGR3X2hkbWkgKmhkbWksIHZvaWQgKmRhdGEpOw0KPiA+ICAgfTsNCj4gPg0KPiA+ICAg c3RydWN0IGR3X2hkbWlfcGxhdF9kYXRhIHsNCj4gPiBAQCAtMTczLDYgKzE3Niw4IEBAIHZvaWQg ZHdfaGRtaV9zZXR1cF9yeF9zZW5zZShzdHJ1Y3QgZHdfaGRtaQ0KPiAqaGRtaSwNCj4gPiBib29s IGhwZCwgYm9vbCByeF9zZW5zZSk7DQo+ID4NCj4gPiAgIGludCBkd19oZG1pX3NldF9wbHVnZ2Vk X2NiKHN0cnVjdCBkd19oZG1pICpoZG1pLA0KPiBoZG1pX2NvZGVjX3BsdWdnZWRfY2IgZm4sDQo+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkZXZpY2UgKmNvZGVjX2Rldik7DQo+ ID4gK3ZvaWQgZHdfaGRtaV9zZXRfc2FtcGxlX25vbl9wY20oc3RydWN0IGR3X2hkbWkgKmhkbWks IHVuc2lnbmVkIGludA0KPiA+ICtub25fcGNtKTsgdm9pZCBkd19oZG1pX3NldF9zYW1wbGVfd2lk dGgoc3RydWN0IGR3X2hkbWkgKmhkbWksDQo+ID4gK3Vuc2lnbmVkIGludCB3aWR0aCk7DQo+ID4g ICB2b2lkIGR3X2hkbWlfc2V0X3NhbXBsZV9yYXRlKHN0cnVjdCBkd19oZG1pICpoZG1pLCB1bnNp Z25lZCBpbnQNCj4gcmF0ZSk7DQo+ID4gICB2b2lkIGR3X2hkbWlfc2V0X2NoYW5uZWxfY291bnQo c3RydWN0IGR3X2hkbWkgKmhkbWksIHVuc2lnbmVkIGludA0KPiBjbnQpOw0KPiA+ICAgdm9pZCBk d19oZG1pX3NldF9jaGFubmVsX3N0YXR1cyhzdHJ1Y3QgZHdfaGRtaSAqaGRtaSwgdTgNCj4gPiAq Y2hhbm5lbF9zdGF0dXMpOw0KPiANCj4gVGhhbmtzLA0KPiBOZWlsDQoNClRoYW5rcywNClNhbmRv cg0K