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=-12.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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 4B817C433E0 for ; Sat, 4 Jul 2020 23:59:30 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 F00C1206F8 for ; Sat, 4 Jul 2020 23:59:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="n5yJOOa9"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="ftP8FTzQ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F00C1206F8 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=dUDAQQ9SdP0H4Vj0DokeLtBh2AwRWMecZdRvdCPrnXg=; b=n5yJOOa9KDiKTV5tGjfHSs1No raSlKGMYnCqZEwH2JzErM7EuPD4fxWV9heq4JGxo3b7Vy2bHU0R//CKiIaBucQBCvUkQkKdtOpFh4 30iA6VjWmxk3lhr7p4eMwcZueG0lAWoOuCRaLwe8hNg1zAmfr915DMQN4U3ieXkdTQfDWBP/toKNe ocD1ZMT8+03BjxGmJvbQ5wmaC3azS/HGFclmZ2XaAduu01pAOpVrSBtL+12OWk/Ip8dBqXECxXkbz jzxnvRv3ALc9eMUj7zeKRqUBARhAU+wa1kvE5vyH8YligpsI63W9+X4K5wWxXGJsx9Y3l1LRF4t34 u37QJRL9w==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jrs2M-0006k6-8B; Sat, 04 Jul 2020 23:57:38 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jrs2I-0006ji-Iv; Sat, 04 Jul 2020 23:57:36 +0000 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6CC0021534; Sat, 4 Jul 2020 23:57:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1593907053; bh=FxX+3x4XmC0gS4P8L46NJ5QrfRw67wHMwGdwWiaOKVQ=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=ftP8FTzQD/Ls94DQrV+CBcn8+H8PPy2fPJJVi4YU1fmAvmOOO4xwPsNo96XLSeueB /icTqJHA4CfdUg6KIyk4bhcYM0CiU7cXSyZDoNGAvpeun6o2kLK92+W92Q3xh6kdGB PIRnMp6D2WgXsDkUrf0BkNCY1GAeROs5B1uR+2ok= Received: by mail-ej1-f44.google.com with SMTP id dr13so38680785ejc.3; Sat, 04 Jul 2020 16:57:33 -0700 (PDT) X-Gm-Message-State: AOAM5310PgkHgOKzZZWksLuiAvdprYuuioitE36IL9WXm6NK7rTaOxoM h1wX6vAHdK/hmKvY1XKgK7Ac2ZjDBxPqTqtGYQ== X-Google-Smtp-Source: ABdhPJzr+X0roEAAYu97bPSAEMPjTnE5KTE0oK9yMQ07DiscBCGYg5HYbl0bp7mCkiSQHcEhSeQnaOyNbgZx1aNKFmo= X-Received: by 2002:a17:906:b888:: with SMTP id hb8mr37507207ejb.124.1593907051828; Sat, 04 Jul 2020 16:57:31 -0700 (PDT) MIME-Version: 1.0 References: <20200615203108.786083-1-enric.balletbo@collabora.com> <20200615203108.786083-7-enric.balletbo@collabora.com> In-Reply-To: <20200615203108.786083-7-enric.balletbo@collabora.com> From: Chun-Kuang Hu Date: Sun, 5 Jul 2020 07:57:20 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RESEND PATCH v4 6/7] drm/mediatek: mtk_dsi: Use the drm_panel_bridge API To: Enric Balletbo i Serra X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200704_195735_009789_741A7DA9 X-CRM114-Status: GOOD ( 25.45 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Chun-Kuang Hu , Nicolas Boichat , Philipp Zabel , David Airlie , linux-kernel , DRI Development , "moderated list:ARM/Mediatek SoC support" , Laurent Pinchart , Daniel Vetter , Hsin-Yi Wang , Matthias Brugger , Collabora Kernel ML , Sam Ravnborg , Linux ARM 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 SGksIEVucmljOgoKRW5yaWMgQmFsbGV0Ym8gaSBTZXJyYSA8ZW5yaWMuYmFsbGV0Ym9AY29sbGFi b3JhLmNvbT4g5pa8IDIwMjDlubQ25pyIMTbml6Ug6YCx5LqMIOS4iuWNiDQ6MzHlr6vpgZPvvJoK Pgo+IFJlcGxhY2UgdGhlIG1hbnVhbCBwYW5lbCBoYW5kbGluZyBjb2RlIGJ5IGEgZHJtX3BhbmVs X2JyaWRnZS4gVGhpcwo+IHNpbXBsaWZpZXMgdGhlIGRyaXZlciBhbmQgYWxsb3dzIGFsbCBjb21w b25lbnRzIGluIHRoZSBkaXNwbGF5IHBpcGVsaW5lCj4gdG8gYmUgdHJlYXRlZCBhcyBicmlkZ2Vz LCBwYXZpbmcgdGhlIHdheSB0byBnZW5lcmljIGNvbm5lY3RvciBoYW5kbGluZy4KPgoKQXBwbGll ZCB0byBtZWRpYXRlay1kcm0tbmV4dCBbMV0sIHRoYW5rcy4KClsxXSBodHRwczovL2dpdC5rZXJu ZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC9jaHVua3VhbmcuaHUvbGludXguZ2l0L2xv Zy8/aD1tZWRpYXRlay1kcm0tbmV4dAoKUmVnYXJkcywKQ2h1bi1LdWFuZy4KCj4gU2lnbmVkLW9m Zi1ieTogRW5yaWMgQmFsbGV0Ym8gaSBTZXJyYSA8ZW5yaWMuYmFsbGV0Ym9AY29sbGFib3JhLmNv bT4KPiBSZXZpZXdlZC1ieTogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBpZGVh c29uYm9hcmQuY29tPgo+IEFja2VkLWJ5OiBTYW0gUmF2bmJvcmcgPHNhbUByYXZuYm9yZy5vcmc+ Cj4gUmV2aWV3ZWQtYnk6IENodW4tS3VhbmcgSHUgPGNodW5rdWFuZy5odUBrZXJuZWwub3JnPgo+ IC0tLQo+Cj4gQ2hhbmdlcyBpbiB2NDogTm9uZQo+IENoYW5nZXMgaW4gdjM6Cj4gLSBVc2UgbmV4 dF9icmlkZ2UgZmllbGQgdG8gc3RvcmUgdGhlIHBhbmVsIGJyaWRnZS4gKExhdXJlbnQgUGluY2hh cnQpCj4gLSBBZGQgdGhlIGJyaWRnZS50eXBlIGZpZWxkLiAoTGF1cmVudCBQaW5jaGFydCkKPiAt IFRoaXMgcGF0Y2ggcmVxdWlyZXMgaHR0cHM6Ly9sa21sLm9yZy9sa21sLzIwMjAvNC8xNi8yMDgw IHRvIHdvcmsKPiAgIHByb3Blcmx5Lgo+Cj4gQ2hhbmdlcyBpbiB2MjoKPiAtIERvIG5vdCBzZXQg Y29ubmVjdG9yX3R5cGUgZm9yIHBhbmVsIGhlcmUuIChTYW0gUmF2bmJvcmcpCj4KPiAgZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuYyB8IDE3MyArKystLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTU5IGRlbGV0aW9u cygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHNpLmMg Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jCj4gaW5kZXggZTAyZDE2YTA4NmFj MC4uNGYzYmQwOTVjMWVlZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RzaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuYwo+IEBA IC0xODIsOCArMTgyLDYgQEAgc3RydWN0IG10a19kc2kgewo+ICAgICAgICAgc3RydWN0IG1pcGlf ZHNpX2hvc3QgaG9zdDsKPiAgICAgICAgIHN0cnVjdCBkcm1fZW5jb2RlciBlbmNvZGVyOwo+ICAg ICAgICAgc3RydWN0IGRybV9icmlkZ2UgYnJpZGdlOwo+IC0gICAgICAgc3RydWN0IGRybV9jb25u ZWN0b3IgY29ubjsKPiAtICAgICAgIHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsOwo+ICAgICAgICAg c3RydWN0IGRybV9icmlkZ2UgKm5leHRfYnJpZGdlOwo+ICAgICAgICAgc3RydWN0IHBoeSAqcGh5 Owo+Cj4gQEAgLTIxMiwxMSArMjEwLDYgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgbXRrX2RzaSAq YnJpZGdlX3RvX2RzaShzdHJ1Y3QgZHJtX2JyaWRnZSAqYikKPiAgICAgICAgIHJldHVybiBjb250 YWluZXJfb2YoYiwgc3RydWN0IG10a19kc2ksIGJyaWRnZSk7Cj4gIH0KPgo+IC1zdGF0aWMgaW5s aW5lIHN0cnVjdCBtdGtfZHNpICpjb25uZWN0b3JfdG9fZHNpKHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjKQo+IC17Cj4gLSAgICAgICByZXR1cm4gY29udGFpbmVyX29mKGMsIHN0cnVjdCBtdGtfZHNp LCBjb25uKTsKPiAtfQo+IC0KPiAgc3RhdGljIGlubGluZSBzdHJ1Y3QgbXRrX2RzaSAqaG9zdF90 b19kc2koc3RydWN0IG1pcGlfZHNpX2hvc3QgKmgpCj4gIHsKPiAgICAgICAgIHJldHVybiBjb250 YWluZXJfb2YoaCwgc3RydWN0IG10a19kc2ksIGhvc3QpOwo+IEBAIC02ODIsMTYgKzY3NSw3IEBA IHN0YXRpYyBpbnQgbXRrX2RzaV9wb3dlcm9uKHN0cnVjdCBtdGtfZHNpICpkc2kpCj4gICAgICAg ICBtdGtfZHNpX2xhbmUwX3VscF9tb2RlX2xlYXZlKGRzaSk7Cj4gICAgICAgICBtdGtfZHNpX2Ns a19oc19tb2RlKGRzaSwgMCk7Cj4KPiAtICAgICAgIGlmIChkc2ktPnBhbmVsKSB7Cj4gLSAgICAg ICAgICAgICAgIGlmIChkcm1fcGFuZWxfcHJlcGFyZShkc2ktPnBhbmVsKSkgewo+IC0gICAgICAg ICAgICAgICAgICAgICAgIERSTV9FUlJPUigiZmFpbGVkIHRvIHByZXBhcmUgdGhlIHBhbmVsXG4i KTsKPiAtICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycl9kaXNhYmxlX2RpZ2l0YWxfY2xr Owo+IC0gICAgICAgICAgICAgICB9Cj4gLSAgICAgICB9Cj4gLQo+ICAgICAgICAgcmV0dXJuIDA7 Cj4gLWVycl9kaXNhYmxlX2RpZ2l0YWxfY2xrOgo+IC0gICAgICAgY2xrX2Rpc2FibGVfdW5wcmVw YXJlKGRzaS0+ZGlnaXRhbF9jbGspOwo+ICBlcnJfZGlzYWJsZV9lbmdpbmVfY2xrOgo+ICAgICAg ICAgY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGRzaS0+ZW5naW5lX2Nsayk7Cj4gIGVycl9waHlfcG93 ZXJfb2ZmOgo+IEBAIC03MTgsMTUgKzcwMiw3IEBAIHN0YXRpYyB2b2lkIG10a19kc2lfcG93ZXJv ZmYoc3RydWN0IG10a19kc2kgKmRzaSkKPiAgICAgICAgICAqLwo+ICAgICAgICAgbXRrX2RzaV9z dG9wKGRzaSk7Cj4KPiAtICAgICAgIGlmICghbXRrX2RzaV9zd2l0Y2hfdG9fY21kX21vZGUoZHNp LCBWTV9ET05FX0lOVF9GTEFHLCA1MDApKSB7Cj4gLSAgICAgICAgICAgICAgIGlmIChkc2ktPnBh bmVsKSB7Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRybV9wYW5lbF91bnByZXBhcmUo ZHNpLT5wYW5lbCkpIHsKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERSTV9FUlJP UigiZmFpbGVkIHRvIHVucHJlcGFyZSB0aGUgcGFuZWxcbiIpOwo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmV0dXJuOwo+IC0gICAgICAgICAgICAgICAgICAgICAgIH0KPiAtICAg ICAgICAgICAgICAgfQo+IC0gICAgICAgfQo+IC0KPiArICAgICAgIG10a19kc2lfc3dpdGNoX3Rv X2NtZF9tb2RlKGRzaSwgVk1fRE9ORV9JTlRfRkxBRywgNTAwKTsKPiAgICAgICAgIG10a19kc2lf cmVzZXRfZW5naW5lKGRzaSk7Cj4gICAgICAgICBtdGtfZHNpX2xhbmUwX3VscF9tb2RlX2VudGVy KGRzaSk7Cj4gICAgICAgICBtdGtfZHNpX2Nsa191bHBfbW9kZV9lbnRlcihkc2kpOwo+IEBAIC03 NTcsMTkgKzczMyw3IEBAIHN0YXRpYyB2b2lkIG10a19vdXRwdXRfZHNpX2VuYWJsZShzdHJ1Y3Qg bXRrX2RzaSAqZHNpKQo+Cj4gICAgICAgICBtdGtfZHNpX3N0YXJ0KGRzaSk7Cj4KPiAtICAgICAg IGlmIChkc2ktPnBhbmVsKSB7Cj4gLSAgICAgICAgICAgICAgIGlmIChkcm1fcGFuZWxfZW5hYmxl KGRzaS0+cGFuZWwpKSB7Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgRFJNX0VSUk9SKCJmYWls ZWQgdG8gZW5hYmxlIHRoZSBwYW5lbFxuIik7Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgZ290 byBlcnJfZHNpX3Bvd2VyX29mZjsKPiAtICAgICAgICAgICAgICAgfQo+IC0gICAgICAgfQo+IC0K PiAgICAgICAgIGRzaS0+ZW5hYmxlZCA9IHRydWU7Cj4gLQo+IC0gICAgICAgcmV0dXJuOwo+IC1l cnJfZHNpX3Bvd2VyX29mZjoKPiAtICAgICAgIG10a19kc2lfc3RvcChkc2kpOwo+IC0gICAgICAg bXRrX2RzaV9wb3dlcm9mZihkc2kpOwo+ICB9Cj4KPiAgc3RhdGljIHZvaWQgbXRrX291dHB1dF9k c2lfZGlzYWJsZShzdHJ1Y3QgbXRrX2RzaSAqZHNpKQo+IEBAIC03NzcsMzQgKzc0MSwxOSBAQCBz dGF0aWMgdm9pZCBtdGtfb3V0cHV0X2RzaV9kaXNhYmxlKHN0cnVjdCBtdGtfZHNpICpkc2kpCj4g ICAgICAgICBpZiAoIWRzaS0+ZW5hYmxlZCkKPiAgICAgICAgICAgICAgICAgcmV0dXJuOwo+Cj4g LSAgICAgICBpZiAoZHNpLT5wYW5lbCkgewo+IC0gICAgICAgICAgICAgICBpZiAoZHJtX3BhbmVs X2Rpc2FibGUoZHNpLT5wYW5lbCkpIHsKPiAtICAgICAgICAgICAgICAgICAgICAgICBEUk1fRVJS T1IoImZhaWxlZCB0byBkaXNhYmxlIHRoZSBwYW5lbFxuIik7Cj4gLSAgICAgICAgICAgICAgICAg ICAgICAgcmV0dXJuOwo+IC0gICAgICAgICAgICAgICB9Cj4gLSAgICAgICB9Cj4gLQo+ICAgICAg ICAgbXRrX2RzaV9wb3dlcm9mZihkc2kpOwo+Cj4gICAgICAgICBkc2ktPmVuYWJsZWQgPSBmYWxz ZTsKPiAgfQo+Cj4gLXN0YXRpYyBpbnQgbXRrX2RzaV9jcmVhdGVfY29ubl9lbmMoc3RydWN0IGRy bV9kZXZpY2UgKmRybSwgc3RydWN0IG10a19kc2kgKmRzaSk7Cj4gLXN0YXRpYyB2b2lkIG10a19k c2lfZGVzdHJveV9jb25uX2VuYyhzdHJ1Y3QgbXRrX2RzaSAqZHNpKTsKPiAtCj4gIHN0YXRpYyBp bnQgbXRrX2RzaV9icmlkZ2VfYXR0YWNoKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBkcm1fYnJpZGdlX2F0dGFjaF9mbGFn cyBmbGFncykKPiAgewo+ICAgICAgICAgc3RydWN0IG10a19kc2kgKmRzaSA9IGJyaWRnZV90b19k c2koYnJpZGdlKTsKPgo+IC0gICAgICAgcmV0dXJuIG10a19kc2lfY3JlYXRlX2Nvbm5fZW5jKGJy aWRnZS0+ZGV2LCBkc2kpOwo+IC19Cj4gLQo+IC1zdGF0aWMgdm9pZCBtdGtfZHNpX2JyaWRnZV9k ZXRhY2goc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKPiAtewo+IC0gICAgICAgc3RydWN0IG10 a19kc2kgKmRzaSA9IGJyaWRnZV90b19kc2koYnJpZGdlKTsKPiAtCj4gLSAgICAgICBtdGtfZHNp X2Rlc3Ryb3lfY29ubl9lbmMoZHNpKTsKPiArICAgICAgIC8qIEF0dGFjaCB0aGUgcGFuZWwgb3Ig YnJpZGdlIHRvIHRoZSBkc2kgYnJpZGdlICovCj4gKyAgICAgICByZXR1cm4gZHJtX2JyaWRnZV9h dHRhY2goYnJpZGdlLT5lbmNvZGVyLCBkc2ktPm5leHRfYnJpZGdlLAo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZkc2ktPmJyaWRnZSwgZmxhZ3MpOwo+ICB9Cj4KPiAgc3RhdGlj IHZvaWQgbXRrX2RzaV9icmlkZ2VfbW9kZV9zZXQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwK PiBAQCAtODMwLDEwMSArNzc5LDEzIEBAIHN0YXRpYyB2b2lkIG10a19kc2lfYnJpZGdlX2VuYWJs ZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQo+ICAgICAgICAgbXRrX291dHB1dF9kc2lfZW5h YmxlKGRzaSk7Cj4gIH0KPgo+IC1zdGF0aWMgaW50IG10a19kc2lfY29ubmVjdG9yX2dldF9tb2Rl cyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+IC17Cj4gLSAgICAgICBzdHJ1Y3Qg bXRrX2RzaSAqZHNpID0gY29ubmVjdG9yX3RvX2RzaShjb25uZWN0b3IpOwo+IC0KPiAtICAgICAg IHJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGRzaS0+cGFuZWwsIGNvbm5lY3Rvcik7Cj4gLX0K PiAtCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2JyaWRnZV9mdW5jcyBtdGtfZHNpX2JyaWRn ZV9mdW5jcyA9IHsKPiAgICAgICAgIC5hdHRhY2ggPSBtdGtfZHNpX2JyaWRnZV9hdHRhY2gsCj4g LSAgICAgICAuZGV0YWNoID0gbXRrX2RzaV9icmlkZ2VfZGV0YWNoLAo+ICAgICAgICAgLmRpc2Fi bGUgPSBtdGtfZHNpX2JyaWRnZV9kaXNhYmxlLAo+ICAgICAgICAgLmVuYWJsZSA9IG10a19kc2lf YnJpZGdlX2VuYWJsZSwKPiAgICAgICAgIC5tb2RlX3NldCA9IG10a19kc2lfYnJpZGdlX21vZGVf c2V0LAo+ICB9Owo+Cj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyBt dGtfZHNpX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKPiAtICAgICAgIC5maWxsX21vZGVzID0gZHJtX2hl bHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzLAo+IC0gICAgICAgLmRlc3Ryb3kgPSBk cm1fY29ubmVjdG9yX2NsZWFudXAsCj4gLSAgICAgICAucmVzZXQgPSBkcm1fYXRvbWljX2hlbHBl cl9jb25uZWN0b3JfcmVzZXQsCj4gLSAgICAgICAuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRy bV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUsCj4gLSAgICAgICAuYXRv bWljX2Rlc3Ryb3lfc3RhdGUgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJveV9z dGF0ZSwKPiAtfTsKPiAtCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxw ZXJfZnVuY3MKPiAtICAgICAgIG10a19kc2lfY29ubmVjdG9yX2hlbHBlcl9mdW5jcyA9IHsKPiAt ICAgICAgIC5nZXRfbW9kZXMgPSBtdGtfZHNpX2Nvbm5lY3Rvcl9nZXRfbW9kZXMsCj4gLX07Cj4g LQo+IC1zdGF0aWMgaW50IG10a19kc2lfY3JlYXRlX2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZHJtLCBzdHJ1Y3QgbXRrX2RzaSAqZHNpKQo+IC17Cj4gLSAgICAgICBpbnQgcmV0Owo+IC0K PiAtICAgICAgIHJldCA9IGRybV9jb25uZWN0b3JfaW5pdChkcm0sICZkc2ktPmNvbm4sICZtdGtf ZHNpX2Nvbm5lY3Rvcl9mdW5jcywKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBE Uk1fTU9ERV9DT05ORUNUT1JfRFNJKTsKPiAtICAgICAgIGlmIChyZXQpIHsKPiAtICAgICAgICAg ICAgICAgRFJNX0VSUk9SKCJGYWlsZWQgdG8gY29ubmVjdG9yIGluaXQgdG8gZHJtXG4iKTsKPiAt ICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiAtICAgICAgIH0KPiAtCj4gLSAgICAgICBkcm1f Y29ubmVjdG9yX2hlbHBlcl9hZGQoJmRzaS0+Y29ubiwgJm10a19kc2lfY29ubmVjdG9yX2hlbHBl cl9mdW5jcyk7Cj4gLQo+IC0gICAgICAgZHNpLT5jb25uLmRwbXMgPSBEUk1fTU9ERV9EUE1TX09G RjsKPiAtICAgICAgIGRybV9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIoJmRzaS0+Y29ubiwgJmRz aS0+ZW5jb2Rlcik7Cj4gLQo+IC0gICAgICAgaWYgKGRzaS0+cGFuZWwpIHsKPiAtICAgICAgICAg ICAgICAgcmV0ID0gZHJtX3BhbmVsX2F0dGFjaChkc2ktPnBhbmVsLCAmZHNpLT5jb25uKTsKPiAt ICAgICAgICAgICAgICAgaWYgKHJldCkgewo+IC0gICAgICAgICAgICAgICAgICAgICAgIERSTV9F UlJPUigiRmFpbGVkIHRvIGF0dGFjaCBwYW5lbCB0byBkcm1cbiIpOwo+IC0gICAgICAgICAgICAg ICAgICAgICAgIGdvdG8gZXJyX2Nvbm5lY3Rvcl9jbGVhbnVwOwo+IC0gICAgICAgICAgICAgICB9 Cj4gLSAgICAgICB9Cj4gLQo+IC0gICAgICAgcmV0dXJuIDA7Cj4gLQo+IC1lcnJfY29ubmVjdG9y X2NsZWFudXA6Cj4gLSAgICAgICBkcm1fY29ubmVjdG9yX2NsZWFudXAoJmRzaS0+Y29ubik7Cj4g LSAgICAgICByZXR1cm4gcmV0Owo+IC19Cj4gLQo+IC1zdGF0aWMgaW50IG10a19kc2lfY3JlYXRl X2Nvbm5fZW5jKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHN0cnVjdCBtdGtfZHNpICpkc2kpCj4g LXsKPiAtICAgICAgIGludCByZXQ7Cj4gLQo+IC0gICAgICAgLyogSWYgdGhlcmUncyBhIG5leHQg YnJpZGdlLCBhdHRhY2ggdG8gaXQgYW5kIGxldCBpdCBjcmVhdGUgdGhlIGNvbm5lY3RvciAqLwo+ IC0gICAgICAgaWYgKGRzaS0+bmV4dF9icmlkZ2UpIHsKPiAtICAgICAgICAgICAgICAgcmV0ID0g ZHJtX2JyaWRnZV9hdHRhY2goJmRzaS0+ZW5jb2RlciwgZHNpLT5uZXh0X2JyaWRnZSwgTlVMTCwK PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCk7Cj4gLSAgICAgICAg ICAgICAgIGlmIChyZXQpIHsKPiAtICAgICAgICAgICAgICAgICAgICAgICBEUk1fRVJST1IoIkZh aWxlZCB0byBhdHRhY2ggYnJpZGdlIHRvIGRybVxuIik7Cj4gLSAgICAgICAgICAgICAgICAgICAg ICAgZ290byBlcnJfZW5jb2Rlcl9jbGVhbnVwOwo+IC0gICAgICAgICAgICAgICB9Cj4gLSAgICAg ICB9IGVsc2Ugewo+IC0gICAgICAgICAgICAgICAvKiBPdGhlcndpc2UgY3JlYXRlIG91ciBvd24g Y29ubmVjdG9yIGFuZCBhdHRhY2ggdG8gYSBwYW5lbCAqLwo+IC0gICAgICAgICAgICAgICByZXQg PSBtdGtfZHNpX2NyZWF0ZV9jb25uZWN0b3IoZHJtLCBkc2kpOwo+IC0gICAgICAgICAgICAgICBp ZiAocmV0KQo+IC0gICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyX2VuY29kZXJfY2xlYW51 cDsKPiAtICAgICAgIH0KPiAtCj4gLSAgICAgICByZXR1cm4gMDsKPiAtCj4gLWVycl9lbmNvZGVy X2NsZWFudXA6Cj4gLSAgICAgICBkcm1fZW5jb2Rlcl9jbGVhbnVwKCZkc2ktPmVuY29kZXIpOwo+ IC0gICAgICAgcmV0dXJuIHJldDsKPiAtfQo+IC0KPiAtc3RhdGljIHZvaWQgbXRrX2RzaV9kZXN0 cm95X2Nvbm5fZW5jKHN0cnVjdCBtdGtfZHNpICpkc2kpCj4gLXsKPiAtICAgICAgIGRybV9lbmNv ZGVyX2NsZWFudXAoJmRzaS0+ZW5jb2Rlcik7Cj4gLSAgICAgICAvKiBTa2lwIGNvbm5lY3RvciBj bGVhbnVwIGlmIGNyZWF0aW9uIHdhcyBkZWxlZ2F0ZWQgdG8gdGhlIGJyaWRnZSAqLwo+IC0gICAg ICAgaWYgKGRzaS0+Y29ubi5kZXYpCj4gLSAgICAgICAgICAgICAgIGRybV9jb25uZWN0b3JfY2xl YW51cCgmZHNpLT5jb25uKTsKPiAtICAgICAgIGlmIChkc2ktPnBhbmVsKQo+IC0gICAgICAgICAg ICAgICBkcm1fcGFuZWxfZGV0YWNoKGRzaS0+cGFuZWwpOwo+IC19Cj4gLQo+ICBzdGF0aWMgdm9p ZCBtdGtfZHNpX2RkcF9zdGFydChzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wKQo+ICB7Cj4gICAg ICAgICBzdHJ1Y3QgbXRrX2RzaSAqZHNpID0gY29udGFpbmVyX29mKGNvbXAsIHN0cnVjdCBtdGtf ZHNpLCBkZHBfY29tcCk7Cj4gQEAgLTk1MywyMCArODE0LDYgQEAgc3RhdGljIGludCBtdGtfZHNp X2hvc3RfYXR0YWNoKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LAo+ICAgICAgICAgZHNpLT5m b3JtYXQgPSBkZXZpY2UtPmZvcm1hdDsKPiAgICAgICAgIGRzaS0+bW9kZV9mbGFncyA9IGRldmlj ZS0+bW9kZV9mbGFnczsKPgo+IC0gICAgICAgaWYgKGRzaS0+Y29ubi5kZXYpCj4gLSAgICAgICAg ICAgICAgIGRybV9oZWxwZXJfaHBkX2lycV9ldmVudChkc2ktPmNvbm4uZGV2KTsKPiAtCj4gLSAg ICAgICByZXR1cm4gMDsKPiAtfQo+IC0KPiAtc3RhdGljIGludCBtdGtfZHNpX2hvc3RfZGV0YWNo KHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkZXZpY2UpCj4gLXsKPiAtICAgICAgIHN0cnVj dCBtdGtfZHNpICpkc2kgPSBob3N0X3RvX2RzaShob3N0KTsKPiAtCj4gLSAgICAgICBpZiAoZHNp LT5jb25uLmRldikKPiAtICAgICAgICAgICAgICAgZHJtX2hlbHBlcl9ocGRfaXJxX2V2ZW50KGRz aS0+Y29ubi5kZXYpOwo+IC0KPiAgICAgICAgIHJldHVybiAwOwo+ICB9Cj4KPiBAQCAtMTExMCw3 ICs5NTcsNiBAQCBzdGF0aWMgc3NpemVfdCBtdGtfZHNpX2hvc3RfdHJhbnNmZXIoc3RydWN0IG1p cGlfZHNpX2hvc3QgKmhvc3QsCj4KPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBtaXBpX2RzaV9ob3N0 X29wcyBtdGtfZHNpX29wcyA9IHsKPiAgICAgICAgIC5hdHRhY2ggPSBtdGtfZHNpX2hvc3RfYXR0 YWNoLAo+IC0gICAgICAgLmRldGFjaCA9IG10a19kc2lfaG9zdF9kZXRhY2gsCj4gICAgICAgICAu dHJhbnNmZXIgPSBtdGtfZHNpX2hvc3RfdHJhbnNmZXIsCj4gIH07Cj4KPiBAQCAtMTE4NSw2ICsx MDMxLDcgQEAgc3RhdGljIGludCBtdGtfZHNpX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpCj4gIHsKPiAgICAgICAgIHN0cnVjdCBtdGtfZHNpICpkc2k7Cj4gICAgICAgICBzdHJ1 Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2Owo+ICsgICAgICAgc3RydWN0IGRybV9wYW5lbCAq cGFuZWw7Cj4gICAgICAgICBzdHJ1Y3QgcmVzb3VyY2UgKnJlZ3M7Cj4gICAgICAgICBpbnQgaXJx X251bTsKPiAgICAgICAgIGludCBjb21wX2lkOwo+IEBAIC0xMjAzLDEwICsxMDUwLDE4IEBAIHN0 YXRpYyBpbnQgbXRrX2RzaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAg ICAgICAgfQo+Cj4gICAgICAgICByZXQgPSBkcm1fb2ZfZmluZF9wYW5lbF9vcl9icmlkZ2UoZGV2 LT5vZl9ub2RlLCAwLCAwLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZkc2ktPnBhbmVsLCAmZHNpLT5uZXh0X2JyaWRnZSk7Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJnBhbmVsLCAmZHNpLT5uZXh0X2JyaWRnZSk7Cj4gICAg ICAgICBpZiAocmV0KQo+ICAgICAgICAgICAgICAgICBnb3RvIGVycl91bnJlZ2lzdGVyX2hvc3Q7 Cj4KPiArICAgICAgIGlmIChwYW5lbCkgewo+ICsgICAgICAgICAgICAgICBkc2ktPm5leHRfYnJp ZGdlID0gZGV2bV9kcm1fcGFuZWxfYnJpZGdlX2FkZChkZXYsIHBhbmVsKTsKPiArICAgICAgICAg ICAgICAgaWYgKElTX0VSUihkc2ktPm5leHRfYnJpZGdlKSkgewo+ICsgICAgICAgICAgICAgICAg ICAgICAgIHJldCA9IFBUUl9FUlIoZHNpLT5uZXh0X2JyaWRnZSk7Cj4gKyAgICAgICAgICAgICAg ICAgICAgICAgZ290byBlcnJfdW5yZWdpc3Rlcl9ob3N0Owo+ICsgICAgICAgICAgICAgICB9Cj4g KyAgICAgICB9Cj4gKwo+ICAgICAgICAgZHNpLT5kcml2ZXJfZGF0YSA9IG9mX2RldmljZV9nZXRf bWF0Y2hfZGF0YShkZXYpOwo+Cj4gICAgICAgICBkc2ktPmVuZ2luZV9jbGsgPSBkZXZtX2Nsa19n ZXQoZGV2LCAiZW5naW5lIik7Cj4gLS0KPiAyLjI3LjAKPgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QK bGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRl YWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=