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 35D29C83F3E for ; Tue, 5 Sep 2023 19:44:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236808AbjIETo5 (ORCPT ); Tue, 5 Sep 2023 15:44:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34980 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240959AbjIEToy (ORCPT ); Tue, 5 Sep 2023 15:44:54 -0400 Received: from mx08-00376f01.pphosted.com (mx08-00376f01.pphosted.com [91.207.212.86]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 448439D for ; Tue, 5 Sep 2023 12:44:49 -0700 (PDT) Received: from pps.filterd (m0168888.ppops.net [127.0.0.1]) by mx08-00376f01.pphosted.com (8.17.1.22/8.17.1.22) with ESMTP id 3858N788004582; Tue, 5 Sep 2023 17:34:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=imgtec.com; h= from:to:cc:subject:date:message-id:references:in-reply-to :content-type:content-id:content-transfer-encoding:mime-version; s=dk201812; bh=kxgTGzyShiECkDja+1sI1Klya8+77AZ0aToB+SYuOm8=; b= u1W5t1S3Hf4uBSlhz6GNXw/cFNu4xUXew9MLVgsZ0/WBmzY7s2G7wPPk8nqI3eEA azwPq7szESnwlt7Rh6Z5jfcj7EIZDLioYqJn4RO5smB3v4rGSzPMMqXBF+iDUyo+ tEZoUMSs1cLgExIgWmXOGUw6mxGpG85HTXf2LWw9iB+VTbaLezwVLXyhBne2ebVG JKRasvD80wd3wemkjJXxhUMFFTAoL/UMk/bhnPFWfMSPw81Pai3Jbmr+ymkEtbxt ITMI3Mv65yOUgCJjlM3w/+zh2P7sqApsTc+0my37TjnVDMjC5md8fg+vvw+fnd93 Av91o8zFcG7AwSaAxtsj7w== Received: from hhmail04.hh.imgtec.org ([217.156.249.195]) by mx08-00376f01.pphosted.com (PPS) with ESMTPS id 3suuantge2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Tue, 05 Sep 2023 17:34:55 +0100 (BST) Received: from HHMAIL04.hh.imgtec.org (10.100.10.119) by HHMAIL04.hh.imgtec.org (10.100.10.119) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Tue, 5 Sep 2023 17:34:54 +0100 Received: from GBR01-LO4-obe.outbound.protection.outlook.com (104.47.85.105) by email.imgtec.com (10.100.10.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31 via Frontend Transport; Tue, 5 Sep 2023 17:34:54 +0100 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HI2VsIR7hkM7mytnSLbwbsDBHO0rTeTk6/6kt2glqamRz6BZCmUQAGGEBO++HuUNkpXJ2P4TcyQiTSMeV9FRFDr8egIoad+nlUp+C9eUxhLkGZxADV1C62K7+06UpJwdVQL6wEmETsMq7DgOKjI7pIHxncLiB3Q+uRbR6cuouX9xc+09OyV17Q/GtlqUjK7Wbn+3uyG8J/jXEswGXwdILgkYqGH6dCjtBdx4h0el6xmJ9F26zQLf6hnlgMgULQkqzMamM0WY97tnliQXgWmVP8Y3UTtNagwEAsg3P9kPuaYBo9oIwS8Il9EhzVCOuKbz9lEtZlN9glS3LVZeglPdzw== 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=kxgTGzyShiECkDja+1sI1Klya8+77AZ0aToB+SYuOm8=; b=RbfD7V+PV0BSMLBT9mOuK0w388zwMM636ffDXZnhYFm1KpSUeTZUR6MWB+6Xv5gX5djUBM63th75iHo8xNeBe6dyG+7nuGyaY3gZYv/Tgxu7jqV9aBOxGL8fHnnjdlLIK9leLrA5Wi75guZtTAiO7CO1C8cyj1t1wTiUdr/1ih3wZM/tESl7Ngv3HKJ6DgGonf+CmLify/kjZ6EBNlUuGNDkvMDU9gId+JHs022adWGJoAw2crh3P1xNMlXkvC66dCSIVqXQZJjJLEtqsfFEUEhYaLaJax19q/PQ7wdZLsbwQ9FmX6pyMqxyeXiKNtgmPBoN6ugTN2HuUVNWoDVZdg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=imgtec.com; dmarc=pass action=none header.from=imgtec.com; dkim=pass header.d=imgtec.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=IMGTecCRM.onmicrosoft.com; s=selector2-IMGTecCRM-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kxgTGzyShiECkDja+1sI1Klya8+77AZ0aToB+SYuOm8=; b=MC045J/DzduH1IoDhv4N6DW4cfOdmFK9HtbZ18gLfo8QBx9sXpKAuueK1KMw1e7ms9TyksMwJMb8C6Su3J4dzVN6L8qZMDVc6tjGRJPQl6Ci99E1me10/F3Zj2lKVx0tq3G7QWlzUR6ISwNvE98IsbyIdFAKpvc2oaROwko7ITY= Received: from LO6P265MB6032.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2a5::14) by CWLP265MB5578.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:1c2::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.33; Tue, 5 Sep 2023 16:34:53 +0000 Received: from LO6P265MB6032.GBRP265.PROD.OUTLOOK.COM ([fe80::285:7fcc:def4:7ee6]) by LO6P265MB6032.GBRP265.PROD.OUTLOOK.COM ([fe80::285:7fcc:def4:7ee6%6]) with mapi id 15.20.6745.030; Tue, 5 Sep 2023 16:34:47 +0000 From: Frank Binns To: "dri-devel@lists.freedesktop.org" , "Sarah Walker" , "paul@crapouillou.net" CC: "luben.tuikov@amd.com" , "afd@ti.com" , Donald Robson , "tzimmermann@suse.de" , "matthew.brost@intel.com" , "linux-kernel@vger.kernel.org" , "dakr@redhat.com" , "hns@goldelico.com" , "boris.brezillon@collabora.com" , "christian.koenig@amd.com" , "mripard@kernel.org" , "faith.ekstrand@collabora.com" Subject: Re: [PATCH v5 09/17] drm/imagination: Implement power management Thread-Topic: [PATCH v5 09/17] drm/imagination: Implement power management Thread-Index: AQHZ0BtXUWBGBauZs0KkWae3sQVrj6/swHaAgB/NFgA= Date: Tue, 5 Sep 2023 16:34:46 +0000 Message-ID: <1a0ad95dcca3b92799f604bd474ba502c8fb1f23.camel@imgtec.com> References: <20230816082531.164695-1-sarah.walker@imgtec.com> <20230816082531.164695-10-sarah.walker@imgtec.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.5-0ubuntu1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: LO6P265MB6032:EE_|CWLP265MB5578:EE_ x-ms-office365-filtering-correlation-id: 7597c1a2-be67-4f89-e2fe-08dbae2e047c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OlApNsCNVbMNQi+PcpXctbYgAdd0ENv31DaO0AttgQx+cBytd91KBFfA+ODtwLDvdydJ2Kw8BnDmVBDin/msJVfpnow6vb65jtxRscRXEn5xEUptXuOCWMU82zE+pzcNJjLCf3ZKLiNKhEFtHWZmXs9FjzkOoi63ZX2qkPeLh/FfPYHDILG6Dbu5IADuHzfQouQT0LtdnMOa4M6LB2eYX4h8eH+BP8C/GwkbX/faKQ6HE+IurPtcTE6P/BRcfpstpIKRIGhkdBpMy1e8FavHoadu6T0Gdh2KvdtdAGe/WfLgil5hHqbNJUrO444YCsInE9sRU/nXdDGAaEj7fpde9SopUKYkFiV8l4okvhVKGDNOdbMFTs4i+LEYDvesP5DeE95xHIEZ4Q50I7qWzhijm9RRNb07HaBcUOYoDGJk0Ryxap+apU6I63lqyZTQMRwDvEWONSJJJVIxUidtHlRPAeb8c66qAT4oCJoPyz4NGusQuh6/hFJZqpts8aylGM3bKftuPmF6nlkWRubAPyZOO8P9+X5xBnzuR4cTm5VUrlZJwIv83Ya/MNc4X+VVnd1MQK8lmqP5qjYdpRPKVtkpfDveDoD5uQrNlNe/mbzF6BrVXtaZxraWNPtpe9K8gPZ6 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LO6P265MB6032.GBRP265.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(136003)(366004)(39850400004)(376002)(451199024)(1800799009)(186009)(66556008)(2906002)(66446008)(36756003)(110136005)(316002)(76116006)(86362001)(66476007)(64756008)(54906003)(66946007)(8936002)(5660300002)(4326008)(8676002)(41300700001)(6512007)(2616005)(38070700005)(26005)(66574015)(30864003)(83380400001)(38100700002)(7416002)(478600001)(122000001)(6486002)(71200400001)(6506007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dVpXYkI3b05qaGNFa09OSWVMQXZpQk1aSUZyR1Q3QkRMS0g2NUJTNW9vSDl0?= =?utf-8?B?RmZtbFFwOWw2SGtOU1ozZDNnRDJPMXNGVi9XZkRiaEZGY2diVzRXMlJsTi9G?= =?utf-8?B?Rnp1dkNnYVlySk9sVzNnOVFQOWNuZkpjYXZmbzA0blR3eExhK3ByZkxyeXU0?= =?utf-8?B?NlNkQ09jcmFEa29OeU13cDEvTlgwdGp0bGIxTjNRV1VZcXhGOGFFTzVDZlNX?= =?utf-8?B?SEJieHFhUXk0a2pQckpJMzA0L3RqZjNRYnVuZmhLQ25qUmlvMjYyamQ3WFdC?= =?utf-8?B?UUl0TW9BYWRnWHN4SFFZcVhtS3AvNkJhL2U2eG1rck9iVVdTTjMxdmo2L2lX?= =?utf-8?B?MmJLbHdLQjVYMENseUZKRkpsaTN1SCtDWVdOSnQ4d3lIY0RNQzQ3TDBiNE5x?= =?utf-8?B?V3FzOWpTVWUvbThvNW4xeVkwNWNEeUFLUEozVDRLREJrNTNyQU1hY3Fqd3o2?= =?utf-8?B?RmNxeFZjdzUzdmRRQkdHbmxhRkJraFc2K2RqV3NkUnk3NkhObStITHNyYUgr?= =?utf-8?B?RzdtYi9CNnhqVmVFazN4SzIzdFJhc05wR1pwbmNTT1p1QUc0UndBWmtFY25q?= =?utf-8?B?bmR4OWhYSllic0EwZW9nU1dIZVNYUmpsbitiUlNHMHV5eTBJNjg0U2sxLzVS?= =?utf-8?B?cXJQcUFxV2dpU3VxRUsxRW92STNYQytxTWFkUWt3Uko0RHlOODB3MVBmOEpM?= =?utf-8?B?NGc3bWM5blpxV0RlZzhlT0ptQTB0TFpaWnBwMTZQWnhJVnZwdGcySUNGN2xv?= =?utf-8?B?K09MMlQ3cllSNjBzRWlYV1ZPNDcrU0lNMnNqNjM0ckdBa3ZHa2Z6OWRadXRD?= =?utf-8?B?VzVKeVB6YSsydEtVMmxXdmdsdE01NUJ1UkdjeWVuVUlybmk5L2xaSGl6MFVE?= =?utf-8?B?YW04cFovaXBuV3ZsTXRhZVA1OU9TNEc1L3FHakM2QWpYUm5MdzVvb2JQbzZY?= =?utf-8?B?enRPQ0VaV1NtMHZnSjA0SXV1ejYvVjZkbExEOEhDVVRXSVRUcmx1dXdvZUpO?= =?utf-8?B?L2tQYVJSSWtuVHRjTXQxdkZMeHUwVnZQdm81VVpMalVqbTlKcGhpVmhrMVda?= =?utf-8?B?M0dDcmp1WHZkbUo1WUVIUVRKUXNZS0d3emdDU0xWZlE2L1hQRnc4NW9IZzBs?= =?utf-8?B?YUw0Vk1ZSlF3QXZmZ1FFTTdZb1JEbWFIdkZsbWhOMUhqc3IxaGg5NHdBaHI1?= =?utf-8?B?WmRwUGxwaUFURC96RlV5UlI5WGo2dHI5NHkrSGFIbCtMajdsTGh3bTFDZ2FZ?= =?utf-8?B?SE94bHZSNGpiMHlmM3FBblJQbWt0UkZadDZkV0d3OFdNYnJjYm4rdUpuNnB3?= =?utf-8?B?K0pnRXhIVEQ1Y2kvK3Z0V01iYmo5Z0wrSUpkUytyNzBjdUFmem8veHN1Z1VE?= =?utf-8?B?M013UHNxSDJuano3ZUdBSXRxYWN0YnRXUGVNZVl5Z1NaT0dKa3g2aFNVZjNR?= =?utf-8?B?WmpRRzVSWkgzaWVtdzZLRnZUZlRhNW1lRUY3RjRIN0N4RU1KOFV0ajAzWTBu?= =?utf-8?B?UDhwbUpyOFJieU1oWFJjeXh3aUkxZCtPSXk4MGVMcXFOOVRhWEpDSTJQZGZQ?= =?utf-8?B?UVVmWk1iUDA2YkthRmRJWHRFV1J0Q0x4alpSWGdteVRaYnBLQTZtZVd4RHZE?= =?utf-8?B?TWNBYUxaNXNmSE1JbnN3VUcwd2lnRDgzMnBLQm5QQ1NCSHF3b2xyNWl0ZEhC?= =?utf-8?B?VUZNMjhyN1FNZ1ZSQ1pBcVZPc055UysvSVpkMEdCVmovYW1YMTdIMFBKckJa?= =?utf-8?B?RWlxdjdYQXJRU1pwTHJoNDJsOEsxem5TdmFIMnlNQnFVMEt4SXUzQVBYSW9a?= =?utf-8?B?TjE2K21PSzR0S1EvKytheDcweUJWOVM5ZitOWVA1Zno2cGtGZFZVcmlIaE13?= =?utf-8?B?YWdLbWZRSkM2NU02LzFOWFhnZ2pISlRmQ2FEMXhud2xsM0I4VnptTFkxYmhM?= =?utf-8?B?TFoyWVZqSzEwZ2ZnQ1RqbnpiU1FkdklFSzNzK3QvRlZSSE1tdlo3TklrNENO?= =?utf-8?B?dCt1VjRyODV6TzFYSkZwT2cxMkhlclBMQWlrQzA0TWhBVi9QeFVEQkxwalFv?= =?utf-8?B?c3NYR0hOM0J1RUdyeUFrSFhCcmY4bXlEcmFGT3ZPREgxaFNoSUJ6ckZhMmNE?= =?utf-8?B?TzRMbE9TNWRQMDZ1Ynp6SVpMTDFiMkRia01RQkF5cEphWVczdWl3ZnRjaTZO?= =?utf-8?B?Z2c9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <20BC0B9E1C09C7469F37B49C9F5CC485@GBRP265.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: LO6P265MB6032.GBRP265.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 7597c1a2-be67-4f89-e2fe-08dbae2e047c X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Sep 2023 16:34:46.9641 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d5fd8bb-e8c2-4e0a-8dd5-2c264f7140fe X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: nnZC/YKL6qY5eCEHvAI+dwGIZ2h5IDdzFTGKwzmlmoZKGm/t9YH32L0a5AozP/m0ftCg02bCG9ctjLytGkaDgQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CWLP265MB5578 X-OriginatorOrg: imgtec.com X-EXCLAIMER-MD-CONFIG: 15a78312-3e47-46eb-9010-2e54d84a9631 X-Proofpoint-GUID: Y51y3hYrQRohcksDy1SC9_ZeU40PmFcO X-Proofpoint-ORIG-GUID: Y51y3hYrQRohcksDy1SC9_ZeU40PmFcO Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgUGF1bCwNCg0KT24gV2VkLCAyMDIzLTA4LTE2IGF0IDEyOjU2ICswMjAwLCBQYXVsIENlcmN1 ZWlsIHdyb3RlOg0KPiBIaSBTYXJhaCwNCj4gDQo+IExlIG1lcmNyZWRpIDE2IGFvw7t0IDIwMjMg w6AgMDk6MjUgKzAxMDAsIFNhcmFoIFdhbGtlciBhIMOpY3JpdCA6DQo+ID4gQWRkIHBvd2VyIG1h bmFnZW1lbnQgdG8gdGhlIGRyaXZlciwgdXNpbmcgcnVudGltZSBwbS4gVGhlIHBvd2VyIG9mZg0K PiA+IHNlcXVlbmNlIGRlcGVuZHMgb24gZmlybXdhcmUgY29tbWFuZHMgd2hpY2ggYXJlIG5vdCBp bXBsZW1lbnRlZCBpbg0KPiA+IHRoaXMNCj4gPiBwYXRjaC4NCj4gPiANCj4gPiBDaGFuZ2VzIHNp bmNlIHY0Og0KPiA+IC0gU3VzcGVuZCBydW50aW1lIFBNIGJlZm9yZSB1bnBsdWdnaW5nIGRldmlj ZSBvbiBybW1vZA0KPiA+IA0KPiA+IENoYW5nZXMgc2luY2UgdjM6DQo+ID4gLSBEb24ndCBwb3dl ciBkZXZpY2Ugd2hlbiBjYWxsaW5nIHB2cl9kZXZpY2VfZ3B1X2ZpbmkoKQ0KPiA+IC0gRG9jdW1l bnRhdGlvbiBmb3IgcHZyX2Rldi0+bG9zdCBoYXMgYmVlbiBpbXByb3ZlZA0KPiA+IC0gcHZyX3Bv d2VyX2luaXQoKSByZW5hbWVkIHRvIHB2cl93YXRjaGRvZ19pbml0KCkNCj4gPiAtIFVzZSBkcm1f ZGV2X3tlbnRlcixleGl0fQ0KPiA+IA0KPiA+IENoYW5nZXMgc2luY2UgdjI6DQo+ID4gLSBVc2Ug cnVudGltZSBQTQ0KPiA+IC0gSW1wbGVtZW50IHdhdGNoZG9nDQo+ID4gDQo+ID4gU2lnbmVkLW9m Zi1ieTogU2FyYWggV2Fsa2VyIDxzYXJhaC53YWxrZXJAaW1ndGVjLmNvbT4NCj4gPiAtLS0NCj4g PiAgZHJpdmVycy9ncHUvZHJtL2ltYWdpbmF0aW9uL01ha2VmaWxlICAgICB8ICAgMSArDQo+ID4g IGRyaXZlcnMvZ3B1L2RybS9pbWFnaW5hdGlvbi9wdnJfZGV2aWNlLmMgfCAgMjMgKy0NCj4gPiAg ZHJpdmVycy9ncHUvZHJtL2ltYWdpbmF0aW9uL3B2cl9kZXZpY2UuaCB8ICAyMiArKw0KPiA+ICBk cml2ZXJzL2dwdS9kcm0vaW1hZ2luYXRpb24vcHZyX2Rydi5jICAgIHwgIDIwICstDQo+ID4gIGRy aXZlcnMvZ3B1L2RybS9pbWFnaW5hdGlvbi9wdnJfcG93ZXIuYyAgfCAyNzENCj4gPiArKysrKysr KysrKysrKysrKysrKysrKw0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaW1hZ2luYXRpb24vcHZyX3Bv d2VyLmggIHwgIDM5ICsrKysNCj4gPiAgNiBmaWxlcyBjaGFuZ2VkLCAzNzMgaW5zZXJ0aW9ucygr KSwgMyBkZWxldGlvbnMoLSkNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2Ry bS9pbWFnaW5hdGlvbi9wdnJfcG93ZXIuYw0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9ncHUvZHJtL2ltYWdpbmF0aW9uL3B2cl9wb3dlci5oDQo+ID4gDQo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pbWFnaW5hdGlvbi9NYWtlZmlsZQ0KPiA+IGIvZHJpdmVycy9ncHUv ZHJtL2ltYWdpbmF0aW9uL01ha2VmaWxlDQo+ID4gaW5kZXggOGZjYWJjMWJlYTM2Li4yMzVlMmQz MjllMjkgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2ltYWdpbmF0aW9uL01ha2Vm aWxlDQo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2ltYWdpbmF0aW9uL01ha2VmaWxlDQo+ID4g QEAgLTEwLDYgKzEwLDcgQEAgcG93ZXJ2ci15IDo9IFwNCj4gPiAgICAgICAgIHB2cl9mdy5vIFwN Cj4gPiAgICAgICAgIHB2cl9nZW0ubyBcDQo+ID4gICAgICAgICBwdnJfbW11Lm8gXA0KPiA+ICsg ICAgICAgcHZyX3Bvd2VyLm8gXA0KPiA+ICAgICAgICAgcHZyX3ZtLm8NCj4gPiAgDQo+ID4gIG9i ai0kKENPTkZJR19EUk1fUE9XRVJWUikgKz0gcG93ZXJ2ci5vDQo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pbWFnaW5hdGlvbi9wdnJfZGV2aWNlLmMNCj4gPiBiL2RyaXZlcnMvZ3B1 L2RybS9pbWFnaW5hdGlvbi9wdnJfZGV2aWNlLmMNCj4gPiBpbmRleCBlZjhmN2EyZmYxYTkuLjVk YmQwNWYyMTIzOCAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaW1hZ2luYXRpb24v cHZyX2RldmljZS5jDQo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2ltYWdpbmF0aW9uL3B2cl9k ZXZpY2UuYw0KPiA+IEBAIC01LDYgKzUsNyBAQA0KPiA+ICAjaW5jbHVkZSAicHZyX2RldmljZV9p bmZvLmgiDQo+ID4gIA0KPiA+ICAjaW5jbHVkZSAicHZyX2Z3LmgiDQo+ID4gKyNpbmNsdWRlICJw dnJfcG93ZXIuaCINCj4gPiAgI2luY2x1ZGUgInB2cl9yb2d1ZV9jcl9kZWZzLmgiDQo+ID4gICNp bmNsdWRlICJwdnJfdm0uaCINCj4gPiAgDQo+ID4gQEAgLTM1Nyw2ICszNTgsOCBAQCBwdnJfZGV2 aWNlX2dwdV9maW5pKHN0cnVjdCBwdnJfZGV2aWNlICpwdnJfZGV2KQ0KPiA+ICBpbnQNCj4gPiAg cHZyX2RldmljZV9pbml0KHN0cnVjdCBwdnJfZGV2aWNlICpwdnJfZGV2KQ0KPiA+ICB7DQo+ID4g KyAgICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiA9IGZyb21fcHZyX2RldmljZShwdnJf ZGV2KTsNCj4gPiArICAgICAgIHN0cnVjdCBkZXZpY2UgKmRldiA9IGRybV9kZXYtPmRldjsNCj4g PiAgICAgICAgIGludCBlcnI7DQo+ID4gIA0KPiA+ICAgICAgICAgLyogRW5hYmxlIGFuZCBpbml0 aWFsaXplIGNsb2NrcyByZXF1aXJlZCBmb3IgdGhlIGRldmljZSB0bw0KPiA+IG9wZXJhdGUuICov DQo+ID4gQEAgLTM2NCwxMyArMzY3LDI5IEBAIHB2cl9kZXZpY2VfaW5pdChzdHJ1Y3QgcHZyX2Rl dmljZSAqcHZyX2RldikNCj4gPiAgICAgICAgIGlmIChlcnIpDQo+ID4gICAgICAgICAgICAgICAg IHJldHVybiBlcnI7DQo+ID4gIA0KPiA+ICsgICAgICAgLyogRXhwbGljaXRseSBwb3dlciB0aGUg R1BVIHNvIHdlIGNhbiBhY2Nlc3MgY29udHJvbA0KPiA+IHJlZ2lzdGVycyBiZWZvcmUgdGhlIEZX IGlzIGJvb3RlZC4gKi8NCj4gPiArICAgICAgIGVyciA9IHBtX3J1bnRpbWVfcmVzdW1lX2FuZF9n ZXQoZGV2KTsNCj4gPiArICAgICAgIGlmIChlcnIpDQo+ID4gKyAgICAgICAgICAgICAgIHJldHVy biBlcnI7DQo+ID4gKw0KPiA+ICAgICAgICAgLyogTWFwIHRoZSBjb250cm9sIHJlZ2lzdGVycyBp bnRvIG1lbW9yeS4gKi8NCj4gPiAgICAgICAgIGVyciA9IHB2cl9kZXZpY2VfcmVnX2luaXQocHZy X2Rldik7DQo+ID4gICAgICAgICBpZiAoZXJyKQ0KPiA+IC0gICAgICAgICAgICAgICByZXR1cm4g ZXJyOw0KPiA+ICsgICAgICAgICAgICAgICBnb3RvIGVycl9wbV9ydW50aW1lX3B1dDsNCj4gPiAg DQo+ID4gICAgICAgICAvKiBQZXJmb3JtIEdQVS1zcGVjaWZpYyBpbml0aWFsaXphdGlvbiBzdGVw cy4gKi8NCj4gPiAtICAgICAgIHJldHVybiBwdnJfZGV2aWNlX2dwdV9pbml0KHB2cl9kZXYpOw0K PiA+ICsgICAgICAgZXJyID0gcHZyX2RldmljZV9ncHVfaW5pdChwdnJfZGV2KTsNCj4gPiArICAg ICAgIGlmIChlcnIpDQo+ID4gKyAgICAgICAgICAgICAgIGdvdG8gZXJyX3BtX3J1bnRpbWVfcHV0 Ow0KPiA+ICsNCj4gPiArICAgICAgIHBtX3J1bnRpbWVfcHV0KGRldik7DQo+ID4gKw0KPiA+ICsg ICAgICAgcmV0dXJuIDA7DQo+ID4gKw0KPiA+ICtlcnJfcG1fcnVudGltZV9wdXQ6DQo+ID4gKyAg ICAgICBwbV9ydW50aW1lX3B1dF9zeW5jX3N1c3BlbmQoZGV2KTsNCj4gPiArDQo+ID4gKyAgICAg ICByZXR1cm4gZXJyOw0KPiA+ICB9DQo+ID4gIA0KPiA+ICAvKioNCj4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2ltYWdpbmF0aW9uL3B2cl9kZXZpY2UuaA0KPiA+IGIvZHJpdmVycy9n cHUvZHJtL2ltYWdpbmF0aW9uL3B2cl9kZXZpY2UuaA0KPiA+IGluZGV4IDk5MDM2M2U0MzNkNy4u NmQ1OGVjZmJjODM4IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pbWFnaW5hdGlv bi9wdnJfZGV2aWNlLmgNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaW1hZ2luYXRpb24vcHZy X2RldmljZS5oDQo+ID4gQEAgLTEzNSw2ICsxMzUsMjggQEAgc3RydWN0IHB2cl9kZXZpY2Ugew0K PiA+ICANCj4gPiAgICAgICAgIC8qKiBAZndfZGV2OiBGaXJtd2FyZSByZWxhdGVkIGRhdGEuICov DQo+ID4gICAgICAgICBzdHJ1Y3QgcHZyX2Z3X2RldmljZSBmd19kZXY7DQo+ID4gKw0KPiA+ICsg ICAgICAgc3RydWN0IHsNCj4gPiArICAgICAgICAgICAgICAgLyoqIEB3b3JrOiBXb3JrIGl0ZW0g Zm9yIHdhdGNoZG9nIGNhbGxiYWNrLiAqLw0KPiA+ICsgICAgICAgICAgICAgICBzdHJ1Y3QgZGVs YXllZF93b3JrIHdvcms7DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAgICAvKiogQG9sZF9rY2Ni X2NtZHNfZXhlY3V0ZWQ6IEtDQ0IgY29tbWFuZCBleGVjdXRpb24NCj4gPiBjb3VudCBhdCBsYXN0 IHdhdGNoZG9nIHBvbGwuICovDQo+ID4gKyAgICAgICAgICAgICAgIHUzMiBvbGRfa2NjYl9jbWRz X2V4ZWN1dGVkOw0KPiA+ICsNCj4gPiArICAgICAgICAgICAgICAgLyoqIEBrY2NiX3N0YWxsX2Nv dW50OiBOdW1iZXIgb2Ygd2F0Y2hkb2cgcG9sbHMgS0NDQg0KPiA+IGhhcyBiZWVuIHN0YWxsZWQg Zm9yLiAqLw0KPiA+ICsgICAgICAgICAgICAgICB1MzIga2NjYl9zdGFsbF9jb3VudDsNCj4gPiAr ICAgICAgIH0gd2F0Y2hkb2c7DQo+ID4gKw0KPiA+ICsgICAgICAgLyoqDQo+ID4gKyAgICAgICAg KiBAbG9zdDogJXRydWUgaWYgdGhlIGRldmljZSBoYXMgYmVlbiBsb3N0Lg0KPiA+ICsgICAgICAg ICoNCj4gPiArICAgICAgICAqIFRoaXMgdmFyaWFibGUgaXMgc2V0IGlmIHRoZSBkZXZpY2UgaGFz IGJlY29tZQ0KPiA+IGlycmV0cmlldmFibHkgdW5hdmFpbGFibGUsIGUuZy4gaWYgdGhlDQo+ID4g KyAgICAgICAgKiBmaXJtd2FyZSBwcm9jZXNzb3IgaGFzIHN0b3BwZWQgcmVzcG9uZGluZyBhbmQg Y2FuIG5vdCBiZQ0KPiA+IHJldml2ZWQgdmlhIGEgaGFyZCByZXNldC4NCj4gPiArICAgICAgICAq Lw0KPiA+ICsgICAgICAgYm9vbCBsb3N0Ow0KPiA+ICsNCj4gPiArICAgICAgIC8qKiBAc2NoZWRf d3E6IFdvcmtxdWV1ZSBmb3Igc2NoZWR1bGVycy4gKi8NCj4gPiArICAgICAgIHN0cnVjdCB3b3Jr cXVldWVfc3RydWN0ICpzY2hlZF93cTsNCj4gPiAgfTsNCj4gPiAgDQo+ID4gIC8qKg0KPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaW1hZ2luYXRpb24vcHZyX2Rydi5jDQo+ID4gYi9k cml2ZXJzL2dwdS9kcm0vaW1hZ2luYXRpb24vcHZyX2Rydi5jDQo+ID4gaW5kZXggMGQ1MTE3N2I1 MDZjLi4wMzMxZGM1NDkxMTYgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2ltYWdp bmF0aW9uL3B2cl9kcnYuYw0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pbWFnaW5hdGlvbi9w dnJfZHJ2LmMNCj4gPiBAQCAtNCw2ICs0LDcgQEANCj4gPiAgI2luY2x1ZGUgInB2cl9kZXZpY2Uu aCINCj4gPiAgI2luY2x1ZGUgInB2cl9kcnYuaCINCj4gPiAgI2luY2x1ZGUgInB2cl9nZW0uaCIN Cj4gPiArI2luY2x1ZGUgInB2cl9wb3dlci5oIg0KPiA+ICAjaW5jbHVkZSAicHZyX3JvZ3VlX2Rl ZnMuaCINCj4gPiAgI2luY2x1ZGUgInB2cl9yb2d1ZV9md2lmX2NsaWVudC5oIg0KPiA+ICAjaW5j bHVkZSAicHZyX3JvZ3VlX2Z3aWZfc2hhcmVkLmgiDQo+ID4gQEAgLTEyNzksOSArMTI4MCwxNiBA QCBwdnJfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdF9kZXYpDQo+ID4gIA0KPiA+ ICAgICAgICAgcGxhdGZvcm1fc2V0X2RydmRhdGEocGxhdF9kZXYsIGRybV9kZXYpOw0KPiA+ICAN Cj4gPiArICAgICAgIGRldm1fcG1fcnVudGltZV9lbmFibGUoJnBsYXRfZGV2LT5kZXYpOw0KPiA+ ICsgICAgICAgcG1fcnVudGltZV9tYXJrX2xhc3RfYnVzeSgmcGxhdF9kZXYtPmRldik7DQo+ID4g Kw0KPiA+ICsgICAgICAgcG1fcnVudGltZV9zZXRfYXV0b3N1c3BlbmRfZGVsYXkoJnBsYXRfZGV2 LT5kZXYsIDUwKTsNCj4gPiArICAgICAgIHBtX3J1bnRpbWVfdXNlX2F1dG9zdXNwZW5kKCZwbGF0 X2Rldi0+ZGV2KTsNCj4gPiArICAgICAgIHB2cl93YXRjaGRvZ19pbml0KHB2cl9kZXYpOw0KPiA+ ICsNCj4gPiAgICAgICAgIGVyciA9IHB2cl9kZXZpY2VfaW5pdChwdnJfZGV2KTsNCj4gPiAgICAg ICAgIGlmIChlcnIpDQo+ID4gLSAgICAgICAgICAgICAgIHJldHVybiBlcnI7DQo+ID4gKyAgICAg ICAgICAgICAgIGdvdG8gZXJyX3dhdGNoZG9nX2Zpbmk7DQo+ID4gIA0KPiA+ICAgICAgICAgZXJy ID0gZHJtX2Rldl9yZWdpc3Rlcihkcm1fZGV2LCAwKTsNCj4gPiAgICAgICAgIGlmIChlcnIpDQo+ ID4gQEAgLTEyOTIsNiArMTMwMCw5IEBAIHB2cl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwbGF0X2RldikNCj4gPiAgZXJyX2RldmljZV9maW5pOg0KPiA+ICAgICAgICAgcHZyX2Rldmlj ZV9maW5pKHB2cl9kZXYpOw0KPiA+ICANCj4gPiArZXJyX3dhdGNoZG9nX2Zpbmk6DQo+ID4gKyAg ICAgICBwdnJfd2F0Y2hkb2dfZmluaShwdnJfZGV2KTsNCj4gPiArDQo+ID4gICAgICAgICByZXR1 cm4gZXJyOw0KPiA+ICB9DQo+ID4gIA0KPiA+IEBAIC0xMzAxLDggKzEzMTIsMTAgQEAgcHZyX3Jl bW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwbGF0X2RldikNCj4gPiAgICAgICAgIHN0cnVj dCBkcm1fZGV2aWNlICpkcm1fZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGxhdF9kZXYpOw0K PiA+ICAgICAgICAgc3RydWN0IHB2cl9kZXZpY2UgKnB2cl9kZXYgPSB0b19wdnJfZGV2aWNlKGRy bV9kZXYpOw0KPiA+ICANCj4gPiArICAgICAgIHBtX3J1bnRpbWVfc3VzcGVuZChkcm1fZGV2LT5k ZXYpOw0KPiA+ICAgICAgICAgZHJtX2Rldl91bnBsdWcoZHJtX2Rldik7DQo+ID4gICAgICAgICBw dnJfZGV2aWNlX2ZpbmkocHZyX2Rldik7DQo+ID4gKyAgICAgICBwdnJfd2F0Y2hkb2dfZmluaShw dnJfZGV2KTsNCj4gPiAgDQo+ID4gICAgICAgICByZXR1cm4gMDsNCj4gPiAgfQ0KPiA+IEBAIC0x MzEzLDExICsxMzI2LDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGR0X21h dGNoW10gPQ0KPiA+IHsNCj4gPiAgfTsNCj4gPiAgTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgZHRf bWF0Y2gpOw0KPiA+ICANCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZfcG1fb3BzIHB2cl9w bV9vcHMgPSB7DQo+ID4gKyAgICAgICBTRVRfUlVOVElNRV9QTV9PUFMocHZyX3Bvd2VyX2Rldmlj ZV9zdXNwZW5kLA0KPiA+IHB2cl9wb3dlcl9kZXZpY2VfcmVzdW1lLCBwdnJfcG93ZXJfZGV2aWNl X2lkbGUpDQo+ID4gK307DQo+ID4gKw0KPiA+ICBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZl ciBwdnJfZHJpdmVyID0gew0KPiA+ICAgICAgICAgLnByb2JlID0gcHZyX3Byb2JlLA0KPiA+ICAg ICAgICAgLnJlbW92ZSA9IHB2cl9yZW1vdmUsDQo+ID4gICAgICAgICAuZHJpdmVyID0gew0KPiA+ ICAgICAgICAgICAgICAgICAubmFtZSA9IFBWUl9EUklWRVJfTkFNRSwNCj4gPiArICAgICAgICAg ICAgICAgLnBtID0gJnB2cl9wbV9vcHMsDQo+ID4gICAgICAgICAgICAgICAgIC5vZl9tYXRjaF90 YWJsZSA9IGR0X21hdGNoLA0KPiA+ICAgICAgICAgfSwNCj4gPiAgfTsNCj4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2ltYWdpbmF0aW9uL3B2cl9wb3dlci5jDQo+ID4gYi9kcml2ZXJz L2dwdS9kcm0vaW1hZ2luYXRpb24vcHZyX3Bvd2VyLmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uYTQ5NGZlZDkyZTgxDQo+ID4gLS0tIC9kZXYvbnVs bA0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pbWFnaW5hdGlvbi9wdnJfcG93ZXIuYw0KPiA+ IEBAIC0wLDAgKzEsMjcxIEBADQo+ID4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt Mi4wIE9SIE1JVA0KPiA+ICsvKiBDb3B5cmlnaHQgKGMpIDIwMjMgSW1hZ2luYXRpb24gVGVjaG5v bG9naWVzIEx0ZC4gKi8NCj4gPiArDQo+ID4gKyNpbmNsdWRlICJwdnJfZGV2aWNlLmgiDQo+ID4g KyNpbmNsdWRlICJwdnJfZncuaCINCj4gPiArI2luY2x1ZGUgInB2cl9wb3dlci5oIg0KPiA+ICsj aW5jbHVkZSAicHZyX3JvZ3VlX2Z3aWYuaCINCj4gPiArDQo+ID4gKyNpbmNsdWRlIDxkcm0vZHJt X2Rydi5oPg0KPiA+ICsjaW5jbHVkZSA8ZHJtL2RybV9tYW5hZ2VkLmg+DQo+ID4gKyNpbmNsdWRl IDxsaW51eC9jbGsuaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPg0KPiA+ICsj aW5jbHVkZSA8bGludXgvbXV0ZXguaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2Rl dmljZS5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvcG1fcnVudGltZS5oPg0KPiA+ICsjaW5jbHVk ZSA8bGludXgvdGltZXIuaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+DQo+ID4gKyNp bmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4NCj4gPiArDQo+ID4gKyNkZWZpbmUgUE9XRVJfU1lO Q19USU1FT1VUX1VTICgxMDAwMDAwKSAvKiAxcyAqLw0KPiA+ICsNCj4gPiArI2RlZmluZSBXQVRD SERPR19USU1FX01TICg1MDApDQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50DQo+ID4gK3B2cl9wb3dl cl9zZW5kX2NvbW1hbmQoc3RydWN0IHB2cl9kZXZpY2UgKnB2cl9kZXYsIHN0cnVjdA0KPiA+IHJv Z3VlX2Z3aWZfa2NjYl9jbWQgKnBvd19jbWQpDQo+ID4gK3sNCj4gPiArICAgICAgIC8qIFRPRE86 IGltcGxlbWVudCAqLw0KPiA+ICsgICAgICAgcmV0dXJuIC1FTk9ERVY7DQo+ID4gK30NCj4gPiAr DQo+ID4gK3N0YXRpYyBpbnQNCj4gPiArcHZyX3Bvd2VyX3JlcXVlc3RfaWRsZShzdHJ1Y3QgcHZy X2RldmljZSAqcHZyX2RldikNCj4gPiArew0KPiA+ICsgICAgICAgc3RydWN0IHJvZ3VlX2Z3aWZf a2NjYl9jbWQgcG93X2NtZDsNCj4gPiArDQo+ID4gKyAgICAgICAvKiBTZW5kIEZPUkNFRF9JRExF IHJlcXVlc3QgdG8gRlcuICovDQo+ID4gKyAgICAgICBwb3dfY21kLmNtZF90eXBlID0gUk9HVUVf RldJRl9LQ0NCX0NNRF9QT1c7DQo+ID4gKyAgICAgICBwb3dfY21kLmNtZF9kYXRhLnBvd19kYXRh LnBvd190eXBlID0NCj4gPiBST0dVRV9GV0lGX1BPV19GT1JDRURfSURMRV9SRVE7DQo+ID4gKyAg ICAgICBwb3dfY21kLmNtZF9kYXRhLnBvd19kYXRhLnBvd2VyX3JlcV9kYXRhLnBvd19yZXF1ZXN0 X3R5cGUgPQ0KPiA+IFJPR1VFX0ZXSUZfUE9XRVJfRk9SQ0VfSURMRTsNCj4gPiArDQo+ID4gKyAg ICAgICByZXR1cm4gcHZyX3Bvd2VyX3NlbmRfY29tbWFuZChwdnJfZGV2LCAmcG93X2NtZCk7DQo+ ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyBpbnQNCj4gPiArcHZyX3Bvd2VyX3JlcXVlc3RfcHdy X29mZihzdHJ1Y3QgcHZyX2RldmljZSAqcHZyX2RldikNCj4gPiArew0KPiA+ICsgICAgICAgc3Ry dWN0IHJvZ3VlX2Z3aWZfa2NjYl9jbWQgcG93X2NtZDsNCj4gPiArDQo+ID4gKyAgICAgICAvKiBT ZW5kIFBPV19PRkYgcmVxdWVzdCB0byBmaXJtd2FyZS4gKi8NCj4gPiArICAgICAgIHBvd19jbWQu Y21kX3R5cGUgPSBST0dVRV9GV0lGX0tDQ0JfQ01EX1BPVzsNCj4gPiArICAgICAgIHBvd19jbWQu Y21kX2RhdGEucG93X2RhdGEucG93X3R5cGUgPSBST0dVRV9GV0lGX1BPV19PRkZfUkVROw0KPiA+ ICsgICAgICAgcG93X2NtZC5jbWRfZGF0YS5wb3dfZGF0YS5wb3dlcl9yZXFfZGF0YS5mb3JjZWQg PSB0cnVlOw0KPiA+ICsNCj4gPiArICAgICAgIHJldHVybiBwdnJfcG93ZXJfc2VuZF9jb21tYW5k KHB2cl9kZXYsICZwb3dfY21kKTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGludA0KPiA+ ICtwdnJfcG93ZXJfZndfZGlzYWJsZShzdHJ1Y3QgcHZyX2RldmljZSAqcHZyX2RldiwgYm9vbCBo YXJkX3Jlc2V0KQ0KPiA+ICt7DQo+ID4gKyAgICAgICBpZiAoIWhhcmRfcmVzZXQpIHsNCj4gPiAr ICAgICAgICAgICAgICAgaW50IGVycjsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICAgIGNhbmNl bF9kZWxheWVkX3dvcmtfc3luYygmcHZyX2Rldi0+d2F0Y2hkb2cud29yayk7DQo+ID4gKw0KPiA+ ICsgICAgICAgICAgICAgICBlcnIgPSBwdnJfcG93ZXJfcmVxdWVzdF9pZGxlKHB2cl9kZXYpOw0K PiA+ICsgICAgICAgICAgICAgICBpZiAoZXJyKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg IHJldHVybiBlcnI7DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAgICBlcnIgPSBwdnJfcG93ZXJf cmVxdWVzdF9wd3Jfb2ZmKHB2cl9kZXYpOw0KPiA+ICsgICAgICAgICAgICAgICBpZiAoZXJyKQ0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnI7DQo+ID4gKyAgICAgICB9DQo+ ID4gKw0KPiA+ICsgICAgICAgLyogVE9ETzogc3RvcCBmaXJtd2FyZSAqLw0KPiA+ICsgICAgICAg cmV0dXJuIC1FTk9ERVY7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyBpbnQNCj4gPiArcHZy X3Bvd2VyX2Z3X2VuYWJsZShzdHJ1Y3QgcHZyX2RldmljZSAqcHZyX2RldikNCj4gPiArew0KPiA+ ICsgICAgICAgaW50IGVycjsNCj4gPiArDQo+ID4gKyAgICAgICAvKiBUT0RPOiBzdGFydCBmaXJt d2FyZSAqLw0KPiA+ICsgICAgICAgZXJyID0gLUVOT0RFVjsNCj4gPiArICAgICAgIGlmIChlcnIp DQo+ID4gKyAgICAgICAgICAgICAgIHJldHVybiBlcnI7DQo+ID4gKw0KPiA+ICsgICAgICAgcXVl dWVfZGVsYXllZF93b3JrKHB2cl9kZXYtPnNjaGVkX3dxLCAmcHZyX2Rldi0NCj4gPiA+IHdhdGNo ZG9nLndvcmssDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgbXNlY3NfdG9famlmZmll cyhXQVRDSERPR19USU1FX01TKSk7DQo+ID4gKw0KPiA+ICsgICAgICAgcmV0dXJuIDA7DQo+ID4g K30NCj4gPiArDQo+ID4gK2Jvb2wNCj4gPiArcHZyX3Bvd2VyX2lzX2lkbGUoc3RydWN0IHB2cl9k ZXZpY2UgKnB2cl9kZXYpDQo+ID4gK3sNCj4gPiArICAgICAgIC8qIFRPRE86IGltcGxlbWVudCAq Lw0KPiA+ICsgICAgICAgcmV0dXJuIHRydWU7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyBi b29sDQo+ID4gK3B2cl93YXRjaGRvZ19rY2NiX3N0YWxsZWQoc3RydWN0IHB2cl9kZXZpY2UgKnB2 cl9kZXYpDQo+ID4gK3sNCj4gPiArICAgICAgIC8qIFRPRE86IGltcGxlbWVudCAqLw0KPiA+ICsg ICAgICAgcmV0dXJuIGZhbHNlOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgdm9pZA0KPiA+ ICtwdnJfd2F0Y2hkb2dfd29ya2VyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykNCj4gPiArew0K PiA+ICsgICAgICAgc3RydWN0IHB2cl9kZXZpY2UgKnB2cl9kZXYgPSBjb250YWluZXJfb2Yod29y aywgc3RydWN0DQo+ID4gcHZyX2RldmljZSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgDQo+ID4gd2F0Y2hkb2cud29yay53b3JrKTsNCj4gPiAr ICAgICAgIGJvb2wgc3RhbGxlZDsNCj4gPiArDQo+ID4gKyAgICAgICBpZiAocHZyX2Rldi0+bG9z dCkNCj4gPiArICAgICAgICAgICAgICAgcmV0dXJuOw0KPiA+ICsNCj4gPiArICAgICAgIGlmIChw bV9ydW50aW1lX2dldF9pZl9pbl91c2UoZnJvbV9wdnJfZGV2aWNlKHB2cl9kZXYpLT5kZXYpDQo+ ID4gPD0gMCkNCj4gPiArICAgICAgICAgICAgICAgZ290byBvdXRfcmVxdWV1ZTsNCj4gPiArDQo+ ID4gKyAgICAgICBzdGFsbGVkID0gcHZyX3dhdGNoZG9nX2tjY2Jfc3RhbGxlZChwdnJfZGV2KTsN Cj4gPiArDQo+ID4gKyAgICAgICBpZiAoc3RhbGxlZCkgew0KPiA+ICsgICAgICAgICAgICAgICBk cm1fZXJyKGZyb21fcHZyX2RldmljZShwdnJfZGV2KSwgIkZXIHN0YWxsZWQsIHRyeWluZw0KPiA+ IGhhcmQgcmVzZXQiKTsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICAgIHB2cl9wb3dlcl9yZXNl dChwdnJfZGV2LCB0cnVlKTsNCj4gPiArICAgICAgICAgICAgICAgLyogRGV2aWNlIG1heSBiZSBs b3N0IGF0IHRoaXMgcG9pbnQuICovDQo+ID4gKyAgICAgICB9DQo+ID4gKw0KPiA+ICsgICAgICAg cG1fcnVudGltZV9wdXQoZnJvbV9wdnJfZGV2aWNlKHB2cl9kZXYpLT5kZXYpOw0KPiA+ICsNCj4g PiArb3V0X3JlcXVldWU6DQo+ID4gKyAgICAgICBpZiAoIXB2cl9kZXYtPmxvc3QpIHsNCj4gPiAr ICAgICAgICAgICAgICAgcXVldWVfZGVsYXllZF93b3JrKHB2cl9kZXYtPnNjaGVkX3dxLCAmcHZy X2Rldi0NCj4gPiA+IHdhdGNoZG9nLndvcmssDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIA0KPiA+IG1zZWNzX3RvX2ppZmZpZXMoV0FUQ0hET0dfVElNRV9NUykpOw0KPiA+ ICsgICAgICAgfQ0KPiA+ICt9DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICogcHZyX3dhdGNoZG9n X2luaXQoKSAtIEluaXRpYWxpc2Ugd2F0Y2hkb2cgZm9yIGRldmljZQ0KPiA+ICsgKiBAcHZyX2Rl djogVGFyZ2V0IFBvd2VyVlIgZGV2aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiBSZXR1cm5zOg0KPiA+ ICsgKiAgKiAwIG9uIHN1Y2Nlc3MsIG9yDQo+ID4gKyAqICAqIC0lRU5PTUVNIG9uIG91dCBvZiBt ZW1vcnkuDQo+ID4gKyAqLw0KPiA+ICtpbnQNCj4gPiArcHZyX3dhdGNoZG9nX2luaXQoc3RydWN0 IHB2cl9kZXZpY2UgKnB2cl9kZXYpDQo+ID4gK3sNCj4gPiArICAgICAgIElOSVRfREVMQVlFRF9X T1JLKCZwdnJfZGV2LT53YXRjaGRvZy53b3JrLA0KPiA+IHB2cl93YXRjaGRvZ193b3JrZXIpOw0K PiA+ICsNCj4gPiArICAgICAgIHJldHVybiAwOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtpbnQNCj4g PiArcHZyX3Bvd2VyX2RldmljZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikNCj4gPiArew0K PiA+ICsgICAgICAgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdF9kZXYgPSB0b19wbGF0Zm9y bV9kZXZpY2UoZGV2KTsNCj4gPiArICAgICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2ID0g cGxhdGZvcm1fZ2V0X2RydmRhdGEocGxhdF9kZXYpOw0KPiA+ICsgICAgICAgc3RydWN0IHB2cl9k ZXZpY2UgKnB2cl9kZXYgPSB0b19wdnJfZGV2aWNlKGRybV9kZXYpOw0KPiA+ICsgICAgICAgaW50 IGlkeDsNCj4gPiArDQo+ID4gKyAgICAgICBpZiAoIWRybV9kZXZfZW50ZXIoZHJtX2RldiwgJmlk eCkpDQo+ID4gKyAgICAgICAgICAgICAgIHJldHVybiAtRUlPOw0KPiA+ICsNCj4gPiArICAgICAg IGNsa19kaXNhYmxlX3VucHJlcGFyZShwdnJfZGV2LT5tZW1fY2xrKTsNCj4gPiArICAgICAgIGNs a19kaXNhYmxlX3VucHJlcGFyZShwdnJfZGV2LT5zeXNfY2xrKTsNCj4gPiArICAgICAgIGNsa19k aXNhYmxlX3VucHJlcGFyZShwdnJfZGV2LT5jb3JlX2Nsayk7DQo+ID4gKw0KPiA+ICsgICAgICAg ZHJtX2Rldl9leGl0KGlkeCk7DQo+ID4gKw0KPiA+ICsgICAgICAgcmV0dXJuIDA7DQo+ID4gK30N Cj4gPiArDQo+ID4gK2ludA0KPiA+ICtwdnJfcG93ZXJfZGV2aWNlX3Jlc3VtZShzdHJ1Y3QgZGV2 aWNlICpkZXYpDQo+ID4gK3sNCj4gPiArICAgICAgIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBs YXRfZGV2ID0gdG9fcGxhdGZvcm1fZGV2aWNlKGRldik7DQo+ID4gKyAgICAgICBzdHJ1Y3QgZHJt X2RldmljZSAqZHJtX2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBsYXRfZGV2KTsNCj4gPiAr ICAgICAgIHN0cnVjdCBwdnJfZGV2aWNlICpwdnJfZGV2ID0gdG9fcHZyX2RldmljZShkcm1fZGV2 KTsNCj4gPiArICAgICAgIGludCBpZHg7DQo+ID4gKyAgICAgICBpbnQgZXJyOw0KPiA+ICsNCj4g PiArICAgICAgIGlmICghZHJtX2Rldl9lbnRlcihkcm1fZGV2LCAmaWR4KSkNCj4gPiArICAgICAg ICAgICAgICAgcmV0dXJuIC1FSU87DQo+ID4gKw0KPiA+ICsgICAgICAgZXJyID0gY2xrX3ByZXBh cmVfZW5hYmxlKHB2cl9kZXYtPmNvcmVfY2xrKTsNCj4gPiArICAgICAgIGlmIChlcnIpDQo+ID4g KyAgICAgICAgICAgICAgIGdvdG8gZXJyX2RybV9kZXZfZXhpdDsNCj4gPiArDQo+ID4gKyAgICAg ICBlcnIgPSBjbGtfcHJlcGFyZV9lbmFibGUocHZyX2Rldi0+c3lzX2Nsayk7DQo+ID4gKyAgICAg ICBpZiAoZXJyKQ0KPiA+ICsgICAgICAgICAgICAgICBnb3RvIGVycl9jb3JlX2Nsa19kaXNhYmxl Ow0KPiA+ICsNCj4gPiArICAgICAgIGVyciA9IGNsa19wcmVwYXJlX2VuYWJsZShwdnJfZGV2LT5t ZW1fY2xrKTsNCj4gPiArICAgICAgIGlmIChlcnIpDQo+ID4gKyAgICAgICAgICAgICAgIGdvdG8g ZXJyX3N5c19jbGtfZGlzYWJsZTsNCj4gPiArDQo+ID4gKyAgICAgICBkcm1fZGV2X2V4aXQoaWR4 KTsNCj4gPiArDQo+ID4gKyAgICAgICByZXR1cm4gMDsNCj4gPiArDQo+ID4gK2Vycl9zeXNfY2xr X2Rpc2FibGU6DQo+ID4gKyAgICAgICBjbGtfZGlzYWJsZV91bnByZXBhcmUocHZyX2Rldi0+c3lz X2Nsayk7DQo+ID4gKw0KPiA+ICtlcnJfY29yZV9jbGtfZGlzYWJsZToNCj4gPiArICAgICAgIGNs a19kaXNhYmxlX3VucHJlcGFyZShwdnJfZGV2LT5jb3JlX2Nsayk7DQo+ID4gKw0KPiA+ICtlcnJf ZHJtX2Rldl9leGl0Og0KPiA+ICsgICAgICAgZHJtX2Rldl9leGl0KGlkeCk7DQo+ID4gKw0KPiA+ ICsgICAgICAgcmV0dXJuIGVycjsNCj4gPiArfQ0KPiA+ICsNCj4gPiAraW50DQo+ID4gK3B2cl9w b3dlcl9kZXZpY2VfaWRsZShzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+ID4gK3sNCj4gPiArICAgICAg IHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXRfZGV2ID0gdG9fcGxhdGZvcm1fZGV2aWNlKGRl dik7DQo+ID4gKyAgICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiA9IHBsYXRmb3JtX2dl dF9kcnZkYXRhKHBsYXRfZGV2KTsNCj4gPiArICAgICAgIHN0cnVjdCBwdnJfZGV2aWNlICpwdnJf ZGV2ID0gdG9fcHZyX2RldmljZShkcm1fZGV2KTsNCj4gPiArDQo+ID4gKyAgICAgICByZXR1cm4g cHZyX3Bvd2VyX2lzX2lkbGUocHZyX2RldikgPyAwIDogLUVCVVNZOw0KPiA+ICt9DQo+IA0KPiBZ b3UgaGF2ZSB0d28gb3B0aW9ucyBoZXJlLiBFaXRoZXIgeW91IHJlcXVpcmUgQ09ORklHX1BNLCBh bmQgaW4gdGhhdA0KPiBjYXNlIHlvdSBzaG91bGQgYWRkIGEgZGVwZW5kZW5jeSBmb3IgaXQgaW4g dGhlIEtjb25maWcuIEFsc28gdXNlDQo+IFJVTlRJTUVfUE1fT1BTKCkgaW5zdGVhZCBvZiBTRVRf UlVOVElNRV9QTV9PUFMoKS4NCj4gDQo+IE90aGVyd2lzZSwgSSB3b3VsZCBzdWdnZXN0IHRvIHVz ZSBFWFBPUlRfTlNfUlVOVElNRV9ERVZfUE1fT1BTKCkgaGVyZSwNCj4gd2hpY2ggYWxsb3dzIHlv dSB0byBoYXZlIHB2cl9wb3dlcl9kZXZpY2Vfe3N1c3BlbmQscmVzdW1lLGlkbGV9IHN0YXRpYywN Cj4gYW5kIGhhdmluZyB0aGVtIGdhcmJhZ2UtY29sbGVjdGVkIGluIHRoZSAhQ09ORklHX1BNIGNh c2UuDQo+IA0KPiBZb3UgY2FuIHRoZW4gaGF2ZSBhbiAiZXh0ZXJuIHN0cnVjdCBkZXZfcG1fb3Bz IHB2cl9wb3dlcl9wbV9vcHM7IiBpbg0KPiB5b3VyIGhlYWRlciwgYW5kIHJlZmVyZW5jZSBpdCBp biB0aGUgZHJpdmVyIHVzaW5nIHRoZSBwbV9wdHIoKSBtYWNyby4NCg0KVGhhbmsgeW91IGZvciBw b2ludGluZyB0aGlzIG91dC4gV2UnbGwgbWFrZSBzdXJlIHRoaXMgaXMgZml4ZWQgaW4gdjYuDQoN ClRoYW5rcw0KRnJhbmsNCg0KPiANCj4gQ2hlZXJzLA0KPiAtUGF1bA0KPiANCj4gPiArDQo+ID4g Ky8qKg0KPiA+ICsgKiBwdnJfcG93ZXJfcmVzZXQoKSAtIFJlc2V0IHRoZSBHUFUNCj4gPiArICog QHB2cl9kZXY6IERldmljZSBwb2ludGVyDQo+ID4gKyAqIEBoYXJkX3Jlc2V0OiAldHJ1ZSBmb3Ig aGFyZCByZXNldCwgJWZhbHNlIGZvciBzb2Z0IHJlc2V0DQo+ID4gKyAqDQo+ID4gKyAqIElmIEBo YXJkX3Jlc2V0IGlzICVmYWxzZSBhbmQgdGhlIEZXIHByb2Nlc3NvciBmYWlscyB0byByZXNwb25k DQo+ID4gZHVyaW5nIHRoZSByZXNldCBwcm9jZXNzLCB0aGlzDQo+ID4gKyAqIGZ1bmN0aW9uIHdp bGwgYXR0ZW1wdCBhIGhhcmQgcmVzZXQuDQo+ID4gKyAqDQo+ID4gKyAqIElmIGEgaGFyZCByZXNl dCBmYWlscyB0aGVuIHRoZSBHUFUgZGV2aWNlIGlzIHJlcG9ydGVkIGFzIGxvc3QuDQo+ID4gKyAq DQo+ID4gKyAqIFJldHVybnM6DQo+ID4gKyAqICAqIDAgb24gc3VjY2Vzcywgb3INCj4gPiArICog ICogQW55IGVycm9yIGNvZGUgcmV0dXJuZWQgYnkgcHZyX3Bvd2VyX2dldCwgcHZyX3Bvd2VyX2Z3 X2Rpc2FibGUNCj4gPiBvciBwdnJfcG93ZXJfZndfZW5hYmxlKCkuDQo+ID4gKyAqLw0KPiA+ICtp bnQNCj4gPiArcHZyX3Bvd2VyX3Jlc2V0KHN0cnVjdCBwdnJfZGV2aWNlICpwdnJfZGV2LCBib29s IGhhcmRfcmVzZXQpDQo+ID4gK3sNCj4gPiArICAgICAgIC8qIFRPRE86IEltcGxlbWVudCBoYXJk IHJlc2V0LiAqLw0KPiA+ICsgICAgICAgaW50IGVycjsNCj4gPiArDQo+ID4gKyAgICAgICAvKg0K PiA+ICsgICAgICAgICogVGFrZSBhIHBvd2VyIHJlZmVyZW5jZSBkdXJpbmcgdGhlIHJlc2V0LiBU aGlzIHNob3VsZA0KPiA+IHByZXZlbnQgYW55IGludGVyZmVyZW5jZSB3aXRoIHRoZQ0KPiA+ICsg ICAgICAgICogcG93ZXIgc3RhdGUgZHVyaW5nIHJlc2V0Lg0KPiA+ICsgICAgICAgICovDQo+ID4g KyAgICAgICBXQVJOX09OKHB2cl9wb3dlcl9nZXQocHZyX2RldikpOw0KPiA+ICsNCj4gPiArICAg ICAgIGVyciA9IHB2cl9wb3dlcl9md19kaXNhYmxlKHB2cl9kZXYsIGZhbHNlKTsNCj4gPiArICAg ICAgIGlmIChlcnIpDQo+ID4gKyAgICAgICAgICAgICAgIGdvdG8gZXJyX3Bvd2VyX3B1dDsNCj4g PiArDQo+ID4gKyAgICAgICBlcnIgPSBwdnJfcG93ZXJfZndfZW5hYmxlKHB2cl9kZXYpOw0KPiA+ ICsNCj4gPiArZXJyX3Bvd2VyX3B1dDoNCj4gPiArICAgICAgIHB2cl9wb3dlcl9wdXQocHZyX2Rl dik7DQo+ID4gKw0KPiA+ICsgICAgICAgcmV0dXJuIGVycjsNCj4gPiArfQ0KPiA+ICsNCj4gPiAr LyoqDQo+ID4gKyAqIHB2cl93YXRjaGRvZ19maW5pKCkgLSBTaHV0ZG93biB3YXRjaGRvZyBmb3Ig ZGV2aWNlDQo+ID4gKyAqIEBwdnJfZGV2OiBUYXJnZXQgUG93ZXJWUiBkZXZpY2UuDQo+ID4gKyAq Lw0KPiA+ICt2b2lkDQo+ID4gK3B2cl93YXRjaGRvZ19maW5pKHN0cnVjdCBwdnJfZGV2aWNlICpw dnJfZGV2KQ0KPiA+ICt7DQo+ID4gKyAgICAgICBjYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJnB2 cl9kZXYtPndhdGNoZG9nLndvcmspOw0KPiA+ICt9DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pbWFnaW5hdGlvbi9wdnJfcG93ZXIuaA0KPiA+IGIvZHJpdmVycy9ncHUvZHJtL2lt YWdpbmF0aW9uL3B2cl9wb3dlci5oDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRl eCAwMDAwMDAwMDAwMDAuLjQzOWYwOGQxMzY1NQ0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaW1hZ2luYXRpb24vcHZyX3Bvd2VyLmgNCj4gPiBAQCAtMCwwICsx LDM5IEBADQo+ID4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wIE9SIE1JVCAq Lw0KPiA+ICsvKiBDb3B5cmlnaHQgKGMpIDIwMjMgSW1hZ2luYXRpb24gVGVjaG5vbG9naWVzIEx0 ZC4gKi8NCj4gPiArDQo+ID4gKyNpZm5kZWYgUFZSX1BPV0VSX0gNCj4gPiArI2RlZmluZSBQVlJf UE9XRVJfSA0KPiA+ICsNCj4gPiArI2luY2x1ZGUgInB2cl9kZXZpY2UuaCINCj4gPiArDQo+ID4g KyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvcG1fcnVudGlt ZS5oPg0KPiA+ICsNCj4gPiAraW50IHB2cl93YXRjaGRvZ19pbml0KHN0cnVjdCBwdnJfZGV2aWNl ICpwdnJfZGV2KTsNCj4gPiArdm9pZCBwdnJfd2F0Y2hkb2dfZmluaShzdHJ1Y3QgcHZyX2Rldmlj ZSAqcHZyX2Rldik7DQo+ID4gKw0KPiA+ICtib29sIHB2cl9wb3dlcl9pc19pZGxlKHN0cnVjdCBw dnJfZGV2aWNlICpwdnJfZGV2KTsNCj4gPiArDQo+ID4gK2ludCBwdnJfcG93ZXJfZGV2aWNlX3N1 c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KTsNCj4gPiAraW50IHB2cl9wb3dlcl9kZXZpY2VfcmVz dW1lKHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ID4gK2ludCBwdnJfcG93ZXJfZGV2aWNlX2lkbGUo c3RydWN0IGRldmljZSAqZGV2KTsNCj4gPiArDQo+ID4gK2ludCBwdnJfcG93ZXJfcmVzZXQoc3Ry dWN0IHB2cl9kZXZpY2UgKnB2cl9kZXYsIGJvb2wgaGFyZF9yZXNldCk7DQo+ID4gKw0KPiA+ICtz dGF0aWMgX19hbHdheXNfaW5saW5lIGludA0KPiA+ICtwdnJfcG93ZXJfZ2V0KHN0cnVjdCBwdnJf ZGV2aWNlICpwdnJfZGV2KQ0KPiA+ICt7DQo+ID4gKyAgICAgICBzdHJ1Y3QgZHJtX2RldmljZSAq ZHJtX2RldiA9IGZyb21fcHZyX2RldmljZShwdnJfZGV2KTsNCj4gPiArDQo+ID4gKyAgICAgICBy ZXR1cm4gcG1fcnVudGltZV9yZXN1bWVfYW5kX2dldChkcm1fZGV2LT5kZXYpOw0KPiA+ICt9DQo+ ID4gKw0KPiA+ICtzdGF0aWMgX19hbHdheXNfaW5saW5lIGludA0KPiA+ICtwdnJfcG93ZXJfcHV0 KHN0cnVjdCBwdnJfZGV2aWNlICpwdnJfZGV2KQ0KPiA+ICt7DQo+ID4gKyAgICAgICBzdHJ1Y3Qg ZHJtX2RldmljZSAqZHJtX2RldiA9IGZyb21fcHZyX2RldmljZShwdnJfZGV2KTsNCj4gPiArDQo+ ID4gKyAgICAgICByZXR1cm4gcG1fcnVudGltZV9wdXQoZHJtX2Rldi0+ZGV2KTsNCj4gPiArfQ0K PiA+ICsNCj4gPiArI2VuZGlmIC8qIFBWUl9QT1dFUl9IICovDQo=