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=-15.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,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 1DA9BC2D0E1 for ; Sun, 13 Sep 2020 01:27:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D295221655 for ; Sun, 13 Sep 2020 01:27:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1599960462; bh=N+1O+3nePb89QXKC6VoJWYEpD90fYclFPn/1MiIC4u8=; h=References:In-Reply-To:From:Date:Subject:To:Cc:List-ID:From; b=VD+m3kydjszA2L+Jj/rkgtsPPbVhbohnbTSS+JZvV8h+nSgTHOIb5KCmd/LuXFu8P I2apN4rcklpU5XA882F7JQXFxUpqE6fpdfjnjEfDn+zWIXRy2LPbK+M8NBoTVDL6+3 +uV2+UPTyMXhj3Hr5pdQxZcmBgH2DDdYwYBW4LzM= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725961AbgIMB1k (ORCPT ); Sat, 12 Sep 2020 21:27:40 -0400 Received: from mail.kernel.org ([198.145.29.99]:43612 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725908AbgIMB1Y (ORCPT ); Sat, 12 Sep 2020 21:27:24 -0400 Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) (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 0160221D6C for ; Sun, 13 Sep 2020 01:27:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1599960442; bh=N+1O+3nePb89QXKC6VoJWYEpD90fYclFPn/1MiIC4u8=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=vW7WnUWWiAgXJ2vfMzeuQBw3loVnGAYVbBIrISRoUQyGjT9GxMNNl3HlHYC5FHIfX ZS7WTTrZlYbRJrC53a8KOe10CwJg2OQu21aaCYhNUySqNf9O2hKqQJMmm2y0zTD79Y fzd1sJm4FpjuX9UcqPsREFY2Sa4QMvwaE+bE3fvE= Received: by mail-ej1-f50.google.com with SMTP id nw23so18456526ejb.4 for ; Sat, 12 Sep 2020 18:27:21 -0700 (PDT) X-Gm-Message-State: AOAM531MVD4ODC6PK84ntsJ+1u8aY8+SmI429gbZ6eg2URca3pBU3Eb4 nk1Ss7qxooSfbbJeK9jJ0tr57aLw3jh0npEw3Q== X-Google-Smtp-Source: ABdhPJxVU8LiDevXSpqfTDnRp2lRvK+BEjBFcnyTq0y4b+t6nIMDZVCyjRvKQ9jlXscFJGiMS9Sv5I5f362/wuN2NJQ= X-Received: by 2002:a17:906:b756:: with SMTP id fx22mr8003575ejb.245.1599960440472; Sat, 12 Sep 2020 18:27:20 -0700 (PDT) MIME-Version: 1.0 References: <20200826085317.681385-1-enric.balletbo@collabora.com> <20200826085317.681385-3-enric.balletbo@collabora.com> <20200910054828.GC438822@phenom.ffwll.local> In-Reply-To: <20200910054828.GC438822@phenom.ffwll.local> From: Chun-Kuang Hu Date: Sun, 13 Sep 2020 09:27:07 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RESEND PATCH v2 2/2] drm/mediatek: mtk_dpi: Convert to bridge driver To: Chun-Kuang Hu , Enric Balletbo i Serra , Andrzej Hajda , Neil Armstrong , linux-kernel , Collabora Kernel ML , Matthias Brugger , Nicolas Boichat , Hsin-Yi Wang , boris.brezillon@collabora.com, Laurent Pinchart , Sam Ravnborg , David Airlie , Philipp Zabel , DRI Development , Linux ARM , "moderated list:ARM/Mediatek SoC support" Cc: Daniel Vetter Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Daniel Vetter =E6=96=BC 2020=E5=B9=B49=E6=9C=8810=E6=97= =A5 =E9=80=B1=E5=9B=9B =E4=B8=8B=E5=8D=881:48=E5=AF=AB=E9=81=93=EF=BC=9A > > On Thu, Sep 10, 2020 at 06:35:21AM +0800, Chun-Kuang Hu wrote: > > Hi, Andrzej & Neil: > > > > Enric Balletbo i Serra =E6=96=BC 2020=E5= =B9=B48=E6=9C=8826=E6=97=A5 =E9=80=B1=E4=B8=89 =E4=B8=8B=E5=8D=884:53=E5=AF= =AB=E9=81=93=EF=BC=9A > > > > > > > > Convert mtk_dpi to a bridge driver with built-in encoder support for > > > compatibility with existing component drivers. > > > > > > > This is a DRM-bridge related patch, how do you think about it? > > bridge stuff is also maintained in drm-misc, so good to go imo. > > For the bigger picture I think it'd be really good if bridges drivers > would use the of bridge lookup, and not hand roll something with > component. So 2nd step of converting this over to a proper bridge driver > would be to replace the component code here too. OK, so this series is applied to mediatek-drm-next [1]. [1] https://git.kernel.org/pub/scm/linux/kernel/git/chunkuang.hu/linux.git/= log/?h=3Dmediatek-drm-next Regards, Chun-Kuang. > > Cheers, Daniel > > > > > Regards, > > Chun-Kuang. > > > > > Reviewed-by: Chun-Kuang Hu > > > Signed-off-by: Enric Balletbo i Serra > > > --- > > > > > > Changes in v2: > > > - Maintain error message when attach to bridge fails. (Boris) > > > > > > drivers/gpu/drm/mediatek/mtk_dpi.c | 71 ++++++++++++++++++----------= -- > > > 1 file changed, 42 insertions(+), 29 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/med= iatek/mtk_dpi.c > > > index f7372dbdac0e..589ef33a1780 100644 > > > --- a/drivers/gpu/drm/mediatek/mtk_dpi.c > > > +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c > > > @@ -64,6 +64,7 @@ enum mtk_dpi_out_color_format { > > > struct mtk_dpi { > > > struct mtk_ddp_comp ddp_comp; > > > struct drm_encoder encoder; > > > + struct drm_bridge bridge; > > > struct drm_bridge *next_bridge; > > > void __iomem *regs; > > > struct device *dev; > > > @@ -83,9 +84,9 @@ struct mtk_dpi { > > > int refcount; > > > }; > > > > > > -static inline struct mtk_dpi *mtk_dpi_from_encoder(struct drm_encode= r *e) > > > +static inline struct mtk_dpi *bridge_to_dpi(struct drm_bridge *b) > > > { > > > - return container_of(e, struct mtk_dpi, encoder); > > > + return container_of(b, struct mtk_dpi, bridge); > > > } > > > > > > enum mtk_dpi_polarity { > > > @@ -521,50 +522,53 @@ static int mtk_dpi_set_display_mode(struct mtk_= dpi *dpi, > > > return 0; > > > } > > > > > > -static bool mtk_dpi_encoder_mode_fixup(struct drm_encoder *encoder, > > > - const struct drm_display_mode = *mode, > > > - struct drm_display_mode *adjus= ted_mode) > > > +static void mtk_dpi_encoder_destroy(struct drm_encoder *encoder) > > > { > > > - return true; > > > + drm_encoder_cleanup(encoder); > > > } > > > > > > -static void mtk_dpi_encoder_mode_set(struct drm_encoder *encoder, > > > - struct drm_display_mode *mode, > > > - struct drm_display_mode *adjuste= d_mode) > > > +static const struct drm_encoder_funcs mtk_dpi_encoder_funcs =3D { > > > + .destroy =3D mtk_dpi_encoder_destroy, > > > +}; > > > + > > > +static int mtk_dpi_bridge_attach(struct drm_bridge *bridge, > > > + enum drm_bridge_attach_flags flags) > > > { > > > - struct mtk_dpi *dpi =3D mtk_dpi_from_encoder(encoder); > > > + struct mtk_dpi *dpi =3D bridge_to_dpi(bridge); > > > + > > > + return drm_bridge_attach(bridge->encoder, dpi->next_bridge, > > > + &dpi->bridge, flags); > > > +} > > > + > > > +static void mtk_dpi_bridge_mode_set(struct drm_bridge *bridge, > > > + const struct drm_display_mode *mode, > > > + const struct drm_display_mode *adjust= ed_mode) > > > +{ > > > + struct mtk_dpi *dpi =3D bridge_to_dpi(bridge); > > > > > > drm_mode_copy(&dpi->mode, adjusted_mode); > > > } > > > > > > -static void mtk_dpi_encoder_disable(struct drm_encoder *encoder) > > > +static void mtk_dpi_bridge_disable(struct drm_bridge *bridge) > > > { > > > - struct mtk_dpi *dpi =3D mtk_dpi_from_encoder(encoder); > > > + struct mtk_dpi *dpi =3D bridge_to_dpi(bridge); > > > > > > mtk_dpi_power_off(dpi); > > > } > > > > > > -static void mtk_dpi_encoder_enable(struct drm_encoder *encoder) > > > +static void mtk_dpi_bridge_enable(struct drm_bridge *bridge) > > > { > > > - struct mtk_dpi *dpi =3D mtk_dpi_from_encoder(encoder); > > > + struct mtk_dpi *dpi =3D bridge_to_dpi(bridge); > > > > > > mtk_dpi_power_on(dpi); > > > mtk_dpi_set_display_mode(dpi, &dpi->mode); > > > } > > > > > > -static int mtk_dpi_atomic_check(struct drm_encoder *encoder, > > > - struct drm_crtc_state *crtc_state, > > > - struct drm_connector_state *conn_stat= e) > > > -{ > > > - return 0; > > > -} > > > - > > > -static const struct drm_encoder_helper_funcs mtk_dpi_encoder_helper_= funcs =3D { > > > - .mode_fixup =3D mtk_dpi_encoder_mode_fixup, > > > - .mode_set =3D mtk_dpi_encoder_mode_set, > > > - .disable =3D mtk_dpi_encoder_disable, > > > - .enable =3D mtk_dpi_encoder_enable, > > > - .atomic_check =3D mtk_dpi_atomic_check, > > > +static const struct drm_bridge_funcs mtk_dpi_bridge_funcs =3D { > > > + .attach =3D mtk_dpi_bridge_attach, > > > + .mode_set =3D mtk_dpi_bridge_mode_set, > > > + .disable =3D mtk_dpi_bridge_disable, > > > + .enable =3D mtk_dpi_bridge_enable, > > > }; > > > > > > static void mtk_dpi_start(struct mtk_ddp_comp *comp) > > > @@ -605,12 +609,11 @@ static int mtk_dpi_bind(struct device *dev, str= uct device *master, void *data) > > > dev_err(dev, "Failed to initialize decoder: %d\n", re= t); > > > goto err_unregister; > > > } > > > - drm_encoder_helper_add(&dpi->encoder, &mtk_dpi_encoder_helper= _funcs); > > > > > > /* Currently DPI0 is fixed to be driven by OVL1 */ > > > dpi->encoder.possible_crtcs =3D BIT(1); > > > > > > - ret =3D drm_bridge_attach(&dpi->encoder, dpi->next_bridge, NU= LL, 0); > > > + ret =3D drm_bridge_attach(&dpi->encoder, &dpi->bridge, NULL, = 0); > > > if (ret) { > > > dev_err(dev, "Failed to attach bridge: %d\n", ret); > > > goto err_cleanup; > > > @@ -791,8 +794,15 @@ static int mtk_dpi_probe(struct platform_device = *pdev) > > > > > > platform_set_drvdata(pdev, dpi); > > > > > > + dpi->bridge.funcs =3D &mtk_dpi_bridge_funcs; > > > + dpi->bridge.of_node =3D dev->of_node; > > > + dpi->bridge.type =3D DRM_MODE_CONNECTOR_DPI; > > > + > > > + drm_bridge_add(&dpi->bridge); > > > + > > > ret =3D component_add(dev, &mtk_dpi_component_ops); > > > if (ret) { > > > + drm_bridge_remove(&dpi->bridge); > > > dev_err(dev, "Failed to add component: %d\n", ret); > > > return ret; > > > } > > > @@ -802,7 +812,10 @@ static int mtk_dpi_probe(struct platform_device = *pdev) > > > > > > static int mtk_dpi_remove(struct platform_device *pdev) > > > { > > > + struct mtk_dpi *dpi =3D platform_get_drvdata(pdev); > > > + > > > component_del(&pdev->dev, &mtk_dpi_component_ops); > > > + drm_bridge_remove(&dpi->bridge); > > > > > > return 0; > > > } > > > -- > > > 2.28.0 > > > > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch 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=-15.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 653FDC43461 for ; Sun, 13 Sep 2020 01:27:38 +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 D86B721531 for ; Sun, 13 Sep 2020 01:27:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="z9HyQo/t"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="vW7WnUWW" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D86B721531 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-mediatek-bounces+linux-mediatek=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=hss2zJPYGC7PEmXhU35zPNY/8N72Zu1GPQ2EIhJq/TE=; b=z9HyQo/tcFJw3YEMBb9KosjrC ovJEE8ullpQMTG79rpNvEIX1+U4j5lVVBvi8UqHxMY503zwUwAPnc28xYHYE5icCYm/9aQiltynsq bwtZYY0focLMZaK2ZhBIaeoIJQsajeqSAXto3FoOoeWBNgRYiaAwRjJf3f9rRMS07+k59WJ3GhayI qypvdSsmsvTZ4lLytqec1AI/sSNFkYtAamrH72nJrPZAGBGyLL+3n4rRx08e6IP1YURHJO6utYN7e bgl+GiU5ObFjCv55bmqjcgw1MB9sZ/Q+2Iu7KNcjFRr613RNt0QphXpEIq163GbtbvRgmuY/i0vLs AyzWdbUBA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kHGng-0001F2-Av; Sun, 13 Sep 2020 01:27:28 +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 1kHGnb-0001Dk-SE; Sun, 13 Sep 2020 01:27:25 +0000 Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) (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 E990121775; Sun, 13 Sep 2020 01:27:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1599960442; bh=N+1O+3nePb89QXKC6VoJWYEpD90fYclFPn/1MiIC4u8=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=vW7WnUWWiAgXJ2vfMzeuQBw3loVnGAYVbBIrISRoUQyGjT9GxMNNl3HlHYC5FHIfX ZS7WTTrZlYbRJrC53a8KOe10CwJg2OQu21aaCYhNUySqNf9O2hKqQJMmm2y0zTD79Y fzd1sJm4FpjuX9UcqPsREFY2Sa4QMvwaE+bE3fvE= Received: by mail-ej1-f49.google.com with SMTP id o8so18451194ejb.10; Sat, 12 Sep 2020 18:27:21 -0700 (PDT) X-Gm-Message-State: AOAM530xMXOPiEwzgC9u5sx0LnbA4q0f2szHr0W3wKc2oB3W9r2gvU3n xvAl+15+zjk06WRv0hVG93yYvbJoIahvOO3LNw== X-Google-Smtp-Source: ABdhPJxVU8LiDevXSpqfTDnRp2lRvK+BEjBFcnyTq0y4b+t6nIMDZVCyjRvKQ9jlXscFJGiMS9Sv5I5f362/wuN2NJQ= X-Received: by 2002:a17:906:b756:: with SMTP id fx22mr8003575ejb.245.1599960440472; Sat, 12 Sep 2020 18:27:20 -0700 (PDT) MIME-Version: 1.0 References: <20200826085317.681385-1-enric.balletbo@collabora.com> <20200826085317.681385-3-enric.balletbo@collabora.com> <20200910054828.GC438822@phenom.ffwll.local> In-Reply-To: <20200910054828.GC438822@phenom.ffwll.local> From: Chun-Kuang Hu Date: Sun, 13 Sep 2020 09:27:07 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RESEND PATCH v2 2/2] drm/mediatek: mtk_dpi: Convert to bridge driver To: Chun-Kuang Hu , Enric Balletbo i Serra , Andrzej Hajda , Neil Armstrong , linux-kernel , Collabora Kernel ML , Matthias Brugger , Nicolas Boichat , Hsin-Yi Wang , boris.brezillon@collabora.com, Laurent Pinchart , Sam Ravnborg , David Airlie , Philipp Zabel , DRI Development , Linux ARM , "moderated list:ARM/Mediatek SoC support" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200912_212724_030813_8222C5DA X-CRM114-Status: GOOD ( 30.85 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Daniel Vetter Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org SGksCgpEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+IOaWvCAyMDIw5bm0OeaciDEw5pel IOmAseWbmyDkuIvljYgxOjQ45a+r6YGT77yaCj4KPiBPbiBUaHUsIFNlcCAxMCwgMjAyMCBhdCAw NjozNToyMUFNICswODAwLCBDaHVuLUt1YW5nIEh1IHdyb3RlOgo+ID4gSGksIEFuZHJ6ZWogJiBO ZWlsOgo+ID4KPiA+IEVucmljIEJhbGxldGJvIGkgU2VycmEgPGVucmljLmJhbGxldGJvQGNvbGxh Ym9yYS5jb20+IOaWvCAyMDIw5bm0OOaciDI25pelIOmAseS4iSDkuIvljYg0OjUz5a+r6YGT77ya Cj4gPgo+ID4gPgo+ID4gPiBDb252ZXJ0IG10a19kcGkgdG8gYSBicmlkZ2UgZHJpdmVyIHdpdGgg YnVpbHQtaW4gZW5jb2RlciBzdXBwb3J0IGZvcgo+ID4gPiBjb21wYXRpYmlsaXR5IHdpdGggZXhp c3RpbmcgY29tcG9uZW50IGRyaXZlcnMuCj4gPiA+Cj4gPgo+ID4gVGhpcyBpcyBhIERSTS1icmlk Z2UgcmVsYXRlZCBwYXRjaCwgaG93IGRvIHlvdSB0aGluayBhYm91dCBpdD8KPgo+IGJyaWRnZSBz dHVmZiBpcyBhbHNvIG1haW50YWluZWQgaW4gZHJtLW1pc2MsIHNvIGdvb2QgdG8gZ28gaW1vLgo+ Cj4gRm9yIHRoZSBiaWdnZXIgcGljdHVyZSBJIHRoaW5rIGl0J2QgYmUgcmVhbGx5IGdvb2QgaWYg YnJpZGdlcyBkcml2ZXJzCj4gd291bGQgdXNlIHRoZSBvZiBicmlkZ2UgbG9va3VwLCBhbmQgbm90 IGhhbmQgcm9sbCBzb21ldGhpbmcgd2l0aAo+IGNvbXBvbmVudC4gU28gMm5kIHN0ZXAgb2YgY29u dmVydGluZyB0aGlzIG92ZXIgdG8gYSBwcm9wZXIgYnJpZGdlIGRyaXZlcgo+IHdvdWxkIGJlIHRv IHJlcGxhY2UgdGhlIGNvbXBvbmVudCBjb2RlIGhlcmUgdG9vLgoKT0ssIHNvIHRoaXMgc2VyaWVz IGlzIGFwcGxpZWQgdG8gbWVkaWF0ZWstZHJtLW5leHQgWzFdLgoKWzFdIGh0dHBzOi8vZ2l0Lmtl cm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L2NodW5rdWFuZy5odS9saW51eC5naXQv bG9nLz9oPW1lZGlhdGVrLWRybS1uZXh0CgpSZWdhcmRzLApDaHVuLUt1YW5nLgoKPgo+IENoZWVy cywgRGFuaWVsCj4KPiA+Cj4gPiBSZWdhcmRzLAo+ID4gQ2h1bi1LdWFuZy4KPiA+Cj4gPiA+IFJl dmlld2VkLWJ5OiBDaHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2VybmVsLm9yZz4KPiA+ID4g U2lnbmVkLW9mZi1ieTogRW5yaWMgQmFsbGV0Ym8gaSBTZXJyYSA8ZW5yaWMuYmFsbGV0Ym9AY29s bGFib3JhLmNvbT4KPiA+ID4gLS0tCj4gPiA+Cj4gPiA+IENoYW5nZXMgaW4gdjI6Cj4gPiA+IC0g TWFpbnRhaW4gZXJyb3IgbWVzc2FnZSB3aGVuIGF0dGFjaCB0byBicmlkZ2UgZmFpbHMuIChCb3Jp cykKPiA+ID4KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBpLmMgfCA3MSAr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCA0MiBp bnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKPiA+ID4KPiA+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBpLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2RwaS5jCj4gPiA+IGluZGV4IGY3MzcyZGJkYWMwZS4uNTg5ZWYzM2ExNzgwIDEwMDY0 NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwaS5jCj4gPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBpLmMKPiA+ID4gQEAgLTY0LDYgKzY0 LDcgQEAgZW51bSBtdGtfZHBpX291dF9jb2xvcl9mb3JtYXQgewo+ID4gPiAgc3RydWN0IG10a19k cGkgewo+ID4gPiAgICAgICAgIHN0cnVjdCBtdGtfZGRwX2NvbXAgZGRwX2NvbXA7Cj4gPiA+ICAg ICAgICAgc3RydWN0IGRybV9lbmNvZGVyIGVuY29kZXI7Cj4gPiA+ICsgICAgICAgc3RydWN0IGRy bV9icmlkZ2UgYnJpZGdlOwo+ID4gPiAgICAgICAgIHN0cnVjdCBkcm1fYnJpZGdlICpuZXh0X2Jy aWRnZTsKPiA+ID4gICAgICAgICB2b2lkIF9faW9tZW0gKnJlZ3M7Cj4gPiA+ICAgICAgICAgc3Ry dWN0IGRldmljZSAqZGV2Owo+ID4gPiBAQCAtODMsOSArODQsOSBAQCBzdHJ1Y3QgbXRrX2RwaSB7 Cj4gPiA+ICAgICAgICAgaW50IHJlZmNvdW50Owo+ID4gPiAgfTsKPiA+ID4KPiA+ID4gLXN0YXRp YyBpbmxpbmUgc3RydWN0IG10a19kcGkgKm10a19kcGlfZnJvbV9lbmNvZGVyKHN0cnVjdCBkcm1f ZW5jb2RlciAqZSkKPiA+ID4gK3N0YXRpYyBpbmxpbmUgc3RydWN0IG10a19kcGkgKmJyaWRnZV90 b19kcGkoc3RydWN0IGRybV9icmlkZ2UgKmIpCj4gPiA+ICB7Cj4gPiA+IC0gICAgICAgcmV0dXJu IGNvbnRhaW5lcl9vZihlLCBzdHJ1Y3QgbXRrX2RwaSwgZW5jb2Rlcik7Cj4gPiA+ICsgICAgICAg cmV0dXJuIGNvbnRhaW5lcl9vZihiLCBzdHJ1Y3QgbXRrX2RwaSwgYnJpZGdlKTsKPiA+ID4gIH0K PiA+ID4KPiA+ID4gIGVudW0gbXRrX2RwaV9wb2xhcml0eSB7Cj4gPiA+IEBAIC01MjEsNTAgKzUy Miw1MyBAQCBzdGF0aWMgaW50IG10a19kcGlfc2V0X2Rpc3BsYXlfbW9kZShzdHJ1Y3QgbXRrX2Rw aSAqZHBpLAo+ID4gPiAgICAgICAgIHJldHVybiAwOwo+ID4gPiAgfQo+ID4gPgo+ID4gPiAtc3Rh dGljIGJvb2wgbXRrX2RwaV9lbmNvZGVyX21vZGVfZml4dXAoc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyLAo+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21v ZGUpCj4gPiA+ICtzdGF0aWMgdm9pZCBtdGtfZHBpX2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIpCj4gPiA+ICB7Cj4gPiA+IC0gICAgICAgcmV0dXJuIHRydWU7Cj4g PiA+ICsgICAgICAgZHJtX2VuY29kZXJfY2xlYW51cChlbmNvZGVyKTsKPiA+ID4gIH0KPiA+ID4K PiA+ID4gLXN0YXRpYyB2b2lkIG10a19kcGlfZW5jb2Rlcl9tb2RlX3NldChzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsCj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2Rl KQo+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9mdW5jcyBtdGtfZHBpX2Vu Y29kZXJfZnVuY3MgPSB7Cj4gPiA+ICsgICAgICAgLmRlc3Ryb3kgPSBtdGtfZHBpX2VuY29kZXJf ZGVzdHJveSwKPiA+ID4gK307Cj4gPiA+ICsKPiA+ID4gK3N0YXRpYyBpbnQgbXRrX2RwaV9icmlk Z2VfYXR0YWNoKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGVudW0gZHJtX2JyaWRnZV9hdHRhY2hfZmxhZ3MgZmxhZ3MpCj4g PiA+ICB7Cj4gPiA+IC0gICAgICAgc3RydWN0IG10a19kcGkgKmRwaSA9IG10a19kcGlfZnJvbV9l bmNvZGVyKGVuY29kZXIpOwo+ID4gPiArICAgICAgIHN0cnVjdCBtdGtfZHBpICpkcGkgPSBicmlk Z2VfdG9fZHBpKGJyaWRnZSk7Cj4gPiA+ICsKPiA+ID4gKyAgICAgICByZXR1cm4gZHJtX2JyaWRn ZV9hdHRhY2goYnJpZGdlLT5lbmNvZGVyLCBkcGktPm5leHRfYnJpZGdlLAo+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmZHBpLT5icmlkZ2UsIGZsYWdzKTsKPiA+ID4gK30K PiA+ID4gKwo+ID4gPiArc3RhdGljIHZvaWQgbXRrX2RwaV9icmlkZ2VfbW9kZV9zZXQoc3RydWN0 IGRybV9icmlkZ2UgKmJyaWRnZSwKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0 ZWRfbW9kZSkKPiA+ID4gK3sKPiA+ID4gKyAgICAgICBzdHJ1Y3QgbXRrX2RwaSAqZHBpID0gYnJp ZGdlX3RvX2RwaShicmlkZ2UpOwo+ID4gPgo+ID4gPiAgICAgICAgIGRybV9tb2RlX2NvcHkoJmRw aS0+bW9kZSwgYWRqdXN0ZWRfbW9kZSk7Cj4gPiA+ICB9Cj4gPiA+Cj4gPiA+IC1zdGF0aWMgdm9p ZCBtdGtfZHBpX2VuY29kZXJfZGlzYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4g PiA+ICtzdGF0aWMgdm9pZCBtdGtfZHBpX2JyaWRnZV9kaXNhYmxlKHN0cnVjdCBkcm1fYnJpZGdl ICpicmlkZ2UpCj4gPiA+ICB7Cj4gPiA+IC0gICAgICAgc3RydWN0IG10a19kcGkgKmRwaSA9IG10 a19kcGlfZnJvbV9lbmNvZGVyKGVuY29kZXIpOwo+ID4gPiArICAgICAgIHN0cnVjdCBtdGtfZHBp ICpkcGkgPSBicmlkZ2VfdG9fZHBpKGJyaWRnZSk7Cj4gPiA+Cj4gPiA+ICAgICAgICAgbXRrX2Rw aV9wb3dlcl9vZmYoZHBpKTsKPiA+ID4gIH0KPiA+ID4KPiA+ID4gLXN0YXRpYyB2b2lkIG10a19k cGlfZW5jb2Rlcl9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQo+ID4gPiArc3Rh dGljIHZvaWQgbXRrX2RwaV9icmlkZ2VfZW5hYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2Up Cj4gPiA+ICB7Cj4gPiA+IC0gICAgICAgc3RydWN0IG10a19kcGkgKmRwaSA9IG10a19kcGlfZnJv bV9lbmNvZGVyKGVuY29kZXIpOwo+ID4gPiArICAgICAgIHN0cnVjdCBtdGtfZHBpICpkcGkgPSBi cmlkZ2VfdG9fZHBpKGJyaWRnZSk7Cj4gPiA+Cj4gPiA+ICAgICAgICAgbXRrX2RwaV9wb3dlcl9v bihkcGkpOwo+ID4gPiAgICAgICAgIG10a19kcGlfc2V0X2Rpc3BsYXlfbW9kZShkcGksICZkcGkt Pm1vZGUpOwo+ID4gPiAgfQo+ID4gPgo+ID4gPiAtc3RhdGljIGludCBtdGtfZHBpX2F0b21pY19j aGVjayhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPiA+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRl ICpjb25uX3N0YXRlKQo+ID4gPiAtewo+ID4gPiAtICAgICAgIHJldHVybiAwOwo+ID4gPiAtfQo+ ID4gPiAtCj4gPiA+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5j cyBtdGtfZHBpX2VuY29kZXJfaGVscGVyX2Z1bmNzID0gewo+ID4gPiAtICAgICAgIC5tb2RlX2Zp eHVwID0gbXRrX2RwaV9lbmNvZGVyX21vZGVfZml4dXAsCj4gPiA+IC0gICAgICAgLm1vZGVfc2V0 ID0gbXRrX2RwaV9lbmNvZGVyX21vZGVfc2V0LAo+ID4gPiAtICAgICAgIC5kaXNhYmxlID0gbXRr X2RwaV9lbmNvZGVyX2Rpc2FibGUsCj4gPiA+IC0gICAgICAgLmVuYWJsZSA9IG10a19kcGlfZW5j b2Rlcl9lbmFibGUsCj4gPiA+IC0gICAgICAgLmF0b21pY19jaGVjayA9IG10a19kcGlfYXRvbWlj X2NoZWNrLAo+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fYnJpZGdlX2Z1bmNzIG10a19k cGlfYnJpZGdlX2Z1bmNzID0gewo+ID4gPiArICAgICAgIC5hdHRhY2ggPSBtdGtfZHBpX2JyaWRn ZV9hdHRhY2gsCj4gPiA+ICsgICAgICAgLm1vZGVfc2V0ID0gbXRrX2RwaV9icmlkZ2VfbW9kZV9z ZXQsCj4gPiA+ICsgICAgICAgLmRpc2FibGUgPSBtdGtfZHBpX2JyaWRnZV9kaXNhYmxlLAo+ID4g PiArICAgICAgIC5lbmFibGUgPSBtdGtfZHBpX2JyaWRnZV9lbmFibGUsCj4gPiA+ICB9Owo+ID4g Pgo+ID4gPiAgc3RhdGljIHZvaWQgbXRrX2RwaV9zdGFydChzdHJ1Y3QgbXRrX2RkcF9jb21wICpj b21wKQo+ID4gPiBAQCAtNjA1LDEyICs2MDksMTEgQEAgc3RhdGljIGludCBtdGtfZHBpX2JpbmQo c3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCj4g PiA+ICAgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwgIkZhaWxlZCB0byBpbml0aWFsaXplIGRl Y29kZXI6ICVkXG4iLCByZXQpOwo+ID4gPiAgICAgICAgICAgICAgICAgZ290byBlcnJfdW5yZWdp c3RlcjsKPiA+ID4gICAgICAgICB9Cj4gPiA+IC0gICAgICAgZHJtX2VuY29kZXJfaGVscGVyX2Fk ZCgmZHBpLT5lbmNvZGVyLCAmbXRrX2RwaV9lbmNvZGVyX2hlbHBlcl9mdW5jcyk7Cj4gPiA+Cj4g PiA+ICAgICAgICAgLyogQ3VycmVudGx5IERQSTAgaXMgZml4ZWQgdG8gYmUgZHJpdmVuIGJ5IE9W TDEgKi8KPiA+ID4gICAgICAgICBkcGktPmVuY29kZXIucG9zc2libGVfY3J0Y3MgPSBCSVQoMSk7 Cj4gPiA+Cj4gPiA+IC0gICAgICAgcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2goJmRwaS0+ZW5jb2Rl ciwgZHBpLT5uZXh0X2JyaWRnZSwgTlVMTCwgMCk7Cj4gPiA+ICsgICAgICAgcmV0ID0gZHJtX2Jy aWRnZV9hdHRhY2goJmRwaS0+ZW5jb2RlciwgJmRwaS0+YnJpZGdlLCBOVUxMLCAwKTsKPiA+ID4g ICAgICAgICBpZiAocmV0KSB7Cj4gPiA+ICAgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwgIkZh aWxlZCB0byBhdHRhY2ggYnJpZGdlOiAlZFxuIiwgcmV0KTsKPiA+ID4gICAgICAgICAgICAgICAg IGdvdG8gZXJyX2NsZWFudXA7Cj4gPiA+IEBAIC03OTEsOCArNzk0LDE1IEBAIHN0YXRpYyBpbnQg bXRrX2RwaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4gPgo+ID4gPiAg ICAgICAgIHBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGRwaSk7Cj4gPiA+Cj4gPiA+ICsgICAg ICAgZHBpLT5icmlkZ2UuZnVuY3MgPSAmbXRrX2RwaV9icmlkZ2VfZnVuY3M7Cj4gPiA+ICsgICAg ICAgZHBpLT5icmlkZ2Uub2Zfbm9kZSA9IGRldi0+b2Zfbm9kZTsKPiA+ID4gKyAgICAgICBkcGkt PmJyaWRnZS50eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0RQSTsKPiA+ID4gKwo+ID4gPiArICAg ICAgIGRybV9icmlkZ2VfYWRkKCZkcGktPmJyaWRnZSk7Cj4gPiA+ICsKPiA+ID4gICAgICAgICBy ZXQgPSBjb21wb25lbnRfYWRkKGRldiwgJm10a19kcGlfY29tcG9uZW50X29wcyk7Cj4gPiA+ICAg ICAgICAgaWYgKHJldCkgewo+ID4gPiArICAgICAgICAgICAgICAgZHJtX2JyaWRnZV9yZW1vdmUo JmRwaS0+YnJpZGdlKTsKPiA+ID4gICAgICAgICAgICAgICAgIGRldl9lcnIoZGV2LCAiRmFpbGVk IHRvIGFkZCBjb21wb25lbnQ6ICVkXG4iLCByZXQpOwo+ID4gPiAgICAgICAgICAgICAgICAgcmV0 dXJuIHJldDsKPiA+ID4gICAgICAgICB9Cj4gPiA+IEBAIC04MDIsNyArODEyLDEwIEBAIHN0YXRp YyBpbnQgbXRrX2RwaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4gPgo+ ID4gPiAgc3RhdGljIGludCBtdGtfZHBpX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQo+ID4gPiAgewo+ID4gPiArICAgICAgIHN0cnVjdCBtdGtfZHBpICpkcGkgPSBwbGF0Zm9y bV9nZXRfZHJ2ZGF0YShwZGV2KTsKPiA+ID4gKwo+ID4gPiAgICAgICAgIGNvbXBvbmVudF9kZWwo JnBkZXYtPmRldiwgJm10a19kcGlfY29tcG9uZW50X29wcyk7Cj4gPiA+ICsgICAgICAgZHJtX2Jy aWRnZV9yZW1vdmUoJmRwaS0+YnJpZGdlKTsKPiA+ID4KPiA+ID4gICAgICAgICByZXR1cm4gMDsK PiA+ID4gIH0KPiA+ID4gLS0KPiA+ID4gMi4yOC4wCj4gPiA+Cj4KPiAtLQo+IERhbmllbCBWZXR0 ZXIKPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiBodHRwOi8vYmxvZy5m ZndsbC5jaAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K TGludXgtbWVkaWF0ZWsgbWFpbGluZyBsaXN0CkxpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1t ZWRpYXRlawo= 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=-15.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 A2B7DC433E2 for ; Sun, 13 Sep 2020 01:28:50 +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 3EA25214F1 for ; Sun, 13 Sep 2020 01:28:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="h/EVRcN/"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="vW7WnUWW" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3EA25214F1 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=IfB5jHamp54B4IFf98PTzUuBNyf8DqzvvIDhFqefTKY=; b=h/EVRcN/ZN4QR/9Rk6MhwTPzo ZFjma1vnR1g2jX3Z9F07aEyZI7x026lzoSMwXqne65gJvp3oa2OXYu8KTDgqv/6CBL7Gkj+t58c5j 1ktcJPiLTUdQmpj7hJBEAll25DStC2dYO8Jr0UvNN2xOv2UpTc1mTNaKspasGei49AzQakGctGQbZ ju8RMJz5Mf080Ew5P2HDiv2wK6Z/KdeBeEAyl24CZksWrPn7WDx6k6nVZg0aYzyDnUZ8/WQeQl433 IsvqAm5hyq6ssMKmPIyqJ5Wx1fvPPw7im6IXM6k08Xotof8LJ4Ge+/30CfaMdPse6tonvFMD4Qzoa NePVZOxbw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kHGne-0001EU-0f; Sun, 13 Sep 2020 01:27:26 +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 1kHGnb-0001Dk-SE; Sun, 13 Sep 2020 01:27:25 +0000 Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) (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 E990121775; Sun, 13 Sep 2020 01:27:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1599960442; bh=N+1O+3nePb89QXKC6VoJWYEpD90fYclFPn/1MiIC4u8=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=vW7WnUWWiAgXJ2vfMzeuQBw3loVnGAYVbBIrISRoUQyGjT9GxMNNl3HlHYC5FHIfX ZS7WTTrZlYbRJrC53a8KOe10CwJg2OQu21aaCYhNUySqNf9O2hKqQJMmm2y0zTD79Y fzd1sJm4FpjuX9UcqPsREFY2Sa4QMvwaE+bE3fvE= Received: by mail-ej1-f49.google.com with SMTP id o8so18451194ejb.10; Sat, 12 Sep 2020 18:27:21 -0700 (PDT) X-Gm-Message-State: AOAM530xMXOPiEwzgC9u5sx0LnbA4q0f2szHr0W3wKc2oB3W9r2gvU3n xvAl+15+zjk06WRv0hVG93yYvbJoIahvOO3LNw== X-Google-Smtp-Source: ABdhPJxVU8LiDevXSpqfTDnRp2lRvK+BEjBFcnyTq0y4b+t6nIMDZVCyjRvKQ9jlXscFJGiMS9Sv5I5f362/wuN2NJQ= X-Received: by 2002:a17:906:b756:: with SMTP id fx22mr8003575ejb.245.1599960440472; Sat, 12 Sep 2020 18:27:20 -0700 (PDT) MIME-Version: 1.0 References: <20200826085317.681385-1-enric.balletbo@collabora.com> <20200826085317.681385-3-enric.balletbo@collabora.com> <20200910054828.GC438822@phenom.ffwll.local> In-Reply-To: <20200910054828.GC438822@phenom.ffwll.local> From: Chun-Kuang Hu Date: Sun, 13 Sep 2020 09:27:07 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RESEND PATCH v2 2/2] drm/mediatek: mtk_dpi: Convert to bridge driver To: Chun-Kuang Hu , Enric Balletbo i Serra , Andrzej Hajda , Neil Armstrong , linux-kernel , Collabora Kernel ML , Matthias Brugger , Nicolas Boichat , Hsin-Yi Wang , boris.brezillon@collabora.com, Laurent Pinchart , Sam Ravnborg , David Airlie , Philipp Zabel , DRI Development , Linux ARM , "moderated list:ARM/Mediatek SoC support" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200912_212724_030813_8222C5DA X-CRM114-Status: GOOD ( 30.85 ) 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: Daniel Vetter 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 SGksCgpEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+IOaWvCAyMDIw5bm0OeaciDEw5pel IOmAseWbmyDkuIvljYgxOjQ45a+r6YGT77yaCj4KPiBPbiBUaHUsIFNlcCAxMCwgMjAyMCBhdCAw NjozNToyMUFNICswODAwLCBDaHVuLUt1YW5nIEh1IHdyb3RlOgo+ID4gSGksIEFuZHJ6ZWogJiBO ZWlsOgo+ID4KPiA+IEVucmljIEJhbGxldGJvIGkgU2VycmEgPGVucmljLmJhbGxldGJvQGNvbGxh Ym9yYS5jb20+IOaWvCAyMDIw5bm0OOaciDI25pelIOmAseS4iSDkuIvljYg0OjUz5a+r6YGT77ya Cj4gPgo+ID4gPgo+ID4gPiBDb252ZXJ0IG10a19kcGkgdG8gYSBicmlkZ2UgZHJpdmVyIHdpdGgg YnVpbHQtaW4gZW5jb2RlciBzdXBwb3J0IGZvcgo+ID4gPiBjb21wYXRpYmlsaXR5IHdpdGggZXhp c3RpbmcgY29tcG9uZW50IGRyaXZlcnMuCj4gPiA+Cj4gPgo+ID4gVGhpcyBpcyBhIERSTS1icmlk Z2UgcmVsYXRlZCBwYXRjaCwgaG93IGRvIHlvdSB0aGluayBhYm91dCBpdD8KPgo+IGJyaWRnZSBz dHVmZiBpcyBhbHNvIG1haW50YWluZWQgaW4gZHJtLW1pc2MsIHNvIGdvb2QgdG8gZ28gaW1vLgo+ Cj4gRm9yIHRoZSBiaWdnZXIgcGljdHVyZSBJIHRoaW5rIGl0J2QgYmUgcmVhbGx5IGdvb2QgaWYg YnJpZGdlcyBkcml2ZXJzCj4gd291bGQgdXNlIHRoZSBvZiBicmlkZ2UgbG9va3VwLCBhbmQgbm90 IGhhbmQgcm9sbCBzb21ldGhpbmcgd2l0aAo+IGNvbXBvbmVudC4gU28gMm5kIHN0ZXAgb2YgY29u dmVydGluZyB0aGlzIG92ZXIgdG8gYSBwcm9wZXIgYnJpZGdlIGRyaXZlcgo+IHdvdWxkIGJlIHRv IHJlcGxhY2UgdGhlIGNvbXBvbmVudCBjb2RlIGhlcmUgdG9vLgoKT0ssIHNvIHRoaXMgc2VyaWVz IGlzIGFwcGxpZWQgdG8gbWVkaWF0ZWstZHJtLW5leHQgWzFdLgoKWzFdIGh0dHBzOi8vZ2l0Lmtl cm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L2NodW5rdWFuZy5odS9saW51eC5naXQv bG9nLz9oPW1lZGlhdGVrLWRybS1uZXh0CgpSZWdhcmRzLApDaHVuLUt1YW5nLgoKPgo+IENoZWVy cywgRGFuaWVsCj4KPiA+Cj4gPiBSZWdhcmRzLAo+ID4gQ2h1bi1LdWFuZy4KPiA+Cj4gPiA+IFJl dmlld2VkLWJ5OiBDaHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2VybmVsLm9yZz4KPiA+ID4g U2lnbmVkLW9mZi1ieTogRW5yaWMgQmFsbGV0Ym8gaSBTZXJyYSA8ZW5yaWMuYmFsbGV0Ym9AY29s bGFib3JhLmNvbT4KPiA+ID4gLS0tCj4gPiA+Cj4gPiA+IENoYW5nZXMgaW4gdjI6Cj4gPiA+IC0g TWFpbnRhaW4gZXJyb3IgbWVzc2FnZSB3aGVuIGF0dGFjaCB0byBicmlkZ2UgZmFpbHMuIChCb3Jp cykKPiA+ID4KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBpLmMgfCA3MSAr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCA0MiBp bnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKPiA+ID4KPiA+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBpLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2RwaS5jCj4gPiA+IGluZGV4IGY3MzcyZGJkYWMwZS4uNTg5ZWYzM2ExNzgwIDEwMDY0 NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwaS5jCj4gPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBpLmMKPiA+ID4gQEAgLTY0LDYgKzY0 LDcgQEAgZW51bSBtdGtfZHBpX291dF9jb2xvcl9mb3JtYXQgewo+ID4gPiAgc3RydWN0IG10a19k cGkgewo+ID4gPiAgICAgICAgIHN0cnVjdCBtdGtfZGRwX2NvbXAgZGRwX2NvbXA7Cj4gPiA+ICAg ICAgICAgc3RydWN0IGRybV9lbmNvZGVyIGVuY29kZXI7Cj4gPiA+ICsgICAgICAgc3RydWN0IGRy bV9icmlkZ2UgYnJpZGdlOwo+ID4gPiAgICAgICAgIHN0cnVjdCBkcm1fYnJpZGdlICpuZXh0X2Jy aWRnZTsKPiA+ID4gICAgICAgICB2b2lkIF9faW9tZW0gKnJlZ3M7Cj4gPiA+ICAgICAgICAgc3Ry dWN0IGRldmljZSAqZGV2Owo+ID4gPiBAQCAtODMsOSArODQsOSBAQCBzdHJ1Y3QgbXRrX2RwaSB7 Cj4gPiA+ICAgICAgICAgaW50IHJlZmNvdW50Owo+ID4gPiAgfTsKPiA+ID4KPiA+ID4gLXN0YXRp YyBpbmxpbmUgc3RydWN0IG10a19kcGkgKm10a19kcGlfZnJvbV9lbmNvZGVyKHN0cnVjdCBkcm1f ZW5jb2RlciAqZSkKPiA+ID4gK3N0YXRpYyBpbmxpbmUgc3RydWN0IG10a19kcGkgKmJyaWRnZV90 b19kcGkoc3RydWN0IGRybV9icmlkZ2UgKmIpCj4gPiA+ICB7Cj4gPiA+IC0gICAgICAgcmV0dXJu IGNvbnRhaW5lcl9vZihlLCBzdHJ1Y3QgbXRrX2RwaSwgZW5jb2Rlcik7Cj4gPiA+ICsgICAgICAg cmV0dXJuIGNvbnRhaW5lcl9vZihiLCBzdHJ1Y3QgbXRrX2RwaSwgYnJpZGdlKTsKPiA+ID4gIH0K PiA+ID4KPiA+ID4gIGVudW0gbXRrX2RwaV9wb2xhcml0eSB7Cj4gPiA+IEBAIC01MjEsNTAgKzUy Miw1MyBAQCBzdGF0aWMgaW50IG10a19kcGlfc2V0X2Rpc3BsYXlfbW9kZShzdHJ1Y3QgbXRrX2Rw aSAqZHBpLAo+ID4gPiAgICAgICAgIHJldHVybiAwOwo+ID4gPiAgfQo+ID4gPgo+ID4gPiAtc3Rh dGljIGJvb2wgbXRrX2RwaV9lbmNvZGVyX21vZGVfZml4dXAoc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyLAo+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21v ZGUpCj4gPiA+ICtzdGF0aWMgdm9pZCBtdGtfZHBpX2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIpCj4gPiA+ICB7Cj4gPiA+IC0gICAgICAgcmV0dXJuIHRydWU7Cj4g PiA+ICsgICAgICAgZHJtX2VuY29kZXJfY2xlYW51cChlbmNvZGVyKTsKPiA+ID4gIH0KPiA+ID4K PiA+ID4gLXN0YXRpYyB2b2lkIG10a19kcGlfZW5jb2Rlcl9tb2RlX3NldChzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsCj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2Rl KQo+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9mdW5jcyBtdGtfZHBpX2Vu Y29kZXJfZnVuY3MgPSB7Cj4gPiA+ICsgICAgICAgLmRlc3Ryb3kgPSBtdGtfZHBpX2VuY29kZXJf ZGVzdHJveSwKPiA+ID4gK307Cj4gPiA+ICsKPiA+ID4gK3N0YXRpYyBpbnQgbXRrX2RwaV9icmlk Z2VfYXR0YWNoKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGVudW0gZHJtX2JyaWRnZV9hdHRhY2hfZmxhZ3MgZmxhZ3MpCj4g PiA+ICB7Cj4gPiA+IC0gICAgICAgc3RydWN0IG10a19kcGkgKmRwaSA9IG10a19kcGlfZnJvbV9l bmNvZGVyKGVuY29kZXIpOwo+ID4gPiArICAgICAgIHN0cnVjdCBtdGtfZHBpICpkcGkgPSBicmlk Z2VfdG9fZHBpKGJyaWRnZSk7Cj4gPiA+ICsKPiA+ID4gKyAgICAgICByZXR1cm4gZHJtX2JyaWRn ZV9hdHRhY2goYnJpZGdlLT5lbmNvZGVyLCBkcGktPm5leHRfYnJpZGdlLAo+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmZHBpLT5icmlkZ2UsIGZsYWdzKTsKPiA+ID4gK30K PiA+ID4gKwo+ID4gPiArc3RhdGljIHZvaWQgbXRrX2RwaV9icmlkZ2VfbW9kZV9zZXQoc3RydWN0 IGRybV9icmlkZ2UgKmJyaWRnZSwKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0 ZWRfbW9kZSkKPiA+ID4gK3sKPiA+ID4gKyAgICAgICBzdHJ1Y3QgbXRrX2RwaSAqZHBpID0gYnJp ZGdlX3RvX2RwaShicmlkZ2UpOwo+ID4gPgo+ID4gPiAgICAgICAgIGRybV9tb2RlX2NvcHkoJmRw aS0+bW9kZSwgYWRqdXN0ZWRfbW9kZSk7Cj4gPiA+ICB9Cj4gPiA+Cj4gPiA+IC1zdGF0aWMgdm9p ZCBtdGtfZHBpX2VuY29kZXJfZGlzYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4g PiA+ICtzdGF0aWMgdm9pZCBtdGtfZHBpX2JyaWRnZV9kaXNhYmxlKHN0cnVjdCBkcm1fYnJpZGdl ICpicmlkZ2UpCj4gPiA+ICB7Cj4gPiA+IC0gICAgICAgc3RydWN0IG10a19kcGkgKmRwaSA9IG10 a19kcGlfZnJvbV9lbmNvZGVyKGVuY29kZXIpOwo+ID4gPiArICAgICAgIHN0cnVjdCBtdGtfZHBp ICpkcGkgPSBicmlkZ2VfdG9fZHBpKGJyaWRnZSk7Cj4gPiA+Cj4gPiA+ICAgICAgICAgbXRrX2Rw aV9wb3dlcl9vZmYoZHBpKTsKPiA+ID4gIH0KPiA+ID4KPiA+ID4gLXN0YXRpYyB2b2lkIG10a19k cGlfZW5jb2Rlcl9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQo+ID4gPiArc3Rh dGljIHZvaWQgbXRrX2RwaV9icmlkZ2VfZW5hYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2Up Cj4gPiA+ICB7Cj4gPiA+IC0gICAgICAgc3RydWN0IG10a19kcGkgKmRwaSA9IG10a19kcGlfZnJv bV9lbmNvZGVyKGVuY29kZXIpOwo+ID4gPiArICAgICAgIHN0cnVjdCBtdGtfZHBpICpkcGkgPSBi cmlkZ2VfdG9fZHBpKGJyaWRnZSk7Cj4gPiA+Cj4gPiA+ICAgICAgICAgbXRrX2RwaV9wb3dlcl9v bihkcGkpOwo+ID4gPiAgICAgICAgIG10a19kcGlfc2V0X2Rpc3BsYXlfbW9kZShkcGksICZkcGkt Pm1vZGUpOwo+ID4gPiAgfQo+ID4gPgo+ID4gPiAtc3RhdGljIGludCBtdGtfZHBpX2F0b21pY19j aGVjayhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPiA+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRl ICpjb25uX3N0YXRlKQo+ID4gPiAtewo+ID4gPiAtICAgICAgIHJldHVybiAwOwo+ID4gPiAtfQo+ ID4gPiAtCj4gPiA+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5j cyBtdGtfZHBpX2VuY29kZXJfaGVscGVyX2Z1bmNzID0gewo+ID4gPiAtICAgICAgIC5tb2RlX2Zp eHVwID0gbXRrX2RwaV9lbmNvZGVyX21vZGVfZml4dXAsCj4gPiA+IC0gICAgICAgLm1vZGVfc2V0 ID0gbXRrX2RwaV9lbmNvZGVyX21vZGVfc2V0LAo+ID4gPiAtICAgICAgIC5kaXNhYmxlID0gbXRr X2RwaV9lbmNvZGVyX2Rpc2FibGUsCj4gPiA+IC0gICAgICAgLmVuYWJsZSA9IG10a19kcGlfZW5j b2Rlcl9lbmFibGUsCj4gPiA+IC0gICAgICAgLmF0b21pY19jaGVjayA9IG10a19kcGlfYXRvbWlj X2NoZWNrLAo+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fYnJpZGdlX2Z1bmNzIG10a19k cGlfYnJpZGdlX2Z1bmNzID0gewo+ID4gPiArICAgICAgIC5hdHRhY2ggPSBtdGtfZHBpX2JyaWRn ZV9hdHRhY2gsCj4gPiA+ICsgICAgICAgLm1vZGVfc2V0ID0gbXRrX2RwaV9icmlkZ2VfbW9kZV9z ZXQsCj4gPiA+ICsgICAgICAgLmRpc2FibGUgPSBtdGtfZHBpX2JyaWRnZV9kaXNhYmxlLAo+ID4g PiArICAgICAgIC5lbmFibGUgPSBtdGtfZHBpX2JyaWRnZV9lbmFibGUsCj4gPiA+ICB9Owo+ID4g Pgo+ID4gPiAgc3RhdGljIHZvaWQgbXRrX2RwaV9zdGFydChzdHJ1Y3QgbXRrX2RkcF9jb21wICpj b21wKQo+ID4gPiBAQCAtNjA1LDEyICs2MDksMTEgQEAgc3RhdGljIGludCBtdGtfZHBpX2JpbmQo c3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCj4g PiA+ICAgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwgIkZhaWxlZCB0byBpbml0aWFsaXplIGRl Y29kZXI6ICVkXG4iLCByZXQpOwo+ID4gPiAgICAgICAgICAgICAgICAgZ290byBlcnJfdW5yZWdp c3RlcjsKPiA+ID4gICAgICAgICB9Cj4gPiA+IC0gICAgICAgZHJtX2VuY29kZXJfaGVscGVyX2Fk ZCgmZHBpLT5lbmNvZGVyLCAmbXRrX2RwaV9lbmNvZGVyX2hlbHBlcl9mdW5jcyk7Cj4gPiA+Cj4g PiA+ICAgICAgICAgLyogQ3VycmVudGx5IERQSTAgaXMgZml4ZWQgdG8gYmUgZHJpdmVuIGJ5IE9W TDEgKi8KPiA+ID4gICAgICAgICBkcGktPmVuY29kZXIucG9zc2libGVfY3J0Y3MgPSBCSVQoMSk7 Cj4gPiA+Cj4gPiA+IC0gICAgICAgcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2goJmRwaS0+ZW5jb2Rl ciwgZHBpLT5uZXh0X2JyaWRnZSwgTlVMTCwgMCk7Cj4gPiA+ICsgICAgICAgcmV0ID0gZHJtX2Jy aWRnZV9hdHRhY2goJmRwaS0+ZW5jb2RlciwgJmRwaS0+YnJpZGdlLCBOVUxMLCAwKTsKPiA+ID4g ICAgICAgICBpZiAocmV0KSB7Cj4gPiA+ICAgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwgIkZh aWxlZCB0byBhdHRhY2ggYnJpZGdlOiAlZFxuIiwgcmV0KTsKPiA+ID4gICAgICAgICAgICAgICAg IGdvdG8gZXJyX2NsZWFudXA7Cj4gPiA+IEBAIC03OTEsOCArNzk0LDE1IEBAIHN0YXRpYyBpbnQg bXRrX2RwaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4gPgo+ID4gPiAg ICAgICAgIHBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGRwaSk7Cj4gPiA+Cj4gPiA+ICsgICAg ICAgZHBpLT5icmlkZ2UuZnVuY3MgPSAmbXRrX2RwaV9icmlkZ2VfZnVuY3M7Cj4gPiA+ICsgICAg ICAgZHBpLT5icmlkZ2Uub2Zfbm9kZSA9IGRldi0+b2Zfbm9kZTsKPiA+ID4gKyAgICAgICBkcGkt PmJyaWRnZS50eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0RQSTsKPiA+ID4gKwo+ID4gPiArICAg ICAgIGRybV9icmlkZ2VfYWRkKCZkcGktPmJyaWRnZSk7Cj4gPiA+ICsKPiA+ID4gICAgICAgICBy ZXQgPSBjb21wb25lbnRfYWRkKGRldiwgJm10a19kcGlfY29tcG9uZW50X29wcyk7Cj4gPiA+ICAg ICAgICAgaWYgKHJldCkgewo+ID4gPiArICAgICAgICAgICAgICAgZHJtX2JyaWRnZV9yZW1vdmUo JmRwaS0+YnJpZGdlKTsKPiA+ID4gICAgICAgICAgICAgICAgIGRldl9lcnIoZGV2LCAiRmFpbGVk IHRvIGFkZCBjb21wb25lbnQ6ICVkXG4iLCByZXQpOwo+ID4gPiAgICAgICAgICAgICAgICAgcmV0 dXJuIHJldDsKPiA+ID4gICAgICAgICB9Cj4gPiA+IEBAIC04MDIsNyArODEyLDEwIEBAIHN0YXRp YyBpbnQgbXRrX2RwaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4gPgo+ ID4gPiAgc3RhdGljIGludCBtdGtfZHBpX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQo+ID4gPiAgewo+ID4gPiArICAgICAgIHN0cnVjdCBtdGtfZHBpICpkcGkgPSBwbGF0Zm9y bV9nZXRfZHJ2ZGF0YShwZGV2KTsKPiA+ID4gKwo+ID4gPiAgICAgICAgIGNvbXBvbmVudF9kZWwo JnBkZXYtPmRldiwgJm10a19kcGlfY29tcG9uZW50X29wcyk7Cj4gPiA+ICsgICAgICAgZHJtX2Jy aWRnZV9yZW1vdmUoJmRwaS0+YnJpZGdlKTsKPiA+ID4KPiA+ID4gICAgICAgICByZXR1cm4gMDsK PiA+ID4gIH0KPiA+ID4gLS0KPiA+ID4gMi4yOC4wCj4gPiA+Cj4KPiAtLQo+IERhbmllbCBWZXR0 ZXIKPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiBodHRwOi8vYmxvZy5m ZndsbC5jaAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtYXJtLWtlcm5lbAo= 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=-14.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,INCLUDES_PATCH,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SIGNED_OFF_BY,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 7EC41C43461 for ; Sun, 13 Sep 2020 01:27:24 +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 321E8214F1 for ; Sun, 13 Sep 2020 01:27:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="vW7WnUWW" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 321E8214F1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org 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 7F1D56E47B; Sun, 13 Sep 2020 01:27:23 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7A1076E47B for ; Sun, 13 Sep 2020 01:27:22 +0000 (UTC) Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) (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 E9AEB217A0 for ; Sun, 13 Sep 2020 01:27:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1599960442; bh=N+1O+3nePb89QXKC6VoJWYEpD90fYclFPn/1MiIC4u8=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=vW7WnUWWiAgXJ2vfMzeuQBw3loVnGAYVbBIrISRoUQyGjT9GxMNNl3HlHYC5FHIfX ZS7WTTrZlYbRJrC53a8KOe10CwJg2OQu21aaCYhNUySqNf9O2hKqQJMmm2y0zTD79Y fzd1sJm4FpjuX9UcqPsREFY2Sa4QMvwaE+bE3fvE= Received: by mail-ej1-f50.google.com with SMTP id r7so18409902ejs.11 for ; Sat, 12 Sep 2020 18:27:21 -0700 (PDT) X-Gm-Message-State: AOAM531kLsf/EoQw8RHrWy3fMUWNvw7jyJn3YCfBleMybISnayCPNQdN qV5H84X3w4xWbK6CaIoD9Tnn8xjemPJFlUSFSw== X-Google-Smtp-Source: ABdhPJxVU8LiDevXSpqfTDnRp2lRvK+BEjBFcnyTq0y4b+t6nIMDZVCyjRvKQ9jlXscFJGiMS9Sv5I5f362/wuN2NJQ= X-Received: by 2002:a17:906:b756:: with SMTP id fx22mr8003575ejb.245.1599960440472; Sat, 12 Sep 2020 18:27:20 -0700 (PDT) MIME-Version: 1.0 References: <20200826085317.681385-1-enric.balletbo@collabora.com> <20200826085317.681385-3-enric.balletbo@collabora.com> <20200910054828.GC438822@phenom.ffwll.local> In-Reply-To: <20200910054828.GC438822@phenom.ffwll.local> From: Chun-Kuang Hu Date: Sun, 13 Sep 2020 09:27:07 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RESEND PATCH v2 2/2] drm/mediatek: mtk_dpi: Convert to bridge driver To: Chun-Kuang Hu , Enric Balletbo i Serra , Andrzej Hajda , Neil Armstrong , linux-kernel , Collabora Kernel ML , Matthias Brugger , Nicolas Boichat , Hsin-Yi Wang , boris.brezillon@collabora.com, Laurent Pinchart , Sam Ravnborg , David Airlie , Philipp Zabel , DRI Development , Linux ARM , "moderated list:ARM/Mediatek SoC support" 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SGksCgpEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+IOaWvCAyMDIw5bm0OeaciDEw5pel IOmAseWbmyDkuIvljYgxOjQ45a+r6YGT77yaCj4KPiBPbiBUaHUsIFNlcCAxMCwgMjAyMCBhdCAw NjozNToyMUFNICswODAwLCBDaHVuLUt1YW5nIEh1IHdyb3RlOgo+ID4gSGksIEFuZHJ6ZWogJiBO ZWlsOgo+ID4KPiA+IEVucmljIEJhbGxldGJvIGkgU2VycmEgPGVucmljLmJhbGxldGJvQGNvbGxh Ym9yYS5jb20+IOaWvCAyMDIw5bm0OOaciDI25pelIOmAseS4iSDkuIvljYg0OjUz5a+r6YGT77ya Cj4gPgo+ID4gPgo+ID4gPiBDb252ZXJ0IG10a19kcGkgdG8gYSBicmlkZ2UgZHJpdmVyIHdpdGgg YnVpbHQtaW4gZW5jb2RlciBzdXBwb3J0IGZvcgo+ID4gPiBjb21wYXRpYmlsaXR5IHdpdGggZXhp c3RpbmcgY29tcG9uZW50IGRyaXZlcnMuCj4gPiA+Cj4gPgo+ID4gVGhpcyBpcyBhIERSTS1icmlk Z2UgcmVsYXRlZCBwYXRjaCwgaG93IGRvIHlvdSB0aGluayBhYm91dCBpdD8KPgo+IGJyaWRnZSBz dHVmZiBpcyBhbHNvIG1haW50YWluZWQgaW4gZHJtLW1pc2MsIHNvIGdvb2QgdG8gZ28gaW1vLgo+ Cj4gRm9yIHRoZSBiaWdnZXIgcGljdHVyZSBJIHRoaW5rIGl0J2QgYmUgcmVhbGx5IGdvb2QgaWYg YnJpZGdlcyBkcml2ZXJzCj4gd291bGQgdXNlIHRoZSBvZiBicmlkZ2UgbG9va3VwLCBhbmQgbm90 IGhhbmQgcm9sbCBzb21ldGhpbmcgd2l0aAo+IGNvbXBvbmVudC4gU28gMm5kIHN0ZXAgb2YgY29u dmVydGluZyB0aGlzIG92ZXIgdG8gYSBwcm9wZXIgYnJpZGdlIGRyaXZlcgo+IHdvdWxkIGJlIHRv IHJlcGxhY2UgdGhlIGNvbXBvbmVudCBjb2RlIGhlcmUgdG9vLgoKT0ssIHNvIHRoaXMgc2VyaWVz IGlzIGFwcGxpZWQgdG8gbWVkaWF0ZWstZHJtLW5leHQgWzFdLgoKWzFdIGh0dHBzOi8vZ2l0Lmtl cm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L2NodW5rdWFuZy5odS9saW51eC5naXQv bG9nLz9oPW1lZGlhdGVrLWRybS1uZXh0CgpSZWdhcmRzLApDaHVuLUt1YW5nLgoKPgo+IENoZWVy cywgRGFuaWVsCj4KPiA+Cj4gPiBSZWdhcmRzLAo+ID4gQ2h1bi1LdWFuZy4KPiA+Cj4gPiA+IFJl dmlld2VkLWJ5OiBDaHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2VybmVsLm9yZz4KPiA+ID4g U2lnbmVkLW9mZi1ieTogRW5yaWMgQmFsbGV0Ym8gaSBTZXJyYSA8ZW5yaWMuYmFsbGV0Ym9AY29s bGFib3JhLmNvbT4KPiA+ID4gLS0tCj4gPiA+Cj4gPiA+IENoYW5nZXMgaW4gdjI6Cj4gPiA+IC0g TWFpbnRhaW4gZXJyb3IgbWVzc2FnZSB3aGVuIGF0dGFjaCB0byBicmlkZ2UgZmFpbHMuIChCb3Jp cykKPiA+ID4KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBpLmMgfCA3MSAr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCA0MiBp bnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKPiA+ID4KPiA+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBpLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2RwaS5jCj4gPiA+IGluZGV4IGY3MzcyZGJkYWMwZS4uNTg5ZWYzM2ExNzgwIDEwMDY0 NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwaS5jCj4gPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBpLmMKPiA+ID4gQEAgLTY0LDYgKzY0 LDcgQEAgZW51bSBtdGtfZHBpX291dF9jb2xvcl9mb3JtYXQgewo+ID4gPiAgc3RydWN0IG10a19k cGkgewo+ID4gPiAgICAgICAgIHN0cnVjdCBtdGtfZGRwX2NvbXAgZGRwX2NvbXA7Cj4gPiA+ICAg ICAgICAgc3RydWN0IGRybV9lbmNvZGVyIGVuY29kZXI7Cj4gPiA+ICsgICAgICAgc3RydWN0IGRy bV9icmlkZ2UgYnJpZGdlOwo+ID4gPiAgICAgICAgIHN0cnVjdCBkcm1fYnJpZGdlICpuZXh0X2Jy aWRnZTsKPiA+ID4gICAgICAgICB2b2lkIF9faW9tZW0gKnJlZ3M7Cj4gPiA+ICAgICAgICAgc3Ry dWN0IGRldmljZSAqZGV2Owo+ID4gPiBAQCAtODMsOSArODQsOSBAQCBzdHJ1Y3QgbXRrX2RwaSB7 Cj4gPiA+ICAgICAgICAgaW50IHJlZmNvdW50Owo+ID4gPiAgfTsKPiA+ID4KPiA+ID4gLXN0YXRp YyBpbmxpbmUgc3RydWN0IG10a19kcGkgKm10a19kcGlfZnJvbV9lbmNvZGVyKHN0cnVjdCBkcm1f ZW5jb2RlciAqZSkKPiA+ID4gK3N0YXRpYyBpbmxpbmUgc3RydWN0IG10a19kcGkgKmJyaWRnZV90 b19kcGkoc3RydWN0IGRybV9icmlkZ2UgKmIpCj4gPiA+ICB7Cj4gPiA+IC0gICAgICAgcmV0dXJu IGNvbnRhaW5lcl9vZihlLCBzdHJ1Y3QgbXRrX2RwaSwgZW5jb2Rlcik7Cj4gPiA+ICsgICAgICAg cmV0dXJuIGNvbnRhaW5lcl9vZihiLCBzdHJ1Y3QgbXRrX2RwaSwgYnJpZGdlKTsKPiA+ID4gIH0K PiA+ID4KPiA+ID4gIGVudW0gbXRrX2RwaV9wb2xhcml0eSB7Cj4gPiA+IEBAIC01MjEsNTAgKzUy Miw1MyBAQCBzdGF0aWMgaW50IG10a19kcGlfc2V0X2Rpc3BsYXlfbW9kZShzdHJ1Y3QgbXRrX2Rw aSAqZHBpLAo+ID4gPiAgICAgICAgIHJldHVybiAwOwo+ID4gPiAgfQo+ID4gPgo+ID4gPiAtc3Rh dGljIGJvb2wgbXRrX2RwaV9lbmNvZGVyX21vZGVfZml4dXAoc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyLAo+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21v ZGUpCj4gPiA+ICtzdGF0aWMgdm9pZCBtdGtfZHBpX2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIpCj4gPiA+ICB7Cj4gPiA+IC0gICAgICAgcmV0dXJuIHRydWU7Cj4g PiA+ICsgICAgICAgZHJtX2VuY29kZXJfY2xlYW51cChlbmNvZGVyKTsKPiA+ID4gIH0KPiA+ID4K PiA+ID4gLXN0YXRpYyB2b2lkIG10a19kcGlfZW5jb2Rlcl9tb2RlX3NldChzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsCj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2Rl KQo+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9mdW5jcyBtdGtfZHBpX2Vu Y29kZXJfZnVuY3MgPSB7Cj4gPiA+ICsgICAgICAgLmRlc3Ryb3kgPSBtdGtfZHBpX2VuY29kZXJf ZGVzdHJveSwKPiA+ID4gK307Cj4gPiA+ICsKPiA+ID4gK3N0YXRpYyBpbnQgbXRrX2RwaV9icmlk Z2VfYXR0YWNoKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGVudW0gZHJtX2JyaWRnZV9hdHRhY2hfZmxhZ3MgZmxhZ3MpCj4g PiA+ICB7Cj4gPiA+IC0gICAgICAgc3RydWN0IG10a19kcGkgKmRwaSA9IG10a19kcGlfZnJvbV9l bmNvZGVyKGVuY29kZXIpOwo+ID4gPiArICAgICAgIHN0cnVjdCBtdGtfZHBpICpkcGkgPSBicmlk Z2VfdG9fZHBpKGJyaWRnZSk7Cj4gPiA+ICsKPiA+ID4gKyAgICAgICByZXR1cm4gZHJtX2JyaWRn ZV9hdHRhY2goYnJpZGdlLT5lbmNvZGVyLCBkcGktPm5leHRfYnJpZGdlLAo+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmZHBpLT5icmlkZ2UsIGZsYWdzKTsKPiA+ID4gK30K PiA+ID4gKwo+ID4gPiArc3RhdGljIHZvaWQgbXRrX2RwaV9icmlkZ2VfbW9kZV9zZXQoc3RydWN0 IGRybV9icmlkZ2UgKmJyaWRnZSwKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0 ZWRfbW9kZSkKPiA+ID4gK3sKPiA+ID4gKyAgICAgICBzdHJ1Y3QgbXRrX2RwaSAqZHBpID0gYnJp ZGdlX3RvX2RwaShicmlkZ2UpOwo+ID4gPgo+ID4gPiAgICAgICAgIGRybV9tb2RlX2NvcHkoJmRw aS0+bW9kZSwgYWRqdXN0ZWRfbW9kZSk7Cj4gPiA+ICB9Cj4gPiA+Cj4gPiA+IC1zdGF0aWMgdm9p ZCBtdGtfZHBpX2VuY29kZXJfZGlzYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4g PiA+ICtzdGF0aWMgdm9pZCBtdGtfZHBpX2JyaWRnZV9kaXNhYmxlKHN0cnVjdCBkcm1fYnJpZGdl ICpicmlkZ2UpCj4gPiA+ICB7Cj4gPiA+IC0gICAgICAgc3RydWN0IG10a19kcGkgKmRwaSA9IG10 a19kcGlfZnJvbV9lbmNvZGVyKGVuY29kZXIpOwo+ID4gPiArICAgICAgIHN0cnVjdCBtdGtfZHBp ICpkcGkgPSBicmlkZ2VfdG9fZHBpKGJyaWRnZSk7Cj4gPiA+Cj4gPiA+ICAgICAgICAgbXRrX2Rw aV9wb3dlcl9vZmYoZHBpKTsKPiA+ID4gIH0KPiA+ID4KPiA+ID4gLXN0YXRpYyB2b2lkIG10a19k cGlfZW5jb2Rlcl9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQo+ID4gPiArc3Rh dGljIHZvaWQgbXRrX2RwaV9icmlkZ2VfZW5hYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2Up Cj4gPiA+ICB7Cj4gPiA+IC0gICAgICAgc3RydWN0IG10a19kcGkgKmRwaSA9IG10a19kcGlfZnJv bV9lbmNvZGVyKGVuY29kZXIpOwo+ID4gPiArICAgICAgIHN0cnVjdCBtdGtfZHBpICpkcGkgPSBi cmlkZ2VfdG9fZHBpKGJyaWRnZSk7Cj4gPiA+Cj4gPiA+ICAgICAgICAgbXRrX2RwaV9wb3dlcl9v bihkcGkpOwo+ID4gPiAgICAgICAgIG10a19kcGlfc2V0X2Rpc3BsYXlfbW9kZShkcGksICZkcGkt Pm1vZGUpOwo+ID4gPiAgfQo+ID4gPgo+ID4gPiAtc3RhdGljIGludCBtdGtfZHBpX2F0b21pY19j aGVjayhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPiA+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRl ICpjb25uX3N0YXRlKQo+ID4gPiAtewo+ID4gPiAtICAgICAgIHJldHVybiAwOwo+ID4gPiAtfQo+ ID4gPiAtCj4gPiA+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5j cyBtdGtfZHBpX2VuY29kZXJfaGVscGVyX2Z1bmNzID0gewo+ID4gPiAtICAgICAgIC5tb2RlX2Zp eHVwID0gbXRrX2RwaV9lbmNvZGVyX21vZGVfZml4dXAsCj4gPiA+IC0gICAgICAgLm1vZGVfc2V0 ID0gbXRrX2RwaV9lbmNvZGVyX21vZGVfc2V0LAo+ID4gPiAtICAgICAgIC5kaXNhYmxlID0gbXRr X2RwaV9lbmNvZGVyX2Rpc2FibGUsCj4gPiA+IC0gICAgICAgLmVuYWJsZSA9IG10a19kcGlfZW5j b2Rlcl9lbmFibGUsCj4gPiA+IC0gICAgICAgLmF0b21pY19jaGVjayA9IG10a19kcGlfYXRvbWlj X2NoZWNrLAo+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fYnJpZGdlX2Z1bmNzIG10a19k cGlfYnJpZGdlX2Z1bmNzID0gewo+ID4gPiArICAgICAgIC5hdHRhY2ggPSBtdGtfZHBpX2JyaWRn ZV9hdHRhY2gsCj4gPiA+ICsgICAgICAgLm1vZGVfc2V0ID0gbXRrX2RwaV9icmlkZ2VfbW9kZV9z ZXQsCj4gPiA+ICsgICAgICAgLmRpc2FibGUgPSBtdGtfZHBpX2JyaWRnZV9kaXNhYmxlLAo+ID4g PiArICAgICAgIC5lbmFibGUgPSBtdGtfZHBpX2JyaWRnZV9lbmFibGUsCj4gPiA+ICB9Owo+ID4g Pgo+ID4gPiAgc3RhdGljIHZvaWQgbXRrX2RwaV9zdGFydChzdHJ1Y3QgbXRrX2RkcF9jb21wICpj b21wKQo+ID4gPiBAQCAtNjA1LDEyICs2MDksMTEgQEAgc3RhdGljIGludCBtdGtfZHBpX2JpbmQo c3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCj4g PiA+ICAgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwgIkZhaWxlZCB0byBpbml0aWFsaXplIGRl Y29kZXI6ICVkXG4iLCByZXQpOwo+ID4gPiAgICAgICAgICAgICAgICAgZ290byBlcnJfdW5yZWdp c3RlcjsKPiA+ID4gICAgICAgICB9Cj4gPiA+IC0gICAgICAgZHJtX2VuY29kZXJfaGVscGVyX2Fk ZCgmZHBpLT5lbmNvZGVyLCAmbXRrX2RwaV9lbmNvZGVyX2hlbHBlcl9mdW5jcyk7Cj4gPiA+Cj4g PiA+ICAgICAgICAgLyogQ3VycmVudGx5IERQSTAgaXMgZml4ZWQgdG8gYmUgZHJpdmVuIGJ5IE9W TDEgKi8KPiA+ID4gICAgICAgICBkcGktPmVuY29kZXIucG9zc2libGVfY3J0Y3MgPSBCSVQoMSk7 Cj4gPiA+Cj4gPiA+IC0gICAgICAgcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2goJmRwaS0+ZW5jb2Rl ciwgZHBpLT5uZXh0X2JyaWRnZSwgTlVMTCwgMCk7Cj4gPiA+ICsgICAgICAgcmV0ID0gZHJtX2Jy aWRnZV9hdHRhY2goJmRwaS0+ZW5jb2RlciwgJmRwaS0+YnJpZGdlLCBOVUxMLCAwKTsKPiA+ID4g ICAgICAgICBpZiAocmV0KSB7Cj4gPiA+ICAgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwgIkZh aWxlZCB0byBhdHRhY2ggYnJpZGdlOiAlZFxuIiwgcmV0KTsKPiA+ID4gICAgICAgICAgICAgICAg IGdvdG8gZXJyX2NsZWFudXA7Cj4gPiA+IEBAIC03OTEsOCArNzk0LDE1IEBAIHN0YXRpYyBpbnQg bXRrX2RwaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4gPgo+ID4gPiAg ICAgICAgIHBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGRwaSk7Cj4gPiA+Cj4gPiA+ICsgICAg ICAgZHBpLT5icmlkZ2UuZnVuY3MgPSAmbXRrX2RwaV9icmlkZ2VfZnVuY3M7Cj4gPiA+ICsgICAg ICAgZHBpLT5icmlkZ2Uub2Zfbm9kZSA9IGRldi0+b2Zfbm9kZTsKPiA+ID4gKyAgICAgICBkcGkt PmJyaWRnZS50eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0RQSTsKPiA+ID4gKwo+ID4gPiArICAg ICAgIGRybV9icmlkZ2VfYWRkKCZkcGktPmJyaWRnZSk7Cj4gPiA+ICsKPiA+ID4gICAgICAgICBy ZXQgPSBjb21wb25lbnRfYWRkKGRldiwgJm10a19kcGlfY29tcG9uZW50X29wcyk7Cj4gPiA+ICAg ICAgICAgaWYgKHJldCkgewo+ID4gPiArICAgICAgICAgICAgICAgZHJtX2JyaWRnZV9yZW1vdmUo JmRwaS0+YnJpZGdlKTsKPiA+ID4gICAgICAgICAgICAgICAgIGRldl9lcnIoZGV2LCAiRmFpbGVk IHRvIGFkZCBjb21wb25lbnQ6ICVkXG4iLCByZXQpOwo+ID4gPiAgICAgICAgICAgICAgICAgcmV0 dXJuIHJldDsKPiA+ID4gICAgICAgICB9Cj4gPiA+IEBAIC04MDIsNyArODEyLDEwIEBAIHN0YXRp YyBpbnQgbXRrX2RwaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4gPgo+ ID4gPiAgc3RhdGljIGludCBtdGtfZHBpX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQo+ID4gPiAgewo+ID4gPiArICAgICAgIHN0cnVjdCBtdGtfZHBpICpkcGkgPSBwbGF0Zm9y bV9nZXRfZHJ2ZGF0YShwZGV2KTsKPiA+ID4gKwo+ID4gPiAgICAgICAgIGNvbXBvbmVudF9kZWwo JnBkZXYtPmRldiwgJm10a19kcGlfY29tcG9uZW50X29wcyk7Cj4gPiA+ICsgICAgICAgZHJtX2Jy aWRnZV9yZW1vdmUoJmRwaS0+YnJpZGdlKTsKPiA+ID4KPiA+ID4gICAgICAgICByZXR1cm4gMDsK PiA+ID4gIH0KPiA+ID4gLS0KPiA+ID4gMi4yOC4wCj4gPiA+Cj4KPiAtLQo+IERhbmllbCBWZXR0 ZXIKPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiBodHRwOi8vYmxvZy5m ZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK