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 5EDBEC433EF for ; Tue, 19 Apr 2022 01:09:46 +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:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=szyKXqN1VrZhQvzTi3U05+rogs7yuKwQjgFgo4fkENs=; b=XZ0n4Yr4F5utVX 31mfkMOqHrFZJMq6EScrZmrrc2zhCZnsdjTOrB2pU6IH6ju0jBoqc/njtV3glqTCSV7mb5kmgeiqY ev8SgyJLAFikY6GgsPti0ip08faI2sNLbITbX8QDNKPKbbCLt7qmV/bSwmpQeWAiMrBaCuCmEFeAc Issa7Tt/oi79nYfxLVPW102WLDgq14KFb0VNU0lPlNvrQMackgF/nBigamvZ9Pf/ttbLQjbbcU3da /tS3z/udLSynCgtU1mmXcMt8j7V0g8dVV6EUzex5Y0Refplu7pOlTFgccazXtuwDrpsrly8zPrpd8 4Spm9jHv0a0QmLt+skxw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ngcLy-0010pl-8s; Tue, 19 Apr 2022 01:08:26 +0000 Received: from mail-am6eur05on20622.outbound.protection.outlook.com ([2a01:111:f400:7e1b::622] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1ngcLM-0010cD-LE; Tue, 19 Apr 2022 01:07:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NlpaOwF5UM0UmcEdDf8E5f/q/Rj9jNKwseuEbfxfCuVbSV/ckd7EMF9m9bgCW556s64e9K1gdvDrNoHbQlY7meIyofyLTV+u3IvbGXBWWIROs3Kms3DdUC4PMvIs2gR83zF8ZcFD+9nGYqsMKAh599owEu7Kk6dTWI3VJguJhVQD409E84xDmt4Ko9zikCwo6rMekdZN8drznxoKWUGayysugiU2ZFVpniCc8TG2vr1RpZ76LhQ/ADH1HK40hZ+Xn+uP9jTmqdkuhjfW8EoIUGB1Ma8o+fdKuj4wXhS4tugeG52/StWr/8rsNp6ol3NgGaRbg5n+q93M+BwzBx5xVQ== 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=0L4vMIUf1mDanswpJo8fhPsQYyiOeSJQ+w6SBa7SJpo=; b=lF4H4NwcMeI4u1gdcgXrSLf5jlaJ9qAzfPDDpUP6SOuV7+xoCeZAkCHWfLjU8yEVqnjuZJeuyTYO68AWs1r6U4RPYW1pQAnov+LtYEdKFXP/8MD/g0EejGppWN7RJLIV4RAVR+3CnHQqSBLVtoIJc/uydIOL1gVUZ4jsfncT99X6KPDXOt8vgw0FNUTl1dYUaZm7yFYbk5zwqwt3sec4xovc7s4wGPIz9wDPSvTywWAJf/jn2lR08MwpsrsWLOXteBeswwZ5D24xfxVPASd69ZGh7vTKBljHKMPRmMPy5rpp4Qz3J26pedkkCgtwUV3IBiuYQpdktHtbGkJ7sNlvzQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0L4vMIUf1mDanswpJo8fhPsQYyiOeSJQ+w6SBa7SJpo=; b=AKLGjBRCSQ8cykmCCNyuQcOferAfDVjXwowzeFXGtD8b3p4qYFXMvz9ClwV88+3C5qTHh+e3bS12ulMY8JPFZQcztt0VWMPLfPQGengW7J8aJcedGw9Rg30sRsNOu0N66p5VoJT2wY4J9pj9UHHWSj6c3UN/5qKp0HZqkiV8zhU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) by HE1PR04MB3291.eurprd04.prod.outlook.com (2603:10a6:7:18::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.20; Tue, 19 Apr 2022 01:07:44 +0000 Received: from AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::b09c:8ffe:8e02:7387]) by AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::b09c:8ffe:8e02:7387%9]) with mapi id 15.20.5164.026; Tue, 19 Apr 2022 01:07:44 +0000 From: Liu Ying To: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org Cc: kishon@ti.com, vkoul@kernel.org, robh+dt@kernel.org, krzk+dt@kernel.org, andrzej.hajda@intel.com, narmstrong@baylibre.com, robert.foss@linaro.org, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, airlied@linux.ie, daniel@ffwll.ch, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, agx@sigxcpu.org, robert.chiras@nxp.com, martin.kepplinger@puri.sm Subject: [PATCH resend v8 5/5] phy: freescale: phy-fsl-imx8-mipi-dphy: Add i.MX8qxp LVDS PHY mode support Date: Tue, 19 Apr 2022 09:08:52 +0800 Message-Id: <20220419010852.452169-6-victor.liu@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220419010852.452169-1-victor.liu@nxp.com> References: <20220419010852.452169-1-victor.liu@nxp.com> X-ClientProxiedBy: SI2P153CA0023.APCP153.PROD.OUTLOOK.COM (2603:1096:4:190::6) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 67e2d418-20ee-44ec-7d9d-08da21a1029d X-MS-TrafficTypeDiagnostic: HE1PR04MB3291:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ciWidfrM60jLugOepyDo50oKsRxPwV03piEsDtIKK/I7pF7FtOwUSqJHJh/J1pqDDvgy7VWUCAUdpVRiJZW+aCQaqzwrZw4qvkDVkrj/5Sn4yt0v2IxE9nFqvXuXaVFgGxiHszI5kLOhLOsTbtZU6qXZwUlPZ3L9goIyDcSGiW3sCo8e/SnjFQq40U1PIhuGBfDof1yRtAu/X3+p6XBB0lzuwCJTgE6g7bA6QKVs8frcH1VE11iEgAFYbkcZg1g+nnkv9snilYlAshFc/9BCHlxZgE/truh+oncZFkCNXFatnqs7GXWeVRjbLpZQHVtE+pK22FybvjueoiSpjzMxAeorqLHHGBUtkCjNn6zT395gJlDejx91EUReS8uLiK5KXlfnITL4tIKEzmfAxs+nJIboQdWTOZ6Bo3/Epq1ASYUE7222rdfFkCS4ogPwVROnjaCHSyf5WibK2etZG2N0kZ21UDTeBOMYJaUa7h0wkHBGdE3zxJ8//Zi0REDisPBvFmCnYD1JKai7c5DRGIElYiEBcRKYeuN1/3sXI86C10vGypTfMGUasHLIlhrsoqbzv1ciFPn706IPtwYuBDdxtxwHVaU+ftOwXNdLvSDdYfJSQi1MHoFr1SXib6VO4wigwUJlPIWhk1fxzc4e9uF6LRm0FNAoeBHjEwIDezcz8+oxmPcUPtY5JM8Q7O+i4yXiqh5iNCdGu8+3TC/mNCrwgA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR04MB7046.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(66946007)(508600001)(8676002)(4326008)(66574015)(86362001)(6486002)(36756003)(52116002)(6512007)(6506007)(6666004)(316002)(66556008)(66476007)(2906002)(26005)(186003)(83380400001)(2616005)(1076003)(5660300002)(30864003)(7416002)(8936002)(38100700002)(38350700002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Y1ZpdFVZQVpVRm9yN1VXYmxpSkJkWXBDMWZHbFJyTzg4ZTFnL01IQTFBYklz?= =?utf-8?B?UExsblF5UXJZUGhOV2xQZ1VSTko3T1p4azdLRUxhSHhCc3cxbERDSktmcDJh?= =?utf-8?B?Tk1RVTNDUGJRMFhoa0Z2RXdyU2tJTkpDdjZWQ0tqbXc1VGhHbUxKY0tQMldW?= =?utf-8?B?dmdiQnJTMVlabzl0OUxyVnprZmJvUW1vbmtCSFFQdnJXMnhxTExCclpBMEZp?= =?utf-8?B?U0JPMGUxVGlaMGU4NG5NNWFubzZqWTdnMEJzMmJPWmQrVkZ0ZVNLREZ3K1NM?= =?utf-8?B?ekVJcTk5czVWZ0FYaGhxMitFVmpPUXNhejJEU1hGc0NlSmxMVldzQzdNUFNN?= =?utf-8?B?eE91alVIY0RHVjZrTnNucTNRY3NoOWlueWVBV09iR1phMy9xQ2hNdlNlalhG?= =?utf-8?B?dUFPYlgyQldFSEJFNmZoMTBJK2R5VTI1aW9RelNtL01qWWtZcWFqc2lLbERL?= =?utf-8?B?ZWRKV0ladEFacCtReFBhZjNDYmVCNTZkTHFSbHU3M2l6SDFqWnNhT0ZNNzVG?= =?utf-8?B?V1FmdHdKVlloUWt3YXFDL3FxSzF0S0ZtakIzbmh1Rk9pdnNqY0tlQmVIUmsy?= =?utf-8?B?RGRVY3E1YTlOQlg4V0djVWlOMWU5aVVDdGoxTGhHZC93eDVoWVQ1UmtSN0NX?= =?utf-8?B?UkhIL1lGVVpvTEdzKzdYR3lmZC96U1l6YmRpdVVNelFHOUFyNTZVYXBzNnhT?= =?utf-8?B?TVQ1Zk44eld3dmNaS201TGZaTmowVWYyS0M0UWtOU3VlcmN4UG5kOGkzTTE5?= =?utf-8?B?MHRES1lTT01LWWxIU0Y5T0ZZYlR5cmZtN1p2TU9SUHNNQWsybzA5dnZzWHVB?= =?utf-8?B?OG41SXBTZ0cvZ3E4ZTdvUWNBOFlONXJXZTdBLzRuWjZnU1NXdVhHSUtmdVF6?= =?utf-8?B?eWVoRkJvT2Jrd0dOQllNTmRaNnNLV1pia0xMa3dlaHNGekhIS1gxOGZRZDNx?= =?utf-8?B?UHFoUXIxM0RHRVlWYkk5TEdlMVcyYjk4L2dCSVdrVEFuTExTa29nVHpXT0pW?= =?utf-8?B?MmJud1YreWFnb2pYYzJVRmZ5TitBUk5vNUhZVFBRSTUwTG9jRnJPOFVoeDJl?= =?utf-8?B?MC84RXRSYms1OGttdUhzRFpDdTBGZHpNV1krMi95V0VxRHI2Qy9lQ0REQkZD?= =?utf-8?B?cjVpV25jRVV3YkZlaUJnd3pTcWFtVXkzamhucTVIakxkbXFndWlXOWNab1hM?= =?utf-8?B?ZlNRNnJycjA5UC85YllTM2ZYcHJ5QjNuS1ZIOWlIM092VERLOFBzK3JJNFZY?= =?utf-8?B?SlFNV3FGbDlIT1B5N1B3K3k3ZEg1THZyWTVvQ2FvYTFvM2xtd2YydHROVkVP?= =?utf-8?B?ZzRYMVE0SWtlMGNFUHlQaHB0ZFNrQmpYU3FOR1d0dkdDdG1nMXk2dmZlbnF1?= =?utf-8?B?RFlYUHVwRmVib1U2aC9reVo0UTJGcWo3OThiZjc2bkJsVFNvNlV0MGRCNGRk?= =?utf-8?B?U0lwZXdTZTl4dUl1ampubGpxeGlUNGpvaERmVi9rRWNmay9va2RpVkx2V2VB?= =?utf-8?B?Y3dJUXhWWEtmOVZZMU5HdmtKSEhNSklSNVhCS2dlUGZXejNmaHNBcGVuS3Bq?= =?utf-8?B?ZkowY1dhQUVSVW90MTBDQi9EUDFLcWJRMXAzY2xMbGVWSVhtZ2hUeUtHYWNW?= =?utf-8?B?Y2drL091U01taE12WkpkbDV0b0RIRm5Iay82V21hdUJ4cWFMaWVzMzNITzlW?= =?utf-8?B?VCt3VDllQmNNVGtyZS90YkZ0cjBTSUNvdDJxUE9SZG1tcFBsSW51MnVVV1I0?= =?utf-8?B?OWUxK1dEc2RiMzUxRTVrdHhCM1Z4SFI3MlJkVWdJQ3I4STdvU0ZsczMxWXdX?= =?utf-8?B?eVp3bmtrSHBXRk9FbG1EbnpPeC8rNXM1RzF3dmNwYlk3c1pGeWpGSzFVOHlU?= =?utf-8?B?RTlvc0E2RzJJVXZVQTVMcktVUzdKUnh6Njk2QUlTZnBKOEhSMlBBZmwra01w?= =?utf-8?B?czNrdHdaZDM1SENmT2RKS2Y0SEhKcTByM1MxK3JPamV2RldESWZBTEhFWHRj?= =?utf-8?B?SW50NHlSeVhZcTZyQ3JOemxhOStFOUIyT3hLa1dsVGdwVGxudUNXdThaSDhO?= =?utf-8?B?SFFYeVF1cEQ3YWdNZlZYTVh3SUk5VVJac1FnckREdTJYVUxnOCtNQjhPRVcy?= =?utf-8?B?ckJiQXVUUHlJd1Fibkd2b3Q4TlhObVBTdzlyenJ6T3k2WUdTSTUrOXlEVzQv?= =?utf-8?B?MmlxZ043Nm84Y2I4NFhnSkh0SWNudzRsQ2ZqVDdvU3RSNjZicm41TXc0Skp1?= =?utf-8?B?R3FubHJGM2QrK3RHQUo1Z2dNRkRKakFrOFMzY25Ea2J1bm9mRDJIWlNQejY5?= =?utf-8?B?UzJVZElTclMrZk11VjU5RTgwMjFNY3RRR0hCRFdrakpaWnBrQVExZz09?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 67e2d418-20ee-44ec-7d9d-08da21a1029d X-MS-Exchange-CrossTenant-AuthSource: AM7PR04MB7046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2022 01:07:44.6028 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: e6ftR+U61Br4/ygrcJ3uvkVZoeGHy5BDRhtV4RJKZn1uROFdy8nAwikEFMjvRH/JKkT15b1o292NPZZABoxc5A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB3291 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220418_180748_899507_70AF5DF2 X-CRM114-Status: GOOD ( 22.44 ) 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 aS5NWDhxeHAgU29DIGVtYmVkcyBhIE1peGVsIE1JUEkgRFBIWSArIExWRFMgUEhZIGNvbWJvIHdo aWNoIHN1cHBvcnRzCmVpdGhlciBhIE1JUEkgRFNJIGRpc3BsYXkgb3IgYSBMVkRTIGRpc3BsYXku ICBUaGUgUEhZIG1vZGUgaXMgY29udHJvbGxlZApieSBTQ1UgZmlybXdhcmUgYW5kIHRoZSBkcml2 ZXIgd291bGQgY2FsbCBhIFNDVSBmaXJtd2FyZSBmdW5jdGlvbiB0bwpjb25maWd1cmUgdGhlIFBI WSBtb2RlLiAgVGhlIHNpbmdsZSBMVkRTIFBIWSBoYXMgNCBkYXRhIGxhbmVzIHRvIHN1cHBvcnQK YSBMVkRTIGRpc3BsYXkuICBBbHNvLCB3aXRoIGEgbWFzdGVyIExWRFMgUEhZIGFuZCBhIHNsYXZl IExWRFMgUEhZLCB0aGV5Cm1heSB3b3JrIHRvZ2V0aGVyIHRvIHN1cHBvcnQgYSBMVkRTIGRpc3Bs YXkgd2l0aCA4IGRhdGEgbGFuZXModXN1YWxseSwgZHVhbApMVkRTIGxpbmsgZGlzcGxheSkuICBO b3RlIHRoYXQgdGhpcyBwYXRjaCBzdXBwb3J0cyB0aGUgTFZEUyBQSFkgbW9kZSBvbmx5CmZvciB0 aGUgaS5NWDhxeHAgTWl4ZWwgY29tYm8gUEhZLCBpLmUuLCB0aGUgTUlQSSBEUEhZIG1vZGUgaXMg eWV0IHRvIGJlCnN1cHBvcnRlZCwgc28gZm9yIG5vdyBlcnJvciB3b3VsZCBiZSByZXR1cm5lZCBm cm9tIC0+c2V0X21vZGUoKSBpZiBNSVBJCkRQSFkgbW9kZSBpcyBwYXNzZWQgb3ZlciB0byBpdCBm b3IgdGhlIGNvbWJvIFBIWS4KCkNjOiBHdWlkbyBHw7xudGhlciA8YWd4QHNpZ3hjcHUub3JnPgpD YzogUm9iZXJ0IENoaXJhcyA8cm9iZXJ0LmNoaXJhc0BueHAuY29tPgpDYzogS2lzaG9uIFZpamF5 IEFicmFoYW0gSSA8a2lzaG9uQHRpLmNvbT4KQ2M6IFZpbm9kIEtvdWwgPHZrb3VsQGtlcm5lbC5v cmc+CkNjOiBTaGF3biBHdW8gPHNoYXduZ3VvQGtlcm5lbC5vcmc+CkNjOiBTYXNjaGEgSGF1ZXIg PHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+CkNjOiBQZW5ndXRyb25peCBLZXJuZWwgVGVhbSA8a2Vy bmVsQHBlbmd1dHJvbml4LmRlPgpDYzogRmFiaW8gRXN0ZXZhbSA8ZmVzdGV2YW1AZ21haWwuY29t PgpDYzogTlhQIExpbnV4IFRlYW0gPGxpbnV4LWlteEBueHAuY29tPgpSZXZpZXdlZC1ieTogR3Vp ZG8gR8O8bnRoZXIgPGFneEBzaWd4Y3B1Lm9yZz4KU2lnbmVkLW9mZi1ieTogTGl1IFlpbmcgPHZp Y3Rvci5saXVAbnhwLmNvbT4KLS0tCnY3LT52ODoKKiBObyBjaGFuZ2UuCgp2Ni0+djc6CiogVXNl IG1hcmNvIGluc3RlYWQgb2YgbWFnaWMgbnVtYmVyIGZvciBDQ00gYW5kIENBIHZhbHVlcy4KKiBT dXBwcmVzcyAnY2hlY2twYXRjaCAtLXN0cmljdCcgd2FybmluZ3MuCiogQ2hlY2sgIW9wdHMgaW4g bWl4ZWxfZHBoeV9jb25maWd1cmUoKS4KCnY1LT52NjoKKiBObyBjaGFuZ2UuCgp2NC0+djU6Ciog Tm8gY2hhbmdlLgoKdjMtPnY0OgoqIEFkZCBHdWlkbydzIFItYiB0YWcuCgp2Mi0+djM6CiogSW1w cm92ZSByZWFkYWJpbGl0eSBvZiBtaXhlbF9kcGh5X3NldF9tb2RlKCkuIChHdWlkbykKCnYxLT52 MjoKKiBQcmludCBpbnZhbGlkIFBIWSBtb2RlIGluIGRtZXNnLiAoR3VpZG8pCgogLi4uL3BoeS9m cmVlc2NhbGUvcGh5LWZzbC1pbXg4LW1pcGktZHBoeS5jICAgIHwgMjc2ICsrKysrKysrKysrKysr KysrLQogMSBmaWxlIGNoYW5nZWQsIDI2NSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9mcmVlc2NhbGUvcGh5LWZzbC1pbXg4LW1pcGktZHBo eS5jIGIvZHJpdmVycy9waHkvZnJlZXNjYWxlL3BoeS1mc2wtaW14OC1taXBpLWRwaHkuYwppbmRl eCBhOTU1NzJiMzk3Y2EuLmU2MjViMzI4ODliZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9waHkvZnJl ZXNjYWxlL3BoeS1mc2wtaW14OC1taXBpLWRwaHkuYworKysgYi9kcml2ZXJzL3BoeS9mcmVlc2Nh bGUvcGh5LWZzbC1pbXg4LW1pcGktZHBoeS5jCkBAIC00LDE3ICs0LDMzIEBACiAgKiBDb3B5cmln aHQgMjAxOSBQdXJpc20gU1BDCiAgKi8KIAorI2luY2x1ZGUgPGxpbnV4L2JpdGZpZWxkLmg+CiAj aW5jbHVkZSA8bGludXgvY2xrLmg+CiAjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+CiAj aW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS9pbXgvaXBj Lmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUvaW14L3N2Yy9taXNjLmg+CiAjaW5jbHVkZSA8 bGludXgvaW8uaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9t ZmQvc3lzY29uLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgv b2YuaD4KICNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPgogI2luY2x1ZGUgPGxpbnV4L3Bo eS9waHkuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxs aW51eC9yZWdtYXAuaD4KKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9maXJtd2FyZS9pbXgvcnNyYy5o PgorCisvKiBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXJzKENTUikgKi8KKyNkZWZpbmUgUEhZ X0NUUkwJCQkweDAwCisjZGVmaW5lICBDQ01fTUFTSwkJCUdFTk1BU0soNywgNSkKKyNkZWZpbmUg IENDTShuKQkJCQlGSUVMRF9QUkVQKENDTV9NQVNLLCAobikpCisjZGVmaW5lICBDQ01fMV8yVgkJ CTB4NQorI2RlZmluZSAgQ0FfTUFTSwkJCUdFTk1BU0soNCwgMikKKyNkZWZpbmUgIENBXzNfNTFN QQkJCTB4NAorI2RlZmluZSAgQ0EobikJCQkJRklFTERfUFJFUChDQV9NQVNLLCAobikpCisjZGVm aW5lICBSRkIJCQkJQklUKDEpCisjZGVmaW5lICBMVkRTX0VOCQkJQklUKDApCiAKIC8qIERQSFkg cmVnaXN0ZXJzICovCiAjZGVmaW5lIERQSFlfUERfRFBIWQkJCTB4MDAKQEAgLTU1LDggKzcxLDE1 IEBACiAjZGVmaW5lIFBXUl9PTgkwCiAjZGVmaW5lIFBXUl9PRkYJMQogCisjZGVmaW5lIE1JTl9W Q09fRlJFUSA2NDAwMDAwMDAKKyNkZWZpbmUgTUFYX1ZDT19GUkVRIDE1MDAwMDAwMDAKKworI2Rl ZmluZSBNSU5fTFZEU19SRUZDTEtfRlJFUSAyNDAwMDAwMAorI2RlZmluZSBNQVhfTFZEU19SRUZD TEtfRlJFUSAxNTAwMDAwMDAKKwogZW51bSBtaXhlbF9kcGh5X2RldnR5cGUgewogCU1JWEVMX0lN WDhNUSwKKwlNSVhFTF9JTVg4UVhQLAogfTsKIAogc3RydWN0IG1peGVsX2RwaHlfZGV2ZGF0YSB7 CkBAIC02NSw2ICs4OCw3IEBAIHN0cnVjdCBtaXhlbF9kcGh5X2RldmRhdGEgewogCXU4IHJlZ19y eGxwcnA7CiAJdTggcmVnX3J4Y2RycDsKIAl1OCByZWdfcnhoc19zZXR0bGU7CisJYm9vbCBpc19j b21ibzsJLyogTUlQSSBEUEhZIGFuZCBMVkRTIFBIWSBjb21ibyAqLwogfTsKIAogc3RhdGljIGNv bnN0IHN0cnVjdCBtaXhlbF9kcGh5X2RldmRhdGEgbWl4ZWxfZHBoeV9kZXZkYXRhW10gPSB7CkBA IC03NCw2ICs5OCwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG1peGVsX2RwaHlfZGV2ZGF0YSBt aXhlbF9kcGh5X2RldmRhdGFbXSA9IHsKIAkJLnJlZ19yeGxwcnAgPSAweDQwLAogCQkucmVnX3J4 Y2RycCA9IDB4NDQsCiAJCS5yZWdfcnhoc19zZXR0bGUgPSAweDQ4LAorCQkuaXNfY29tYm8gPSBm YWxzZSwKKwl9LAorCVtNSVhFTF9JTVg4UVhQXSA9IHsKKwkJLmlzX2NvbWJvID0gdHJ1ZSwKIAl9 LAogfTsKIApAQCAtOTUsOCArMTIzLDEyIEBAIHN0cnVjdCBtaXhlbF9kcGh5X2NmZyB7CiBzdHJ1 Y3QgbWl4ZWxfZHBoeV9wcml2IHsKIAlzdHJ1Y3QgbWl4ZWxfZHBoeV9jZmcgY2ZnOwogCXN0cnVj dCByZWdtYXAgKnJlZ21hcDsKKwlzdHJ1Y3QgcmVnbWFwICpsdmRzX3JlZ21hcDsKIAlzdHJ1Y3Qg Y2xrICpwaHlfcmVmX2NsazsKIAljb25zdCBzdHJ1Y3QgbWl4ZWxfZHBoeV9kZXZkYXRhICpkZXZk YXRhOworCXN0cnVjdCBpbXhfc2NfaXBjICppcGNfaGFuZGxlOworCWJvb2wgaXNfc2xhdmU7CisJ aW50IGlkOwogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIG1peGVsX2Rw aHlfcmVnbWFwX2NvbmZpZyA9IHsKQEAgLTMxNyw3ICszNDksOCBAQCBzdGF0aWMgaW50IG1peGVs X2RwaHlfc2V0X3BsbF9wYXJhbXMoc3RydWN0IHBoeSAqcGh5KQogCXJldHVybiAwOwogfQogCi1z dGF0aWMgaW50IG1peGVsX2RwaHlfY29uZmlndXJlKHN0cnVjdCBwaHkgKnBoeSwgdW5pb24gcGh5 X2NvbmZpZ3VyZV9vcHRzICpvcHRzKQorc3RhdGljIGludAorbWl4ZWxfZHBoeV9jb25maWd1cmVf bWlwaV9kcGh5KHN0cnVjdCBwaHkgKnBoeSwgdW5pb24gcGh5X2NvbmZpZ3VyZV9vcHRzICpvcHRz KQogewogCXN0cnVjdCBtaXhlbF9kcGh5X3ByaXYgKnByaXYgPSBwaHlfZ2V0X2RydmRhdGEocGh5 KTsKIAlzdHJ1Y3QgbWl4ZWxfZHBoeV9jZmcgY2ZnID0geyAwIH07CkBAIC0zNDUsMTUgKzM3OCwx MjYgQEAgc3RhdGljIGludCBtaXhlbF9kcGh5X2NvbmZpZ3VyZShzdHJ1Y3QgcGh5ICpwaHksIHVu aW9uIHBoeV9jb25maWd1cmVfb3B0cyAqb3B0cykKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGlu dAorbWl4ZWxfZHBoeV9jb25maWd1cmVfbHZkc19waHkoc3RydWN0IHBoeSAqcGh5LCB1bmlvbiBw aHlfY29uZmlndXJlX29wdHMgKm9wdHMpCit7CisJc3RydWN0IG1peGVsX2RwaHlfcHJpdiAqcHJp diA9IHBoeV9nZXRfZHJ2ZGF0YShwaHkpOworCXN0cnVjdCBwaHlfY29uZmlndXJlX29wdHNfbHZk cyAqbHZkc19vcHRzID0gJm9wdHMtPmx2ZHM7CisJdW5zaWduZWQgbG9uZyBkYXRhX3JhdGU7CisJ dW5zaWduZWQgbG9uZyBmdmNvOworCXUzMiByc2M7CisJdTMyIGNvOworCWludCByZXQ7CisKKwlw cml2LT5pc19zbGF2ZSA9IGx2ZHNfb3B0cy0+aXNfc2xhdmU7CisKKwkvKiBMVkRTIGludGVyZmFj ZSBwaW5zICovCisJcmVnbWFwX3dyaXRlKHByaXYtPmx2ZHNfcmVnbWFwLCBQSFlfQ1RSTCwKKwkJ ICAgICBDQ00oQ0NNXzFfMlYpIHwgQ0EoQ0FfM181MU1BKSB8IFJGQik7CisKKwkvKiBlbmFibGUg TU9ERTggb25seSBmb3Igc2xhdmUgTFZEUyBQSFkgKi8KKwlyc2MgPSBwcml2LT5pZCA/IElNWF9T Q19SX01JUElfMSA6IElNWF9TQ19SX01JUElfMDsKKwlyZXQgPSBpbXhfc2NfbWlzY19zZXRfY29u dHJvbChwcml2LT5pcGNfaGFuZGxlLCByc2MsIElNWF9TQ19DX0RVQUxfTU9ERSwKKwkJCQkgICAg ICBsdmRzX29wdHMtPmlzX3NsYXZlKTsKKwlpZiAocmV0KSB7CisJCWRldl9lcnIoJnBoeS0+ZGV2 LCAiRmFpbGVkIHRvIGNvbmZpZ3VyZSBNT0RFODogJWRcbiIsIHJldCk7CisJCXJldHVybiByZXQ7 CisJfQorCisJLyoKKwkgKiBDaG9vc2UgYW4gYXBwcm9wcmlhdGUgZGl2aWRlciByYXRpbyB0byBt ZWV0IHRoZSByZXF1aXJlbWVudCBvZgorCSAqIFBMTCBWQ08gZnJlcXVlbmN5IHJhbmdlLgorCSAq CisJICogIC0tLS0tICA2NDBNSHogfiAxNTAwTUh6ICAgLS0tLS0tLS0tLS0tICAgICAgLS0tLS0t LS0tLS0tLS0tCisJICogfCBWQ08gfCAtLS0tLS0tLS0tLS0tLS0tPiB8IENPIGRpdmlkZXIgfCAt PiB8IExWRFMgZGF0YSByYXRlfAorCSAqICAtLS0tLSAgICAgICBGVkNPICAgICAgICAgIC0tLS0t LS0tLS0tLSAgICAgIC0tLS0tLS0tLS0tLS0tLQorCSAqICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDEvMi80LzggZGl2ICAgICA3ICogZGlmZmVyZW50aWFsX2Nsa19yYXRlCisJICovCisJZGF0 YV9yYXRlID0gNyAqIGx2ZHNfb3B0cy0+ZGlmZmVyZW50aWFsX2Nsa19yYXRlOworCWZvciAoY28g PSAxOyBjbyA8PSA4OyBjbyAqPSAyKSB7CisJCWZ2Y28gPSBkYXRhX3JhdGUgKiBjbzsKKworCQlp ZiAoZnZjbyA+PSBNSU5fVkNPX0ZSRVEpCisJCQlicmVhazsKKwl9CisKKwlpZiAoZnZjbyA8IE1J Tl9WQ09fRlJFUSB8fCBmdmNvID4gTUFYX1ZDT19GUkVRKSB7CisJCWRldl9lcnIoJnBoeS0+ZGV2 LCAiVkNPIGZyZXF1ZW5jeSAlbHUgaXMgb3V0IG9mIHJhbmdlXG4iLCBmdmNvKTsKKwkJcmV0dXJu IC1FUkFOR0U7CisJfQorCisJLyoKKwkgKiBDTyBpcyBjb25maWd1cmFibGUsIHdoaWxlIENOIGFu ZCBDTSBhcmUgbm90LAorCSAqIGFzIGZpeGVkIHJhdGlvcyAxIGFuZCA3IGFyZSBhcHBsaWVkIHJl c3BlY3RpdmVseS4KKwkgKi8KKwlwaHlfd3JpdGUocGh5LCBfX2ZmcyhjbyksIERQSFlfQ08pOwor CisJLyogc2V0IHJlZmVyZW5jZSBjbG9jayByYXRlICovCisJY2xrX3NldF9yYXRlKHByaXYtPnBo eV9yZWZfY2xrLCBsdmRzX29wdHMtPmRpZmZlcmVudGlhbF9jbGtfcmF0ZSk7CisKKwlyZXR1cm4g cmV0OworfQorCitzdGF0aWMgaW50IG1peGVsX2RwaHlfY29uZmlndXJlKHN0cnVjdCBwaHkgKnBo eSwgdW5pb24gcGh5X2NvbmZpZ3VyZV9vcHRzICpvcHRzKQoreworCWlmICghb3B0cykgeworCQlk ZXZfZXJyKCZwaHktPmRldiwgIk5vIGNvbmZpZ3VyYXRpb24gb3B0aW9uc1xuIik7CisJCXJldHVy biAtRUlOVkFMOworCX0KKworCWlmIChwaHktPmF0dHJzLm1vZGUgPT0gUEhZX01PREVfTUlQSV9E UEhZKQorCQlyZXR1cm4gbWl4ZWxfZHBoeV9jb25maWd1cmVfbWlwaV9kcGh5KHBoeSwgb3B0cyk7 CisJZWxzZSBpZiAocGh5LT5hdHRycy5tb2RlID09IFBIWV9NT0RFX0xWRFMpCisJCXJldHVybiBt aXhlbF9kcGh5X2NvbmZpZ3VyZV9sdmRzX3BoeShwaHksIG9wdHMpOworCisJZGV2X2VycigmcGh5 LT5kZXYsCisJCSJGYWlsZWQgdG8gY29uZmlndXJlIFBIWSB3aXRoIGludmFsaWQgUEhZIG1vZGU6 ICVkXG4iLCBwaHktPmF0dHJzLm1vZGUpOworCisJcmV0dXJuIC1FSU5WQUw7Cit9CisKK3N0YXRp YyBpbnQKK21peGVsX2RwaHlfdmFsaWRhdGVfbHZkc19waHkoc3RydWN0IHBoeSAqcGh5LCB1bmlv biBwaHlfY29uZmlndXJlX29wdHMgKm9wdHMpCit7CisJc3RydWN0IHBoeV9jb25maWd1cmVfb3B0 c19sdmRzICpsdmRzX2NmZyA9ICZvcHRzLT5sdmRzOworCisJaWYgKGx2ZHNfY2ZnLT5iaXRzX3Bl cl9sYW5lX2FuZF9kY2xrX2N5Y2xlICE9IDcpIHsKKwkJZGV2X2VycigmcGh5LT5kZXYsICJJbnZh bGlkIGJpdHMgcGVyIExWRFMgZGF0YSBsYW5lOiAldVxuIiwKKwkJCWx2ZHNfY2ZnLT5iaXRzX3Bl cl9sYW5lX2FuZF9kY2xrX2N5Y2xlKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJaWYgKGx2 ZHNfY2ZnLT5sYW5lcyAhPSA0KSB7CisJCWRldl9lcnIoJnBoeS0+ZGV2LCAiSW52YWxpZCBMVkRT IGRhdGEgbGFuZXM6ICV1XG4iLCBsdmRzX2NmZy0+bGFuZXMpOworCQlyZXR1cm4gLUVJTlZBTDsK Kwl9CisKKwlpZiAobHZkc19jZmctPmRpZmZlcmVudGlhbF9jbGtfcmF0ZSA8IE1JTl9MVkRTX1JF RkNMS19GUkVRIHx8CisJICAgIGx2ZHNfY2ZnLT5kaWZmZXJlbnRpYWxfY2xrX3JhdGUgPiBNQVhf TFZEU19SRUZDTEtfRlJFUSkgeworCQlkZXZfZXJyKCZwaHktPmRldiwKKwkJCSJJbnZhbGlkIExW RFMgZGlmZmVyZW50aWFsIGNsb2NrIHJhdGU6ICVsdVxuIiwKKwkJCWx2ZHNfY2ZnLT5kaWZmZXJl bnRpYWxfY2xrX3JhdGUpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZXR1cm4gMDsKK30K Kwogc3RhdGljIGludCBtaXhlbF9kcGh5X3ZhbGlkYXRlKHN0cnVjdCBwaHkgKnBoeSwgZW51bSBw aHlfbW9kZSBtb2RlLCBpbnQgc3VibW9kZSwKIAkJCSAgICAgICB1bmlvbiBwaHlfY29uZmlndXJl X29wdHMgKm9wdHMpCiB7Ci0Jc3RydWN0IG1peGVsX2RwaHlfY2ZnIGNmZyA9IHsgMCB9OworCWlm IChtb2RlID09IFBIWV9NT0RFX01JUElfRFBIWSkgeworCQlzdHJ1Y3QgbWl4ZWxfZHBoeV9jZmcg bWlwaV9kcGh5X2NmZyA9IHsgMCB9OwogCi0JaWYgKG1vZGUgIT0gUEhZX01PREVfTUlQSV9EUEhZ KQotCQlyZXR1cm4gLUVJTlZBTDsKKwkJcmV0dXJuIG1peGVsX2RwaHlfY29uZmlnX2Zyb21fb3B0 cyhwaHksICZvcHRzLT5taXBpX2RwaHksCisJCQkJCQkgICAmbWlwaV9kcGh5X2NmZyk7CisJfSBl bHNlIGlmIChtb2RlID09IFBIWV9NT0RFX0xWRFMpIHsKKwkJcmV0dXJuIG1peGVsX2RwaHlfdmFs aWRhdGVfbHZkc19waHkocGh5LCBvcHRzKTsKKwl9CiAKLQlyZXR1cm4gbWl4ZWxfZHBoeV9jb25m aWdfZnJvbV9vcHRzKHBoeSwgJm9wdHMtPm1pcGlfZHBoeSwgJmNmZyk7CisJZGV2X2VycigmcGh5 LT5kZXYsCisJCSJGYWlsZWQgdG8gdmFsaWRhdGUgUEhZIHdpdGggaW52YWxpZCBQSFkgbW9kZTog JWRcbiIsIG1vZGUpOworCXJldHVybiAtRUlOVkFMOwogfQogCiBzdGF0aWMgaW50IG1peGVsX2Rw aHlfaW5pdChzdHJ1Y3QgcGh5ICpwaHkpCkBAIC0zNzMsMjYgKzUxNyw3NCBAQCBzdGF0aWMgaW50 IG1peGVsX2RwaHlfZXhpdChzdHJ1Y3QgcGh5ICpwaHkpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRp YyBpbnQgbWl4ZWxfZHBoeV9wb3dlcl9vbihzdHJ1Y3QgcGh5ICpwaHkpCitzdGF0aWMgaW50IG1p eGVsX2RwaHlfcG93ZXJfb25fbWlwaV9kcGh5KHN0cnVjdCBwaHkgKnBoeSkKIHsKIAlzdHJ1Y3Qg bWl4ZWxfZHBoeV9wcml2ICpwcml2ID0gcGh5X2dldF9kcnZkYXRhKHBoeSk7CiAJdTMyIGxvY2tl ZDsKIAlpbnQgcmV0OwogCi0JcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKHByaXYtPnBoeV9yZWZf Y2xrKTsKLQlpZiAocmV0IDwgMCkKLQkJcmV0dXJuIHJldDsKLQogCXBoeV93cml0ZShwaHksIFBX Ul9PTiwgRFBIWV9QRF9QTEwpOwogCXJldCA9IHJlZ21hcF9yZWFkX3BvbGxfdGltZW91dChwcml2 LT5yZWdtYXAsIERQSFlfTE9DSywgbG9ja2VkLAogCQkJCSAgICAgICBsb2NrZWQsIFBMTF9MT0NL X1NMRUVQLAogCQkJCSAgICAgICBQTExfTE9DS19USU1FT1VUKTsKIAlpZiAocmV0IDwgMCkgewog CQlkZXZfZXJyKCZwaHktPmRldiwgIkNvdWxkIG5vdCBnZXQgRFBIWSBsb2NrICglZCkhXG4iLCBy ZXQpOwotCQlnb3RvIGNsb2NrX2Rpc2FibGU7CisJCXJldHVybiByZXQ7CiAJfQogCXBoeV93cml0 ZShwaHksIFBXUl9PTiwgRFBIWV9QRF9EUEhZKTsKIAorCXJldHVybiAwOworfQorCitzdGF0aWMg aW50IG1peGVsX2RwaHlfcG93ZXJfb25fbHZkc19waHkoc3RydWN0IHBoeSAqcGh5KQoreworCXN0 cnVjdCBtaXhlbF9kcGh5X3ByaXYgKnByaXYgPSBwaHlfZ2V0X2RydmRhdGEocGh5KTsKKwl1MzIg bG9ja2VkOworCWludCByZXQ7CisKKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+bHZkc19yZWdt YXAsIFBIWV9DVFJMLCBMVkRTX0VOLCBMVkRTX0VOKTsKKworCXBoeV93cml0ZShwaHksIFBXUl9P TiwgRFBIWV9QRF9EUEhZKTsKKwlwaHlfd3JpdGUocGh5LCBQV1JfT04sIERQSFlfUERfUExMKTsK KworCS8qIGRvIG5vdCB3YWl0IGZvciBzbGF2ZSBMVkRTIFBIWSBiZWluZyBsb2NrZWQgKi8KKwlp ZiAocHJpdi0+aXNfc2xhdmUpCisJCXJldHVybiAwOworCisJcmV0ID0gcmVnbWFwX3JlYWRfcG9s bF90aW1lb3V0KHByaXYtPnJlZ21hcCwgRFBIWV9MT0NLLCBsb2NrZWQsCisJCQkJICAgICAgIGxv Y2tlZCwgUExMX0xPQ0tfU0xFRVAsCisJCQkJICAgICAgIFBMTF9MT0NLX1RJTUVPVVQpOworCWlm IChyZXQgPCAwKSB7CisJCWRldl9lcnIoJnBoeS0+ZGV2LCAiQ291bGQgbm90IGdldCBMVkRTIFBI WSBsb2NrICglZCkhXG4iLCByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiAwOwor fQorCitzdGF0aWMgaW50IG1peGVsX2RwaHlfcG93ZXJfb24oc3RydWN0IHBoeSAqcGh5KQorewor CXN0cnVjdCBtaXhlbF9kcGh5X3ByaXYgKnByaXYgPSBwaHlfZ2V0X2RydmRhdGEocGh5KTsKKwlp bnQgcmV0OworCisJcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKHByaXYtPnBoeV9yZWZfY2xrKTsK KwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCWlmIChwaHktPmF0dHJzLm1vZGUgPT0g UEhZX01PREVfTUlQSV9EUEhZKSB7CisJCXJldCA9IG1peGVsX2RwaHlfcG93ZXJfb25fbWlwaV9k cGh5KHBoeSk7CisJfSBlbHNlIGlmIChwaHktPmF0dHJzLm1vZGUgPT0gUEhZX01PREVfTFZEUykg eworCQlyZXQgPSBtaXhlbF9kcGh5X3Bvd2VyX29uX2x2ZHNfcGh5KHBoeSk7CisJfSBlbHNlIHsK KwkJZGV2X2VycigmcGh5LT5kZXYsCisJCQkiRmFpbGVkIHRvIHBvd2VyIG9uIFBIWSB3aXRoIGlu dmFsaWQgUEhZIG1vZGU6ICVkXG4iLAorCQkJCQkJCXBoeS0+YXR0cnMubW9kZSk7CisJCXJldCA9 IC1FSU5WQUw7CisJfQorCisJaWYgKHJldCkKKwkJZ290byBjbG9ja19kaXNhYmxlOworCiAJcmV0 dXJuIDA7CiBjbG9ja19kaXNhYmxlOgogCWNsa19kaXNhYmxlX3VucHJlcGFyZShwcml2LT5waHlf cmVmX2Nsayk7CkBAIC00MDYsMTYgKzU5OCw1MSBAQCBzdGF0aWMgaW50IG1peGVsX2RwaHlfcG93 ZXJfb2ZmKHN0cnVjdCBwaHkgKnBoeSkKIAlwaHlfd3JpdGUocGh5LCBQV1JfT0ZGLCBEUEhZX1BE X1BMTCk7CiAJcGh5X3dyaXRlKHBoeSwgUFdSX09GRiwgRFBIWV9QRF9EUEhZKTsKIAorCWlmIChw aHktPmF0dHJzLm1vZGUgPT0gUEhZX01PREVfTFZEUykKKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHBy aXYtPmx2ZHNfcmVnbWFwLCBQSFlfQ1RSTCwgTFZEU19FTiwgMCk7CisKIAljbGtfZGlzYWJsZV91 bnByZXBhcmUocHJpdi0+cGh5X3JlZl9jbGspOwogCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBp bnQgbWl4ZWxfZHBoeV9zZXRfbW9kZShzdHJ1Y3QgcGh5ICpwaHksIGVudW0gcGh5X21vZGUgbW9k ZSwgaW50IHN1Ym1vZGUpCit7CisJc3RydWN0IG1peGVsX2RwaHlfcHJpdiAqcHJpdiA9IHBoeV9n ZXRfZHJ2ZGF0YShwaHkpOworCWludCByZXQ7CisKKwlpZiAocHJpdi0+ZGV2ZGF0YS0+aXNfY29t Ym8gJiYgbW9kZSAhPSBQSFlfTU9ERV9MVkRTKSB7CisJCWRldl9lcnIoJnBoeS0+ZGV2LCAiRmFp bGVkIHRvIHNldCBQSFkgbW9kZSBmb3IgY29tYm8gUEhZXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7 CisJfQorCisJaWYgKCFwcml2LT5kZXZkYXRhLT5pc19jb21ibyAmJiBtb2RlICE9IFBIWV9NT0RF X01JUElfRFBIWSkgeworCQlkZXZfZXJyKCZwaHktPmRldiwgIkZhaWxlZCB0byBzZXQgUEhZIG1v ZGUgdG8gTUlQSSBEUEhZXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJaWYgKHByaXYt PmRldmRhdGEtPmlzX2NvbWJvKSB7CisJCXUzMiByc2MgPSBwcml2LT5pZCA/IElNWF9TQ19SX01J UElfMSA6IElNWF9TQ19SX01JUElfMDsKKworCQlyZXQgPSBpbXhfc2NfbWlzY19zZXRfY29udHJv bChwcml2LT5pcGNfaGFuZGxlLAorCQkJCQkgICAgICByc2MsIElNWF9TQ19DX01PREUsCisJCQkJ CSAgICAgIG1vZGUgPT0gUEhZX01PREVfTFZEUyk7CisJCWlmIChyZXQpIHsKKwkJCWRldl9lcnIo JnBoeS0+ZGV2LAorCQkJCSJGYWlsZWQgdG8gc2V0IFBIWSBtb2RlIHZpYSBTQ1UgaXBjOiAlZFxu IiwgcmV0KTsKKwkJCXJldHVybiByZXQ7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKwogc3Rh dGljIGNvbnN0IHN0cnVjdCBwaHlfb3BzIG1peGVsX2RwaHlfcGh5X29wcyA9IHsKIAkuaW5pdCA9 IG1peGVsX2RwaHlfaW5pdCwKIAkuZXhpdCA9IG1peGVsX2RwaHlfZXhpdCwKIAkucG93ZXJfb24g PSBtaXhlbF9kcGh5X3Bvd2VyX29uLAogCS5wb3dlcl9vZmYgPSBtaXhlbF9kcGh5X3Bvd2VyX29m ZiwKKwkuc2V0X21vZGUgPSBtaXhlbF9kcGh5X3NldF9tb2RlLAogCS5jb25maWd1cmUgPSBtaXhl bF9kcGh5X2NvbmZpZ3VyZSwKIAkudmFsaWRhdGUgPSBtaXhlbF9kcGh5X3ZhbGlkYXRlLAogCS5v d25lciA9IFRISVNfTU9EVUxFLApAQCAtNDI0LDYgKzY1MSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgcGh5X29wcyBtaXhlbF9kcGh5X3BoeV9vcHMgPSB7CiBzdGF0aWMgY29uc3Qgc3RydWN0IG9m X2RldmljZV9pZCBtaXhlbF9kcGh5X29mX21hdGNoW10gPSB7CiAJeyAuY29tcGF0aWJsZSA9ICJm c2wsaW14OG1xLW1pcGktZHBoeSIsCiAJICAuZGF0YSA9ICZtaXhlbF9kcGh5X2RldmRhdGFbTUlY RUxfSU1YOE1RXSB9LAorCXsgLmNvbXBhdGlibGUgPSAiZnNsLGlteDhxeHAtbWlwaS1kcGh5IiwK KwkgIC5kYXRhID0gJm1peGVsX2RwaHlfZGV2ZGF0YVtNSVhFTF9JTVg4UVhQXSB9LAogCXsgLyog c2VudGluZWwgKi8gfSwKIH07CiBNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBtaXhlbF9kcGh5X29m X21hdGNoKTsKQEAgLTQzNiw2ICs2NjUsNyBAQCBzdGF0aWMgaW50IG1peGVsX2RwaHlfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAlzdHJ1Y3QgbWl4ZWxfZHBoeV9wcml2ICpw cml2OwogCXN0cnVjdCBwaHkgKnBoeTsKIAl2b2lkIF9faW9tZW0gKmJhc2U7CisJaW50IHJldDsK IAogCWlmICghbnApCiAJCXJldHVybiAtRU5PREVWOwpAQCAtNDY3LDYgKzY5NywzMCBAQCBzdGF0 aWMgaW50IG1peGVsX2RwaHlfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAlk ZXZfZGJnKGRldiwgInBoeV9yZWYgY2xvY2sgcmF0ZTogJWx1XG4iLAogCQljbGtfZ2V0X3JhdGUo cHJpdi0+cGh5X3JlZl9jbGspKTsKIAorCWlmIChwcml2LT5kZXZkYXRhLT5pc19jb21ibykgewor CQlwcml2LT5sdmRzX3JlZ21hcCA9CisJCQlzeXNjb25fcmVnbWFwX2xvb2t1cF9ieV9waGFuZGxl KG5wLCAiZnNsLHN5c2NvbiIpOworCQlpZiAoSVNfRVJSKHByaXYtPmx2ZHNfcmVnbWFwKSkgewor CQkJcmV0ID0gUFRSX0VSUihwcml2LT5sdmRzX3JlZ21hcCk7CisJCQlkZXZfZXJyX3Byb2JlKGRl diwgcmV0LCAiRmFpbGVkIHRvIGdldCBMVkRTIHJlZ21hcFxuIik7CisJCQlyZXR1cm4gcmV0Owor CQl9CisKKwkJcHJpdi0+aWQgPSBvZl9hbGlhc19nZXRfaWQobnAsICJtaXBpX2RwaHkiKTsKKwkJ aWYgKHByaXYtPmlkIDwgMCkgeworCQkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gZ2V0IHBoeSBu b2RlIGFsaWFzIGlkOiAlZFxuIiwKKwkJCQlwcml2LT5pZCk7CisJCQlyZXR1cm4gcHJpdi0+aWQ7 CisJCX0KKworCQlyZXQgPSBpbXhfc2N1X2dldF9oYW5kbGUoJnByaXYtPmlwY19oYW5kbGUpOwor CQlpZiAocmV0KSB7CisJCQlkZXZfZXJyX3Byb2JlKGRldiwgcmV0LAorCQkJCSAgICAgICJGYWls ZWQgdG8gZ2V0IFNDVSBpcGMgaGFuZGxlXG4iKTsKKwkJCXJldHVybiByZXQ7CisJCX0KKwl9CisK IAlkZXZfc2V0X2RydmRhdGEoZGV2LCBwcml2KTsKIAogCXBoeSA9IGRldm1fcGh5X2NyZWF0ZShk ZXYsIG5wLCAmbWl4ZWxfZHBoeV9waHlfb3BzKTsKLS0gCjIuMjUuMQoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGlu ZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK