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=-16.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,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 AA950C47087 for ; Wed, 26 May 2021 02:59:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 810E2613F5 for ; Wed, 26 May 2021 02:59:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231548AbhEZDAz (ORCPT ); Tue, 25 May 2021 23:00:55 -0400 Received: from mail.kernel.org ([198.145.29.99]:45482 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231348AbhEZDAv (ORCPT ); Tue, 25 May 2021 23:00:51 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 4400161432; Wed, 26 May 2021 02:59:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1621997961; bh=1Vi1ujoloi31h2fuTBqvWFO8m+MME1+FdhmIe/4hQ+Y=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=rKedvANRVrz37/9gpYWlfiBK7yVOGeM0429Ejkiwleu2mHk+u6mehxhp+HP47ai6o Jcb08As80Q5nwvnuzXIW0dqV1U/A48EoRCzmZzWvUA66GZ4Hfbhp1VYJE49TqTuFUL +vZzZCP55y1p8IFnuKQNENTXelhvL7bD3bl39smTpD78nMypnQokwFVq0il+GXUNDz TjRO0xBrHlQjXDzw7nxx2k0yBravJNuAirYM/tw5mpTu/8UuokV+7QsKNo3CXmZgZd BCIpYBBASb/a/tQsnx32eIafMDgNYp2ecC9g59eAAv+qMMVHab7O/NVXa8M/ED0RsY jhJcKM2Fl1fcA== Received: by mail-ej1-f51.google.com with SMTP id s22so38842ejv.12; Tue, 25 May 2021 19:59:21 -0700 (PDT) X-Gm-Message-State: AOAM532RD42wAAEqh1FL6aycEujaczBtkvUuJtnfPP/R0826KNhIg7jI 2Fzu3Tg3IZsFTDB6APoZpaO3jg7mtpqRTaaMPw== X-Google-Smtp-Source: ABdhPJxTpRaVAcS1iQ8JUak5Isj5SZ8WTpbasCnC3NVQg5nTUIZ8my96cmr6BjhE3jH3wnSKPus1KvnkztIiaHs+46Q= X-Received: by 2002:a17:907:1ca1:: with SMTP id nb33mr31304670ejc.75.1621997959809; Tue, 25 May 2021 19:59:19 -0700 (PDT) MIME-Version: 1.0 References: <20210525121448.30075-1-rex-bc.chen@mediatek.com> <20210525121448.30075-4-rex-bc.chen@mediatek.com> In-Reply-To: <20210525121448.30075-4-rex-bc.chen@mediatek.com> From: Chun-Kuang Hu Date: Wed, 26 May 2021 10:59:09 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [v4,PATCH 3/3] drm/mediatek: dpi: add bus format negotiation To: Rex-BC Chen Cc: Chun-Kuang Hu , Matthias Brugger , DTML , Linux ARM , "moderated list:ARM/Mediatek SoC support" , linux-kernel , Project_Global_Chrome_Upstream_Group@mediatek.com, Jitao Shi Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Rex: Rex-BC Chen =E6=96=BC 2021=E5=B9=B45=E6=9C=8825= =E6=97=A5 =E9=80=B1=E4=BA=8C =E4=B8=8B=E5=8D=888:15=E5=AF=AB=E9=81=93=EF=BC= =9A > > Add the atomic_get_output_bus_fmts, atomic_get_input_bus_fmts to negotiat= e > the possible output and input formats for the current mode and monitor, > and use the negotiated formats in a basic atomic_check callback. > > Signed-off-by: Jitao Shi > Signed-off-by: Rex-BC Chen > --- > drivers/gpu/drm/mediatek/mtk_dpi.c | 78 ++++++++++++++++++++++++++++-- > 1 file changed, 73 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediate= k/mtk_dpi.c > index d6a422986efc..667a97470389 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dpi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c > @@ -540,6 +540,73 @@ static int mtk_dpi_set_display_mode(struct mtk_dpi *= dpi, > return 0; > } > > +static u32 *mtk_dpi_bridge_atomic_get_output_bus_fmts(struct drm_bridge = *bridge, > + struct drm_bridge_state *bridge_s= tate, > + struct drm_crtc_state *crtc_state= , > + struct drm_connector_state *conn_= state, > + unsigned int *num_output_fmts) > +{ > + struct mtk_dpi *dpi =3D bridge_to_dpi(bridge); > + > + *num_output_fmts =3D 0; > + > + if (!dpi->conf->output_fmts) print error here because this should not happen. > + return NULL; > + > + *num_output_fmts =3D dpi->conf->num_output_fmts; > + > + return (u32 *)dpi->conf->output_fmts; I think you should allocate new buffer for output_fmts because the caller would free it. > +} > + > +#define MAX_INPUT_SEL_FORMATS 1 > + > +static u32 *mtk_dpi_bridge_atomic_get_input_bus_fmts(struct drm_bridge *= bridge, > + struct drm_bridge_state *bridge_s= tate, > + struct drm_crtc_state *crtc_state= , > + struct drm_connector_state *conn_= state, > + u32 output_fmt, > + unsigned int *num_input_fmts) > +{ > + u32 *input_fmts; > + > + *num_input_fmts =3D 0; > + > + input_fmts =3D kcalloc(MAX_INPUT_SEL_FORMATS, sizeof(*input_fmts)= , > + GFP_KERNEL); > + if (!input_fmts) > + return NULL; > + > + *num_input_fmts =3D 1; > + input_fmts[0] =3D MEDIA_BUS_FMT_RGB888_1X24; it seems that MAX_INPUT_SEL_FORMATS has no influence here. Maybe just remove MAX_INPUT_SEL_FORMATS, or you should have flexibility here for different MAX_INPUT_SEL_FORMATS value. > + > + return input_fmts; > +} > + > +static int mtk_dpi_bridge_atomic_check(struct drm_bridge *bridge, > + struct drm_bridge_state *bridge_st= ate, > + struct drm_crtc_state *crtc_state, > + struct drm_connector_state *conn_s= tate) > +{ > + struct mtk_dpi *dpi =3D bridge->driver_private; > + unsigned int out_bus_format; > + > + out_bus_format =3D bridge_state->output_bus_cfg.format; > + > + dev_dbg(dpi->dev, "input format 0x%04x, output format 0x%04x\n", > + bridge_state->input_bus_cfg.format, > + bridge_state->output_bus_cfg.format); > + > + dpi->ddr_edge_sel =3D (out_bus_format =3D=3D MEDIA_BUS_FMT_RGB888= _2X12_LE) ? > + true : false; dpi->output_fmt =3D out_bus_format; Regards, Chun-Kuang. > + > + dpi->bit_num =3D MTK_DPI_OUT_BIT_NUM_8BITS; > + dpi->channel_swap =3D MTK_DPI_OUT_CHANNEL_SWAP_RGB; > + dpi->yc_map =3D MTK_DPI_OUT_YC_MAP_RGB; > + dpi->color_format =3D MTK_DPI_COLOR_FORMAT_RGB; > + > + return 0; > +} > + > static int mtk_dpi_bridge_attach(struct drm_bridge *bridge, > enum drm_bridge_attach_flags flags) > { > @@ -592,6 +659,12 @@ static const struct drm_bridge_funcs mtk_dpi_bridge_= funcs =3D { > .mode_valid =3D mtk_dpi_bridge_mode_valid, > .disable =3D mtk_dpi_bridge_disable, > .enable =3D mtk_dpi_bridge_enable, > + .atomic_check =3D mtk_dpi_bridge_atomic_check, > + .atomic_get_output_bus_fmts =3D mtk_dpi_bridge_atomic_get_output_= bus_fmts, > + .atomic_get_input_bus_fmts =3D mtk_dpi_bridge_atomic_get_input_bu= s_fmts, > + .atomic_duplicate_state =3D drm_atomic_helper_bridge_duplicate_st= ate, > + .atomic_destroy_state =3D drm_atomic_helper_bridge_destroy_state, > + .atomic_reset =3D drm_atomic_helper_bridge_reset, > }; > > void mtk_dpi_start(struct device *dev) > @@ -638,11 +711,6 @@ static int mtk_dpi_bind(struct device *dev, struct d= evice *master, void *data) > } > drm_connector_attach_encoder(dpi->connector, &dpi->encoder); > > - dpi->bit_num =3D MTK_DPI_OUT_BIT_NUM_8BITS; > - dpi->channel_swap =3D MTK_DPI_OUT_CHANNEL_SWAP_RGB; > - dpi->yc_map =3D MTK_DPI_OUT_YC_MAP_RGB; > - dpi->color_format =3D MTK_DPI_COLOR_FORMAT_RGB; > - > return 0; > > err_cleanup: > -- > 2.18.0 > 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.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS 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 E0E06C4707F for ; Wed, 26 May 2021 02:59:46 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 989B061076 for ; Wed, 26 May 2021 02:59:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 989B061076 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=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc: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=/5EZ1BYZ0ONG+LBzq3AYDy3axA4YFzPlDwDNAyEzPjs=; b=q9j6tdpgSxpMHy m/XKrZxWS5p0JJxz0au8tncyI52SyvOmgExF7VSpfb7sdhWNNHAxbUXd9K0hGnfY+OuPmc3thL27p vP4kpSlE4Q3T+IkrHgRQ7RTf7zh03QxBYv5mJPSl6yB2JlHdy8yCAOEzb2YOUAqVQhnhW0TnWiiwM mxNLMfhIkzqpfqBH9HZuygToujnIwIGCEalg4DF7KBUfMfZXulFNr44mU62tjtnaVqZdYPvS4drba I2j1dn7bL9okRZHo+h4+74akwsNCYJcxqOvOREbB3l3hFTl9+8ebnN9VtJmyQmaDUCkos89ru6Ug4 6vh8n9MQ+edTPij13XCw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lljlh-00AMdw-Ul; Wed, 26 May 2021 02:59:37 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lljlR-00AMQN-Sx; Wed, 26 May 2021 02:59:23 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3872D61429; Wed, 26 May 2021 02:59:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1621997961; bh=1Vi1ujoloi31h2fuTBqvWFO8m+MME1+FdhmIe/4hQ+Y=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=rKedvANRVrz37/9gpYWlfiBK7yVOGeM0429Ejkiwleu2mHk+u6mehxhp+HP47ai6o Jcb08As80Q5nwvnuzXIW0dqV1U/A48EoRCzmZzWvUA66GZ4Hfbhp1VYJE49TqTuFUL +vZzZCP55y1p8IFnuKQNENTXelhvL7bD3bl39smTpD78nMypnQokwFVq0il+GXUNDz TjRO0xBrHlQjXDzw7nxx2k0yBravJNuAirYM/tw5mpTu/8UuokV+7QsKNo3CXmZgZd BCIpYBBASb/a/tQsnx32eIafMDgNYp2ecC9g59eAAv+qMMVHab7O/NVXa8M/ED0RsY jhJcKM2Fl1fcA== Received: by mail-ej1-f45.google.com with SMTP id k14so91787eji.2; Tue, 25 May 2021 19:59:21 -0700 (PDT) X-Gm-Message-State: AOAM5306kw3yscrISxlv7PEBdmYqcnWEB28185aek2Eb7kP0Nbg/+aLx V7URs56g8iE3O9pJiJ+iUqC4dRwc87Up4tab6g== X-Google-Smtp-Source: ABdhPJxTpRaVAcS1iQ8JUak5Isj5SZ8WTpbasCnC3NVQg5nTUIZ8my96cmr6BjhE3jH3wnSKPus1KvnkztIiaHs+46Q= X-Received: by 2002:a17:907:1ca1:: with SMTP id nb33mr31304670ejc.75.1621997959809; Tue, 25 May 2021 19:59:19 -0700 (PDT) MIME-Version: 1.0 References: <20210525121448.30075-1-rex-bc.chen@mediatek.com> <20210525121448.30075-4-rex-bc.chen@mediatek.com> In-Reply-To: <20210525121448.30075-4-rex-bc.chen@mediatek.com> From: Chun-Kuang Hu Date: Wed, 26 May 2021 10:59:09 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [v4,PATCH 3/3] drm/mediatek: dpi: add bus format negotiation To: Rex-BC Chen Cc: Chun-Kuang Hu , Matthias Brugger , DTML , Linux ARM , "moderated list:ARM/Mediatek SoC support" , linux-kernel , Project_Global_Chrome_Upstream_Group@mediatek.com, Jitao Shi X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210525_195922_002538_3559AE22 X-CRM114-Status: GOOD ( 20.88 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org SGksIFJleDoKClJleC1CQyBDaGVuIDxyZXgtYmMuY2hlbkBtZWRpYXRlay5jb20+IOaWvCAyMDIx 5bm0NeaciDI15pelIOmAseS6jCDkuIvljYg4OjE15a+r6YGT77yaCj4KPiBBZGQgdGhlIGF0b21p Y19nZXRfb3V0cHV0X2J1c19mbXRzLCBhdG9taWNfZ2V0X2lucHV0X2J1c19mbXRzIHRvIG5lZ290 aWF0ZQo+IHRoZSBwb3NzaWJsZSBvdXRwdXQgYW5kIGlucHV0IGZvcm1hdHMgZm9yIHRoZSBjdXJy ZW50IG1vZGUgYW5kIG1vbml0b3IsCj4gYW5kIHVzZSB0aGUgbmVnb3RpYXRlZCBmb3JtYXRzIGlu IGEgYmFzaWMgYXRvbWljX2NoZWNrIGNhbGxiYWNrLgo+Cj4gU2lnbmVkLW9mZi1ieTogSml0YW8g U2hpIDxqaXRhby5zaGlAbWVkaWF0ZWsuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFJleC1CQyBDaGVu IDxyZXgtYmMuY2hlbkBtZWRpYXRlay5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHBpLmMgfCA3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPiAgMSBm aWxlIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcGkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZHBpLmMKPiBpbmRleCBkNmE0MjI5ODZlZmMuLjY2N2E5NzQ3MDM4OSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwaS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcGkuYwo+IEBAIC01NDAsNiArNTQwLDczIEBA IHN0YXRpYyBpbnQgbXRrX2RwaV9zZXRfZGlzcGxheV9tb2RlKHN0cnVjdCBtdGtfZHBpICpkcGks Cj4gICAgICAgICByZXR1cm4gMDsKPiAgfQo+Cj4gK3N0YXRpYyB1MzIgKm10a19kcGlfYnJpZGdl X2F0b21pY19nZXRfb3V0cHV0X2J1c19mbXRzKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fYnJpZGdl X3N0YXRlICpicmlkZ2Vfc3RhdGUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNv bm5fc3RhdGUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGludCAqbnVtX291dHB1dF9mbXRzKQo+ICt7Cj4gKyAgICAgICBzdHJ1Y3QgbXRrX2RwaSAq ZHBpID0gYnJpZGdlX3RvX2RwaShicmlkZ2UpOwo+ICsKPiArICAgICAgICpudW1fb3V0cHV0X2Zt dHMgPSAwOwo+ICsKPiArICAgICAgIGlmICghZHBpLT5jb25mLT5vdXRwdXRfZm10cykKCnByaW50 IGVycm9yIGhlcmUgYmVjYXVzZSB0aGlzIHNob3VsZCBub3QgaGFwcGVuLgoKPiArICAgICAgICAg ICAgICAgcmV0dXJuIE5VTEw7Cj4gKwo+ICsgICAgICAgKm51bV9vdXRwdXRfZm10cyA9IGRwaS0+ Y29uZi0+bnVtX291dHB1dF9mbXRzOwo+ICsKPiArICAgICAgIHJldHVybiAodTMyICopZHBpLT5j b25mLT5vdXRwdXRfZm10czsKCkkgdGhpbmsgeW91IHNob3VsZCBhbGxvY2F0ZSBuZXcgYnVmZmVy IGZvciBvdXRwdXRfZm10cyBiZWNhdXNlIHRoZQpjYWxsZXIgd291bGQgZnJlZSBpdC4KCj4gK30K PiArCj4gKyNkZWZpbmUgTUFYX0lOUFVUX1NFTF9GT1JNQVRTICAxCj4gKwo+ICtzdGF0aWMgdTMy ICptdGtfZHBpX2JyaWRnZV9hdG9taWNfZ2V0X2lucHV0X2J1c19mbXRzKHN0cnVjdCBkcm1fYnJp ZGdlICpicmlkZ2UsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBkcm1fYnJpZGdlX3N0YXRlICpicmlkZ2Vfc3RhdGUsCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9jb25u ZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHUzMiBvdXRwdXRfZm10LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBpbnQgKm51bV9pbnB1dF9mbXRzKQo+ICt7Cj4gKyAgICAgICB1 MzIgKmlucHV0X2ZtdHM7Cj4gKwo+ICsgICAgICAgKm51bV9pbnB1dF9mbXRzID0gMDsKPiArCj4g KyAgICAgICBpbnB1dF9mbXRzID0ga2NhbGxvYyhNQVhfSU5QVVRfU0VMX0ZPUk1BVFMsIHNpemVv ZigqaW5wdXRfZm10cyksCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRlBfS0VSTkVM KTsKPiArICAgICAgIGlmICghaW5wdXRfZm10cykKPiArICAgICAgICAgICAgICAgcmV0dXJuIE5V TEw7Cj4gKwo+ICsgICAgICAgKm51bV9pbnB1dF9mbXRzID0gMTsKPiArICAgICAgIGlucHV0X2Zt dHNbMF0gPSBNRURJQV9CVVNfRk1UX1JHQjg4OF8xWDI0OwoKaXQgc2VlbXMgdGhhdCBNQVhfSU5Q VVRfU0VMX0ZPUk1BVFMgaGFzIG5vIGluZmx1ZW5jZSBoZXJlLiBNYXliZSBqdXN0CnJlbW92ZSBN QVhfSU5QVVRfU0VMX0ZPUk1BVFMsIG9yIHlvdSBzaG91bGQgaGF2ZSBmbGV4aWJpbGl0eSBoZXJl IGZvcgpkaWZmZXJlbnQgTUFYX0lOUFVUX1NFTF9GT1JNQVRTIHZhbHVlLgoKPiArCj4gKyAgICAg ICByZXR1cm4gaW5wdXRfZm10czsKPiArfQo+ICsKPiArc3RhdGljIGludCBtdGtfZHBpX2JyaWRn ZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2JyaWRnZV9zdGF0ZSAqYnJpZGdl X3N0YXRlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKPiArewo+ ICsgICAgICAgc3RydWN0IG10a19kcGkgKmRwaSA9IGJyaWRnZS0+ZHJpdmVyX3ByaXZhdGU7Cj4g KyAgICAgICB1bnNpZ25lZCBpbnQgb3V0X2J1c19mb3JtYXQ7Cj4gKwo+ICsgICAgICAgb3V0X2J1 c19mb3JtYXQgPSBicmlkZ2Vfc3RhdGUtPm91dHB1dF9idXNfY2ZnLmZvcm1hdDsKPiArCj4gKyAg ICAgICBkZXZfZGJnKGRwaS0+ZGV2LCAiaW5wdXQgZm9ybWF0IDB4JTA0eCwgb3V0cHV0IGZvcm1h dCAweCUwNHhcbiIsCj4gKyAgICAgICAgICAgICAgIGJyaWRnZV9zdGF0ZS0+aW5wdXRfYnVzX2Nm Zy5mb3JtYXQsCj4gKyAgICAgICAgICAgICAgIGJyaWRnZV9zdGF0ZS0+b3V0cHV0X2J1c19jZmcu Zm9ybWF0KTsKPiArCj4gKyAgICAgICBkcGktPmRkcl9lZGdlX3NlbCA9IChvdXRfYnVzX2Zvcm1h dCA9PSBNRURJQV9CVVNfRk1UX1JHQjg4OF8yWDEyX0xFKSA/Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgdHJ1ZSA6IGZhbHNlOwoKZHBpLT5vdXRwdXRfZm10ID0gb3V0X2J1c19mb3JtYXQ7 CgpSZWdhcmRzLApDaHVuLUt1YW5nLgoKPiArCj4gKyAgICAgICBkcGktPmJpdF9udW0gPSBNVEtf RFBJX09VVF9CSVRfTlVNXzhCSVRTOwo+ICsgICAgICAgZHBpLT5jaGFubmVsX3N3YXAgPSBNVEtf RFBJX09VVF9DSEFOTkVMX1NXQVBfUkdCOwo+ICsgICAgICAgZHBpLT55Y19tYXAgPSBNVEtfRFBJ X09VVF9ZQ19NQVBfUkdCOwo+ICsgICAgICAgZHBpLT5jb2xvcl9mb3JtYXQgPSBNVEtfRFBJX0NP TE9SX0ZPUk1BVF9SR0I7Cj4gKwo+ICsgICAgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gIHN0YXRp YyBpbnQgbXRrX2RwaV9icmlkZ2VfYXR0YWNoKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBkcm1fYnJpZGdlX2F0dGFjaF9m bGFncyBmbGFncykKPiAgewo+IEBAIC01OTIsNiArNjU5LDEyIEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZHJtX2JyaWRnZV9mdW5jcyBtdGtfZHBpX2JyaWRnZV9mdW5jcyA9IHsKPiAgICAgICAgIC5t b2RlX3ZhbGlkID0gbXRrX2RwaV9icmlkZ2VfbW9kZV92YWxpZCwKPiAgICAgICAgIC5kaXNhYmxl ID0gbXRrX2RwaV9icmlkZ2VfZGlzYWJsZSwKPiAgICAgICAgIC5lbmFibGUgPSBtdGtfZHBpX2Jy aWRnZV9lbmFibGUsCj4gKyAgICAgICAuYXRvbWljX2NoZWNrID0gbXRrX2RwaV9icmlkZ2VfYXRv bWljX2NoZWNrLAo+ICsgICAgICAgLmF0b21pY19nZXRfb3V0cHV0X2J1c19mbXRzID0gbXRrX2Rw aV9icmlkZ2VfYXRvbWljX2dldF9vdXRwdXRfYnVzX2ZtdHMsCj4gKyAgICAgICAuYXRvbWljX2dl dF9pbnB1dF9idXNfZm10cyA9IG10a19kcGlfYnJpZGdlX2F0b21pY19nZXRfaW5wdXRfYnVzX2Zt dHMsCj4gKyAgICAgICAuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVy X2JyaWRnZV9kdXBsaWNhdGVfc3RhdGUsCj4gKyAgICAgICAuYXRvbWljX2Rlc3Ryb3lfc3RhdGUg PSBkcm1fYXRvbWljX2hlbHBlcl9icmlkZ2VfZGVzdHJveV9zdGF0ZSwKPiArICAgICAgIC5hdG9t aWNfcmVzZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9icmlkZ2VfcmVzZXQsCj4gIH07Cj4KPiAgdm9p ZCBtdGtfZHBpX3N0YXJ0KHN0cnVjdCBkZXZpY2UgKmRldikKPiBAQCAtNjM4LDExICs3MTEsNiBA QCBzdGF0aWMgaW50IG10a19kcGlfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZp Y2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKPiAgICAgICAgIH0KPiAgICAgICAgIGRybV9jb25uZWN0 b3JfYXR0YWNoX2VuY29kZXIoZHBpLT5jb25uZWN0b3IsICZkcGktPmVuY29kZXIpOwo+Cj4gLSAg ICAgICBkcGktPmJpdF9udW0gPSBNVEtfRFBJX09VVF9CSVRfTlVNXzhCSVRTOwo+IC0gICAgICAg ZHBpLT5jaGFubmVsX3N3YXAgPSBNVEtfRFBJX09VVF9DSEFOTkVMX1NXQVBfUkdCOwo+IC0gICAg ICAgZHBpLT55Y19tYXAgPSBNVEtfRFBJX09VVF9ZQ19NQVBfUkdCOwo+IC0gICAgICAgZHBpLT5j b2xvcl9mb3JtYXQgPSBNVEtfRFBJX0NPTE9SX0ZPUk1BVF9SR0I7Cj4gLQo+ICAgICAgICAgcmV0 dXJuIDA7Cj4KPiAgZXJyX2NsZWFudXA6Cj4gLS0KPiAyLjE4LjAKPgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtbWVkaWF0ZWsgbWFpbGluZyBs aXN0CkxpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJh ZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1tZWRpYXRlawo= 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.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, 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 C7D14C47087 for ; Wed, 26 May 2021 03:00:56 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8C618613F5 for ; Wed, 26 May 2021 03:00:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8C618613F5 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=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc: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=tLsIxD0gYPNxa6jSTkvnGs/1+deCgZ4I0s1TVbBi048=; b=3jbukuOxbvQ8ik NFTnP+uvzAQ5rypjb+DYL4T/zwKxDxh/4DnBYsyH+wwtD7LSKdsqc6hFVvql+eJaBAGIZjPn+Kh+8 6FsDShMEzKTrQJG71VXyH1XxBowbhDG/I2bKZmkKWIXkZ0Dsch2kMWEduzUdjuVo+B6FhtWsfI/3U HCZhizS8cEB7aw/w+amX8z6PohG9K0+QBpB9bcYBSEn7fzNOy0EqOtyRb9o0vhGblQbMCZwT6GKmR fzXurwLbXa0LlqEgZf7ynJrD9FnwcVN/OMrbkKixMN7fT168jqhc+r4VXOKmA2k75sAQNnkcL0tlw XLI/0pLbF6oRS9D8CFrQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lljlW-00AMTT-PF; Wed, 26 May 2021 02:59:27 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lljlR-00AMQN-Sx; Wed, 26 May 2021 02:59:23 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3872D61429; Wed, 26 May 2021 02:59:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1621997961; bh=1Vi1ujoloi31h2fuTBqvWFO8m+MME1+FdhmIe/4hQ+Y=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=rKedvANRVrz37/9gpYWlfiBK7yVOGeM0429Ejkiwleu2mHk+u6mehxhp+HP47ai6o Jcb08As80Q5nwvnuzXIW0dqV1U/A48EoRCzmZzWvUA66GZ4Hfbhp1VYJE49TqTuFUL +vZzZCP55y1p8IFnuKQNENTXelhvL7bD3bl39smTpD78nMypnQokwFVq0il+GXUNDz TjRO0xBrHlQjXDzw7nxx2k0yBravJNuAirYM/tw5mpTu/8UuokV+7QsKNo3CXmZgZd BCIpYBBASb/a/tQsnx32eIafMDgNYp2ecC9g59eAAv+qMMVHab7O/NVXa8M/ED0RsY jhJcKM2Fl1fcA== Received: by mail-ej1-f45.google.com with SMTP id k14so91787eji.2; Tue, 25 May 2021 19:59:21 -0700 (PDT) X-Gm-Message-State: AOAM5306kw3yscrISxlv7PEBdmYqcnWEB28185aek2Eb7kP0Nbg/+aLx V7URs56g8iE3O9pJiJ+iUqC4dRwc87Up4tab6g== X-Google-Smtp-Source: ABdhPJxTpRaVAcS1iQ8JUak5Isj5SZ8WTpbasCnC3NVQg5nTUIZ8my96cmr6BjhE3jH3wnSKPus1KvnkztIiaHs+46Q= X-Received: by 2002:a17:907:1ca1:: with SMTP id nb33mr31304670ejc.75.1621997959809; Tue, 25 May 2021 19:59:19 -0700 (PDT) MIME-Version: 1.0 References: <20210525121448.30075-1-rex-bc.chen@mediatek.com> <20210525121448.30075-4-rex-bc.chen@mediatek.com> In-Reply-To: <20210525121448.30075-4-rex-bc.chen@mediatek.com> From: Chun-Kuang Hu Date: Wed, 26 May 2021 10:59:09 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [v4,PATCH 3/3] drm/mediatek: dpi: add bus format negotiation To: Rex-BC Chen Cc: Chun-Kuang Hu , Matthias Brugger , DTML , Linux ARM , "moderated list:ARM/Mediatek SoC support" , linux-kernel , Project_Global_Chrome_Upstream_Group@mediatek.com, Jitao Shi X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210525_195922_002538_3559AE22 X-CRM114-Status: GOOD ( 20.88 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGksIFJleDoKClJleC1CQyBDaGVuIDxyZXgtYmMuY2hlbkBtZWRpYXRlay5jb20+IOaWvCAyMDIx 5bm0NeaciDI15pelIOmAseS6jCDkuIvljYg4OjE15a+r6YGT77yaCj4KPiBBZGQgdGhlIGF0b21p Y19nZXRfb3V0cHV0X2J1c19mbXRzLCBhdG9taWNfZ2V0X2lucHV0X2J1c19mbXRzIHRvIG5lZ290 aWF0ZQo+IHRoZSBwb3NzaWJsZSBvdXRwdXQgYW5kIGlucHV0IGZvcm1hdHMgZm9yIHRoZSBjdXJy ZW50IG1vZGUgYW5kIG1vbml0b3IsCj4gYW5kIHVzZSB0aGUgbmVnb3RpYXRlZCBmb3JtYXRzIGlu IGEgYmFzaWMgYXRvbWljX2NoZWNrIGNhbGxiYWNrLgo+Cj4gU2lnbmVkLW9mZi1ieTogSml0YW8g U2hpIDxqaXRhby5zaGlAbWVkaWF0ZWsuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFJleC1CQyBDaGVu IDxyZXgtYmMuY2hlbkBtZWRpYXRlay5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHBpLmMgfCA3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPiAgMSBm aWxlIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcGkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZHBpLmMKPiBpbmRleCBkNmE0MjI5ODZlZmMuLjY2N2E5NzQ3MDM4OSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RwaS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcGkuYwo+IEBAIC01NDAsNiArNTQwLDczIEBA IHN0YXRpYyBpbnQgbXRrX2RwaV9zZXRfZGlzcGxheV9tb2RlKHN0cnVjdCBtdGtfZHBpICpkcGks Cj4gICAgICAgICByZXR1cm4gMDsKPiAgfQo+Cj4gK3N0YXRpYyB1MzIgKm10a19kcGlfYnJpZGdl X2F0b21pY19nZXRfb3V0cHV0X2J1c19mbXRzKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fYnJpZGdl X3N0YXRlICpicmlkZ2Vfc3RhdGUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNv bm5fc3RhdGUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGludCAqbnVtX291dHB1dF9mbXRzKQo+ICt7Cj4gKyAgICAgICBzdHJ1Y3QgbXRrX2RwaSAq ZHBpID0gYnJpZGdlX3RvX2RwaShicmlkZ2UpOwo+ICsKPiArICAgICAgICpudW1fb3V0cHV0X2Zt dHMgPSAwOwo+ICsKPiArICAgICAgIGlmICghZHBpLT5jb25mLT5vdXRwdXRfZm10cykKCnByaW50 IGVycm9yIGhlcmUgYmVjYXVzZSB0aGlzIHNob3VsZCBub3QgaGFwcGVuLgoKPiArICAgICAgICAg ICAgICAgcmV0dXJuIE5VTEw7Cj4gKwo+ICsgICAgICAgKm51bV9vdXRwdXRfZm10cyA9IGRwaS0+ Y29uZi0+bnVtX291dHB1dF9mbXRzOwo+ICsKPiArICAgICAgIHJldHVybiAodTMyICopZHBpLT5j b25mLT5vdXRwdXRfZm10czsKCkkgdGhpbmsgeW91IHNob3VsZCBhbGxvY2F0ZSBuZXcgYnVmZmVy IGZvciBvdXRwdXRfZm10cyBiZWNhdXNlIHRoZQpjYWxsZXIgd291bGQgZnJlZSBpdC4KCj4gK30K PiArCj4gKyNkZWZpbmUgTUFYX0lOUFVUX1NFTF9GT1JNQVRTICAxCj4gKwo+ICtzdGF0aWMgdTMy ICptdGtfZHBpX2JyaWRnZV9hdG9taWNfZ2V0X2lucHV0X2J1c19mbXRzKHN0cnVjdCBkcm1fYnJp ZGdlICpicmlkZ2UsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBkcm1fYnJpZGdlX3N0YXRlICpicmlkZ2Vfc3RhdGUsCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9jb25u ZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHUzMiBvdXRwdXRfZm10LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBpbnQgKm51bV9pbnB1dF9mbXRzKQo+ICt7Cj4gKyAgICAgICB1 MzIgKmlucHV0X2ZtdHM7Cj4gKwo+ICsgICAgICAgKm51bV9pbnB1dF9mbXRzID0gMDsKPiArCj4g KyAgICAgICBpbnB1dF9mbXRzID0ga2NhbGxvYyhNQVhfSU5QVVRfU0VMX0ZPUk1BVFMsIHNpemVv ZigqaW5wdXRfZm10cyksCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRlBfS0VSTkVM KTsKPiArICAgICAgIGlmICghaW5wdXRfZm10cykKPiArICAgICAgICAgICAgICAgcmV0dXJuIE5V TEw7Cj4gKwo+ICsgICAgICAgKm51bV9pbnB1dF9mbXRzID0gMTsKPiArICAgICAgIGlucHV0X2Zt dHNbMF0gPSBNRURJQV9CVVNfRk1UX1JHQjg4OF8xWDI0OwoKaXQgc2VlbXMgdGhhdCBNQVhfSU5Q VVRfU0VMX0ZPUk1BVFMgaGFzIG5vIGluZmx1ZW5jZSBoZXJlLiBNYXliZSBqdXN0CnJlbW92ZSBN QVhfSU5QVVRfU0VMX0ZPUk1BVFMsIG9yIHlvdSBzaG91bGQgaGF2ZSBmbGV4aWJpbGl0eSBoZXJl IGZvcgpkaWZmZXJlbnQgTUFYX0lOUFVUX1NFTF9GT1JNQVRTIHZhbHVlLgoKPiArCj4gKyAgICAg ICByZXR1cm4gaW5wdXRfZm10czsKPiArfQo+ICsKPiArc3RhdGljIGludCBtdGtfZHBpX2JyaWRn ZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2JyaWRnZV9zdGF0ZSAqYnJpZGdl X3N0YXRlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKPiArewo+ ICsgICAgICAgc3RydWN0IG10a19kcGkgKmRwaSA9IGJyaWRnZS0+ZHJpdmVyX3ByaXZhdGU7Cj4g KyAgICAgICB1bnNpZ25lZCBpbnQgb3V0X2J1c19mb3JtYXQ7Cj4gKwo+ICsgICAgICAgb3V0X2J1 c19mb3JtYXQgPSBicmlkZ2Vfc3RhdGUtPm91dHB1dF9idXNfY2ZnLmZvcm1hdDsKPiArCj4gKyAg ICAgICBkZXZfZGJnKGRwaS0+ZGV2LCAiaW5wdXQgZm9ybWF0IDB4JTA0eCwgb3V0cHV0IGZvcm1h dCAweCUwNHhcbiIsCj4gKyAgICAgICAgICAgICAgIGJyaWRnZV9zdGF0ZS0+aW5wdXRfYnVzX2Nm Zy5mb3JtYXQsCj4gKyAgICAgICAgICAgICAgIGJyaWRnZV9zdGF0ZS0+b3V0cHV0X2J1c19jZmcu Zm9ybWF0KTsKPiArCj4gKyAgICAgICBkcGktPmRkcl9lZGdlX3NlbCA9IChvdXRfYnVzX2Zvcm1h dCA9PSBNRURJQV9CVVNfRk1UX1JHQjg4OF8yWDEyX0xFKSA/Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgdHJ1ZSA6IGZhbHNlOwoKZHBpLT5vdXRwdXRfZm10ID0gb3V0X2J1c19mb3JtYXQ7 CgpSZWdhcmRzLApDaHVuLUt1YW5nLgoKPiArCj4gKyAgICAgICBkcGktPmJpdF9udW0gPSBNVEtf RFBJX09VVF9CSVRfTlVNXzhCSVRTOwo+ICsgICAgICAgZHBpLT5jaGFubmVsX3N3YXAgPSBNVEtf RFBJX09VVF9DSEFOTkVMX1NXQVBfUkdCOwo+ICsgICAgICAgZHBpLT55Y19tYXAgPSBNVEtfRFBJ X09VVF9ZQ19NQVBfUkdCOwo+ICsgICAgICAgZHBpLT5jb2xvcl9mb3JtYXQgPSBNVEtfRFBJX0NP TE9SX0ZPUk1BVF9SR0I7Cj4gKwo+ICsgICAgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gIHN0YXRp YyBpbnQgbXRrX2RwaV9icmlkZ2VfYXR0YWNoKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBkcm1fYnJpZGdlX2F0dGFjaF9m bGFncyBmbGFncykKPiAgewo+IEBAIC01OTIsNiArNjU5LDEyIEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZHJtX2JyaWRnZV9mdW5jcyBtdGtfZHBpX2JyaWRnZV9mdW5jcyA9IHsKPiAgICAgICAgIC5t b2RlX3ZhbGlkID0gbXRrX2RwaV9icmlkZ2VfbW9kZV92YWxpZCwKPiAgICAgICAgIC5kaXNhYmxl ID0gbXRrX2RwaV9icmlkZ2VfZGlzYWJsZSwKPiAgICAgICAgIC5lbmFibGUgPSBtdGtfZHBpX2Jy aWRnZV9lbmFibGUsCj4gKyAgICAgICAuYXRvbWljX2NoZWNrID0gbXRrX2RwaV9icmlkZ2VfYXRv bWljX2NoZWNrLAo+ICsgICAgICAgLmF0b21pY19nZXRfb3V0cHV0X2J1c19mbXRzID0gbXRrX2Rw aV9icmlkZ2VfYXRvbWljX2dldF9vdXRwdXRfYnVzX2ZtdHMsCj4gKyAgICAgICAuYXRvbWljX2dl dF9pbnB1dF9idXNfZm10cyA9IG10a19kcGlfYnJpZGdlX2F0b21pY19nZXRfaW5wdXRfYnVzX2Zt dHMsCj4gKyAgICAgICAuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVy X2JyaWRnZV9kdXBsaWNhdGVfc3RhdGUsCj4gKyAgICAgICAuYXRvbWljX2Rlc3Ryb3lfc3RhdGUg PSBkcm1fYXRvbWljX2hlbHBlcl9icmlkZ2VfZGVzdHJveV9zdGF0ZSwKPiArICAgICAgIC5hdG9t aWNfcmVzZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9icmlkZ2VfcmVzZXQsCj4gIH07Cj4KPiAgdm9p ZCBtdGtfZHBpX3N0YXJ0KHN0cnVjdCBkZXZpY2UgKmRldikKPiBAQCAtNjM4LDExICs3MTEsNiBA QCBzdGF0aWMgaW50IG10a19kcGlfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZp Y2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKPiAgICAgICAgIH0KPiAgICAgICAgIGRybV9jb25uZWN0 b3JfYXR0YWNoX2VuY29kZXIoZHBpLT5jb25uZWN0b3IsICZkcGktPmVuY29kZXIpOwo+Cj4gLSAg ICAgICBkcGktPmJpdF9udW0gPSBNVEtfRFBJX09VVF9CSVRfTlVNXzhCSVRTOwo+IC0gICAgICAg ZHBpLT5jaGFubmVsX3N3YXAgPSBNVEtfRFBJX09VVF9DSEFOTkVMX1NXQVBfUkdCOwo+IC0gICAg ICAgZHBpLT55Y19tYXAgPSBNVEtfRFBJX09VVF9ZQ19NQVBfUkdCOwo+IC0gICAgICAgZHBpLT5j b2xvcl9mb3JtYXQgPSBNVEtfRFBJX0NPTE9SX0ZPUk1BVF9SR0I7Cj4gLQo+ICAgICAgICAgcmV0 dXJuIDA7Cj4KPiAgZXJyX2NsZWFudXA6Cj4gLS0KPiAyLjE4LjAKPgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5n IGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5p bmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=