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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 AC9C8C47074 for ; Thu, 4 Jan 2024 16:14:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:From: References:Cc:To:Subject:Date:Message-ID:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=FdiKH4o0I7hxNZWIPHQD1vpHDzstQ4Va9dQ5Q5QWVKo=; b=FHOrunp46JWTvBGvO/yZYy4fgp TwqmOr8zHdxPZYmDyNXMCmfJ9gAN+H3CA/7mXKtQVX7BT+6ZVxeCSx4hOwu/QehWxYZHtoO+XJmqC EUdqHYQ9xkjzNruQVZIWKQ3nrqn3skSBQRtS9e1JYBJnOFL2w4Gr6I5xtHz8hbFfPNSSnwQlo4y87 4wuP1cKTlHXtwTBbokAcChgdJ4D9ae7STCF1JTUq2aWJr7LSJ09N5dCadKDb2nT7GV49pgj5geToE UDbKIUDGBoWwfd3IgZ8kLfcJPxM1Oi0BgHE/EwetKadJ4I71Gy10TDd1TAkih6Suoy9wNFN0UO2xV ii0hESPQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rLQMZ-00EdO7-16; Thu, 04 Jan 2024 16:14:31 +0000 Received: from mail-bn7nam10on20600.outbound.protection.outlook.com ([2a01:111:f403:2009::600] helo=NAM10-BN7-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rLQMW-00EdN4-0u for linux-arm-kernel@lists.infradead.org; Thu, 04 Jan 2024 16:14:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=grXP7Sg+LJA5V4JtfACGGo1HvfM6Jvez9sT/CF9bmHq6ePWCpZh0sP3WGBOpncr2ff6yNJeRfUdsEBA8sjWUmBFDeFt9HrBjnf6F4zYqodGInX71Ps07OhhZIxLb6AaoXNq0X2pPiy3IhsPD0qKSQvlETzZ/yrz5P3DuZAV4AQCFrR0dYgT4hu8UiAAlSWl2Z5mt+nqAgfFxEKj7uNkk16zp/HRZ1S3lBShII/UYJpprj4F8f+wxguSPALGHMGAMkCamr9M3cuUTdUf7jVCnD9EKavxr7RpGHx6W3e5PIhwKGBg3XWJ5SSMpbbyvCTvbPlE5++XOjeMy6iQply/I3g== 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=OAV5QqVxYo2usZMWLrzLfryKvHgrT5OEOIuD4GzlNyo=; b=YYOsh+iE2llWSiW9PQ2Ms6ni8t6GGJ46CcHHV3J3mNcrP1ZiW+DkLZ7Vv/7s1B9JtbRF3PCMWXnl1vaLqj2fA8IRmQH/QcQBmJzwzN6EcD+fC9yUeBEgyeSUW2AWv7rIxcUq1k4M1iuRp4Jv83hdscbvliIUQeGQjl4o/6+VqG843URkmT1zAjgOAF8EuhaK8n9Zx+cmuUr9rnrIskIZ65f9jvgpSGOl8py5AgfpKFE4AfTgTp8HyJbjTSiRo5Npn/oqb9PapYbDv+q+eaUh5OnaPZFRkPwnldPe2LjDYB+ZpvR3zJUHMMQzQX3alCL8onmrQiVD3lo7mBomF5olLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OAV5QqVxYo2usZMWLrzLfryKvHgrT5OEOIuD4GzlNyo=; b=bBaTYONYHNFtMnddp9PNR8/7LpirXfs1vUney7C3FubDMtCIO9ZnJpMvqPkLumFfs1zSw/HpN0vpvZDEO/IXInNlAUocMdJ9vQxYwRpey3aCqQM8W6mo7/2grq4gxnwPjv8ZAHa6lnKAr+sGOLcDvSfaV6snvhfEm2YNOKovM9Y= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from BL1PR12MB5874.namprd12.prod.outlook.com (2603:10b6:208:396::17) by DM4PR12MB5277.namprd12.prod.outlook.com (2603:10b6:5:390::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.13; Thu, 4 Jan 2024 16:14:22 +0000 Received: from BL1PR12MB5874.namprd12.prod.outlook.com ([fe80::6452:1eb:50fa:311d]) by BL1PR12MB5874.namprd12.prod.outlook.com ([fe80::6452:1eb:50fa:311d%4]) with mapi id 15.20.7159.015; Thu, 4 Jan 2024 16:14:22 +0000 Message-ID: <0fe87b36-2daf-4b4b-a6b0-28a4c6c599f3@amd.com> Date: Thu, 4 Jan 2024 10:14:19 -0600 User-Agent: Mozilla Thunderbird Beta Subject: Re: [PATCH v8 3/3] remoteproc: zynqmp: parse TCM from device tree Content-Language: en-US To: Mathieu Poirier Cc: andersson@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, michal.simek@amd.com, ben.levinsky@amd.com, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org References: <20231215235725.1247350-1-tanmay.shah@amd.com> <20231215235725.1247350-4-tanmay.shah@amd.com> From: Tanmay Shah In-Reply-To: X-ClientProxiedBy: SN7PR04CA0234.namprd04.prod.outlook.com (2603:10b6:806:127::29) To BL1PR12MB5874.namprd12.prod.outlook.com (2603:10b6:208:396::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL1PR12MB5874:EE_|DM4PR12MB5277:EE_ X-MS-Office365-Filtering-Correlation-Id: efa8ecd5-70f4-42a1-512d-08dc0d40369d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pJf1fmTNUVDfcMbT/kE+UVO2FEUrAvf3/KfYgTfigsknlCOmNaPdx/S5eARIcJTKSEcoTxOgXslrP4UYl54D1Cc2ejCgZgcr3GoaPRvCzMF07jb/k/9lyf9HoxDtL1zOsDbSm+sBvp+ROhwqc9tkxya87VyC3+PW5ZXN9aVFyFkPIJIpicQguX+ln6ieCxEeWsxof3AmMF7KAERPydo4gntBUqmZf0dBjGfdKJbXFgVF2WE/5f4pKRBAAa6D4LDpxPxhydu4Guw0nqHG5c6jNniHF3iFtZ/Iol5GL8Pw6nrvDFInc/73/oFWLdPOCVSB9TgQnnUCUq+Me4aw2PtRESEK0Hsku1tEIlx0OW6nYO3quvMRIEutFM6GJt5Dr7C0wj3sBEw4wKNjc+whgY4X77RJPpto1mwQtaYcqYNSZuGZI53oRPTvra4epFVaj9Gf6XBoUX+CaJmCDKixcHu5t2fA6BMlYjYLr515pT9rQTcMF6iJFcr4TScPvBVnYklTTRyaWYnNxNqEyvinN0PI1YKlTd14OsOGXEmQSwbsRbjzrCas1T1KYNtw0hCLKWgrVUWdL81V6x4OrvuowTs+EnnUayd6GDKsbKBBO2d2fSQrsrB+yaifoXoSP0vA+0jnnlO1p/3VveSbDNmC3JrbFA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5874.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(39860400002)(376002)(346002)(366004)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(8676002)(478600001)(6666004)(8936002)(83380400001)(41300700001)(26005)(6512007)(5660300002)(53546011)(6506007)(6486002)(4326008)(6916009)(66556008)(66946007)(316002)(44832011)(2616005)(66476007)(31686004)(38100700002)(66899024)(2906002)(36756003)(31696002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Zm43UXV0SGZuU2srMlpVK3Zkb3NjOHNGYlRxa0JkQVQ1NHBQbGtlMHNaS09t?= =?utf-8?B?Ujk4VlVFVXVrRXBtazN0QmxrVU5RaHVFRlI2dkp2VTNBanNWSWZHanByV3lR?= =?utf-8?B?N28wRkZQWjN2ckNPdEYyaWc5N1FUeUVxR3pZWmYzc1ZJL3hWanVabzNjZTlY?= =?utf-8?B?cVNHMEpRZEhFYi90SnZ2Nllyd1gvSDZKaCtqK1pLZmU3aUFRVnF3SytnWXhR?= =?utf-8?B?MkJaYlhpWDlkWit3Z09FTVY0N0tkZzZYK3NvcFQ4TnNJZ2F4d0NRQWhlZXJU?= =?utf-8?B?cVg4TlVrbVJTZGtrWnQyQWpwQlJzanBzV1hnMlVncGFwRGF5QWs1YXFMMXR1?= =?utf-8?B?djdYMXhzbUY1Z2JqakVkRnRZdFVKSldLZXJ5Y3AwcW8zU0ZIdTZZY0tUL1ls?= =?utf-8?B?K0pTK2FOVlhBSDlVd3ZSKzZzdXRhTm5vQ2liYWJ5azVkaE14RWZqNXR1b3lr?= =?utf-8?B?UStFaTY5MkFaWEhqbDI4WTJHY2RueGxCT2NxbjlVRGhTUzdQeXM5REpzV29v?= =?utf-8?B?S0trQUo2UkRlS0VlNEJqQjlMRXhSbVBmZGdISGorSkJaZHJQV3ArQ3NMSGZH?= =?utf-8?B?c3h0WEh2NG55cmVGTCsvbmZHQzdHUWNDTDEvaUFSMDUwdDBFMlMwbVliVU5j?= =?utf-8?B?emQwL2xZaExLWkExVDBqTXhMWnhOcFJWSHUrd1BsdjVYR2F5NGNiSjNvSW4z?= =?utf-8?B?WEdJWUx0eGFleTlHbmpZN1I2S3dsRUpUSVNYeWdxTU9oRkdwbnZLOE5ZUkJi?= =?utf-8?B?bU5DRDAxYnBGTTVtQ2xhUU9GeDhFZGNkZElCSStOY3NYZHNnTnlRUmdOaTJU?= =?utf-8?B?TFhDcEg2dzNHYmMwbmYybFdXUmtlcnNUMWxCMmFyOXp5d05ISjhoQS9JQzFD?= =?utf-8?B?bWVtQWZIaVNkbkJ4ZmtDaUZnZmplOFRQYi9RaXNhbG9SSytPVkVadXlMWTVH?= =?utf-8?B?VGtXaGtObDFoYUFKalU1WXlZK3VXN3loZE13a3krNUZCelFZenkzdGp6d2hB?= =?utf-8?B?U24veVhEZXhnREgzT2xTVkRRS004TVVHK3JOeWZwczJwSEFRWjNmLzN3WENN?= =?utf-8?B?dEFLMU8yTDlzMkhoQTd5eWJFTklxMUNhMVdlaTdNelg5WkhXejk5NHZaNVdC?= =?utf-8?B?R0k5S0s4RmZqT3Nwd0UwdDdIYUV4SkticFdyZllJMXdLTFRGaHVaeVc4UTZK?= =?utf-8?B?aFVDR1J0aDFYRFdCYmQ1Uytzbkg4TGszNnBBS1l1eG9aTTZhcy9JWHE5UFcv?= =?utf-8?B?U2Mvemh1YW8xUlc5ZW40bTU1VTZScEdoUFNSTWROZnQ1ZGZ3eUhER2J0OGJw?= =?utf-8?B?NHlxa1ZmOENDVnhFN2x4emhxVVBtMGQzVFpxSWlLbnNVbGFQZ0hENE0vNUJ5?= =?utf-8?B?Mkh3WCtDWksrZ0l1M3dTU0ZpRzlSM2RQZFRrT09XSlRBN2d0cFdiQ05kQlB0?= =?utf-8?B?UzhrLzVCTUFmZlpKai92MGxVWW5ER0dFazQrRnovcC9nUVRFczExR2ZuUGxS?= =?utf-8?B?cldIclUxaU5Ta1JUZVh1OSthM05VQTVpeVdmVVQ2cnBQaENDNW9wSVZwdzhv?= =?utf-8?B?NkVnNzZlNEpuSUJiOUdDMEZNS3lRdEZSa3d1TjMrWWtuZHVubzF5NWxoVnZO?= =?utf-8?B?YjlEL3hjSENWN3ZhZnlKa2lvcys4b1dmLzhXSm0rM3RMc0pSUDZIOFRDcGtn?= =?utf-8?B?cWpXY1pjTll6MDRoeEhQWVFndFhtbTIwdlk2MVJWWDBwVzdQeTFtNU9XNE1X?= =?utf-8?B?alpienBjODdzMEwrMEtSQVNib3RDWjZvWFJ4TDQyY2xRYzljekNqL2FTekI1?= =?utf-8?B?SFF1SmxzRFBEVnVNRjYxbjZDcVNRQmJvNHYyM2FBNWFtaTk1d3pnNXZ1UHB3?= =?utf-8?B?aWc2ci83UUFYZjJCUzIvUXptajRwU1lKeGl2ZmZaMWQ1UVZhcFp4TXRCZWY4?= =?utf-8?B?UTAzMVVFWlByNDBZb3g5K3ZwV0xLa1RRQTVrOEREQU16UGcxME1WUWN0dmJU?= =?utf-8?B?bERqZ3lKRFkyZ2hGaXQ0Y2lXSFduaHdxVHVQdGdOK3pjNnZHdHpqZXZ1dnZK?= =?utf-8?B?ZmJQaDVyQUdBam9xRUtuQjNucHZaNzRPbzJ1NEFwMWw1citWaEpFaXMxeVZu?= =?utf-8?Q?EHi5Iny3J6klQL30M2dlroHno?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: efa8ecd5-70f4-42a1-512d-08dc0d40369d X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5874.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2024 16:14:22.6594 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9dAcxeoqA06Cv3czFizjETBJfil7AYBX5EVC2UFKf89ctQX3GMzzqCRa5Ua3lh2O X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5277 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240104_081428_413346_2DEB16BC X-CRM114-Status: GOOD ( 45.73 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Ck9uIDEvMy8yNCAxMjoxNyBQTSwgTWF0aGlldSBQb2lyaWVyIHdyb3RlOgo+IE9uIEZyaSwgRGVj IDE1LCAyMDIzIGF0IDAzOjU3OjI1UE0gLTA4MDAsIFRhbm1heSBTaGFoIHdyb3RlOgo+ID4gWnlu cU1QIFRDTSBpbmZvcm1hdGlvbiBpcyBmaXhlZCBpbiBkcml2ZXIuIE5vdyBaeW5xTVAgVENNIGlu Zm9ybWF0aW9uCj4KPiBzLyJpcyBmaXhlZCBpbiBkcml2ZXIiLyJ3YXMgZml4ZWQgaW4gZHJpdmVy Igo+Cj4gPiBpcyBhdmFpbGFibGUgaW4gZGV2aWNlLXRyZWUuIFBhcnNlIFRDTSBpbmZvcm1hdGlv biBpbiBkcml2ZXIKPiA+IGFzIHBlciBuZXcgYmluZGluZ3MuCj4gPiAKPiA+IFNpZ25lZC1vZmYt Ynk6IFRhbm1heSBTaGFoIDx0YW5tYXkuc2hhaEBhbWQuY29tPgo+ID4gLS0tCj4gPiAKPiA+IENo YW5nZXMgaW4gdjg6Cj4gPiAgIC0gcGFyc2UgcG93ZXItZG9tYWlucyBwcm9wZXJ0eSBmcm9tIGRl dmljZS10cmVlIGFuZCB1c2UgRUVNSSBjYWxscwo+ID4gICAgIHRvIHBvd2VyIG9uL29mZiBUQ00g aW5zdGVhZCBvZiB1c2luZyBwbSBkb21haW5zIGZyYW1ld29yawo+ID4gICAtIFJlbW92ZSBjaGVj a2luZyBvZiBwbV9kb21haW5faWQgdmFsaWRhdGlvbiB0byBwb3dlciBvbi9vZmYgdGNtCj4gPiAg IC0gUmVtb3ZlIHNwdXJpb3VzIGNoYW5nZQo+ID4gCj4gPiBDaGFuZ2VzIGluIHY3Ogo+ID4gICAt IG1vdmUgY2hlY2tpbmcgb2YgcG1fZG9tYWluX2lkIGZyb20gcHJldmlvdXMgcGF0Y2gKPiA+ICAg LSBmaXggbWVtX2JhbmtfZGF0YSBtZW1vcnkgYWxsb2NhdGlvbgo+ID4gCj4gPiAgZHJpdmVycy9y ZW1vdGVwcm9jL3hsbnhfcjVfcmVtb3RlcHJvYy5jIHwgMTU0ICsrKysrKysrKysrKysrKysrKysr KysrLQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxNDggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMo LSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy94bG54X3I1X3JlbW90 ZXByb2MuYyBiL2RyaXZlcnMvcmVtb3RlcHJvYy94bG54X3I1X3JlbW90ZXByb2MuYwo+ID4gaW5k ZXggNDM5NWVkZWE5YTY0Li4zNmQ3M2RjZDkzZjAgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL3Jl bW90ZXByb2MveGxueF9yNV9yZW1vdGVwcm9jLmMKPiA+ICsrKyBiL2RyaXZlcnMvcmVtb3RlcHJv Yy94bG54X3I1X3JlbW90ZXByb2MuYwo+ID4gQEAgLTc0LDggKzc0LDggQEAgc3RydWN0IG1ib3hf aW5mbyB7Cj4gPiAgfTsKPiA+ICAKPiA+ICAvKgo+ID4gLSAqIEhhcmRjb2RlZCBUQ00gYmFuayB2 YWx1ZXMuIFRoaXMgd2lsbCBiZSByZW1vdmVkIG9uY2UgVENNIGJpbmRpbmdzIGFyZQo+ID4gLSAq IGFjY2VwdGVkIGZvciBzeXN0ZW0tZHQgc3BlY2lmaWNhdGlvbnMgYW5kIHVwc3RyZWFtZWQgaW4g bGludXgga2VybmVsCj4gPiArICogSGFyZGNvZGVkIFRDTSBiYW5rIHZhbHVlcy4gVGhpcyB3aWxs IHN0YXkgaW4gZHJpdmVyIHRvIG1haW50YWluIGJhY2t3YXJkCj4gPiArICogY29tcGF0aWJpbGl0 eSB3aXRoIGRldmljZS10cmVlIHRoYXQgZG9lcyBub3QgaGF2ZSBUQ00gaW5mb3JtYXRpb24uCj4g PiAgICovCj4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBtZW1fYmFua19kYXRhIHp5bnFtcF90Y21f YmFua3Nfc3BsaXRbXSA9IHsKPiA+ICAJezB4ZmZlMDAwMDBVTCwgMHgwLCAweDEwMDAwVUwsIFBE X1I1XzBfQVRDTSwgImF0Y20wIn0sIC8qIFRDTSA2NEtCIGVhY2ggKi8KPiA+IEBAIC04NzgsNiAr ODc4LDEzOSBAQCBzdGF0aWMgc3RydWN0IHp5bnFtcF9yNV9jb3JlICp6eW5xbXBfcjVfYWRkX3Jw cm9jX2NvcmUoc3RydWN0IGRldmljZSAqY2RldikKPiA+ICAJcmV0dXJuIEVSUl9QVFIocmV0KTsK PiA+ICB9Cj4gPiAgCj4gPiArc3RhdGljIGludCB6eW5xbXBfcjVfZ2V0X3RjbV9ub2RlX2Zyb21f ZHQoc3RydWN0IHp5bnFtcF9yNV9jbHVzdGVyICpjbHVzdGVyKQo+ID4gK3sKPiA+ICsJc3RydWN0 IG9mX3BoYW5kbGVfYXJncyBvdXRfYXJnczsKPiA+ICsJaW50IHRjbV9yZWdfcGVyX3I1LCB0Y21f cGRfaWR4Owo+ID4gKwlzdHJ1Y3QgenlucW1wX3I1X2NvcmUgKnI1X2NvcmU7Cj4gPiArCWludCBp LCBqLCB0Y21fYmFua19jb3VudCwgcmV0Owo+ID4gKwlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpj cGRldjsKPiA+ICsJc3RydWN0IG1lbV9iYW5rX2RhdGEgKnRjbTsKPiA+ICsJc3RydWN0IGRldmlj ZV9ub2RlICpucDsKPiA+ICsJc3RydWN0IHJlc291cmNlICpyZXM7Cj4gPiArCXU2NCBhYnNfYWRk ciwgc2l6ZTsKPiA+ICsJc3RydWN0IGRldmljZSAqZGV2Owo+ID4gKwo+ID4gKwlmb3IgKGkgPSAw OyBpIDwgY2x1c3Rlci0+Y29yZV9jb3VudDsgaSsrKSB7Cj4gPiArCQlyNV9jb3JlID0gY2x1c3Rl ci0+cjVfY29yZXNbaV07Cj4gPiArCQlkZXYgPSByNV9jb3JlLT5kZXY7Cj4gPiArCQlucCA9IG9m X25vZGVfZ2V0KGRldl9vZl9ub2RlKGRldikpOwo+ID4gKwkJdGNtX3BkX2lkeCA9IDE7Cj4gPiAr Cj4gPiArCQkvKiB3ZSBoYXZlIGFkZHJlc3MgY2VsbCAyIGFuZCBzaXplIGNlbGwgYXMgMiAqLwo+ ID4gKwkJdGNtX3JlZ19wZXJfcjUgPSBvZl9wcm9wZXJ0eV9jb3VudF9lbGVtc19vZl9zaXplKG5w LCAicmVnIiwKPiA+ICsJCQkJCQkJCSA0ICogc2l6ZW9mKHUzMikpOwo+ID4gKwkJaWYgKHRjbV9y ZWdfcGVyX3I1IDw9IDApIHsKPiA+ICsJCQlkZXZfZXJyKGRldiwgImNhbid0IGdldCByZWcgcHJv cGVydHkgZXJyICVkXG4iLCB0Y21fcmVnX3Blcl9yNSk7Cj4gPiArCQkJcmV0dXJuIC1FSU5WQUw7 Cj4gPiArCQl9Cj4gPiArCj4gPiArCQkvKgo+ID4gKwkJICogSW4gbG9ja3N0ZXAgbW9kZSwgcjUg Y29yZSAwIHdpbGwgdXNlIHI1IGNvcmUgMSBUQ00KPiA+ICsJCSAqIHBvd2VyIGRvbWFpbnMgYXMg d2VsbC4gc28gYWxsb2NhdGUgdHdpY2Ugb2YgcGVyIGNvcmUgVENNCj4KPiBUd2ljZSBvZiB3aGF0 PyAgUGxlYXNlIHVzZSBwcm9wZXIgZW5nbGlzaCBpbiB5b3VyIG11bHRpIGxpbmUgY29tbWVudHMs IGkuZSBhCj4gY2FwaXRhbCBsZXR0ZXIgZm9yIHRoZSBmaXJzdCB3b3JkIGFuZCBhIGRvdCBhdCB0 aGUgZW5kLiAgCj4KPiA+ICsJCSAqLwo+ID4gKwkJaWYgKGNsdXN0ZXItPm1vZGUgPT0gTE9DS1NU RVBfTU9ERSkKPiA+ICsJCQl0Y21fYmFua19jb3VudCA9IHRjbV9yZWdfcGVyX3I1ICogMjsKPiA+ ICsJCWVsc2UKPiA+ICsJCQl0Y21fYmFua19jb3VudCA9IHRjbV9yZWdfcGVyX3I1Owo+ID4gKwo+ ID4gKwkJcjVfY29yZS0+dGNtX2JhbmtzID0gZGV2bV9rY2FsbG9jKGRldiwgdGNtX2JhbmtfY291 bnQsCj4gPiArCQkJCQkJICBzaXplb2Yoc3RydWN0IG1lbV9iYW5rX2RhdGEgKiksCj4gPiArCQkJ CQkJICBHRlBfS0VSTkVMKTsKPiA+ICsJCWlmICghcjVfY29yZS0+dGNtX2JhbmtzKQo+ID4gKwkJ CXJldCA9IC1FTk9NRU07Cj4gPiArCj4gPiArCQlyNV9jb3JlLT50Y21fYmFua19jb3VudCA9IHRj bV9iYW5rX2NvdW50Owo+ID4gKwkJZm9yIChqID0gMDsgaiA8IHRjbV9iYW5rX2NvdW50OyBqKysp IHsKPiA+ICsJCQl0Y20gPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2Yoc3RydWN0IG1lbV9iYW5r X2RhdGEpLAo+ID4gKwkJCQkJICAgR0ZQX0tFUk5FTCk7Cj4gPiArCQkJaWYgKCF0Y20pCj4gPiAr CQkJCXJldHVybiAtRU5PTUVNOwo+ID4gKwo+ID4gKwkJCXI1X2NvcmUtPnRjbV9iYW5rc1tqXSA9 IHRjbTsKPiA+ICsKPiA+ICsJCQkvKgo+ID4gKwkJCSAqIEluIGxvY2tzdGVwIG1vZGUsIGdldCBz ZWNvbmQgY29yZSdzIFRDTSBwb3dlciBkb21haW5zIGlkCj4gPiArCQkJICogYWZ0ZXIgZmlyc3Qg Y29yZSBUQ00gcGFyc2luZyBpcyBkb25lIGFzCj4KPiBUaGVyZSBzZWVtcyB0byBiZSB3b3JkcyBt aXNzaW5nIGF0IHRoZSBlbmQgb2YgdGhlIHNlbnRlbmNlLCBhbmQgdGhlcmUgaXMgbm8gZG90Lgo+ Cj4gPiArCQkJICovCj4gPiArCQkJaWYgKGogPT0gdGNtX3JlZ19wZXJfcjUpIHsKPiA+ICsJCQkJ LyogZGVjIGZpcnN0IGNvcmUgbm9kZSAqLwo+ID4gKwkJCQlvZl9ub2RlX3B1dChucCk7Cj4gPiAr Cj4gPiArCQkJCS8qIGdldCBzZWNvbmQgY29yZSBub2RlICovCj4gPiArCQkJCW5wID0gb2ZfZ2V0 X25leHRfY2hpbGQoY2x1c3Rlci0+ZGV2LT5vZl9ub2RlLCBucCk7Cj4gPiArCj4gPiArCQkJCS8q Cj4gPiArCQkJCSAqIHJlc2V0IGluZGV4IG9mIHBvd2VyLWRvbWFpbnMgcHJvcGVydHkgbGlzdAo+ ID4gKwkJCQkgKiBmb3Igc2Vjb25kIGNvcmUKPiA+ICsJCQkJICovCj4gPiArCQkJCXRjbV9wZF9p ZHggPSAxOwo+ID4gKwkJCX0KPiA+ICsKPiA+ICsJCQkvKiBnZXQgcG93ZXItZG9tYWlucyBpZCBv ZiB0Y20gKi8KPiA+ICsJCQlyZXQgPSBvZl9wYXJzZV9waGFuZGxlX3dpdGhfYXJncyhucCwgInBv d2VyLWRvbWFpbnMiLAo+ID4gKwkJCQkJCQkgIiNwb3dlci1kb21haW4tY2VsbHMiLAo+ID4gKwkJ CQkJCQkgdGNtX3BkX2lkeCwKPiA+ICsJCQkJCQkJICZvdXRfYXJncyk7Cj4gPiArCQkJaWYgKHJl dCkgewo+ID4gKwkJCQlkZXZfZXJyKHI1X2NvcmUtPmRldiwKPiA+ICsJCQkJCSJmYWlsZWQgdG8g Z2V0IHRjbSAlZCBwbSBkb21haW4sIHJldCAlZFxuIiwKPiA+ICsJCQkJCWosIHJldCk7Cj4gPiAr CQkJCW9mX25vZGVfcHV0KG91dF9hcmdzLm5wKTsKPgo+IEknbSBwcmV0dHkgc3VyZSB0aGlzIGlz bid0IG5lZWRlZCBpbiBlcnJvciBjb25kaXRpb25zIHNpbmNlIEBvdXRfYXJncyB3b3VsZCBub3QK PiBoYXZlIGJlZW4gYXNzaWduZWQuCj4KPiA+ICsJCQkJcmV0dXJuIHJldDsKPiA+ICsJCQl9Cj4g PiArCQkJdGNtLT5wbV9kb21haW5faWQgPSBvdXRfYXJncy5hcmdzWzBdOwo+ID4gKwkJCW9mX25v ZGVfcHV0KG91dF9hcmdzLm5wKTsKPiA+ICsJCQl0Y21fcGRfaWR4Kys7Cj4gPiArCj4gPiArCQkJ LyoKPiA+ICsJCQkgKiBJbiBsb2Nrc3RlcCBtb2RlLCB3ZSBvbmx5IG5lZWQgc2Vjb25kIGNvcmUn cyBwb3dlciBkb21haW4KPiA+ICsJCQkgKiBpZHMuIE90aGVyIGluZm9ybWF0aW9uIGZyb20gc2Vj b25kIGNvcmUgaXNuJ3QgbmVlZGVkIHNvCj4gPiArCQkJICogaWdub3JlIGl0LiBUaGlzIGZvcm1z IHRhYmxlIGFzIHp5bnFtcF90Y21fYmFua3NfbG9ja3N0ZXAKPgo+IEkgZG9uJ3QgdW5kZXJzdGFu ZCB0aGUgbGFzdCBzZW50ZW5jZSBvZiB0aGlzIGNvbW1lbnQgYW5kIGl0IGlzIG1pc3NpbmcgYSBk b3QgYXQKPiB0aGUgZW5kLiAgQ29tbWVudHMgc2hvdWxkIGJlIGVubGlnaHRlbmluZywgdGhlIG9u ZXMgSSBmb3VuZCBpbiB0aGlzIHBhdGNoIGFyZQo+IHNvd2luZyBjb25mdXNpb24uICAKPgo+ID4g KwkJCSAqLwo+ID4gKwkJCWlmIChqID49IHRjbV9yZWdfcGVyX3I1KQo+ID4gKwkJCQljb250aXVl Owo+ID4gKwo+Cj4gVGhpcyBjb25kaXRpb24gYW5kIHRoZSBvbmUgYWJvdmUgKGogPT0gdGNtX3Jl Z19wZXJfcjUpIGlzIGJyaXR0bGUgYW5kIGFsbW9zdAo+IGd1YXJhbnRlZWQgdG8gY2F1c2UgbWFp bnRlbmFuY2UgcHJvYmxlbXMgaW4gdGhlIGZ1dHVyZS4KPgo+IEkgdW5kZXJzdGFuZCB5b3VyIHdp bGwgdG8gcmV1c2UgYXMgbXVjaCBjb2RlIGFzIHBvc3NpYmxlIGJ1dCB0aGlzIGlzIG9uZSBvZiB0 aGUKPiByYXJlIGNhc2VzIHdoZXJlIGR1cGxpY2F0aW5nIGNvZGUgaXMgcHJvYmFibHkgYmV0dGVy LiAgUGxlYXNlIGludHJvZHVjZSB0d28gbmV3Cj4gZnVuY3Rpb25zLCBpLmUgenlucW1wX3I1X2dl dF90Y21fbm9kZV9mcm9tX2R0X3NwbGl0KCkgYW5kCj4genlucW1wX3I1X2dldF90Y21fbm9kZV9m cm9tX2R0X2xvY2tzdGVwKCksIGFuZCBkbyBhbGwgdGhlIG5lY2Vzc2FyeSBwcm9jZXNzaW5nCj4g YmFzZWQgb24gdGhlIHVzZSBjYXNlLgoKSGkgTWF0aGlldSwKCkkgdHJpZWQgdG8gaW1wbGVtZW50 IHRoaXMgYW5kIGl0IHN0aWxsIGxvb2tzIGhhY2t5LCBhcyBpbiBsb2Nrc3RlcCBtb2RlIHVubmVj ZXNzYXJ5IFRDTSBpcyBiZWluZyBhbGxvY2F0ZWQganVzdCB0byBzdG9yZSBwb3dlci1kb21haW5z LgoKSW5zdGVhZCwgSSBhbSB0YWtpbmcgYW5vdGhlciBjbGVhbmVyIGFwcHJvYWNoIHdoZXJlLCBU Q00gaXMgcGFyc2VkIGluIHVuaWZvcm0gd2F5IGluIGJvdGggbW9kZXPCoGZyb20gZGV2aWNlLXRy ZWUgZHVyaW5nwqAKCnp5bnFtcF9yNV9jb3JlX2luaXQuIEhvd2V2ZXIsIGR1cmluZ8KgICJhZGRf dGNtX2NhcnZlb3V0X2xvY2tzdGVwX21vZGUiIGNhbGwsIEkgd2lsbCBzaW1wbHkgcGFyc2Ugc2Vj b25kIGNvcmUncyBUQ00gcG93ZXItZG9tYWlucwoKZnJvbSBkZXZpY2UtdHJlZSBhbmQgdHVybiBp dCBvbi4KCkkgd2lsbCBpbXBsZW1lbnQgdGhpcyBhbmQgc2VuZCB2OSBhZnRlciBzdWNjZXNzZnVs IHRlc3RpbmcuIEkgd2FudGVkIHRvIGdpdmUgeW91IGhlYWRzIHVwIG9uIHRoaXMgYXBwcm9hY2gu IEkgaG9wZSBpdCBpcyBmaW5lLgoKVGhhbmtzLApUYW5tYXkKCgo+Cj4gVGhhbmtzLAo+IE1hdGhp ZXUKPgo+ID4gKwkJCS8qIGdldCB0Y20gYWRkcmVzcyB3aXRob3V0IHRyYW5zbGF0aW9uICovCj4g PiArCQkJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF9yZWcobnAsIGosICZhYnNfYWRkciwgJnNpemUp Owo+ID4gKwkJCWlmIChyZXQpIHsKPiA+ICsJCQkJb2Zfbm9kZV9wdXQobnApOwo+ID4gKwkJCQlk ZXZfZXJyKGRldiwgImZhaWxlZCB0byBnZXQgcmVnIHByb3BlcnR5XG4iKTsKPiA+ICsJCQkJcmV0 dXJuIHJldDsKPiA+ICsJCQl9Cj4gPiArCj4gPiArCQkJLyoKPiA+ICsJCQkgKiByZW1vdGUgcHJv Y2Vzc29yIGNhbiBhZGRyZXNzIG9ubHkgMzIgYml0cwo+ID4gKwkJCSAqIHNvIGNvbnZlcnQgNjQt Yml0cyBpbnRvIDMyLWJpdHMuIFRoaXMgd2lsbCBkaXNjYXJkCj4gPiArCQkJICogYW55IHVud2Fu dGVkIHVwcGVyIDMyLWJpdHMuCj4gPiArCQkJICovCj4gPiArCQkJdGNtLT5kYSA9ICh1MzIpYWJz X2FkZHI7Cj4gPiArCQkJdGNtLT5zaXplID0gKHUzMilzaXplOwo+ID4gKwo+ID4gKwkJCWNwZGV2 ID0gdG9fcGxhdGZvcm1fZGV2aWNlKGRldik7Cj4gPiArCQkJcmVzID0gcGxhdGZvcm1fZ2V0X3Jl c291cmNlKGNwZGV2LCBJT1JFU09VUkNFX01FTSwgaik7Cj4gPiArCQkJaWYgKCFyZXMpIHsKPiA+ ICsJCQkJb2Zfbm9kZV9wdXQobnApOwo+ID4gKwkJCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBn ZXQgdGNtIHJlc291cmNlXG4iKTsKPiA+ICsJCQkJcmV0dXJuIC1FSU5WQUw7Cj4gPiArCQkJfQo+ ID4gKwo+ID4gKwkJCXRjbS0+YWRkciA9ICh1MzIpcmVzLT5zdGFydDsKPiA+ICsJCQl0Y20tPmJh bmtfbmFtZSA9IChjaGFyICopcmVzLT5uYW1lOwo+ID4gKwkJCXJlcyA9IGRldm1fcmVxdWVzdF9t ZW1fcmVnaW9uKGRldiwgdGNtLT5hZGRyLCB0Y20tPnNpemUsCj4gPiArCQkJCQkJICAgICAgdGNt LT5iYW5rX25hbWUpOwo+ID4gKwkJCWlmICghcmVzKSB7Cj4gPiArCQkJCWRldl9lcnIoZGV2LCAi ZmFpbGVkIHRvIHJlcXVlc3QgdGNtIHJlc291cmNlXG4iKTsKPiA+ICsJCQkJb2Zfbm9kZV9wdXQo bnApOwo+ID4gKwkJCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICsJCQl9Cj4gPiArCQl9Cj4gPiArCX0K PiA+ICsKPiA+ICsJb2Zfbm9kZV9wdXQobnApOwo+ID4gKwlyZXR1cm4gMDsKPiA+ICt9Cj4gPiAr Cj4gPiAgLyoqCj4gPiAgICogenlucW1wX3I1X2dldF90Y21fbm9kZSgpCj4gPiAgICogSWRlYWxs eSB0aGlzIGZ1bmN0aW9uIHNob3VsZCBwYXJzZSB0Y20gbm9kZSBhbmQgc3RvcmUgaW5mb3JtYXRp b24KPiA+IEBAIC05NTYsMTAgKzEwODksMTkgQEAgc3RhdGljIGludCB6eW5xbXBfcjVfY29yZV9p bml0KHN0cnVjdCB6eW5xbXBfcjVfY2x1c3RlciAqY2x1c3RlciwKPiA+ICAJc3RydWN0IHp5bnFt cF9yNV9jb3JlICpyNV9jb3JlOwo+ID4gIAlpbnQgcmV0LCBpOwo+ID4gIAo+ID4gLQlyZXQgPSB6 eW5xbXBfcjVfZ2V0X3RjbV9ub2RlKGNsdXN0ZXIpOwo+ID4gLQlpZiAocmV0IDwgMCkgewo+ID4g LQkJZGV2X2VycihkZXYsICJjYW4ndCBnZXQgdGNtIG5vZGUsIGVyciAlZFxuIiwgcmV0KTsKPiA+ IC0JCXJldHVybiByZXQ7Cj4gPiArCXI1X2NvcmUgPSBjbHVzdGVyLT5yNV9jb3Jlc1swXTsKPiA+ ICsJaWYgKG9mX2ZpbmRfcHJvcGVydHkocjVfY29yZS0+bnAsICJyZWciLCBOVUxMKSkgewo+ID4g KwkJcmV0ID0genlucW1wX3I1X2dldF90Y21fbm9kZV9mcm9tX2R0KGNsdXN0ZXIpOwo+ID4gKwkJ aWYgKHJldCkgewo+ID4gKwkJCWRldl9lcnIoZGV2LCAiY2FuJ3QgZ2V0IHRjbSBub2RlIGZyb20g ZHQsIGVyciAlZFxuIiwgcmV0KTsKPiA+ICsJCQlyZXR1cm4gcmV0Owo+ID4gKwkJfQo+ID4gKwl9 IGVsc2Ugewo+ID4gKwkJcmV0ID0genlucW1wX3I1X2dldF90Y21fbm9kZShjbHVzdGVyKTsKPiA+ ICsJCWlmIChyZXQgPCAwKSB7Cj4gPiArCQkJZGV2X2VycihkZXYsICJjYW4ndCBnZXQgdGNtIG5v ZGUsIGVyciAlZFxuIiwgcmV0KTsKPiA+ICsJCQlyZXR1cm4gcmV0Owo+ID4gKwkJfQo+ID4gIAl9 Cj4gPiAgCj4gPiAgCWZvciAoaSA9IDA7IGkgPCBjbHVzdGVyLT5jb3JlX2NvdW50OyBpKyspIHsK PiA+IC0tIAo+ID4gMi4yNS4xCj4gPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1r ZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK