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 X-Spam-Level: X-Spam-Status: No, score=-13.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 530E2C433ED for ; Fri, 23 Apr 2021 09:48:49 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D612560249 for ; Fri, 23 Apr 2021 09:48:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D612560249 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2C9816EB65; Fri, 23 Apr 2021 09:48:48 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-he1eur02on0606.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe05::606]) by gabe.freedesktop.org (Postfix) with ESMTPS id D6C9D6EB65 for ; Fri, 23 Apr 2021 09:48:46 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KYNVAocEsO391O3kOec1JbNbkQiLyN5kaIuIOk5TXxFC+voqTTwjZQnaHC26g5WFj6GssG4ahgH00qv5bzx9lHyp3Nw216qDt9DqlQDB0Vcrd2hUwNdat/AKxn+TD46tolZvbWh1EOYQvL0QW9uDtfSJH1yCox+83XtO8vFdsg33lfbCDXP4UK9jAwA+ybXpcOWYR8vgWH4YHEI9ShPkWcp8gtkBHpekAMfQF7qmIKFP5Dpzx0XBIG8Sy1XWdwohsVN8/avuYoeUYyJD+Bzq0SmCErpCZg8z8I6oS2aIsDI8hlBr5lLiIXPCTeF01v0MDgOrpz28953lKq2cHAVocg== 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-SenderADCheck; bh=Qx9olTIqv6LIdMiRXlhwPmvSd3zMCmMxA08pDYwarHE=; b=SeUBjoj80q2XUKH2U/ygVx+/kB/YMMx5GK+ikQRBgaQsgV07zS4P/G1ERejBcuzm3AJFQ9zqNuZHjanlIIEcPQ+89yOwYk4itYt55FIRUqCdpLY69Em4Fz6usjzfDtMe5wBUz+6ekYcbQsCuBRTF7yKKxLHEoJQtg3bqUiE13Rp+1VMEWvMe+pc9ZgzgFwUdKuE677G2zjJgvKMQKHYtvO3iHBnYIm/9YwB7A+Abee2GZcgHsJLPTchbqeSRuCdil5TWubtd3+gsh4aw+LIjryFb2+SjHKniDniinEAPGO45pAIeJPZLhpquW65oO9QXBPNt73whvQ+s//16K6K2PQ== 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=Qx9olTIqv6LIdMiRXlhwPmvSd3zMCmMxA08pDYwarHE=; b=ZQX8x0vmdCyfPWbiBpLZITHBI/b5O3s4deW8eegnvREXWbG63uH+ilDmQtZ03CF8UeUuWJ86KZirNXB5j5SUjgi0Gty3d/I2MnTPAedmOYRCRnM0nHOQ33OCF4CZQFailTV8gX5rWTXYo7XEW0EKleWlOznwYAizEWWCDd4dpR8= Authentication-Results: baylibre.com; dkim=none (message not signed) header.d=none;baylibre.com; dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB3983.eurprd04.prod.outlook.com (2603:10a6:803:4c::16) by VI1PR0401MB2319.eurprd04.prod.outlook.com (2603:10a6:800:26::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.22; Fri, 23 Apr 2021 09:48:43 +0000 Received: from VI1PR04MB3983.eurprd04.prod.outlook.com ([fe80::a5f3:fde9:1d85:5f28]) by VI1PR04MB3983.eurprd04.prod.outlook.com ([fe80::a5f3:fde9:1d85:5f28%7]) with mapi id 15.20.4065.021; Fri, 23 Apr 2021 09:48:43 +0000 Message-ID: Subject: Re: [PATCH v2] drm/bridge: nwl-dsi: Get MIPI DSI controller and PHY ready in ->mode_set() From: Liu Ying To: Neil Armstrong , dri-devel@lists.freedesktop.org Date: Fri, 23 Apr 2021 17:47:11 +0800 In-Reply-To: <178556dc-a011-e1e6-4147-dbf584672d32@baylibre.com> References: <1619068455-1932-1-git-send-email-victor.liu@nxp.com> <36441ffb-2a79-f965-efc8-042844bc349d@baylibre.com> <460bdf3547942fdca82a19e164162187917e4d57.camel@nxp.com> <178556dc-a011-e1e6-4147-dbf584672d32@baylibre.com> User-Agent: Evolution 3.36.4-0ubuntu1 X-Originating-IP: [119.31.174.66] X-ClientProxiedBy: HK2PR02CA0156.apcprd02.prod.outlook.com (2603:1096:201:1f::16) To VI1PR04MB3983.eurprd04.prod.outlook.com (2603:10a6:803:4c::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from blueberry (119.31.174.66) by HK2PR02CA0156.apcprd02.prod.outlook.com (2603:1096:201:1f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.20 via Frontend Transport; Fri, 23 Apr 2021 09:48:40 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bf87d5b6-d7be-49e7-35a1-08d9063cfb5a X-MS-TrafficTypeDiagnostic: VI1PR0401MB2319: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tSjnZeRIVdGEXvlxxXN7fhb+KgpHgIDl3z+lVWIb6yZmQyx+YUfifxMcCgJWS7I6GDCM894av0Hf63NsK5NY/M2X6nySwA+0CbaV/BTvIS/22eGQq+B3db0/3fDdZ48nT4JBQPS9aePPmS0oSNsPbppjMcMssH9/D12rv64/SVjNrZliAe0ibn1rIeQ4ylVl4r+ctyyymhBr8LZILyzunbMpA3hUW0S8/mH14kyMjvW7MbazasmmM2Q/PvRNRQ4Q6eUlaKi3lNgn2OheQH1oqhViMbZohDxNoeF+zY/Ozs/EPsf2X7Cj8sgHb//DANS3GWdjd6IrDtdvBb06vXJWryls1vVPnjTWWZLC7DCAsc5kqJtgGJqzQ5FESNRnlDyC8GFZb59myO2bSI0qWry5Dllx59utw4XJtIZ9sUD1c/hjzHWSrQ0C5BGWfWUK+Bc1drmsPIwYrNPCOzQQbW782jVV2NSaiqWM6t00acxwd9LnyCctpLYtg3djSCa2Zg7OG35s9eWVY91chpV3PZCuG/6U2ch9tmId4bOJB9Axetm1+T8zQ+a4XJKV8oXxfpFw4jiZKxDXwhXexyZQpqL+ssxQWRhUON7zwPSedLgKD0cU1M4dxV7ioGB8l5E0rX0J5lXaeJSNsW43S615R/+Qwnc0AZt3TnLFxDDEJj4ceiw= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB3983.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(136003)(396003)(346002)(39860400002)(376002)(316002)(2616005)(2906002)(6496006)(956004)(52116002)(53546011)(8936002)(86362001)(54906003)(7416002)(66476007)(66946007)(38350700002)(38100700002)(478600001)(83380400001)(5660300002)(6666004)(8676002)(26005)(4326008)(186003)(16526019)(6486002)(36756003)(66556008)(66574015); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?aDMwSVVaSjBGQlliZ0JSY3Y5YThvWWVHRUNremMzUno3RWoybit3QW14cnB1?= =?utf-8?B?U2lNbWl6U29Sb1pJdmZ2THpNenJid2xyaEUwNm5LWFZuRjliUnJ0QlNVb2tU?= =?utf-8?B?akhHTHBBRmh2c1lNN0ZkUXdkT2pFNUdNemVEQUxlOTBnRFNSa1RDd1hxVFBv?= =?utf-8?B?N1JJcDBibEdpQ2NBbjJqanVtb1pkQ3RYUTRnVVVPbWNub0g1ZzYwZ3lET3Bj?= =?utf-8?B?bTRvQXJzRkZPeXNRSGJGVGZ0SHJqUEJmaGNla2hUZmZRMVl6enBTQnpYQnBH?= =?utf-8?B?UGFNcjU4UGg0U2VSMWtTc0xYWGhQRTlUY0djQWJIMjdORkgxS2lGUm5ibDUr?= =?utf-8?B?NjVXNm56QU9zTHRmYXFnaWllYzIzRnFhY0tEUHBOY1g4NWRQSmZORjkyVWU3?= =?utf-8?B?MWxydHprSzBBTEl1RmkzZkVubkZhdVlwRzlSWHJmbzVjeVFWSlhudW4vRkdS?= =?utf-8?B?NFdrV1RRQkdYclc0bmRyUUtPdnQwUWtCd0xTZHBoa21SeVBJTm9nQ1hMZzlX?= =?utf-8?B?T1V1N0hGMGdCb25Bb0pzTUxSU2Q5QVR2eDlzS1FNdGgvdmk3RVF3bGN0a3Jz?= =?utf-8?B?RlQrcWQwNG1LaG1LZWJBTnMwRU5LKzZTMVo1aXFPaks5b2J4UU95M3VnOVkr?= =?utf-8?B?RkZOQUVianpGMThKdU5hcEs1NWtCUWRQQUlIMlA0UGNUUFhOYnVDdld3c1F0?= =?utf-8?B?N0gvZEFZYzlhLzBqYmJ5NWJoclJES3VjdjRUc3VIUEtWb0lBRVBlRkZPY0VL?= =?utf-8?B?dDNoQlNwNXlNdmpZQ0JOT2dyTEpzb2lhOEtRc2VscTZNa1orMXRyVGFwL09v?= =?utf-8?B?U0ZkWjNwaXdJRW9BcHBmSy82bVI4UWJHeG1UT0RvRkVzb3FvWFhvWERYeDRN?= =?utf-8?B?WU1TZmVSbGpzWGEveXhPN3hycWVlUzhDb3ljb0E5dVdQYjcvUTY0WjBCdDFH?= =?utf-8?B?TUhYNWE0Y3JrTUZxQUM5b0ZxK0FVdG5mYk1hSjNMWXBiOXVuOTJ0SHk3aGp2?= =?utf-8?B?V0d2SjU1QkMxVFMzV2pVM2lPZ2U1bDRGRkVPWkRNWmI0SnE3TWZjUXhwbkFJ?= =?utf-8?B?b0E4VEM4NHpEclY3Snp6V3RCRDFoTmlJcTJFemoxcGhkdGhwazNKK2dSSVlN?= =?utf-8?B?Y0l4NDhQNWQzM1BuMHBiaEEydkl2Z3NsNldrQml6SXNBVk5BMGlrODdEUlpH?= =?utf-8?B?MjBMajdoYWZQVGY2WGUzcDMrWjhoWWdNTlExWi9hd09nTFJRQkQ0SU9OWmNs?= =?utf-8?B?SzJ1TGVoeEJPdG1HakJteWVHN0ZieGZQSWRxR0ZQU3lQK2RkSTlUdU5sZU1N?= =?utf-8?B?YldrT3V0ZW1iMnRSUjdnTnp1Mml5Y0VKOGl0K2lyMFdyTTVPRHRsa1lDc05B?= =?utf-8?B?aHZLNFFYSVdCZWRRMVFYYXFJT2dLeDVodDNvY2JMVE15Sk1FSjRJaFNQOGcv?= =?utf-8?B?aGVYZ1dXK29iZ3RTOCtEeXk1VWFrNEVETmpVZWFUcEJySG1XZ25mdDBEZGU0?= =?utf-8?B?anBxYUU5Zzl1c1RQSzlQNWJxK1IzQXlKNzkxR1l2TGJtZWxiQmd0WjhPc2p3?= =?utf-8?B?ajRGWldpYUdXY3gvenBtbWI1T1hXRkdDdUZWQkVPME9DSkdWVlhLZ2VTVUJQ?= =?utf-8?B?SjdiTlN3dGVnS2sxN3ZEazRSWGdJV1Bhc1lOU2I2MDNlTS9hWE9SaVpmcXc0?= =?utf-8?B?ZHJhOTBKcEV3WUdCblA0M29VNjd0OEFTaEFjMUpyUXB6R0prOHltM1dIcDFL?= =?utf-8?Q?SiHBAhlQJipmN/ni+EkJMdpp4k01EZXNogT/Q8+?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: bf87d5b6-d7be-49e7-35a1-08d9063cfb5a X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB3983.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2021 09:48:43.7821 (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: v/LRkXKbzTsgqZFARlxE27Mdcmi3a0IPUmezmBq/Kq5y/YoPvgxzwfwaftKTGjXQqpJnSc3VvJ1b8eDgUxsNsQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2319 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jernej Skrabec , Jonas Karlman , David Airlie , Guido =?ISO-8859-1?Q?G=FCnther?= , linux-kernel@vger.kernel.org, Robert Foss , Andrzej Hajda , Laurent Pinchart , Robert Chiras , NXP Linux Team Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SGkgTmVpbCwKCk9uIFRodSwgMjAyMS0wNC0yMiBhdCAxNDowNyArMDIwMCwgTmVpbCBBcm1zdHJv bmcgd3JvdGU6Cj4gSGksCj4gCj4gT24gMjIvMDQvMjAyMSAxMTozMSwgTGl1IFlpbmcgd3JvdGU6 Cj4gPiBIaSBOZWlsLAo+ID4gCj4gPiBPbiBUaHUsIDIwMjEtMDQtMjIgYXQgMTA6NDggKzAyMDAs IE5laWwgQXJtc3Ryb25nIHdyb3RlOgo+ID4gPiBIaSwKPiA+ID4gCj4gPiA+IE9uIDIyLzA0LzIw MjEgMDc6MTQsIExpdSBZaW5nIHdyb3RlOgo+ID4gPiA+IFNvbWUgTUlQSSBEU0kgcGFuZWwgZHJp dmVycyBsaWtlICdyYXlkaXVtLHJtNjgyMDAnIHNlbmQKPiA+ID4gPiBNSVBJX0RDU19TRVRfRElT UExBWV9PTiBjb21tYW5kcyBpbiBwYW5lbF9mdW5jcy0+cHJlcGFyZSgpLCB3aGljaAo+ID4gPiA+ IHJlcXVpcmVzIHRoZSBNSVBJIERTSSBjb250cm9sbGVyIGFuZCBQSFkgdG8gYmUgcmVhZHkgYmVm b3JlaGFuZC4KPiA+ID4gPiBXaXRob3V0IHRoaXMgcGF0Y2gsIHRoZSBud2wtZHNpIGRyaXZlciBn ZXRzIHRoZSBNSVBJIERTSSBjb250cm9sbGVyCj4gPiA+ID4gYW5kIFBIWSByZWFkeSBpbiBicmlk Z2VfZnVuY3MtPnByZV9lbmFibGUoKSwgd2hpY2ggaGFwcGVucyBhZnRlcgo+ID4gPiA+IHRoZSBw YW5lbF9mdW5jcy0+cHJlcGFyZSgpLiBTbywgdGhpcyBwYXRjaCBzaGlmdHMgdGhlIGJyaWRnZSBv cGVyYXRpb24KPiA+ID4gPiBlYWxpZXIgZnJvbSBicmlkZ2VfZnVuY3MtPnByZV9lbmFibGUoKSB0 byBicmlkZ2VfZnVuY3MtPm1vZGVfc2V0KCkuCj4gPiA+IAo+ID4gPiBUaGlzIG1ha2VzIHNlbnNl LCB0aGlzIGlzIGhvdyB3ZSBkbyBvbiB0aGUgc3lub3BzeXMgZHcgbWlwaSBkc2kgZHJpdmVyLgo+ ID4gPiAKPiA+ID4gPiBUaGlzIHdheSwgbW9yZSBNSVBJIERTSSBwYW5lbHMgY2FuIGNvbm5lY3Qg dG8gdGhpcyBud2wtZHNpIGJyaWRnZS4KPiA+ID4gPiBDYXJlIGlzIHRha2VuIHRvIG1ha2Ugc3Vy ZSBicmlkZ2VfZnVuY3MtPm1vZGVfc2V0KCkvYXRvbWljX2Rpc2FibGUoKQo+ID4gPiA+IGFyZSBj YWxsZWQgaW4gcGFpcnMsIHdoaWNoIGluY2x1ZGVzIHJlbW92aW5nIGEgY2hlY2sgb24gdW5jaGFu Z2VkIEhTCj4gPiA+ID4gY2xvY2sgcmF0ZSBhbmQgZm9yY2luZyBhIGZ1bGwgbW9kZXNldCB3aGVu IG9ubHkgY29ubmVjdG9yJ3MgRFBNUyBpcwo+ID4gPiA+IGJyb3VnaHQgb3V0IG9mICJPZmYiIHN0 YXR1cy4KPiA+ID4gCj4gPiA+IEkgd291bGQgc3BsaXQgdGhlIGNoYW5nZXMgaW4gbXVsdGlwbGUg cGF0Y2hlcyB0byBjbGFyaWZ5IHRoZSBjaGFuZ2VzLgo+ID4gCj4gPiBNYXliZSwgSSBjYW4gc3Bs aXQgdGhpcyBpbnRvIHRoZSBiZWxvdyAzIHBhdGNoZXM6Cj4gPiAxKSBSZW1vdmUgYSBjaGVjayBv biB1bmNoYW5nZWQgSFMgY2xvY2sgcmF0ZSBmcm9tIC0+bW9kZV9zZXQoKS4KPiA+IDIpIEZvcmNl IGEgZnVsbCBtb2Rlc2V0IHdoZW4gb25seSBjb25uZWN0b3IncyBEUE1TIGlzIGJyb3VnaHQgb3V0 IG9mCj4gPiAiT2ZmIiBzdGF0dXMuIFRoaXMgd2lsbCBiZSBkb25lIGluIC0+YXRvbWljX2NoZWNr KCkgdG9nZXRoZXIgd2l0aCB0aGUKPiA+IGZpeHVwIGZvciBIL1ZTWU5DIHBvbGFyaXRpZXMuCj4g PiAzKSBTaGlmdCB0aGUgYnJpZGdlIG9wZXJhdGlvbiBhcyB0aGUgbGFzdCBzdGVwLgo+ID4gCj4g PiBJJ2xsIG1lbnRpb24gdGhhdCAxKSAmIDIpIGFyZSBuZWVkZWQgYnkgMykgaW4gdGhlaXIgY29t bWl0IG1lc3NhZ2UuCj4gCj4gU3VyZSwgeW91IGNhbiBhbHNvIHB1dCB0aGlzIHNwbGl0IGV4cGxh bmF0aW9uIGluIHRoZSBjb3ZlciBsZXR0ZXIuCj4gCj4gPiBEb2VzIHRoaXMgc3BsaXQtdXAgc291 bmQgcmVhc29uYWJsZT8KPiAKPiBZZXMgbWFrZXMgc2Vuc2UsIHRoYW5rcwoKSSd2ZSBzZW50IHYz IHRvIGRvIHRoZSBzcGxpdC11cC4KSSBhY3R1YWxseSBzd2FwIDEpIGFuZCAyKSwgd2hpY2ggaXMg dHJpdmlhbCBJIGFzc3VtZS4KClJlZ2FyZHMsCkxpdSBZaW5nCgo+IAo+IE5laWwKPiAKPiA+IFRo YW5rcywKPiA+IExpdSBZaW5nCj4gPiAKPiA+ID4gTmVpbAo+ID4gPiAKPiA+ID4gPiBDYzogQW5k cnplaiBIYWpkYSA8YS5oYWpkYUBzYW1zdW5nLmNvbT4KPiA+ID4gPiBDYzogTmVpbCBBcm1zdHJv bmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPgo+ID4gPiA+IENjOiBSb2JlcnQgRm9zcyA8cm9i ZXJ0LmZvc3NAbGluYXJvLm9yZz4KPiA+ID4gPiBDYzogTGF1cmVudCBQaW5jaGFydCA8TGF1cmVu dC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgo+ID4gPiA+IENjOiBKb25hcyBLYXJsbWFuIDxq b25hc0Brd2lib28uc2U+Cj4gPiA+ID4gQ2M6IEplcm5laiBTa3JhYmVjIDxqZXJuZWouc2tyYWJl Y0BzaW9sLm5ldD4KPiA+ID4gPiBDYzogRGF2aWQgQWlybGllIDxhaXJsaWVkQGxpbnV4LmllPgo+ ID4gPiA+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+Cj4gPiA+ID4gQ2M6IEd1 aWRvIEfDvG50aGVyIDxhZ3hAc2lneGNwdS5vcmc+Cj4gPiA+ID4gQ2M6IFJvYmVydCBDaGlyYXMg PHJvYmVydC5jaGlyYXNAbnhwLmNvbT4KPiA+ID4gPiBDYzogTlhQIExpbnV4IFRlYW0gPGxpbnV4 LWlteEBueHAuY29tPgo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IExpdSBZaW5nIDx2aWN0b3IubGl1 QG54cC5jb20+Cj4gPiA+ID4gLS0tCj4gPiA+ID4gdjEtPnYyOgo+ID4gPiA+ICogRml4IGNvbW1p dCBtZXNzYWdlIHR5cG8gLSBzL3VuY2hhbmdlL3VuY2hhbmdlZC8KPiA+ID4gPiAKPiA+ID4gPiAg ZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9ud2wtZHNpLmMgfCA4NiArKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCA0NiBpbnNlcnRp b25zKCspLCA0MCBkZWxldGlvbnMoLSkKPiA+ID4gPiAKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9ud2wtZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL253 bC1kc2kuYwo+ID4gPiA+IGluZGV4IGJlNmJmYzUuLjIyOWYwYjEgMTAwNjQ0Cj4gPiA+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9ud2wtZHNpLmMKPiA+ID4gPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL253bC1kc2kuYwo+ID4gPiA+IEBAIC0yMSw2ICsyMSw3IEBACj4gPiA+ ID4gICNpbmNsdWRlIDxsaW51eC9zeXNfc29jLmg+Cj4gPiA+ID4gICNpbmNsdWRlIDxsaW51eC90 aW1lNjQuaD4KPiA+ID4gPiAgCj4gPiA+ID4gKyNpbmNsdWRlIDxkcm0vZHJtX2F0b21pY19zdGF0 ZV9oZWxwZXIuaD4KPiA+ID4gPiAgI2luY2x1ZGUgPGRybS9kcm1fYnJpZGdlLmg+Cj4gPiA+ID4g ICNpbmNsdWRlIDxkcm0vZHJtX21pcGlfZHNpLmg+Cj4gPiA+ID4gICNpbmNsdWRlIDxkcm0vZHJt X29mLmg+Cj4gPiA+ID4gQEAgLTY2MSw3ICs2NjIsNyBAQCBzdGF0aWMgaXJxcmV0dXJuX3Qgbnds X2RzaV9pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpkYXRhKQo+ID4gPiA+ICAJcmV0dXJuIElS UV9IQU5ETEVEOwo+ID4gPiA+ICB9Cj4gPiA+ID4gIAo+ID4gPiA+IC1zdGF0aWMgaW50IG53bF9k c2lfZW5hYmxlKHN0cnVjdCBud2xfZHNpICpkc2kpCj4gPiA+ID4gK3N0YXRpYyBpbnQgbndsX2Rz aV9tb2RlX3NldChzdHJ1Y3QgbndsX2RzaSAqZHNpKQo+ID4gPiA+ICB7Cj4gPiA+ID4gIAlzdHJ1 Y3QgZGV2aWNlICpkZXYgPSBkc2ktPmRldjsKPiA+ID4gPiAgCXVuaW9uIHBoeV9jb25maWd1cmVf b3B0cyAqcGh5X2NmZyA9ICZkc2ktPnBoeV9jZmc7Cj4gPiA+ID4gQEAgLTc0OCw3ICs3NDksOSBA QCBzdGF0aWMgaW50IG53bF9kc2lfZGlzYWJsZShzdHJ1Y3QgbndsX2RzaSAqZHNpKQo+ID4gPiA+ ICAJcmV0dXJuIDA7Cj4gPiA+ID4gIH0KPiA+ID4gPiAgCj4gPiA+ID4gLXN0YXRpYyB2b2lkIG53 bF9kc2lfYnJpZGdlX2Rpc2FibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKPiA+ID4gPiAr c3RhdGljIHZvaWQKPiA+ID4gPiArbndsX2RzaV9icmlkZ2VfYXRvbWljX2Rpc2FibGUoc3RydWN0 IGRybV9icmlkZ2UgKmJyaWRnZSwKPiA+ID4gPiArCQkJICAgICAgc3RydWN0IGRybV9icmlkZ2Vf c3RhdGUgKm9sZF9icmlkZ2Vfc3RhdGUpCj4gPiA+ID4gIHsKPiA+ID4gPiAgCXN0cnVjdCBud2xf ZHNpICpkc2kgPSBicmlkZ2VfdG9fZHNpKGJyaWRnZSk7Cj4gPiA+ID4gIAlpbnQgcmV0Owo+ID4g PiA+IEBAIC04MDksMTcgKzgxMiw2IEBAIHN0YXRpYyBpbnQgbndsX2RzaV9nZXRfZHBoeV9wYXJh bXMoc3RydWN0IG53bF9kc2kgKmRzaSwKPiA+ID4gPiAgCXJldHVybiAwOwo+ID4gPiA+ICB9Cj4g PiA+ID4gIAo+ID4gPiA+IC1zdGF0aWMgYm9vbCBud2xfZHNpX2JyaWRnZV9tb2RlX2ZpeHVwKHN0 cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gPiA+ID4gLQkJCQkgICAgICBjb25zdCBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+ID4gPiAtCQkJCSAgICAgIHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICphZGp1c3RlZF9tb2RlKQo+ID4gPiA+IC17Cj4gPiA+ID4gLQkvKiBBdCBsZWFz dCBMQ0RJRiArIE5XTCBuZWVkcyBhY3RpdmUgaGlnaCBzeW5jICovCj4gPiA+ID4gLQlhZGp1c3Rl ZF9tb2RlLT5mbGFncyB8PSAoRFJNX01PREVfRkxBR19QSFNZTkMgfCBEUk1fTU9ERV9GTEFHX1BW U1lOQyk7Cj4gPiA+ID4gLQlhZGp1c3RlZF9tb2RlLT5mbGFncyAmPSB+KERSTV9NT0RFX0ZMQUdf TkhTWU5DIHwgRFJNX01PREVfRkxBR19OVlNZTkMpOwo+ID4gPiA+IC0KPiA+ID4gPiAtCXJldHVy biB0cnVlOwo+ID4gPiA+IC19Cj4gPiA+ID4gLQo+ID4gPiA+ICBzdGF0aWMgZW51bSBkcm1fbW9k ZV9zdGF0dXMKPiA+ID4gPiAgbndsX2RzaV9icmlkZ2VfbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Jy aWRnZSAqYnJpZGdlLAo+ID4gPiA+ICAJCQkgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9pbmZv ICppbmZvLAo+ID4gPiA+IEBAIC04MzcsNiArODI5LDI5IEBAIG53bF9kc2lfYnJpZGdlX21vZGVf dmFsaWQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiA+ID4gPiAgCXJldHVybiBNT0RFX09L Owo+ID4gPiA+ICB9Cj4gPiA+ID4gIAo+ID4gPiA+ICtzdGF0aWMgaW50IG53bF9kc2lfYnJpZGdl X2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+ID4gPiA+ICsJCQkJICAg ICAgIHN0cnVjdCBkcm1fYnJpZGdlX3N0YXRlICpicmlkZ2Vfc3RhdGUsCj4gPiA+ID4gKwkJCQkg ICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gPiA+ICsJCQkJICAg ICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQo+ID4gPiA+ICt7Cj4g PiA+ID4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9ICZjcnRjX3N0 YXRlLT5hZGp1c3RlZF9tb2RlOwo+ID4gPiA+ICsKPiA+ID4gPiArCS8qIEF0IGxlYXN0IExDRElG ICsgTldMIG5lZWRzIGFjdGl2ZSBoaWdoIHN5bmMgKi8KPiA+ID4gPiArCWFkanVzdGVkX21vZGUt PmZsYWdzIHw9IChEUk1fTU9ERV9GTEFHX1BIU1lOQyB8IERSTV9NT0RFX0ZMQUdfUFZTWU5DKTsK PiA+ID4gPiArCWFkanVzdGVkX21vZGUtPmZsYWdzICY9IH4oRFJNX01PREVfRkxBR19OSFNZTkMg fCBEUk1fTU9ERV9GTEFHX05WU1lOQyk7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJLyoKPiA+ID4gPiAr CSAqIERvIGEgZnVsbCBtb2Rlc2V0IGlmIGNydGNfc3RhdGUtPmFjdGl2ZSBpcyBjaGFuZ2VkIHRv IGJlIHRydWUuCj4gPiA+ID4gKwkgKiBUaGlzIGVuc3VyZXMgb3VyIC0+bW9kZV9zZXQoKSBpcyBj YWxsZWQgdG8gZ2V0IHRoZSBEU0kgY29udHJvbGxlcgo+ID4gPiA+ICsJICogYW5kIHRoZSBQSFkg cmVhZHkgdG8gc2VuZCBEQ1MgY29tbWFuZHMsIHdoZW4gb25seSB0aGUgY29ubmVjdG9yJ3MKPiA+ ID4gPiArCSAqIERQTVMgaXMgYnJvdWdodCBvdXQgb2YgIk9mZiIgc3RhdHVzLgo+ID4gPiA+ICsJ ICovCj4gPiA+ID4gKwlpZiAoY3J0Y19zdGF0ZS0+YWN0aXZlX2NoYW5nZWQgJiYgY3J0Y19zdGF0 ZS0+YWN0aXZlKQo+ID4gPiA+ICsJCWNydGNfc3RhdGUtPm1vZGVfY2hhbmdlZCA9IHRydWU7Cj4g PiA+ID4gKwo+ID4gPiA+ICsJcmV0dXJuIDA7Cj4gPiA+ID4gK30KPiA+ID4gPiArCj4gPiA+ID4g IHN0YXRpYyB2b2lkCj4gPiA+ID4gIG53bF9kc2lfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1f YnJpZGdlICpicmlkZ2UsCj4gPiA+ID4gIAkJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlLAo+ID4gPiA+IEBAIC04NTIsMTMgKzg2Nyw2IEBAIG53bF9kc2lfYnJpZGdlX21vZGVf c2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gPiA+ID4gIAlpZiAocmV0IDwgMCkKPiA+ ID4gPiAgCQlyZXR1cm47Cj4gPiA+ID4gIAo+ID4gPiA+IC0JLyoKPiA+ID4gPiAtCSAqIElmIGhz IGNsb2NrIGlzIHVuY2hhbmdlZCwgd2UncmUgYWxsIGdvb2QgLSBhbGwgcGFyYW1ldGVycyBhcmUK PiA+ID4gPiAtCSAqIGRlcml2ZWQgZnJvbSBpdCBhdG0uCj4gPiA+ID4gLQkgKi8KPiA+ID4gPiAt CWlmIChuZXdfY2ZnLm1pcGlfZHBoeS5oc19jbGtfcmF0ZSA9PSBkc2ktPnBoeV9jZmcubWlwaV9k cGh5LmhzX2Nsa19yYXRlKQo+ID4gPiA+IC0JCXJldHVybjsKPiA+ID4gPiAtCj4gPiA+ID4gIAlw aHlfcmVmX3JhdGUgPSBjbGtfZ2V0X3JhdGUoZHNpLT5waHlfcmVmX2Nsayk7Cj4gPiA+ID4gIAlE Uk1fREVWX0RFQlVHX0RSSVZFUihkZXYsICJQSFkgYXQgcmVmIHJhdGU6ICVsdVxuIiwgcGh5X3Jl Zl9yYXRlKTsKPiA+ID4gPiAgCS8qIFNhdmUgdGhlIG5ldyBkZXNpcmVkIHBoeSBjb25maWcgKi8K PiA+ID4gPiBAQCAtODY2LDE0ICs4NzQsOCBAQCBud2xfZHNpX2JyaWRnZV9tb2RlX3NldChzdHJ1 Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+ID4gPiA+ICAKPiA+ID4gPiAgCW1lbWNweSgmZHNpLT5t b2RlLCBhZGp1c3RlZF9tb2RlLCBzaXplb2YoZHNpLT5tb2RlKSk7Cj4gPiA+ID4gIAlkcm1fbW9k ZV9kZWJ1Z19wcmludG1vZGVsaW5lKGFkanVzdGVkX21vZGUpOwo+ID4gPiA+IC19Cj4gPiA+ID4g IAo+ID4gPiA+IC1zdGF0aWMgdm9pZCBud2xfZHNpX2JyaWRnZV9wcmVfZW5hYmxlKHN0cnVjdCBk cm1fYnJpZGdlICpicmlkZ2UpCj4gPiA+ID4gLXsKPiA+ID4gPiAtCXN0cnVjdCBud2xfZHNpICpk c2kgPSBicmlkZ2VfdG9fZHNpKGJyaWRnZSk7Cj4gPiA+ID4gLQlpbnQgcmV0Owo+ID4gPiA+IC0K PiA+ID4gPiAtCXBtX3J1bnRpbWVfZ2V0X3N5bmMoZHNpLT5kZXYpOwo+ID4gPiA+ICsJcG1fcnVu dGltZV9nZXRfc3luYyhkZXYpOwo+ID4gPiA+ICAKPiA+ID4gPiAgCWlmIChjbGtfcHJlcGFyZV9l bmFibGUoZHNpLT5sY2RpZl9jbGspIDwgMCkKPiA+ID4gPiAgCQlyZXR1cm47Cj4gPiA+ID4gQEAg LTg4MywyNyArODg1LDI5IEBAIHN0YXRpYyB2b2lkIG53bF9kc2lfYnJpZGdlX3ByZV9lbmFibGUo c3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKPiA+ID4gPiAgCS8qIFN0ZXAgMSBmcm9tIERTSSBy ZXNldC1vdXQgaW5zdHJ1Y3Rpb25zICovCj4gPiA+ID4gIAlyZXQgPSByZXNldF9jb250cm9sX2Rl YXNzZXJ0KGRzaS0+cnN0X3BjbGspOwo+ID4gPiA+ICAJaWYgKHJldCA8IDApIHsKPiA+ID4gPiAt CQlEUk1fREVWX0VSUk9SKGRzaS0+ZGV2LCAiRmFpbGVkIHRvIGRlYXNzZXJ0IFBDTEs6ICVkXG4i LCByZXQpOwo+ID4gPiA+ICsJCURSTV9ERVZfRVJST1IoZGV2LCAiRmFpbGVkIHRvIGRlYXNzZXJ0 IFBDTEs6ICVkXG4iLCByZXQpOwo+ID4gPiA+ICAJCXJldHVybjsKPiA+ID4gPiAgCX0KPiA+ID4g PiAgCj4gPiA+ID4gIAkvKiBTdGVwIDIgZnJvbSBEU0kgcmVzZXQtb3V0IGluc3RydWN0aW9ucyAq Lwo+ID4gPiA+IC0JbndsX2RzaV9lbmFibGUoZHNpKTsKPiA+ID4gPiArCW53bF9kc2lfbW9kZV9z ZXQoZHNpKTsKPiA+ID4gPiAgCj4gPiA+ID4gIAkvKiBTdGVwIDMgZnJvbSBEU0kgcmVzZXQtb3V0 IGluc3RydWN0aW9ucyAqLwo+ID4gPiA+ICAJcmV0ID0gcmVzZXRfY29udHJvbF9kZWFzc2VydChk c2ktPnJzdF9lc2MpOwo+ID4gPiA+ICAJaWYgKHJldCA8IDApIHsKPiA+ID4gPiAtCQlEUk1fREVW X0VSUk9SKGRzaS0+ZGV2LCAiRmFpbGVkIHRvIGRlYXNzZXJ0IEVTQzogJWRcbiIsIHJldCk7Cj4g PiA+ID4gKwkJRFJNX0RFVl9FUlJPUihkZXYsICJGYWlsZWQgdG8gZGVhc3NlcnQgRVNDOiAlZFxu IiwgcmV0KTsKPiA+ID4gPiAgCQlyZXR1cm47Cj4gPiA+ID4gIAl9Cj4gPiA+ID4gIAlyZXQgPSBy ZXNldF9jb250cm9sX2RlYXNzZXJ0KGRzaS0+cnN0X2J5dGUpOwo+ID4gPiA+ICAJaWYgKHJldCA8 IDApIHsKPiA+ID4gPiAtCQlEUk1fREVWX0VSUk9SKGRzaS0+ZGV2LCAiRmFpbGVkIHRvIGRlYXNz ZXJ0IEJZVEU6ICVkXG4iLCByZXQpOwo+ID4gPiA+ICsJCURSTV9ERVZfRVJST1IoZGV2LCAiRmFp bGVkIHRvIGRlYXNzZXJ0IEJZVEU6ICVkXG4iLCByZXQpOwo+ID4gPiA+ICAJCXJldHVybjsKPiA+ ID4gPiAgCX0KPiA+ID4gPiAgfQo+ID4gPiA+ICAKPiA+ID4gPiAtc3RhdGljIHZvaWQgbndsX2Rz aV9icmlkZ2VfZW5hYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCj4gPiA+ID4gK3N0YXRp YyB2b2lkCj4gPiA+ID4gK253bF9kc2lfYnJpZGdlX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9i cmlkZ2UgKmJyaWRnZSwKPiA+ID4gPiArCQkJICAgICBzdHJ1Y3QgZHJtX2JyaWRnZV9zdGF0ZSAq b2xkX2JyaWRnZV9zdGF0ZSkKPiA+ID4gPiAgewo+ID4gPiA+ICAJc3RydWN0IG53bF9kc2kgKmRz aSA9IGJyaWRnZV90b19kc2koYnJpZGdlKTsKPiA+ID4gPiAgCWludCByZXQ7Cj4gPiA+ID4gQEAg LTk0OCwxNCArOTUyLDE2IEBAIHN0YXRpYyB2b2lkIG53bF9kc2lfYnJpZGdlX2RldGFjaChzdHJ1 Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQo+ID4gPiA+ICB9Cj4gPiA+ID4gIAo+ID4gPiA+ICBzdGF0 aWMgY29uc3Qgc3RydWN0IGRybV9icmlkZ2VfZnVuY3MgbndsX2RzaV9icmlkZ2VfZnVuY3MgPSB7 Cj4gPiA+ID4gLQkucHJlX2VuYWJsZSA9IG53bF9kc2lfYnJpZGdlX3ByZV9lbmFibGUsCj4gPiA+ ID4gLQkuZW5hYmxlICAgICA9IG53bF9kc2lfYnJpZGdlX2VuYWJsZSwKPiA+ID4gPiAtCS5kaXNh YmxlICAgID0gbndsX2RzaV9icmlkZ2VfZGlzYWJsZSwKPiA+ID4gPiAtCS5tb2RlX2ZpeHVwID0g bndsX2RzaV9icmlkZ2VfbW9kZV9maXh1cCwKPiA+ID4gPiAtCS5tb2RlX3NldCAgID0gbndsX2Rz aV9icmlkZ2VfbW9kZV9zZXQsCj4gPiA+ID4gLQkubW9kZV92YWxpZCA9IG53bF9kc2lfYnJpZGdl X21vZGVfdmFsaWQsCj4gPiA+ID4gLQkuYXR0YWNoCSAgICA9IG53bF9kc2lfYnJpZGdlX2F0dGFj aCwKPiA+ID4gPiAtCS5kZXRhY2gJICAgID0gbndsX2RzaV9icmlkZ2VfZGV0YWNoLAo+ID4gPiA+ ICsJLmF0b21pY19kdXBsaWNhdGVfc3RhdGUJPSBkcm1fYXRvbWljX2hlbHBlcl9icmlkZ2VfZHVw bGljYXRlX3N0YXRlLAo+ID4gPiA+ICsJLmF0b21pY19kZXN0cm95X3N0YXRlCT0gZHJtX2F0b21p Y19oZWxwZXJfYnJpZGdlX2Rlc3Ryb3lfc3RhdGUsCj4gPiA+ID4gKwkuYXRvbWljX3Jlc2V0CQk9 IGRybV9hdG9taWNfaGVscGVyX2JyaWRnZV9yZXNldCwKPiA+ID4gPiArCS5hdG9taWNfY2hlY2sJ CT0gbndsX2RzaV9icmlkZ2VfYXRvbWljX2NoZWNrLAo+ID4gPiA+ICsJLmF0b21pY19lbmFibGUJ CT0gbndsX2RzaV9icmlkZ2VfYXRvbWljX2VuYWJsZSwKPiA+ID4gPiArCS5hdG9taWNfZGlzYWJs ZQkJPSBud2xfZHNpX2JyaWRnZV9hdG9taWNfZGlzYWJsZSwKPiA+ID4gPiArCS5tb2RlX3NldAkJ PSBud2xfZHNpX2JyaWRnZV9tb2RlX3NldCwKPiA+ID4gPiArCS5tb2RlX3ZhbGlkCQk9IG53bF9k c2lfYnJpZGdlX21vZGVfdmFsaWQsCj4gPiA+ID4gKwkuYXR0YWNoCQkJPSBud2xfZHNpX2JyaWRn ZV9hdHRhY2gsCj4gPiA+ID4gKwkuZGV0YWNoCQkJPSBud2xfZHNpX2JyaWRnZV9kZXRhY2gsCj4g PiA+ID4gIH07Cj4gPiA+ID4gIAo+ID4gPiA+ICBzdGF0aWMgaW50IG53bF9kc2lfcGFyc2VfZHQo c3RydWN0IG53bF9kc2kgKmRzaSkKPiA+ID4gPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=