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 961AECAC59A for ; Fri, 19 Sep 2025 22:41:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version: Content-Transfer-Encoding:Content-ID:Content-Type:In-Reply-To:References: Message-ID:Date:Subject:CC:From:Reply-To:To:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=3nEU+P1MjKM1MF6iy5VME1s5E6nsOvubS3r2vQSTlA8=; b=vBKkBkGvk4uG+d+tnsUWEOGdDo 30DDprhX8sWh48hajq+dfqQ7EMJsP1SyAufFDi2H04UqCWGVh+ErQOwPBftRpiAYIJa5DDDAKbyOg eRo/pZRIwR3IEqxZk/H6TJNeFi2gt2y/AsdYQkRAXrNLMr15yNv2ESp2eEe7We06clAER9tvmofNG ELdB/3mWQUS//d9S6nRttpi/hAf3XbCr7Ix2fvClp/Rk4e8ExUPPBS9DundXVWrEdrKdDVqPz3XLu bX1npmN+iG464wENs7h42VPC5nG7XsYnpbYLbG501Av80OfqfMrqBNywWcK0bvSIEx1YOyh5XwrEv /tNkaxHg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uzjnD-00000004ES6-2LUj; Fri, 19 Sep 2025 22:41:27 +0000 Received: from mx0b-00230701.pphosted.com ([148.163.158.9]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uzjnA-00000004EQM-1xs6; Fri, 19 Sep 2025 22:41:26 +0000 Received: from pps.filterd (m0297265.ppops.net [127.0.0.1]) by mx0a-00230701.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58JINsih012362; Fri, 19 Sep 2025 15:40:38 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=synopsys.com; h= cc:content-id:content-transfer-encoding:content-type:date:from :in-reply-to:message-id:mime-version:references:subject; s= pfptdkimsnps; bh=3nEU+P1MjKM1MF6iy5VME1s5E6nsOvubS3r2vQSTlA8=; b= qK/KbNcojWVBzVCoNFlDDX2RIaZfhxxI1fEwmepM/VCwIeP+Zg67lVeXVCI6a3nY SACNS3Y+CSeurtW7z6PLsEc4ZGIzr4p7TQe7lQUQdULXIvgjOHnoUBC0rMeSiDGZ 3kUf4WeJgM6RaOx8ZNcEB7D3T5W5hZZ1oJrp7rutMcCJ4EORyjHoLIwhFO1TwDxE 6KNVP1B26IPpfpR3yjTZFZCn/p/y+BtVqNIatrJGWpNDY4Q7kQav9SNmdO3RcUkq DT41yueaOwckopj9CALJFmMrUU39P3B9YH2RnEZyZnDNjaexxzzhvEJBzErWi+WX pXY+9ilReFLA6gjjtZvxTw== Received: from smtprelay-out1.synopsys.com (smtprelay-out1.synopsys.com [149.117.73.133]) by mx0a-00230701.pphosted.com (PPS) with ESMTPS id 4997fdjjb7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 19 Sep 2025 15:40:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail; t=1758321636; bh=3nEU+P1MjKM1MF6iy5VME1s5E6nsOvubS3r2vQSTlA8=; h=From:CC:Subject:Date:References:In-Reply-To:From; b=kYCdu61GrHhT+ljyAdaF30mLRUSK2h7FWwW3aeFEACyR9bEIOQ+hAgelYWSrlSOCB q9QErnitZy08d/SWAIri0/QJPGGGw2i1eh65Yw73tDOJKGoNUPU0mX+ghx/U4fF5W8 EzFFLX1ylg0pcJoVDdZeDizt8ew6+6IdR/h+PCKhwYDxsIs0gurqdcqvcTk/4nL40z PdYVVNNkdHjwFYmPCLVvu1UsG6NjZqVUksTxg8hE1ZE7wVOWKrwNVX6bo3ljd2IRCX d+3+8vn62nIALImHSvlz6Zad48VI0KTNuOuyyvPabzXkGfk1S3gwymW5hwmBNxhyTP l6H1C7prUKNpA== Received: from mailhost.synopsys.com (sv1-mailhost2.synopsys.com [10.205.2.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) client-signature RSA-PSS (2048 bits)) (Client CN "mailhost.synopsys.com", Issuer "SNPSica2" (verified OK)) by smtprelay-out1.synopsys.com (Postfix) with ESMTPS id E9FD64048F; Fri, 19 Sep 2025 22:40:34 +0000 (UTC) Received: from o365relay-in.synopsys.com (us03-o365relay1.synopsys.com [10.4.161.137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) client-signature RSA-PSS (2048 bits)) (Client CN "o365relay-in.synopsys.com", Issuer "Entrust Certification Authority - L1K" (not verified)) by mailhost.synopsys.com (Postfix) with ESMTPS id 2F2D9A006D; Fri, 19 Sep 2025 22:40:33 +0000 (UTC) Authentication-Results: o365relay-in.synopsys.com; dmarc=pass (p=reject dis=none) header.from=synopsys.com Authentication-Results: o365relay-in.synopsys.com; spf=pass smtp.mailfrom=synopsys.com Authentication-Results: o365relay-in.synopsys.com; dkim=pass (1024-bit key; unprotected) header.d=synopsys.com header.i=@synopsys.com header.a=rsa-sha256 header.s=selector1 header.b=KUK3UF1o; dkim-atps=neutral Received: from BN1PR07CU003.outbound.protection.outlook.com (mail-bn1pr07cu00307.outbound.protection.outlook.com [40.93.12.7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK)) by o365relay-in.synopsys.com (Postfix) with ESMTPS id 8C1E440526; Fri, 19 Sep 2025 22:40:30 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XYM6vy+Uc7MnP5f1Vllq1KQm2L1IeJg3pM6lqXw8A8VRSwXtTqhLe5zMvkIZ87wJEzUMZaVRLYDlJNGS56SJHXjUhsdTR7fg8WR4yBjEipTob1ug0RZejql/zoMihB98yZouiEd8jq7zSotoW7Gc7mKcGQGTvmyCL8xZD7VzFhfkzA1sLzC5nExhKppU4egMPl9pyX4SUQAP3B5EYWXVwQcTMJxYGqHo534XBY0vEly18saCui6AYYfXeVuGqi0i2hyCJkPv/YkSxLA5+6lJYckfNLXP8eCDvR0LH+CAygUg0p8mS2y5ss5CGSmSfBQPW2VQ6rBCZ3LDfbFfGK1qIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=3nEU+P1MjKM1MF6iy5VME1s5E6nsOvubS3r2vQSTlA8=; b=cCnKkUBefrNX7DiymFN6vsDBUGawg2TEYxd4BtD+xpuisH8VOOutBNsfaiY1NWapLd6sTXOvFsK5HnOO7SAY/yD7hviESQh6anJMsHH6hIFnnFSINU+Q1/D3+IvfXmRAat8HwR94jUFbbVlGwvt15HlX8FMIvZcsXm41f1gmXc8+AU5fFlixQ5zLmvetqnJzUOT5vspqSpw4FeIrrp2mJ5g8SP7sbHJrw4bgpZQmi3MtO9efuyOvUZ++AEV+1/JlAD67bxPcKVJmeIPf3l2F0c7AygXVjvHJUWQ0T8b2dZh5ExZy6tBAOA+bjQGHEU1qBsm2O2JHNu1r0OJjLXFYyw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=synopsys.com; dmarc=pass action=none header.from=synopsys.com; dkim=pass header.d=synopsys.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=synopsys.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3nEU+P1MjKM1MF6iy5VME1s5E6nsOvubS3r2vQSTlA8=; b=KUK3UF1o6XCnmy/1sc++oOLM9LI5xt/TMTHbGlyIzy2rCjgn/RHYh0IJn9/BQJ6w1sIyTWuaTkizdzXZuDX/4NpFvKpVJfLPAxwcUHE91wGHDZ91OgB6CkWMZXl0F87poUE2Z9Nz/EcY6/Hk/YVSB5PBYypEOqMmmiS2PLCXeeo= Received: from LV2PR12MB5990.namprd12.prod.outlook.com (2603:10b6:408:170::16) by MN0PR12MB5739.namprd12.prod.outlook.com (2603:10b6:208:372::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9137.13; Fri, 19 Sep 2025 22:40:21 +0000 Received: from LV2PR12MB5990.namprd12.prod.outlook.com ([fe80::3d09:f15f:d888:33a8]) by LV2PR12MB5990.namprd12.prod.outlook.com ([fe80::3d09:f15f:d888:33a8%3]) with mapi id 15.20.9094.021; Fri, 19 Sep 2025 22:40:21 +0000 X-SNPS-Relay: synopsys.com From: Thinh Nguyen CC: Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Felipe Balbi , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Vinod Koul , Kishon Vijay Abraham I , Thinh Nguyen , Heikki Krogerus , Philipp Zabel , Frank Li , Ran Wang , Peter Chen , "linux-usb@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "asahi@lists.linux.dev" , "linux-arm-kernel@lists.infradead.org" , "linux-phy@lists.infradead.org" Subject: Re: [PATCH v2 04/22] usb: dwc3: Add Apple Silicon DWC3 glue layer driver Thread-Topic: [PATCH v2 04/22] usb: dwc3: Add Apple Silicon DWC3 glue layer driver Thread-Index: AQHcH0UITP6vLUUNgkWBWYMDFAvIi7SbLjIA Date: Fri, 19 Sep 2025 22:40:20 +0000 Message-ID: <20250919224016.gyao3aoka5ineear@synopsys.com> References: <20250906-atcphy-6-17-v2-0-52c348623ef6@kernel.org> <20250906-atcphy-6-17-v2-4-52c348623ef6@kernel.org> In-Reply-To: <20250906-atcphy-6-17-v2-4-52c348623ef6@kernel.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: LV2PR12MB5990:EE_|MN0PR12MB5739:EE_ x-ms-office365-filtering-correlation-id: 42e86862-7187-4b78-a798-08ddf7cd83e3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7416014|38070700021; x-microsoft-antispam-message-info: =?utf-8?B?cjBDL2VhdGxRZXQ4bXZJOFNSa3VzcmNKRGJTWVNiL05lTVNZUWlOTCtCZ3U4?= =?utf-8?B?MzgvWmVhVEVmOTBHS1hMZks1TzFLM1R6NU4vNnl5YmIvK1pqckVEamxwMmFS?= =?utf-8?B?V0c3M0x1WjU1QnowTjhUOGZLVG01S2RETFVVWmRoRC9zTStOdFpiZnJQTzZ0?= =?utf-8?B?dW9zRW94ajhVV3ZTcDVhaE0yUGF4TG9vQStIK1JQN0VpdVE1OUNibWJDY1hD?= =?utf-8?B?b2ltNXE0TG9hQVluRUhRd0VxZzJadWRERTRsOTNiUTdUWVNiU252bVRCUjdS?= =?utf-8?B?MFNaSVdlWVFmTmowUmdkSHovUVpmRm5OUFh5Z21LeldMNjJhbkF0Y3RSNnVp?= =?utf-8?B?QU1YUDd6ZnpDd1kxT0F3eEJ2NWdOQStINGc4Mkg2VUJEUEwvUVhWN284blpC?= =?utf-8?B?bnRINC80TG1RVkw2OEJUQzRlYzdSeEsvVElKR0FSOXRDZjlycjBmSitabkZl?= =?utf-8?B?QTNDdEdjNFJnYTVNWDZMS0JHWE00Q3daa1ppNHFhNEk0dUNxUDl1dmVtYi9G?= =?utf-8?B?ZmFKSUd2Q1NDN3duK1BwSFlrNlBoMnJ5THZHNEdTbktoRUltTEhLK25YcVQ3?= =?utf-8?B?ajlGVVJrM2xsUDg2TUtDWkZxOVc2T2FiZW9tQnZ4dGNVdit1YWtrVytveG1Z?= =?utf-8?B?cDVOSjJGVDU4cE9XbldlV0o2M3NtR3JFWUtqQ1NZTm5wYzQ3QzRxUit2QTlt?= =?utf-8?B?T25rRlBPVTBOWm1EeUpjNXp6amxRTmh4WjFSNGRKM3NuK2NFY3JHc2NnRGlL?= =?utf-8?B?RGhyNFFZMzVsRUhZMVZ0a3BpMDNSM1oza3BBVEx4QWJDS0NQNmRLYjFFbkpB?= =?utf-8?B?L2tWN1JCWE9uYm5hVG55RzU1WXU0VFFVeGl3cUdiWEZtbmhPeUhOQjVnOS9Z?= =?utf-8?B?OXp3NjFYemFyQW02Q3BaWkl0OExaRFZ5ZnZsR01jYWwxWU5jQ1hMQWpVczU0?= =?utf-8?B?aTFtQ2s3NzAyeG9Ha1JxODBycHRHQndkODUzYU1TY240M3pQS3ArNDU1dkxl?= =?utf-8?B?R3RNZTdOd0ZyWkZBWForNkFYR1NMWmdnUGQ0eEtOc2piU012N2NQcGJHNFZJ?= =?utf-8?B?SGpJbUdIZ0hRSHVRb0k2cXFMd3FaL1NEQXhxdzUwS3Q4WEs0VmYwVFZ6K2NI?= =?utf-8?B?YmdwWlZxSVZpd0pBbi9XRVBYWDFqMGdOaU5Ma21aRk5NbmVYb0JIOWZWcGVY?= =?utf-8?B?T1crVE5BSlJjYjZ3T0g5bjVBMzdvbjBvWGRzM3JzUDNpakRKV0d3bUIvc0Nv?= =?utf-8?B?SW50MzdsZEJTTDYyRHplSDZtNWp6bTJ4OVJiSk9VbVhoZno2SFpZR1Q5VFgv?= =?utf-8?B?QzFOdzVSakJtZ0pxNFdBSkNicEtDbkVBNWJoaGZaUHVXQTBSamFSUVNKTkRX?= =?utf-8?B?RjFKcmhrNERUL0FpUUxRWDVvQkpmTHVRTHY0dFpCYkgzSGRMU3lSLzhCRWty?= =?utf-8?B?VStMK3VZalQrMnZUZ0t0bDBLbUZGTGVJVHNYYkZyaU5KK0puN1BCZEdqbjVM?= =?utf-8?B?MTNlYWcvcU9lZjQ3a0tmWkRiTUtLanViQU1yM1YzenB6S0NDNHczM25XME1j?= =?utf-8?B?M3FrTG1uRUhKcDRXTUtoaUxpWmlNOTlIeEp3Rk5qS2hZSlEyMGpEY3RyYzJC?= =?utf-8?B?Q21PeTdDTXgxbmprZU1ZdmR4ZktIdVo2N3MrMGpSUUoxNzlhbkFxTjhFMmVn?= =?utf-8?B?clVNRWxEbnBva0xPS0ZxYkdIWHNMdG1FMWZpZzFOcXhVUE5rcjhZb0ZRSzdJ?= =?utf-8?B?Z25QdHN6OGgxWGUza2dXR2JCelprRlVwTWNUSlFGSFpDaTRVQ3VSZVVaNm5j?= =?utf-8?B?VFA3aTB5Uk5KLzdvcXpDQzR0MGJQay80OFFsbkFCeEMwekpWSjI3dEtyTm4y?= =?utf-8?B?M3NtZGZpUFM0U3RjWmtlUVNwR3BodmdYWTVFV2tlWndVYXlCT2k3VEowdDEz?= =?utf-8?Q?zY8Xkatqfk0=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7416014)(38070700021);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VWU3cVhleTBTemp4dDN3UkVkMlgyRXNVMHcwMmd5bGp3Nkx6RUI0Tjc5L2hj?= =?utf-8?B?aldsSldTNU9JZjBoN2lnQVBkR2pTM2RrUlQvaXJ0RVREdEYxQ0xyVFhSQ1pa?= =?utf-8?B?ajBRUjhJUzNzMlhNKy9GN21yRjRLZ1ZUbGlJSzhyMzFRUFd1VGJzblBrallI?= =?utf-8?B?OWV5bkVvRUFKa0tCUzJ0OTl5elZSZkFFQlV3ODNUcFlzckxZVjhrVmxRcUZV?= =?utf-8?B?MGs5V2JkY2dCNVdiQk95NEdIZk5CK3JBcEFNb2hBRTdSd2NzRGROWlh5eEJH?= =?utf-8?B?YlFUSTBicEJXbE1VOHQ2NkhhUXV1MzRIakRWUFZ6Y1dRVDFFcXExZ0RIU0Ux?= =?utf-8?B?SGdUZU91SWlvZ1IrVVcySGtCZ3NyTVZQRVFMQUNEN0lucVZlRlZ1YkoxaE9O?= =?utf-8?B?Q0xianIyN3JnUWJCSnpHdWNKUFVXbVVmVlpnNEY3disybFpuMjR0NjlLb1pX?= =?utf-8?B?SDdSek9JdzZLWG1pcWdnWVlqTCtUdlZtT2JsMTJYaGRTL2VYR3lxQXhFMWk1?= =?utf-8?B?S0VjY3dIUnlIZ1dqTmY4eW9yNUR3ZlNhZEhIaXNVbTFBN1V6WC9NWGsrSkFW?= =?utf-8?B?RUozTGs5T3JEZ0VwRG9Db1NDQW1EdjRCcjRobjdKQWNWcHlleHRGRk01YnFX?= =?utf-8?B?YjYvZ0tjQWpGdW1aZzJQUGVHOWw2S2hqS2pSRG5mZjhsaFg2MHNnaldhZVFq?= =?utf-8?B?V2tpTnhjTjEweXpuUlN2U0x3QVI2U3RyYU0zb0IrdGhHcFlUMkR5bDRjVWZa?= =?utf-8?B?WVBIdUdHMUUrOFhENVFpYnNVTHl3QkYvK0JvVEx5ZWRTQ2k0MzRpb1NPLzM1?= =?utf-8?B?ZTNnL3g5WVQ3bm9YelZzYWl2Q3dTNElOQjZ3dDdFUmY3ZFJVZXVHNWFWVEg4?= =?utf-8?B?ajZDN1p1UkV4dXNrVXJ0bGxKT25CUzU0cXJCeCtPdkR1OE83RGVnQk5wRU95?= =?utf-8?B?SHVJdUkxdld6aEF3WGJvSmY5dUZsUWlxVVdiWVFpTzFNZlRQUk1jSmh1NFFU?= =?utf-8?B?V2RoS3kzbDBtSW1MNDF6a1luaTJva1B5RmkxOXNTQklnOVdiYjE1VWxRaXlF?= =?utf-8?B?NzBzb3pVbFBzaTNySEJWYzB6YTRxK2c4TTJQd0Zyd01mL1Y1WUxTNHpnVlk3?= =?utf-8?B?bGdyZzBpWDJNWi9rOXVjQkFwVHJkazdyd3VJRFAxT1p2U1BQMGd3OTh0aU5U?= =?utf-8?B?L1h2eWg0UGxNRzMxaDBQb2dPZkZHOG4zYXprR2pmZlNlRUhXTnUrMkxrTHc3?= =?utf-8?B?TnJ3Y2hRK28xaGVqdFJVSFhYY3diTmladWsyUDNhWkJTcmtTcW1PLzNLUk5n?= =?utf-8?B?L1JDVTFXQ3d1U0FTMG9qUUJjY1dtNmZxc2xJcGpRMFk4bE8yaUttUDhHTlJm?= =?utf-8?B?QTY5cUsrZmorNFRPY3dTejZibTdOcDRUNy9NSXYvT3MxMEdtcFJiY1VKZDg4?= =?utf-8?B?UVhrZVV5eGM0b25kS25xVHdTR244aWo1blM1NmFtOHpmaTZEMmhBVTZ4SGE3?= =?utf-8?B?REYzR2NKVlRpRzBWVjNxdUJoT1g2VFBUdW5aYXJNSGZRaG1UWjNrSVl3N2Nw?= =?utf-8?B?R09LSExNRnB0MDJ6SWFjT0xVOXhDRUZja2t3YUpGOTVhM0VJZWtTT3J0eTdZ?= =?utf-8?B?TitOZjI2aWFLZVBHUDMwQlQxV1ZHUHdYbFJWbGlXelhjalBFeHBwT3pzeUFi?= =?utf-8?B?RTZzQWNzemtkeDkza3ZiWWdGeGJNOVZxcHphN1ZXNzFMVXowSkRNSmFpVUh6?= =?utf-8?B?UUY0MlRQNzZYeTlHRHFUQ1VQZm5VQXdFZEhBNStQb04zWWlVRnNxT1V4K2Rt?= =?utf-8?B?dnJmanRRQ1dXeW9uNHBFS0tJellLTm40c25mVTdUSVEzS1VVbUU0VkU4Rkp4?= =?utf-8?B?bXVnVnJORDRkUXd2VGFWc0hlblhoL3A4OXBlYXFFUHgrQnR5cUMxYzJ6REVM?= =?utf-8?B?MnNkZXlOcURCSWhoak5oTkk1MUJkMVhtcUJFQ29RSmQzUHdTU1doREM1cGdy?= =?utf-8?B?UzhiVTFDM1Z6OU9BeFUvV1pvaXV4VWxhVXpUMmFCQ3oraU9PN3loaU5HSWtD?= =?utf-8?B?bFRReE52SW8vYzZDN2RQTkxzcGU3dW45RjVlUjRoZ0svWXZkTzhIT0M4Z2Np?= =?utf-8?Q?QUc/n8CIa7a8zM6t94MONeqJy?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: EIp+2Ly25wpnKWKz3pavP4PMo4l5G7LJnAnYbwGWbHYFLpOkvlQDKJ4Ob81lbJCvsDQ8wqogWSwA4WwlBvGJ33m+fx0QnYBrI/abQ9ULvdVyMjze8bibE1aCo1l2N/GTUiY9jU8fKT8LLESZlAsxhM1ScJQguBkzgpCD+iQTD1XnGIBegPE/5o0gC86u8kPvzWhHrkeCtbIxq1P+rdsKwAMpRznZR/kGHcSGNRSlv7BC5G+4SoN7J0tTKpDnuclWOoJJY2h5yiTm8YaZyfwuS7ZlwuN9468Zvd/EER7VsiG2GmlU0JnXwHl8TULmYlbUrCL5m8aTBSJMAMm201Cw6dojf9NTwf2cMl9GU8RbLKrdxRP5CjwOGqB1+8lY3dIhN2iGXZB2WciP7vlTPEnEUl+ptNsTijcllBT9gHNJPIugUzqH4F/j6riFm2bdpQ0JH3V0dzSGx0GAO9Obd+ubcnkv8xN4uXrOwc2MmExz9d8YdSi8iTmmT4pShlqSFUdkyFhkfwCX4tPLdJ0tdD1njibPcFogFbIzvYHtKB02RT2nQD3ILp49bxUW6CXIqNY6WPjCz49iEbXNoZ+4zTni2SaXkIqYVxQaWq9/4gomsdzzMwNFMCnLkCdQmOuXxIoWxIMxiPSoy1AtAClQ4k9zyA== X-OriginatorOrg: synopsys.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5990.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 42e86862-7187-4b78-a798-08ddf7cd83e3 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Sep 2025 22:40:20.9414 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: c33c9f88-1eb7-4099-9700-16013fd9e8aa X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: hY9poKkTbzYU9L/613RTFJJhbj8BSZ3UJmTRL0PLQ0kyOdF9my5WbZ8ICdeXYgTD+rYkWdUpBxlMuXHsR3vweQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5739 X-Proofpoint-ORIG-GUID: ytRnh_IiQEowiJ46Ca2BvQQXqmyF_uPX X-Authority-Analysis: v=2.4 cv=bIAWIO+Z c=1 sm=1 tr=0 ts=68cddbe5 cx=c_pps a=8EbXvwLXkpGsT4ql/pYRAw==:117 a=8EbXvwLXkpGsT4ql/pYRAw==:17 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=9cW_t1CCXrUA:10 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=qPHU084jO2kA:10 a=sozttTNsAAAA:8 a=VwQbUJbxAAAA:8 a=euJdPrHHoiAxPbYWO2AA:9 a=QEXdDO2ut3YA:10 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTE5MDExOSBTYWx0ZWRfXwvJxiBJxc9uQ lBEhxr/ckpcWCDYSb1VRe8vPInqFjsUCkF719V0cEtGg+fqPUBdtdyome2aKAqLuY/DxLNq22U2 g+p1AdtHsAaSQw9fbWswu1ODcj2EIcnDsGoLshGvDv7um7swIj63Fw5X4bImPICE8sCXq9Y0GxJ c6BAZrPyzB7tlCPuNh2RCxTiUV/sGCdZqvRibKNfaViJpfmeupEH13hmCsradH8yV3rat5mR1nd EAC7LoT76xnu5kIVjOlsQ2w3zND1p8+L4ke/AOws6UIxOKOfLpugSrixJSdjjp5D/ycJQoey1Qz haVFOIyhj8QUl/XToa0vet72I69HukGEI1b6b5mh3fVHsUR/JCFc7MvPRdGVMrGAQHKKA4YHnTv SheKGQXj X-Proofpoint-GUID: ytRnh_IiQEowiJ46Ca2BvQQXqmyF_uPX X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-19_03,2025-09-19_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_active_cloned_notspam policy=outbound_active_cloned score=0 clxscore=1015 impostorscore=0 spamscore=0 phishscore=0 malwarescore=0 adultscore=0 bulkscore=0 priorityscore=1501 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509190119 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250919_154124_664866_BF24E1F3 X-CRM114-Status: UNSURE ( 9.96 ) X-CRM114-Notice: Please train this message. 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gU2F0LCBTZXAgMDYsIDIwMjUsIFN2ZW4gUGV0ZXIgd3JvdGU6DQo+IEFzIG1hZCBhcyBpdCBz b3VuZHMsIHRoZSBkd2MzIGNvbnRyb2xsZXIgcHJlc2VudCBvbiB0aGUgQXBwbGUgTTEgbXVzdCBi ZQ0KPiByZXNldCBhbmQgcmVpbml0aWFsaXplZCB3aGVuZXZlciBhIGRldmljZSBpcyB1bnBsdWdn ZWQgZnJvbSB0aGUgcm9vdA0KPiBwb3J0IG9yIHdoZW4gdGhlIFBIWSBtb2RlIGlzIGNoYW5nZWQu DQo+IA0KPiBUaGlzIGlzIHJlcXVpcmVkIGZvciBhdCBsZWFzdCB0aGUgZm9sbG93aW5nIHJlYXNv bnM6DQo+IA0KPiAgIC0gVGhlIFVTQjIgRCsvRC0gbGluZXMgYXJlIGNvbm5lY3RlZCB0aHJvdWdo IGEgc3RhdGVmdWwgZVVTQjIgcmVwZWF0ZXINCj4gICAgIHdoaWNoIGluIHR1cm4gaXMgY29udHJv bGxlZCBieSBhIHZhcmlhbnQgb2YgdGhlIFRJIFRQUzY1OTh4IFVTQiBQRA0KPiAgICAgY2hpcC4g V2hlbiB0aGUgVVNCIFBEIGNvbnRyb2xsZXIgZGV0ZWN0cyBhIGhvdHBsdWcgZXZlbnQgaXQgcmVz ZXRzDQo+ICAgICB0aGUgZVVTQjIgcmVwZWF0ZXIuIEFmdGVyd2FyZHMsIG5vIG5ldyBkZXZpY2Ug aXMgcmVjb2duaXplZCBiZWZvcmUNCj4gICAgIHRoZSBEV0MzIGNvcmUgYW5kIFBIWSBhcmUgcmVz ZXQgYXMgd2VsbCBiZWNhdXNlIHRoZSBlVVNCMiByZXBlYXRlcg0KPiAgICAgYW5kIHRoZSBQSFkv ZHdjMyBibG9jayBkaXNhZ3JlZSBhYm91dCB0aGUgY3VycmVudCBzdGF0ZS4NCj4gDQo+ICAgLSBJ dCdzIHBvc3NpYmxlIHRvIGNvbXBsZXRlbHkgYnJlYWsgdGhlIGR3YzMgY29udHJvbGxlciBieSBz d2l0Y2hpbmcNCj4gICAgIGl0IHRvIGRldmljZSBtb2RlIGFuZCB1bnBsdWdnaW5nIHRoZSBjYWJs ZSBhdCBqdXN0IHRoZSB3cm9uZyB0aW1lLg0KPiAgICAgSWYgdGhpcyBoYXBwZW5zIGR3YzMgYmVo YXZlcyBhcyBpZiBubyBkZXZpY2UgaXMgY29ubmVjdGVkLg0KPiAgICAgQ09SRVNPRlRSRVNFVCB3 aWxsIGFsc28gbmV2ZXIgY2xlYXIgYWZ0ZXIgaXQgaGFzIGJlZW4gc2V0LiBUaGUgb25seQ0KPiAg ICAgd29ya2Fyb3VuZCBpcyB0byB0cmlnZ2VyIGEgaGFyZCByZXNldCBvZiB0aGUgZW50aXJlIGR3 YzMgY29yZSB3aXRoDQo+ICAgICBpdHMgZXh0ZXJuYWwgcmVzZXQgbGluZS4NCj4gDQo+ICAgLSBX aGVuZXZlciB0aGUgUEhZIG1vZGUgaXMgY2hhbmdlZCAodG8gZS5nLiB0cmFuc2l0aW9uIHRvIERp c3BsYXlQb3J0DQo+ICAgICBhbHRlcm5hdGUgbW9kZSBvciBVU0I0KSBkd2MzIGhhcyB0byBiZSBz aHV0ZG93biBhbmQgcmVpbml0aWFsaXplZC4NCj4gICAgIE90aGVyd2lzZSB0aGUgVHlwZS1DIHBv cnQgd2lsbCBub3QgYmUgdXNhYmxlIHVudGlsIHRoZSBlbnRpcmUgU29DDQo+ICAgICBoYXMgYmVl biByZXNldC4NCj4gDQo+IEFkZGl0aW9uYWxseSwgdGhlc2UgY29udHJvbGxlcnMgaGF2ZSBhIEFw cGxlLXNwZWNpZmljIE1NSU8gcmVnaW9uIGFmdGVyDQo+IHRoZSBjb21tb24gZHdjMyByZWdpb24g d2hlcmUgc29tZSBjb250cm9scyBoYXZlIHRvIGJlIHVwZGF0ZWQuIFBIWQ0KPiBicmluZ3VwIGFu ZCBzaHV0ZG93biBhbHNvIHJlcXVpcmVzIFNVU1BIWSB0byBiZSBlbmFibGVkIGZvciB0aGUgcG9y dHMNCj4gdG8gd29yayBjb3JyZWN0bHkuDQo+IA0KPiBJbiB0aGUgZnV0dXJlLCB0aGlzIGRyaXZl ciB3aWxsIGFsc28gZ2FpbiBzdXBwb3J0IGZvciBVU0IzLXZpYS1VU0I0DQo+IHR1bm5lbGluZyB3 aGljaCB3aWxsIHJlcXVpcmUgYWRkaXRpb25hbCB0d2Vha3MuDQo+IA0KPiBBZGQgYSBnbHVlIGRy aXZlciB0aGF0IHRha2VzIG9mIGFsbCBvZiB0aGVzZSBjb25zdHJhaW50cy4NCj4gDQo+IFNpZ25l ZC1vZmYtYnk6IFN2ZW4gUGV0ZXIgPHN2ZW5Aa2VybmVsLm9yZz4NCj4gLS0tDQo+ICBNQUlOVEFJ TkVSUyAgICAgICAgICAgICAgICAgICB8ICAgMSArDQo+ICBkcml2ZXJzL3VzYi9kd2MzL0tjb25m aWcgICAgICB8ICAxMSArKw0KPiAgZHJpdmVycy91c2IvZHdjMy9NYWtlZmlsZSAgICAgfCAgIDEg Kw0KPiAgZHJpdmVycy91c2IvZHdjMy9kd2MzLWFwcGxlLmMgfCA0MjUgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ICA0IGZpbGVzIGNoYW5nZWQsIDQzOCBpbnNl cnRpb25zKCspDQo+IA0KPiBkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMgYi9NQUlOVEFJTkVSUw0K PiBpbmRleCAwZTA4NWNiMDc2MmY3NjU5NThkNjdiZTYxYWUwZDNkNzczNTAzNDMxLi5lMTQ3ZTFi OTE5ZDU3MzdhMzRlNjg0ZWM1ODc4NzJjZTU5MWM2NDFhIDEwMDY0NA0KPiAtLS0gYS9NQUlOVEFJ TkVSUw0KPiArKysgYi9NQUlOVEFJTkVSUw0KPiBAQCAtMjQyNCw2ICsyNDI0LDcgQEAgRjoJZHJp dmVycy9wd20vcHdtLWFwcGxlLmMNCj4gIEY6CWRyaXZlcnMvc29jL2FwcGxlLyoNCj4gIEY6CWRy aXZlcnMvc3BpL3NwaS1hcHBsZS5jDQo+ICBGOglkcml2ZXJzL3NwbWkvc3BtaS1hcHBsZS1jb250 cm9sbGVyLmMNCj4gK0Y6CWRyaXZlcnMvdXNiL2R3YzMvZHdjMy1hcHBsZS5jDQo+ICBGOglkcml2 ZXJzL3ZpZGVvL2JhY2tsaWdodC9hcHBsZV9kd2lfYmwuYw0KPiAgRjoJZHJpdmVycy93YXRjaGRv Zy9hcHBsZV93ZHQuYw0KPiAgRjoJaW5jbHVkZS9kdC1iaW5kaW5ncy9pbnRlcnJ1cHQtY29udHJv bGxlci9hcHBsZS1haWMuaA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZHdjMy9LY29uZmln IGIvZHJpdmVycy91c2IvZHdjMy9LY29uZmlnDQo+IGluZGV4IDMxMGQxODJlMTBiNTBiMjUzZDdl NWE1MTY3NDgwNmU2ZWM0NDJhMmEuLjgxNjFjZDhmNWQwZDgyODI2MjYyNTE4YTFhZWZhMzA5NmFh ZTgzYTggMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvdXNiL2R3YzMvS2NvbmZpZw0KPiArKysgYi9k cml2ZXJzL3VzYi9kd2MzL0tjb25maWcNCj4gQEAgLTE4OSw0ICsxODksMTUgQEAgY29uZmlnIFVT Ql9EV0MzX1JUSw0KPiAgCSAgb3IgZHVhbC1yb2xlIG1vZGUuDQo+ICAJICBTYXkgJ1knIG9yICdN JyBpZiB5b3UgaGF2ZSBzdWNoIGRldmljZS4NCj4gIA0KPiArY29uZmlnIFVTQl9EV0MzX0FQUExF DQo+ICsJdHJpc3RhdGUgIkFwcGxlIFNpbGljb24gRFdDMyBQbGF0Zm9ybSBEcml2ZXIiDQo+ICsJ ZGVwZW5kcyBvbiBPRiAmJiBBUkNIX0FQUExFDQo+ICsJZGVmYXVsdCBVU0JfRFdDMw0KPiArCXNl bGVjdCBVU0JfUk9MRV9TV0lUQ0gNCj4gKwloZWxwDQo+ICsJICBTdXBwb3J0IEFwcGxlIFNpbGlj b24gU29DcyB3aXRoIERlc2lnbldhcmUgQ29yZSBVU0IzIElQLg0KPiArCSAgVGhlIERlc2lnbldh cmUgQ29yZSBVU0IzIElQIGhhcyB0byBiZSB1c2VkIGluIGR1YWwtcm9sZQ0KPiArCSAgbW9kZSBv biB0aGVzZSBtYWNoaW5lcy4NCj4gKwkgIFNheSAnWScgb3IgJ00nIGlmIHlvdSBoYXZlIHN1Y2gg ZGV2aWNlLg0KPiArDQo+ICBlbmRpZg0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZHdjMy9N YWtlZmlsZSBiL2RyaXZlcnMvdXNiL2R3YzMvTWFrZWZpbGUNCj4gaW5kZXggODMwZTZjOWU1ZmUw NzNjMWY2NjJjZTM0YjZhNGEyZGEzNGM0MDdhMi4uMTBiNWU2OGNmZDY4ZDVjYTlhYTVhMjdiMDRm MzQ5ZjliZjU4ZTY1YyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy91c2IvZHdjMy9NYWtlZmlsZQ0K PiArKysgYi9kcml2ZXJzL3VzYi9kd2MzL01ha2VmaWxlDQo+IEBAIC00Myw2ICs0Myw3IEBAIGVu ZGlmDQo+ICAjIw0KPiAgDQo+ICBvYmotJChDT05GSUdfVVNCX0RXQzNfQU02MikJCSs9IGR3YzMt YW02Mi5vDQo+ICtvYmotJChDT05GSUdfVVNCX0RXQzNfQVBQTEUpCQkrPSBkd2MzLWFwcGxlLm8N Cj4gIG9iai0kKENPTkZJR19VU0JfRFdDM19PTUFQKQkJKz0gZHdjMy1vbWFwLm8NCj4gIG9iai0k KENPTkZJR19VU0JfRFdDM19FWFlOT1MpCQkrPSBkd2MzLWV4eW5vcy5vDQo+ICBvYmotJChDT05G SUdfVVNCX0RXQzNfUENJKQkJKz0gZHdjMy1wY2kubw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91 c2IvZHdjMy9kd2MzLWFwcGxlLmMgYi9kcml2ZXJzL3VzYi9kd2MzL2R3YzMtYXBwbGUuYw0KPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwLi4yNzY3NGYwYzI4NDEwNGNiYmU3NWY1MWNkNTU1OTNhOTY0YzhjOWQ2DQo+ IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZHJpdmVycy91c2IvZHdjMy9kd2MzLWFwcGxlLmMNCj4g QEAgLTAsMCArMSw0MjUgQEANCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w DQo+ICsvKg0KPiArICogQXBwbGUgU2lsaWNvbiBEV0MzIEdsdWUgZHJpdmVyDQo+ICsgKiBDb3B5 cmlnaHQgKEMpIFRoZSBBc2FoaSBMaW51eCBDb250cmlidXRvcnMNCj4gKyAqDQo+ICsgKiBCYXNl ZCBvbjoNCj4gKyAqICAtIGR3YzMtcWNvbS5jIENvcHlyaWdodCAoYykgMjAxOCwgVGhlIExpbnV4 IEZvdW5kYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ICsgKiAgLSBkd2MzLW9mLXNpbXBs ZS5jIENvcHlyaWdodCAoYykgMjAxNSBUZXhhcyBJbnN0cnVtZW50cyBJbmNvcnBvcmF0ZWQgLSBo dHRwczovL3VybGRlZmVuc2UuY29tL3YzL19faHR0cHM6Ly93d3cudGkuY29tX187ISFBNEYyUjlH X3BnIVktQzNXTE1sOU9CRmVmVExCUDg0VW5aSkt6TUtZemM3WnJHX2J3QzRxMXEzaDBYZUd4OE5t cUZyXy1GRFltRHRIcTgwMnlqSWZmbVNkWVJhS0EkIA0KPiArICovDQo+ICsNCj4gKyNpbmNsdWRl IDxsaW51eC9vZi5oPg0KPiArI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPg0KPiArI2luY2x1ZGUg PGxpbnV4L211dGV4Lmg+DQo+ICsjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQo+ ICsjaW5jbHVkZSA8bGludXgvcmVzZXQuaD4NCj4gKw0KPiArI2luY2x1ZGUgImdsdWUuaCINCj4g Kw0KPiArZW51bSBkd2MzX2FwcGxlX21vZGUgew0KPiArCURXQzNfQVBQTEVfT0ZGLA0KPiArCURX QzNfQVBQTEVfSE9TVCwNCj4gKwlEV0MzX0FQUExFX0RFVklDRSwNCj4gK307DQo+ICsNCj4gKy8q Kg0KPiArICogc3RydWN0IGR3YzNfYXBwbGUgLSBBcHBsZS1zcGVjaWZpYyBEV0MzIFVTQiBjb250 cm9sbGVyDQo+ICsgKiBAZHdjOiBDb3JlIERXQzMgc3RydWN0dXJlDQo+ICsgKiBAZGV2OiBQb2lu dGVyIHRvIHRoZSBkZXZpY2Ugc3RydWN0dXJlDQo+ICsgKiBAbW1pb19yZXNvdXJjZTogUmVzb3Vy Y2UgdG8gYmUgcGFzc2VkIHRvIGR3YzNfY29yZV9wcm9iZQ0KPiArICogQGFwcGxlX3JlZ3M6IEFw cGxlLXNwZWNpZmljIERXQzMgcmVnaXN0ZXJzDQo+ICsgKiBAcmVzZXRzOiBSZXNldCBjb250cm9s DQo+ICsgKiBAcm9sZV9zdzogVVNCIHJvbGUgc3dpdGNoDQo+ICsgKiBAbG9jazogTXV0ZXggZm9y IHN5bmNocm9uaXppbmcgYWNjZXNzDQo+ICsgKiBAY29yZV9wcm9iZV9kb25lOiBUcnVlIGlmIGR3 YzNfY29yZV9wcm9iZSB3YXMgYWxyZWFkeSBjYWxsZWQgYWZ0ZXIgdGhlIGZpcnN0IHBsdWcNCj4g KyAqIEBtb2RlOiBDdXJyZW50IG1vZGUgb2YgdGhlIGNvbnRyb2xsZXIgKG9mZi9ob3N0L2Rldmlj ZSkNCg0KRm9yIHRoaXMgcGxhdGZvcm0sIGN1cnJlbnQgbW9kZSBvZiB0aGUgY29udHJvbGxlciBz aG91bGQgb25seSBldmVyIGJlDQpob3N0IG9yIGRldmljZSBtb2RlLiBTZWVtcyB3ZSdyZSBtaXhp bmcgcG93ZXIgd2l0aCB1c2Igcm9sZT8gaWUuIHdoYXQNCkRXQzNfQVBQTEVfT0ZGIGlzIGJlaW5n IHVzZWQgZm9yPw0KDQo+ICsgKi8NCj4gK3N0cnVjdCBkd2MzX2FwcGxlIHsNCj4gKwlzdHJ1Y3Qg ZHdjMyBkd2M7DQo+ICsNCj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXY7DQo+ICsJc3RydWN0IHJlc291 cmNlICptbWlvX3Jlc291cmNlOw0KPiArCXZvaWQgX19pb21lbSAqYXBwbGVfcmVnczsNCj4gKw0K PiArCXN0cnVjdCByZXNldF9jb250cm9sICpyZXNldHM7DQo+ICsJc3RydWN0IHVzYl9yb2xlX3N3 aXRjaCAqcm9sZV9zdzsNCj4gKw0KPiArCXN0cnVjdCBtdXRleCBsb2NrOw0KPiArDQo+ICsJYm9v bCBjb3JlX3Byb2JlX2RvbmU7DQo+ICsJZW51bSBkd2MzX2FwcGxlX21vZGUgbW9kZTsNCj4gK307 DQo+ICsNCj4gKyNkZWZpbmUgdG9fZHdjM19hcHBsZShkKSBjb250YWluZXJfb2YoKGQpLCBzdHJ1 Y3QgZHdjM19hcHBsZSwgZHdjKQ0KPiArDQo+ICsvKg0KPiArICogQXBwbGUgU2lsaWNvbiBkd2Mz IHZlbmRvci1zcGVjaWZpYyByZWdpc3RlcnMNCj4gKyAqDQo+ICsgKiBUaGVzZSByZWdpc3RlcnMg d2VyZSBpZGVudGlmaWVkIGJ5IHRyYWNpbmcgWE5VJ3MgbWVtb3J5IGFjY2VzcyBwYXR0ZXJucw0K PiArICogYW5kIGNvcnJlbGF0aW5nIHRoZW0gd2l0aCBkZWJ1ZyBvdXRwdXQgb3ZlciBzZXJpYWwg dG8gZGV0ZXJtaW5lIHRoZWlyIG5hbWVzLg0KPiArICogV2UgZG9uJ3QgZXhhY3RseSBrbm93IHdo YXQgdGhlc2UgZG8gYnV0IHdpdGhvdXQgdGhlc2UgVVNCMyBkZXZpY2VzIHNvbWV0aW1lcw0KPiAr ICogZG9uJ3Qgd29yay4NCj4gKyAqLw0KPiArI2RlZmluZSBBUFBMRV9EV0MzX1JFR1NfU1RBUlQg MHhjZDAwDQo+ICsjZGVmaW5lIEFQUExFX0RXQzNfUkVHU19FTkQgMHhjZGZmDQo+ICsNCj4gKyNk ZWZpbmUgQVBQTEVfRFdDM19DSU9fTEZQU19PRkZTRVQgMHhjZDM4DQo+ICsjZGVmaW5lIEFQUExF X0RXQzNfQ0lPX0xGUFNfT0ZGU0VUX1ZBTFVFIDB4ZjgwMGY4MA0KPiArDQo+ICsjZGVmaW5lIEFQ UExFX0RXQzNfQ0lPX0JXX05HVF9PRkZTRVQgMHhjZDNjDQo+ICsjZGVmaW5lIEFQUExFX0RXQzNf Q0lPX0JXX05HVF9PRkZTRVRfVkFMVUUgMHhmYzAwZmMwDQo+ICsNCj4gKyNkZWZpbmUgQVBQTEVf RFdDM19DSU9fTElOS19USU1FUiAweGNkNDANCj4gKyNkZWZpbmUgQVBQTEVfRFdDM19DSU9fUEVO RElOR19IUF9USU1FUiBHRU5NQVNLKDIzLCAxNikNCj4gKyNkZWZpbmUgQVBQTEVfRFdDM19DSU9f UEVORElOR19IUF9USU1FUl9WQUxVRSAweDE0DQo+ICsjZGVmaW5lIEFQUExFX0RXQzNfQ0lPX1BN X0xDX1RJTUVSIEdFTk1BU0soMTUsIDgpDQo+ICsjZGVmaW5lIEFQUExFX0RXQzNfQ0lPX1BNX0xD X1RJTUVSX1ZBTFVFIDB4YQ0KPiArI2RlZmluZSBBUFBMRV9EV0MzX0NJT19QTV9FTlRSWV9USU1F UiBHRU5NQVNLKDcsIDApDQo+ICsjZGVmaW5lIEFQUExFX0RXQzNfQ0lPX1BNX0VOVFJZX1RJTUVS X1ZBTFVFIDB4MTANCj4gKw0KPiArc3RhdGljIGlubGluZSB2b2lkIGR3YzNfYXBwbGVfd3JpdGVs KHN0cnVjdCBkd2MzX2FwcGxlICphcHBsZWR3YywgdTMyIG9mZnNldCwgdTMyIHZhbHVlKQ0KPiAr ew0KPiArCXdyaXRlbCh2YWx1ZSwgYXBwbGVkd2MtPmFwcGxlX3JlZ3MgKyBvZmZzZXQgLSBBUFBM RV9EV0MzX1JFR1NfU1RBUlQpOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW5saW5lIHUzMiBkd2Mz X2FwcGxlX3JlYWRsKHN0cnVjdCBkd2MzX2FwcGxlICphcHBsZWR3YywgdTMyIG9mZnNldCkNCj4g K3sNCj4gKwlyZXR1cm4gcmVhZGwoYXBwbGVkd2MtPmFwcGxlX3JlZ3MgKyBvZmZzZXQgLSBBUFBM RV9EV0MzX1JFR1NfU1RBUlQpOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW5saW5lIHZvaWQgZHdj M19hcHBsZV9tYXNrKHN0cnVjdCBkd2MzX2FwcGxlICphcHBsZWR3YywgdTMyIG9mZnNldCwgdTMy IG1hc2ssIHUzMiB2YWx1ZSkNCj4gK3sNCj4gKwl1MzIgcmVnOw0KPiArDQo+ICsJcmVnID0gZHdj M19hcHBsZV9yZWFkbChhcHBsZWR3Yywgb2Zmc2V0KTsNCj4gKwlyZWcgJj0gfm1hc2s7DQo+ICsJ cmVnIHw9IHZhbHVlOw0KPiArCWR3YzNfYXBwbGVfd3JpdGVsKGFwcGxlZHdjLCBvZmZzZXQsIHJl Zyk7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyB2b2lkIGR3YzNfYXBwbGVfc2V0dXBfY2lvKHN0cnVj dCBkd2MzX2FwcGxlICphcHBsZWR3YykNCj4gK3sNCj4gKwlkd2MzX2FwcGxlX3dyaXRlbChhcHBs ZWR3YywgQVBQTEVfRFdDM19DSU9fTEZQU19PRkZTRVQsIEFQUExFX0RXQzNfQ0lPX0xGUFNfT0ZG U0VUX1ZBTFVFKTsNCj4gKwlkd2MzX2FwcGxlX3dyaXRlbChhcHBsZWR3YywgQVBQTEVfRFdDM19D SU9fQldfTkdUX09GRlNFVCwNCj4gKwkJCSAgQVBQTEVfRFdDM19DSU9fQldfTkdUX09GRlNFVF9W QUxVRSk7DQo+ICsJZHdjM19hcHBsZV9tYXNrKGFwcGxlZHdjLCBBUFBMRV9EV0MzX0NJT19MSU5L X1RJTUVSLCBBUFBMRV9EV0MzX0NJT19QRU5ESU5HX0hQX1RJTUVSLA0KPiArCQkJQVBQTEVfRFdD M19DSU9fUEVORElOR19IUF9USU1FUl9WQUxVRSk7DQo+ICsJZHdjM19hcHBsZV9tYXNrKGFwcGxl ZHdjLCBBUFBMRV9EV0MzX0NJT19MSU5LX1RJTUVSLCBBUFBMRV9EV0MzX0NJT19QTV9MQ19USU1F UiwNCj4gKwkJCUFQUExFX0RXQzNfQ0lPX1BNX0xDX1RJTUVSX1ZBTFVFKTsNCj4gKwlkd2MzX2Fw cGxlX21hc2soYXBwbGVkd2MsIEFQUExFX0RXQzNfQ0lPX0xJTktfVElNRVIsIEFQUExFX0RXQzNf Q0lPX1BNX0VOVFJZX1RJTUVSLA0KPiArCQkJQVBQTEVfRFdDM19DSU9fUE1fRU5UUllfVElNRVJf VkFMVUUpOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgdm9pZCBkd2MzX2FwcGxlX3NldF9wdHJjYXAo c3RydWN0IGR3YzNfYXBwbGUgKmFwcGxlZHdjLCB1MzIgbW9kZSkNCj4gK3sNCj4gKwlndWFyZChz cGlubG9ja19pcnFzYXZlKSgmYXBwbGVkd2MtPmR3Yy5sb2NrKTsNCj4gKwlkd2MzX3NldF9wcnRj YXAoJmFwcGxlZHdjLT5kd2MsIG1vZGUsIGZhbHNlKTsNCj4gK30NCj4gKw0KPiArc3RhdGljIGlu dCBkd2MzX2FwcGxlX2NvcmVfcHJvYmUoc3RydWN0IGR3YzNfYXBwbGUgKmFwcGxlZHdjKQ0KPiAr ew0KPiArCXN0cnVjdCBkd2MzX3Byb2JlX2RhdGEgcHJvYmVfZGF0YSA9IHt9Ow0KPiArCWludCBy ZXQ7DQo+ICsNCj4gKwlsb2NrZGVwX2Fzc2VydF9oZWxkKCZhcHBsZWR3Yy0+bG9jayk7DQo+ICsJ V0FSTl9PTl9PTkNFKGFwcGxlZHdjLT5jb3JlX3Byb2JlX2RvbmUpOw0KPiArDQo+ICsJYXBwbGVk d2MtPmR3Yy5kZXYgPSBhcHBsZWR3Yy0+ZGV2Ow0KPiArCXByb2JlX2RhdGEuZHdjID0gJmFwcGxl ZHdjLT5kd2M7DQo+ICsJcHJvYmVfZGF0YS5yZXMgPSBhcHBsZWR3Yy0+bW1pb19yZXNvdXJjZTsN Cj4gKwlwcm9iZV9kYXRhLmlnbm9yZV9jbG9ja3NfYW5kX3Jlc2V0cyA9IHRydWU7DQo+ICsJcHJv YmVfZGF0YS5za2lwX2NvcmVfaW5pdF9tb2RlID0gdHJ1ZTsNCj4gKw0KPiArCXJldCA9IGR3YzNf Y29yZV9wcm9iZSgmcHJvYmVfZGF0YSk7DQo+ICsJaWYgKHJldCkNCj4gKwkJcmV0dXJuIHJldDsN Cj4gKw0KPiArCWFwcGxlZHdjLT5jb3JlX3Byb2JlX2RvbmUgPSB0cnVlOw0KPiArCXJldHVybiAw Ow0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50IGR3YzNfYXBwbGVfY29yZV9pbml0KHN0cnVjdCBk d2MzX2FwcGxlICphcHBsZWR3YykNCj4gK3sNCj4gKwlpbnQgcmV0Ow0KPiArDQo+ICsJbG9ja2Rl cF9hc3NlcnRfaGVsZCgmYXBwbGVkd2MtPmxvY2spOw0KPiArDQo+ICsJaWYgKGFwcGxlZHdjLT5j b3JlX3Byb2JlX2RvbmUpIHsNCj4gKwkJcmV0ID0gZHdjM19jb3JlX2luaXQoJmFwcGxlZHdjLT5k d2MpOw0KPiArCQlpZiAocmV0KQ0KPiArCQkJZGV2X2VycihhcHBsZWR3Yy0+ZGV2LCAiRmFpbGVk IHRvIGluaXRpYWxpemUgRFdDMyBDb3JlLCBlcnI9JWRcbiIsIHJldCk7DQo+ICsJfSBlbHNlIHsN Cj4gKwkJcmV0ID0gZHdjM19hcHBsZV9jb3JlX3Byb2JlKGFwcGxlZHdjKTsNCj4gKwkJaWYgKHJl dCkNCj4gKwkJCWRldl9lcnIoYXBwbGVkd2MtPmRldiwgIkZhaWxlZCB0byBwcm9iZSBEV0MzIENv cmUsIGVycj0lZFxuIiwgcmV0KTsNCj4gKwl9DQo+ICsNCj4gKwlyZXR1cm4gcmV0Ow0KPiArfQ0K PiArDQo+ICtzdGF0aWMgdm9pZCBkd2MzX2FwcGxlX3BoeV9zZXRfbW9kZShzdHJ1Y3QgZHdjM19h cHBsZSAqYXBwbGVkd2MsIGVudW0gcGh5X21vZGUgbW9kZSkNCj4gK3sNCj4gKwlsb2NrZGVwX2Fz c2VydF9oZWxkKCZhcHBsZWR3Yy0+bG9jayk7DQo+ICsNCj4gKwkvKg0KPiArCSAqIFRoaXMgcGxh dGZvcm0gcmVxdWlyZXMgU1VTUEhZIHRvIGJlIGVuYWJsZWQgaGVyZSBhbHJlYWR5IGluIG9yZGVy IHRvIHByb3Blcmx5DQo+ICsJICogY29uZmlndXJlIHRoZSBQSFkNCj4gKwkgKi8NCj4gKwlkd2Mz X2VuYWJsZV9zdXNwaHkoJmFwcGxlZHdjLT5kd2MsIHRydWUpOw0KPiArCXBoeV9zZXRfbW9kZShh cHBsZWR3Yy0+ZHdjLnVzYjJfZ2VuZXJpY19waHlbMF0sIG1vZGUpOw0KPiArCXBoeV9zZXRfbW9k ZShhcHBsZWR3Yy0+ZHdjLnVzYjNfZ2VuZXJpY19waHlbMF0sIG1vZGUpOw0KPiArfQ0KPiArDQo+ ICtzdGF0aWMgaW50IGR3YzNfYXBwbGVfaW5pdChzdHJ1Y3QgZHdjM19hcHBsZSAqYXBwbGVkd2Ms IGVudW0gZHdjM19hcHBsZV9tb2RlIG1vZGUpDQo+ICt7DQo+ICsJaW50IHJldCwgcmV0X3Jlc2V0 Ow0KPiArDQo+ICsJbG9ja2RlcF9hc3NlcnRfaGVsZCgmYXBwbGVkd2MtPmxvY2spOw0KPiArDQo+ ICsJcmV0ID0gcmVzZXRfY29udHJvbF9kZWFzc2VydChhcHBsZWR3Yy0+cmVzZXRzKTsNCj4gKwlp ZiAocmV0KSB7DQo+ICsJCWRldl9lcnIoYXBwbGVkd2MtPmRldiwgIkZhaWxlZCB0byBkZWFzc2Vy dCByZXNldHMsIGVycj0lZFxuIiwgcmV0KTsNCj4gKwkJcmV0dXJuIHJldDsNCj4gKwl9DQo+ICsN Cj4gKwlyZXQgPSBkd2MzX2FwcGxlX2NvcmVfaW5pdChhcHBsZWR3Yyk7DQo+ICsJaWYgKHJldCkN Cj4gKwkJZ290byByZXNldF9hc3NlcnQ7DQo+ICsNCj4gKwkvKg0KPiArCSAqIE5vdyB0aGF0IHRo ZSBjb3JlIGlzIGluaXRpYWxpemVkIGFuZCBhbHJlYWR5IHdlbnQgdGhyb3VnaCBkd2MzX2NvcmVf c29mdF9yZXNldCB3ZSBjYW4NCj4gKwkgKiBjb25maWd1cmUgc29tZSB1bmtub3duIEFwcGxlLXNw ZWNpZmljIHNldHRpbmdzLg0KPiArCSAqLw0KPiArCWR3YzNfYXBwbGVfc2V0dXBfY2lvKGFwcGxl ZHdjKTsNCj4gKw0KPiArCXN3aXRjaCAobW9kZSkgew0KPiArCWNhc2UgRFdDM19BUFBMRV9IT1NU Og0KPiArCQlhcHBsZWR3Yy0+ZHdjLmRyX21vZGUgPSBVU0JfRFJfTU9ERV9IT1NUOw0KPiArCQlk d2MzX2FwcGxlX3NldF9wdHJjYXAoYXBwbGVkd2MsIERXQzNfR0NUTF9QUlRDQVBfSE9TVCk7DQo+ ICsJCWR3YzNfYXBwbGVfcGh5X3NldF9tb2RlKGFwcGxlZHdjLCBQSFlfTU9ERV9VU0JfSE9TVCk7 DQo+ICsJCXJldCA9IGR3YzNfaG9zdF9pbml0KCZhcHBsZWR3Yy0+ZHdjKTsNCj4gKwkJaWYgKHJl dCkgew0KPiArCQkJZGV2X2VycihhcHBsZWR3Yy0+ZGV2LCAiRmFpbGVkIHRvIGluaXRpYWxpemUg aG9zdCwgcmV0PSVkXG4iLCByZXQpOw0KPiArCQkJZ290byBjb3JlX2V4aXQ7DQo+ICsJCX0NCj4g Kw0KPiArCQlicmVhazsNCj4gKwljYXNlIERXQzNfQVBQTEVfREVWSUNFOg0KPiArCQlhcHBsZWR3 Yy0+ZHdjLmRyX21vZGUgPSBVU0JfRFJfTU9ERV9QRVJJUEhFUkFMOw0KPiArCQlkd2MzX2FwcGxl X3NldF9wdHJjYXAoYXBwbGVkd2MsIERXQzNfR0NUTF9QUlRDQVBfREVWSUNFKTsNCj4gKwkJZHdj M19hcHBsZV9waHlfc2V0X21vZGUoYXBwbGVkd2MsIFBIWV9NT0RFX1VTQl9ERVZJQ0UpOw0KPiAr CQlyZXQgPSBkd2MzX2dhZGdldF9pbml0KCZhcHBsZWR3Yy0+ZHdjKTsNCj4gKwkJaWYgKHJldCkg ew0KPiArCQkJZGV2X2VycihhcHBsZWR3Yy0+ZGV2LCAiRmFpbGVkIHRvIGluaXRpYWxpemUgZ2Fk Z2V0LCByZXQ9JWRcbiIsIHJldCk7DQo+ICsJCQlnb3RvIGNvcmVfZXhpdDsNCj4gKwkJfQ0KPiAr CQlicmVhazsNCj4gKwlkZWZhdWx0Og0KPiArCQkvKiBVbnJlYWNoYWJsZSB1bmxlc3MgdGhlcmUn cyBhIGJ1ZyBpbiB0aGlzIGRyaXZlciAqLw0KPiArCQlXQVJOX09OX09OQ0UoMSk7DQo+ICsJCXJl dCA9IC1FSU5WQUw7DQo+ICsJCWdvdG8gY29yZV9leGl0Ow0KPiArCX0NCj4gKw0KPiArCWFwcGxl ZHdjLT5tb2RlID0gbW9kZTsNCj4gKwlyZXR1cm4gMDsNCj4gKw0KPiArY29yZV9leGl0Og0KPiAr CWR3YzNfY29yZV9leGl0KCZhcHBsZWR3Yy0+ZHdjKTsNCj4gK3Jlc2V0X2Fzc2VydDoNCj4gKwly ZXRfcmVzZXQgPSByZXNldF9jb250cm9sX2Fzc2VydChhcHBsZWR3Yy0+cmVzZXRzKTsNCj4gKwlp ZiAocmV0X3Jlc2V0KQ0KPiArCQlkZXZfd2FybihhcHBsZWR3Yy0+ZGV2LCAiRmFpbGVkIHRvIGFz c2VydCByZXNldHMsIGVycj0lZFxuIiwgcmV0X3Jlc2V0KTsNCj4gKw0KPiArCXJldHVybiByZXQ7 DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQgZHdjM19hcHBsZV9leGl0KHN0cnVjdCBkd2MzX2Fw cGxlICphcHBsZWR3YykNCj4gK3sNCj4gKwlpbnQgcmV0ID0gMDsNCj4gKw0KPiArCWxvY2tkZXBf YXNzZXJ0X2hlbGQoJmFwcGxlZHdjLT5sb2NrKTsNCj4gKw0KPiArCXN3aXRjaCAoYXBwbGVkd2Mt Pm1vZGUpIHsNCj4gKwljYXNlIERXQzNfQVBQTEVfT0ZGOg0KPiArCQkvKiBOb3RoaW5nIHRvIGRv IGlmIHdlJ3JlIGFscmVhZHkgb2ZmICovDQo+ICsJCXJldHVybiAwOw0KPiArCWNhc2UgRFdDM19B UFBMRV9ERVZJQ0U6DQo+ICsJCWR3YzNfZ2FkZ2V0X2V4aXQoJmFwcGxlZHdjLT5kd2MpOw0KPiAr CQlicmVhazsNCj4gKwljYXNlIERXQzNfQVBQTEVfSE9TVDoNCj4gKwkJZHdjM19ob3N0X2V4aXQo JmFwcGxlZHdjLT5kd2MpOw0KPiArCQlicmVhazsNCj4gKwl9DQo+ICsNCj4gKwkvKiBUaGlzIHBs YXRmb3JtIHJlcXVpcmVzIFNVU1BIWSB0byBiZSBlbmFibGVkIGluIG9yZGVyIHRvIHByb3Blcmx5 IHBvd2VyIGRvd24gdGhlIFBIWSAqLw0KPiArCWR3YzNfZW5hYmxlX3N1c3BoeSgmYXBwbGVkd2Mt PmR3YywgdHJ1ZSk7DQo+ICsJZHdjM19jb3JlX2V4aXQoJmFwcGxlZHdjLT5kd2MpOw0KPiArCWFw cGxlZHdjLT5tb2RlID0gRFdDM19BUFBMRV9PRkY7DQo+ICsNCj4gKwlyZXQgPSByZXNldF9jb250 cm9sX2Fzc2VydChhcHBsZWR3Yy0+cmVzZXRzKTsNCj4gKwlpZiAocmV0KSB7DQo+ICsJCWRldl9l cnIoYXBwbGVkd2MtPmRldiwgIkZhaWxlZCB0byBhc3NlcnQgcmVzZXRzLCBlcnI9JWRcbiIsIHJl dCk7DQo+ICsJCXJldHVybiByZXQ7DQo+ICsJfQ0KPiArDQo+ICsJcmV0dXJuIDA7DQo+ICt9DQo+ ICsNCj4gK3N0YXRpYyBpbnQgZHdjM191c2Jfcm9sZV9zd2l0Y2hfc2V0KHN0cnVjdCB1c2Jfcm9s ZV9zd2l0Y2ggKnN3LCBlbnVtIHVzYl9yb2xlIHJvbGUpDQo+ICt7DQo+ICsJc3RydWN0IGR3YzNf YXBwbGUgKmFwcGxlZHdjID0gdXNiX3JvbGVfc3dpdGNoX2dldF9kcnZkYXRhKHN3KTsNCj4gKwlp bnQgcmV0Ow0KPiArDQo+ICsJZ3VhcmQobXV0ZXgpKCZhcHBsZWR3Yy0+bG9jayk7DQo+ICsNCj4g KwkvKg0KPiArCSAqIFRoZSBVU0IyIEQrL0QtIGxpbmVzIGFyZSBjb25uZWN0ZWQgdGhyb3VnaCBh IHN0YXRlZnVsIGVVU0IyIHJlcGVhdGVyIHdoaWNoIGluIHR1cm4gaXMNCj4gKwkgKiBjb250cm9s bGVkIGJ5IGEgdmFyaWFudCBvZiB0aGUgVEkgVFBTNjU5OHggVVNCIFBEIGNoaXAuIFdoZW4gdGhl IFVTQiBQRCBjb250cm9sbGVyDQo+ICsJICogZGV0ZWN0cyBhIGhvdHBsdWcgZXZlbnQgaXQgcmVz ZXRzIHRoZSBlVVNCMiByZXBlYXRlci4gQWZ0ZXJ3YXJkcywgbm8gbmV3IGRldmljZSBpcw0KPiAr CSAqIHJlY29nbml6ZWQgYmVmb3JlIHRoZSBEV0MzIGNvcmUgYW5kIFBIWSBhcmUgcmVzZXQgYXMg d2VsbCBiZWNhdXNlIHRoZSBlVVNCMiByZXBlYXRlcg0KPiArCSAqIGFuZCB0aGUgUEhZL2R3YzMg YmxvY2sgZGlzYWdyZWUgYWJvdXQgdGhlIGN1cnJlbnQgc3RhdGUuDQo+ICsJICogQWRkaXRpb25h bGx5LCB0aGUgUEhZIGlzIGFsc28gaW5jYXBhYmxlIG9mIHN3aXRjaGluZyBiZXR3ZWVuIGFyYml0 cmFyeSBtb2RlcyB3aGVuIGR3YzMNCj4gKwkgKiBpcyBrZXB0IG9ubGluZS4gSXQncyBhbHNvIHBv c3NpYmxlIHRvIGdldCBkd2MzIGludG8gYSBzdGF0ZSB3aGVyZSBubyBuZXcgZGV2aWNlIGlzDQo+ ICsJICogcmVjb2duaXplZCBhbmQgZXZlbiBhIHNvZnQgcmVzZXQgaXMgbm90IGVub3VnaCB0byBy ZWNvdmVyIHdoZW4gdW5wbHVnZ2luZyBhIGNhYmxlIGF0IHRoZQ0KPiArCSAqIHdyb25nIHRpbWUg d2hpbGUgaW4gZ2FkZ2V0IG1vZGUuIE9ubHkgYSBoYXJkIHJlc2V0IHRyaWdnZXJlZCB2aWEgdGhl IGV4dGVybmFsIHJlc2V0IGxpbmUNCj4gKwkgKiBpcyBhYmxlIHRvIHJlY292ZXIgZnJvbSB0aGlz IHN0YXRlLg0KPiArCSAqIFdlIHRodXMgdGVhciBhbGwgb2YgZHdjMyBkb3duIGhlcmUgYW5kIHJl LWluaXRpYWxpemUgaXQgZXZlcnkgdGltZSB3ZSBnZXQgYSBwbHVnIGNoYW5nZQ0KPiArCSAqIChv ciBldmVuIG1vZGUgY2hhbmdlKSBldmVudC4NCj4gKwkgKi8NCj4gKwlyZXQgPSBkd2MzX2FwcGxl X2V4aXQoYXBwbGVkd2MpOw0KPiArCWlmIChyZXQpDQo+ICsJCXJldHVybiByZXQ7DQo+ICsNCj4g Kwlzd2l0Y2ggKHJvbGUpIHsNCj4gKwljYXNlIFVTQl9ST0xFX05PTkU6DQo+ICsJCS8qIE5vdGhp bmcgdG8gZG8gaWYgbm8gY2FibGUgaXMgY29ubmVjdGVkICovDQo+ICsJCXJldHVybiAwOw0KPiAr CWNhc2UgVVNCX1JPTEVfSE9TVDoNCj4gKwkJcmV0dXJuIGR3YzNfYXBwbGVfaW5pdChhcHBsZWR3 YywgRFdDM19BUFBMRV9IT1NUKTsNCj4gKwljYXNlIFVTQl9ST0xFX0RFVklDRToNCj4gKwkJcmV0 dXJuIGR3YzNfYXBwbGVfaW5pdChhcHBsZWR3YywgRFdDM19BUFBMRV9ERVZJQ0UpOw0KPiArCWRl ZmF1bHQ6DQo+ICsJCWRldl9lcnIoYXBwbGVkd2MtPmRldiwgIkludmFsaWQgdGFyZ2V0IHJvbGU6 ICVkXG4iLCByb2xlKTsNCj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ICsJfQ0KPiArfQ0KPiArDQo+ ICtzdGF0aWMgZW51bSB1c2Jfcm9sZSBkd2MzX3VzYl9yb2xlX3N3aXRjaF9nZXQoc3RydWN0IHVz Yl9yb2xlX3N3aXRjaCAqc3cpDQo+ICt7DQo+ICsJc3RydWN0IGR3YzNfYXBwbGUgKmFwcGxlZHdj ID0gdXNiX3JvbGVfc3dpdGNoX2dldF9kcnZkYXRhKHN3KTsNCj4gKw0KPiArCWd1YXJkKG11dGV4 KSgmYXBwbGVkd2MtPmxvY2spOw0KPiArDQo+ICsJc3dpdGNoIChhcHBsZWR3Yy0+bW9kZSkgew0K PiArCWNhc2UgRFdDM19BUFBMRV9IT1NUOg0KPiArCQlyZXR1cm4gVVNCX1JPTEVfSE9TVDsNCj4g KwljYXNlIERXQzNfQVBQTEVfREVWSUNFOg0KPiArCQlyZXR1cm4gVVNCX1JPTEVfREVWSUNFOw0K PiArCWNhc2UgRFdDM19BUFBMRV9PRkY6DQo+ICsJCXJldHVybiBVU0JfUk9MRV9OT05FOw0KPiAr CWRlZmF1bHQ6DQo+ICsJCS8qIFVucmVhY2hhYmxlIHVubGVzcyB0aGVyZSdzIGEgYnVnIGluIHRo aXMgZHJpdmVyICovDQo+ICsJCVdBUk5fT05fT05DRSgxKTsNCj4gKwkJcmV0dXJuIFVTQl9ST0xF X05PTkU7DQo+ICsJfQ0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50IGR3YzNfYXBwbGVfc2V0dXBf cm9sZV9zd2l0Y2goc3RydWN0IGR3YzNfYXBwbGUgKmFwcGxlZHdjKQ0KPiArew0KPiArCXN0cnVj dCB1c2Jfcm9sZV9zd2l0Y2hfZGVzYyBkd2MzX3JvbGVfc3dpdGNoID0geyBOVUxMIH07DQo+ICsN Cj4gKwlkd2MzX3JvbGVfc3dpdGNoLmZ3bm9kZSA9IGRldl9md25vZGUoYXBwbGVkd2MtPmRldik7 DQo+ICsJZHdjM19yb2xlX3N3aXRjaC5zZXQgPSBkd2MzX3VzYl9yb2xlX3N3aXRjaF9zZXQ7DQo+ ICsJZHdjM19yb2xlX3N3aXRjaC5nZXQgPSBkd2MzX3VzYl9yb2xlX3N3aXRjaF9nZXQ7DQo+ICsJ ZHdjM19yb2xlX3N3aXRjaC5kcml2ZXJfZGF0YSA9IGFwcGxlZHdjOw0KPiArCWFwcGxlZHdjLT5y b2xlX3N3ID0gdXNiX3JvbGVfc3dpdGNoX3JlZ2lzdGVyKGFwcGxlZHdjLT5kZXYsICZkd2MzX3Jv bGVfc3dpdGNoKTsNCj4gKwlpZiAoSVNfRVJSKGFwcGxlZHdjLT5yb2xlX3N3KSkNCj4gKwkJcmV0 dXJuIFBUUl9FUlIoYXBwbGVkd2MtPnJvbGVfc3cpOw0KPiArDQo+ICsJcmV0dXJuIDA7DQo+ICt9 DQo+ICsNCj4gK3N0YXRpYyBpbnQgZHdjM19hcHBsZV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQ0KPiArew0KPiArCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZwZGV2LT5kZXY7DQo+ ICsJc3RydWN0IGR3YzNfYXBwbGUgKmFwcGxlZHdjOw0KPiArCWludCByZXQ7DQo+ICsNCj4gKwlh cHBsZWR3YyA9IGRldm1fa3phbGxvYygmcGRldi0+ZGV2LCBzaXplb2YoKmFwcGxlZHdjKSwgR0ZQ X0tFUk5FTCk7DQo+ICsJaWYgKCFhcHBsZWR3YykNCj4gKwkJcmV0dXJuIC1FTk9NRU07DQo+ICsN Cj4gKwlhcHBsZWR3Yy0+ZGV2ID0gJnBkZXYtPmRldjsNCj4gKwltdXRleF9pbml0KCZhcHBsZWR3 Yy0+bG9jayk7DQo+ICsNCj4gKwlhcHBsZWR3Yy0+cmVzZXRzID0gZGV2bV9yZXNldF9jb250cm9s X2FycmF5X2dldF9leGNsdXNpdmUoZGV2KTsNCj4gKwlpZiAoSVNfRVJSKGFwcGxlZHdjLT5yZXNl dHMpKQ0KPiArCQlyZXR1cm4gZGV2X2Vycl9wcm9iZSgmcGRldi0+ZGV2LCBQVFJfRVJSKGFwcGxl ZHdjLT5yZXNldHMpLA0KPiArCQkJCSAgICAgIkZhaWxlZCB0byBnZXQgcmVzZXRzXG4iKTsNCj4g Kw0KPiArCXJldCA9IHJlc2V0X2NvbnRyb2xfYXNzZXJ0KGFwcGxlZHdjLT5yZXNldHMpOw0KPiAr CWlmIChyZXQpIHsNCj4gKwkJZGV2X2VycigmcGRldi0+ZGV2LCAiRmFpbGVkIHRvIGFzc2VydCBy ZXNldHMsIGVycj0lZFxuIiwgcmV0KTsNCj4gKwkJcmV0dXJuIHJldDsNCj4gKwl9DQo+ICsNCj4g KwlhcHBsZWR3Yy0+bW1pb19yZXNvdXJjZSA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZV9ieW5hbWUo cGRldiwgSU9SRVNPVVJDRV9NRU0sICJkd2MzLWNvcmUiKTsNCj4gKwlpZiAoIWFwcGxlZHdjLT5t bWlvX3Jlc291cmNlKSB7DQo+ICsJCWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGdldCBEV0MzIE1N SU9cbiIpOw0KPiArCQlyZXR1cm4gLUVJTlZBTDsNCj4gKwl9DQo+ICsNCj4gKwlhcHBsZWR3Yy0+ YXBwbGVfcmVncyA9IGRldm1fcGxhdGZvcm1faW9yZW1hcF9yZXNvdXJjZV9ieW5hbWUocGRldiwg ImR3YzMtYXBwbGUiKTsNCj4gKwlpZiAoSVNfRVJSKGFwcGxlZHdjLT5hcHBsZV9yZWdzKSkNCj4g KwkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCBQVFJfRVJSKGFwcGxlZHdjLT5hcHBsZV9yZWdz KSwNCj4gKwkJCQkgICAgICJGYWlsZWQgdG8gbWFwIEFwcGxlLXNwZWNpZmljIE1NSU9cbiIpOw0K PiArDQo+ICsJLyoNCj4gKwkgKiBOb3RlIHRoYXQgd2Ugb25seSBicmluZyB1cCBkd2MzIG9uY2Ug dGhlIGZpcnN0IGRldmljZSBpcyBhdHRhY2hlZCBiZWNhdXNlIHdlIG5lZWQgdG8ga25vdw0KPiAr CSAqIHRoZSByb2xlIChlLmcuIGhvc3QpLCBtb2RlIChlLmcuIFVTQjMpIGFuZCBsYW5lIG9yaWVu dGF0aW9uIHRvIGJyaW5nIHVwIHRoZSBQSFkgd2hpY2ggaXMNCj4gKwkgKiB0aWdodGx5IGNvdXBs ZWQgdG8gZHdjMy4NCj4gKwkgKi8NCg0KVGhlIHdvcmRpbmcgaGVyZSBpcyBvZGQuIFlvdSBjYW4g d2FpdCBmb3IgYXR0YWNoIHRvIGRvIHRoaXMsIGJ1dCBpdA0Kc2hvdWxkIG5vdCBiZSBhIHJlcXVp cmVtZW50LiBZb3UgbWlnaHQgbm90IGtub3cgd2hldGhlciB5b3UgbmVlZCB0bw0Kc3dpdGNoIHJv bGUsIGJ1dCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gaW5pdGlhbGl6ZSB0aGUgY29udHJvbGxlciBp bg0KZWl0aGVyIGhvc3Qgb3IgZGV2aWNlIG1vZGUgcHJpb3IgdG8gYXR0YWNobWVudC4NCg0KQW55 IHBhcnRpY3VsYXIgcmVhc29uIHdlIG5lZWQgdG8gZG8gdGhpcz8gSWYgbm90LCB3ZSBjYW4gZG8g YXdheSB3aXRoDQp0aGUgY29yZV9wcm9iZV9kb25lIGNvbmRpdGlvbi4NCg0KQlIsDQpUaGluaA0K DQo+ICsJYXBwbGVkd2MtPm1vZGUgPSBEV0MzX0FQUExFX09GRjsNCj4gKwlhcHBsZWR3Yy0+Y29y ZV9wcm9iZV9kb25lID0gZmFsc2U7DQo+ICsJcmV0ID0gZHdjM19hcHBsZV9zZXR1cF9yb2xlX3N3 aXRjaChhcHBsZWR3Yyk7DQo+ICsJaWYgKHJldCkNCj4gKwkJcmV0dXJuIGRldl9lcnJfcHJvYmUo JnBkZXYtPmRldiwgcmV0LCAiRmFpbGVkIHRvIHNldHVwIHJvbGUgc3dpdGNoXG4iKTsNCj4gKw0K PiArCXJldHVybiAwOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgdm9pZCBkd2MzX2FwcGxlX3JlbW92 ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiArew0KPiArCXN0cnVjdCBkd2MzICpk d2MgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsNCj4gKwlzdHJ1Y3QgZHdjM19hcHBsZSAq YXBwbGVkd2MgPSB0b19kd2MzX2FwcGxlKGR3Yyk7DQo+ICsNCj4gKwlndWFyZChtdXRleCkoJmFw cGxlZHdjLT5sb2NrKTsNCj4gKw0KPiArCXVzYl9yb2xlX3N3aXRjaF91bnJlZ2lzdGVyKGFwcGxl ZHdjLT5yb2xlX3N3KTsNCj4gKw0KPiArCWR3YzNfYXBwbGVfZXhpdChhcHBsZWR3Yyk7DQo+ICsJ aWYgKGFwcGxlZHdjLT5jb3JlX3Byb2JlX2RvbmUpDQo+ICsJCWR3YzNfY29yZV9yZW1vdmUoJmFw cGxlZHdjLT5kd2MpOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2Rldmlj ZV9pZCBkd2MzX2FwcGxlX29mX21hdGNoW10gPSB7DQo+ICsJeyAuY29tcGF0aWJsZSA9ICJhcHBs ZSx0ODEwMy1kd2MzIiB9LA0KPiArCXt9DQo+ICt9Ow0KPiArTU9EVUxFX0RFVklDRV9UQUJMRShv ZiwgZHdjM19hcHBsZV9vZl9tYXRjaCk7DQo+ICsNCj4gK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1f ZHJpdmVyIGR3YzNfYXBwbGVfZHJpdmVyID0gew0KPiArCS5wcm9iZQkJPSBkd2MzX2FwcGxlX3By b2JlLA0KPiArCS5yZW1vdmUJCT0gZHdjM19hcHBsZV9yZW1vdmUsDQo+ICsJLmRyaXZlcgkJPSB7 DQo+ICsJCS5uYW1lCT0gImR3YzMtYXBwbGUiLA0KPiArCQkub2ZfbWF0Y2hfdGFibGUJPSBkd2Mz X2FwcGxlX29mX21hdGNoLA0KPiArCX0sDQo+ICt9Ow0KPiArDQo+ICttb2R1bGVfcGxhdGZvcm1f ZHJpdmVyKGR3YzNfYXBwbGVfZHJpdmVyKTsNCj4gKw0KPiArTU9EVUxFX0xJQ0VOU0UoIkdQTCIp Ow0KPiArTU9EVUxFX0FVVEhPUigiU3ZlbiBQZXRlciA8c3ZlbkBrZXJuZWwub3JnPiIpOw0KPiAr TU9EVUxFX0RFU0NSSVBUSU9OKCJEZXNpZ25XYXJlIERXQzMgQXBwbGUgU2lsaWNvbiBHbHVlIERy aXZlciIpOw0KPiANCj4gLS0gDQo+IDIuMzQuMQ0KPiANCj4g