From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7933EC43217 for ; Wed, 27 Oct 2021 23:32:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 60D08610FD for ; Wed, 27 Oct 2021 23:32:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229752AbhJ0XfQ (ORCPT ); Wed, 27 Oct 2021 19:35:16 -0400 Received: from mail.kernel.org ([198.145.29.99]:40858 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229641AbhJ0XfI (ORCPT ); Wed, 27 Oct 2021 19:35:08 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 6742E610E5 for ; Wed, 27 Oct 2021 23:32:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1635377562; bh=h/QosSb1AiNjIDxRRILEsu6IVn9iCcA9Kxa7rzirf1c=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=itQ2rhrDco0wcvN1m3TqCkr93Tm5iWFGf5nBGZmEpvMJkYcbwFr3+yPkzkpRmA3UH sYsIlUQDYr+wGB72AeJYSBcK/yDQf5Zwr6t5N9Kc3Kgrcyfx9Ca1TO19Ce46LnBrzz 4dfkhOXF6NLEbnTxdYwhOSgxSP05YHx6S/MlirMIc6Qil63dfxpnrKdNRpTxtu4Rih hyL9xnn6iSaLdGmIUinYhTPaNbieXxKpx0GI1bkklp7d4IoO72ldim00StR5V4cR60 IiMeAtYVYaYxMZ6VsiU/uVIeIDREOnkRDKrqdG99KPfYnMd69Bdp2JFK0SF5pWDewR hgIizo23IKfSw== Received: by mail-ed1-f54.google.com with SMTP id s1so17071506edd.3 for ; Wed, 27 Oct 2021 16:32:42 -0700 (PDT) X-Gm-Message-State: AOAM533irYfNILi2fugPCR5mjcNBHPRxpHSeRwniA50U5U7F29i3+NNx ulCNCjiuBOShl4QC9jyI58ilK8Vsr1BJDo/B7Q== X-Google-Smtp-Source: ABdhPJyMRUJ6IP9f5g/n4+J3+qpKUfYpNE0971UIF665toNlo+aUYjravlC+mqusyjvzhWYcZthlo/Yh60V0esfzkxk= X-Received: by 2002:aa7:c40c:: with SMTP id j12mr1252820edq.224.1635377560826; Wed, 27 Oct 2021 16:32:40 -0700 (PDT) MIME-Version: 1.0 References: <20211027021857.20816-1-jason-jh.lin@mediatek.com> <20211027021857.20816-5-jason-jh.lin@mediatek.com> In-Reply-To: <20211027021857.20816-5-jason-jh.lin@mediatek.com> From: Chun-Kuang Hu Date: Thu, 28 Oct 2021 07:32:29 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v5 4/6] drm/mediatek: Add cmdq_handle in mtk_crtc To: "jason-jh.lin" Cc: Chun-Kuang Hu , Philipp Zabel , Matthias Brugger , Jassi Brar , Yongqiang Niu , David Airlie , Daniel Vetter , DRI Development , "moderated list:ARM/Mediatek SoC support" , Linux ARM , linux-kernel , Hsin-Yi Wang , fshao@chromium.org, Nancy Lin , singo.chang@mediatek.com 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, Jason: jason-jh.lin =E6=96=BC 2021=E5=B9=B410=E6=9C=88= 27=E6=97=A5 =E9=80=B1=E4=B8=89 =E4=B8=8A=E5=8D=8810:19=E5=AF=AB=E9=81=93=EF= =BC=9A > > From: Chun-Kuang Hu > > One mtk_crtc need just one cmdq_handle, so add one cmdq_handle > in mtk_crtc to prevent frequently allocation and free of > cmdq_handle. Reviewed-by: Chun-Kuang Hu > > Signed-off-by: Chun-Kuang Hu > Signed-off-by: jason-jh.lin > --- > drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 62 +++++++++++++++++++++++-- > 1 file changed, 57 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/me= diatek/mtk_drm_crtc.c > index dad1f85ee315..ffa54b416ca7 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > @@ -53,6 +53,7 @@ struct mtk_drm_crtc { > > #if IS_REACHABLE(CONFIG_MTK_CMDQ) > struct cmdq_client cmdq_client; > + struct cmdq_pkt cmdq_handle; > u32 cmdq_event; > u32 cmdq_vblank_cnt; > #endif > @@ -107,12 +108,55 @@ static void mtk_drm_finish_page_flip(struct mtk_drm= _crtc *mtk_crtc) > } > } > > +#if IS_REACHABLE(CONFIG_MTK_CMDQ) > +static int mtk_drm_cmdq_pkt_create(struct cmdq_client *client, struct cm= dq_pkt *pkt, > + size_t size) > +{ > + struct device *dev; > + dma_addr_t dma_addr; > + > + pkt->va_base =3D kzalloc(size, GFP_KERNEL); > + if (!pkt->va_base) { > + kfree(pkt); > + return -ENOMEM; > + } > + pkt->buf_size =3D size; > + pkt->cl =3D (void *)client; > + > + dev =3D client->chan->mbox->dev; > + dma_addr =3D dma_map_single(dev, pkt->va_base, pkt->buf_size, > + DMA_TO_DEVICE); > + if (dma_mapping_error(dev, dma_addr)) { > + dev_err(dev, "dma map failed, size=3D%u\n", (u32)(u64)siz= e); > + kfree(pkt->va_base); > + kfree(pkt); > + return -ENOMEM; > + } > + > + pkt->pa_base =3D dma_addr; > + > + return 0; > +} > + > +static void mtk_drm_cmdq_pkt_destroy(struct cmdq_pkt *pkt) > +{ > + struct cmdq_client *client =3D (struct cmdq_client *)pkt->cl; > + > + dma_unmap_single(client->chan->mbox->dev, pkt->pa_base, pkt->buf_= size, > + DMA_TO_DEVICE); > + kfree(pkt->va_base); > + kfree(pkt); > +} > +#endif > + > static void mtk_drm_crtc_destroy(struct drm_crtc *crtc) > { > struct mtk_drm_crtc *mtk_crtc =3D to_mtk_crtc(crtc); > > mtk_mutex_put(mtk_crtc->mutex); > - > +#if IS_REACHABLE(CONFIG_MTK_CMDQ) > + mtk_drm_cmdq_pkt_destroy(&mtk_crtc->cmdq_handle); > +#endif > drm_crtc_cleanup(crtc); > } > > @@ -227,12 +271,10 @@ struct mtk_ddp_comp *mtk_drm_ddp_comp_for_plane(str= uct drm_crtc *crtc, > #if IS_REACHABLE(CONFIG_MTK_CMDQ) > static void ddp_cmdq_cb(struct mbox_client *cl, void *mssg) > { > - struct cmdq_cb_data *data =3D mssg; > struct cmdq_client *cmdq_cl =3D container_of(cl, struct cmdq_clie= nt, client); > struct mtk_drm_crtc *mtk_crtc =3D container_of(cmdq_cl, struct mt= k_drm_crtc, cmdq_client); > > mtk_crtc->cmdq_vblank_cnt =3D 0; > - cmdq_pkt_destroy(data->pkt); > } > #endif > > @@ -438,7 +480,7 @@ static void mtk_drm_crtc_update_config(struct mtk_drm= _crtc *mtk_crtc, > bool needs_vblank) > { > #if IS_REACHABLE(CONFIG_MTK_CMDQ) > - struct cmdq_pkt *cmdq_handle; > + struct cmdq_pkt *cmdq_handle =3D &mtk_crtc->cmdq_handle; > #endif > struct drm_crtc *crtc =3D &mtk_crtc->base; > struct mtk_drm_private *priv =3D crtc->dev->dev_private; > @@ -478,7 +520,7 @@ static void mtk_drm_crtc_update_config(struct mtk_drm= _crtc *mtk_crtc, > #if IS_REACHABLE(CONFIG_MTK_CMDQ) > if (mtk_crtc->cmdq_client.chan) { > mbox_flush(mtk_crtc->cmdq_client.chan, 2000); > - cmdq_handle =3D cmdq_pkt_create(&mtk_crtc->cmdq_client, P= AGE_SIZE); > + cmdq_handle->cmd_buf_size =3D 0; > cmdq_pkt_clear_event(cmdq_handle, mtk_crtc->cmdq_event); > cmdq_pkt_wfe(cmdq_handle, mtk_crtc->cmdq_event, false); > mtk_crtc_ddp_config(crtc, cmdq_handle); > @@ -877,6 +919,16 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev, > drm_crtc_index(&mtk_crtc->base)); > mbox_free_channel(mtk_crtc->cmdq_client.chan); > mtk_crtc->cmdq_client.chan =3D NULL; > + } else { > + ret =3D mtk_drm_cmdq_pkt_create(&mtk_crtc->cmdq_c= lient, > + &mtk_crtc->cmdq_han= dle, > + PAGE_SIZE); > + if (ret) { > + dev_dbg(dev, "mtk_crtc %d failed to creat= e cmdq packet\n", > + drm_crtc_index(&mtk_crtc->base)); > + mbox_free_channel(mtk_crtc->cmdq_client.c= han); > + mtk_crtc->cmdq_client.chan =3D NULL; > + } > } > } > #endif > -- > 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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C6FB3C433EF for ; Wed, 27 Oct 2021 23:33:06 +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 902FA60EFF for ; Wed, 27 Oct 2021 23:33:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 902FA60EFF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=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=Xr0rkTXRIbXeFtysB0gLMANzUbosW8yBSIiOq2LMoSg=; b=C+JCrW7YUOxA81 xKzjGsBFCYeEPE09mu7oEfgT3RvUFQOaPJ4P1qnARnat1vY9iMVmjdqmOM9XTKnLFM1BmQLj1dbt8 ueDil67nttnH1A+2JaQMxYtuBRjYbee+zhE7GdA7sjZXYMqOBWHrWL3+9XjJfT38/G+zw2Uj6hVmS UPW1vEbV+5mCflwEV8b8DddKrs/h99MAsv2rp9UYSVhak5xJNU8MxInQ+yTsJvxinh3+LDoA9d/L6 H0MUq5cHcLyIK012IBOLt1AGOuBPz5zTtX8PmTT/lA5QRqR+zgf5BzFIdeBr1smQSgAn1ufi6s64T 94blaK5PXdC8j91MdNFQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mfsPf-006UiY-TD; Wed, 27 Oct 2021 23:32:55 +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 1mfsPS-006Udm-Pd; Wed, 27 Oct 2021 23:32:44 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 79D90610FD; Wed, 27 Oct 2021 23:32:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1635377562; bh=h/QosSb1AiNjIDxRRILEsu6IVn9iCcA9Kxa7rzirf1c=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=itQ2rhrDco0wcvN1m3TqCkr93Tm5iWFGf5nBGZmEpvMJkYcbwFr3+yPkzkpRmA3UH sYsIlUQDYr+wGB72AeJYSBcK/yDQf5Zwr6t5N9Kc3Kgrcyfx9Ca1TO19Ce46LnBrzz 4dfkhOXF6NLEbnTxdYwhOSgxSP05YHx6S/MlirMIc6Qil63dfxpnrKdNRpTxtu4Rih hyL9xnn6iSaLdGmIUinYhTPaNbieXxKpx0GI1bkklp7d4IoO72ldim00StR5V4cR60 IiMeAtYVYaYxMZ6VsiU/uVIeIDREOnkRDKrqdG99KPfYnMd69Bdp2JFK0SF5pWDewR hgIizo23IKfSw== Received: by mail-ed1-f53.google.com with SMTP id r4so16522787edi.5; Wed, 27 Oct 2021 16:32:42 -0700 (PDT) X-Gm-Message-State: AOAM5302Jb9QjaEiIOXyKkFKpsJa5SBSlJ4G64gGPIGuPsLq8YADL13n QC+UY58bmTKuqEUxoLRo1F+pNmeQr5fhi3TpOA== X-Google-Smtp-Source: ABdhPJyMRUJ6IP9f5g/n4+J3+qpKUfYpNE0971UIF665toNlo+aUYjravlC+mqusyjvzhWYcZthlo/Yh60V0esfzkxk= X-Received: by 2002:aa7:c40c:: with SMTP id j12mr1252820edq.224.1635377560826; Wed, 27 Oct 2021 16:32:40 -0700 (PDT) MIME-Version: 1.0 References: <20211027021857.20816-1-jason-jh.lin@mediatek.com> <20211027021857.20816-5-jason-jh.lin@mediatek.com> In-Reply-To: <20211027021857.20816-5-jason-jh.lin@mediatek.com> From: Chun-Kuang Hu Date: Thu, 28 Oct 2021 07:32:29 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v5 4/6] drm/mediatek: Add cmdq_handle in mtk_crtc To: "jason-jh.lin" Cc: Chun-Kuang Hu , Philipp Zabel , Matthias Brugger , Jassi Brar , Yongqiang Niu , David Airlie , Daniel Vetter , DRI Development , "moderated list:ARM/Mediatek SoC support" , Linux ARM , linux-kernel , Hsin-Yi Wang , fshao@chromium.org, Nancy Lin , singo.chang@mediatek.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211027_163242_896132_3FD739BA X-CRM114-Status: GOOD ( 19.55 ) 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 SGksIEphc29uOgoKamFzb24tamgubGluIDxqYXNvbi1qaC5saW5AbWVkaWF0ZWsuY29tPiDmlrwg MjAyMeW5tDEw5pyIMjfml6Ug6YCx5LiJIOS4iuWNiDEwOjE55a+r6YGT77yaCj4KPiBGcm9tOiBD aHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2VybmVsLm9yZz4KPgo+IE9uZSBtdGtfY3J0YyBu ZWVkIGp1c3Qgb25lIGNtZHFfaGFuZGxlLCBzbyBhZGQgb25lIGNtZHFfaGFuZGxlCj4gaW4gbXRr X2NydGMgdG8gcHJldmVudCBmcmVxdWVudGx5IGFsbG9jYXRpb24gYW5kIGZyZWUgb2YKPiBjbWRx X2hhbmRsZS4KClJldmlld2VkLWJ5OiBDaHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2VybmVs Lm9yZz4KCj4KPiBTaWduZWQtb2ZmLWJ5OiBDaHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2Vy bmVsLm9yZz4KPiBTaWduZWQtb2ZmLWJ5OiBqYXNvbi1qaC5saW4gPGphc29uLWpoLmxpbkBtZWRp YXRlay5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMu YyB8IDYyICsrKysrKysrKysrKysrKysrKysrKysrLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDU3IGlu c2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fY3J0Yy5jCj4gaW5kZXggZGFkMWY4NWVlMzE1Li5mZmE1NGI0MTZjYTcgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jCj4gQEAgLTUzLDYgKzUzLDcgQEAg c3RydWN0IG10a19kcm1fY3J0YyB7Cj4KPiAgI2lmIElTX1JFQUNIQUJMRShDT05GSUdfTVRLX0NN RFEpCj4gICAgICAgICBzdHJ1Y3QgY21kcV9jbGllbnQgICAgICAgICAgICAgIGNtZHFfY2xpZW50 Owo+ICsgICAgICAgc3RydWN0IGNtZHFfcGt0ICAgICAgICAgICAgICAgICBjbWRxX2hhbmRsZTsK PiAgICAgICAgIHUzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY21kcV9ldmVudDsKPiAg ICAgICAgIHUzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY21kcV92YmxhbmtfY250Owo+ ICAjZW5kaWYKPiBAQCAtMTA3LDEyICsxMDgsNTUgQEAgc3RhdGljIHZvaWQgbXRrX2RybV9maW5p c2hfcGFnZV9mbGlwKHN0cnVjdCBtdGtfZHJtX2NydGMgKm10a19jcnRjKQo+ICAgICAgICAgfQo+ ICB9Cj4KPiArI2lmIElTX1JFQUNIQUJMRShDT05GSUdfTVRLX0NNRFEpCj4gK3N0YXRpYyBpbnQg bXRrX2RybV9jbWRxX3BrdF9jcmVhdGUoc3RydWN0IGNtZHFfY2xpZW50ICpjbGllbnQsIHN0cnVj dCBjbWRxX3BrdCAqcGt0LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6 ZV90IHNpemUpCj4gK3sKPiArICAgICAgIHN0cnVjdCBkZXZpY2UgKmRldjsKPiArICAgICAgIGRt YV9hZGRyX3QgZG1hX2FkZHI7Cj4gKwo+ICsgICAgICAgcGt0LT52YV9iYXNlID0ga3phbGxvYyhz aXplLCBHRlBfS0VSTkVMKTsKPiArICAgICAgIGlmICghcGt0LT52YV9iYXNlKSB7Cj4gKyAgICAg ICAgICAgICAgIGtmcmVlKHBrdCk7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+ ICsgICAgICAgfQo+ICsgICAgICAgcGt0LT5idWZfc2l6ZSA9IHNpemU7Cj4gKyAgICAgICBwa3Qt PmNsID0gKHZvaWQgKiljbGllbnQ7Cj4gKwo+ICsgICAgICAgZGV2ID0gY2xpZW50LT5jaGFuLT5t Ym94LT5kZXY7Cj4gKyAgICAgICBkbWFfYWRkciA9IGRtYV9tYXBfc2luZ2xlKGRldiwgcGt0LT52 YV9iYXNlLCBwa3QtPmJ1Zl9zaXplLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBETUFfVE9fREVWSUNFKTsKPiArICAgICAgIGlmIChkbWFfbWFwcGluZ19lcnJvcihkZXYsIGRt YV9hZGRyKSkgewo+ICsgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwgImRtYSBtYXAgZmFpbGVk LCBzaXplPSV1XG4iLCAodTMyKSh1NjQpc2l6ZSk7Cj4gKyAgICAgICAgICAgICAgIGtmcmVlKHBr dC0+dmFfYmFzZSk7Cj4gKyAgICAgICAgICAgICAgIGtmcmVlKHBrdCk7Cj4gKyAgICAgICAgICAg ICAgIHJldHVybiAtRU5PTUVNOwo+ICsgICAgICAgfQo+ICsKPiArICAgICAgIHBrdC0+cGFfYmFz ZSA9IGRtYV9hZGRyOwo+ICsKPiArICAgICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMg dm9pZCBtdGtfZHJtX2NtZHFfcGt0X2Rlc3Ryb3koc3RydWN0IGNtZHFfcGt0ICpwa3QpCj4gK3sK PiArICAgICAgIHN0cnVjdCBjbWRxX2NsaWVudCAqY2xpZW50ID0gKHN0cnVjdCBjbWRxX2NsaWVu dCAqKXBrdC0+Y2w7Cj4gKwo+ICsgICAgICAgZG1hX3VubWFwX3NpbmdsZShjbGllbnQtPmNoYW4t Pm1ib3gtPmRldiwgcGt0LT5wYV9iYXNlLCBwa3QtPmJ1Zl9zaXplLAo+ICsgICAgICAgICAgICAg ICAgICAgICAgICBETUFfVE9fREVWSUNFKTsKPiArICAgICAgIGtmcmVlKHBrdC0+dmFfYmFzZSk7 Cj4gKyAgICAgICBrZnJlZShwa3QpOwo+ICt9Cj4gKyNlbmRpZgo+ICsKPiAgc3RhdGljIHZvaWQg bXRrX2RybV9jcnRjX2Rlc3Ryb3koc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICB7Cj4gICAgICAg ICBzdHJ1Y3QgbXRrX2RybV9jcnRjICptdGtfY3J0YyA9IHRvX210a19jcnRjKGNydGMpOwo+Cj4g ICAgICAgICBtdGtfbXV0ZXhfcHV0KG10a19jcnRjLT5tdXRleCk7Cj4gLQo+ICsjaWYgSVNfUkVB Q0hBQkxFKENPTkZJR19NVEtfQ01EUSkKPiArICAgICAgIG10a19kcm1fY21kcV9wa3RfZGVzdHJv eSgmbXRrX2NydGMtPmNtZHFfaGFuZGxlKTsKPiArI2VuZGlmCj4gICAgICAgICBkcm1fY3J0Y19j bGVhbnVwKGNydGMpOwo+ICB9Cj4KPiBAQCAtMjI3LDEyICsyNzEsMTAgQEAgc3RydWN0IG10a19k ZHBfY29tcCAqbXRrX2RybV9kZHBfY29tcF9mb3JfcGxhbmUoc3RydWN0IGRybV9jcnRjICpjcnRj LAo+ICAjaWYgSVNfUkVBQ0hBQkxFKENPTkZJR19NVEtfQ01EUSkKPiAgc3RhdGljIHZvaWQgZGRw X2NtZHFfY2Ioc3RydWN0IG1ib3hfY2xpZW50ICpjbCwgdm9pZCAqbXNzZykKPiAgewo+IC0gICAg ICAgc3RydWN0IGNtZHFfY2JfZGF0YSAqZGF0YSA9IG1zc2c7Cj4gICAgICAgICBzdHJ1Y3QgY21k cV9jbGllbnQgKmNtZHFfY2wgPSBjb250YWluZXJfb2YoY2wsIHN0cnVjdCBjbWRxX2NsaWVudCwg Y2xpZW50KTsKPiAgICAgICAgIHN0cnVjdCBtdGtfZHJtX2NydGMgKm10a19jcnRjID0gY29udGFp bmVyX29mKGNtZHFfY2wsIHN0cnVjdCBtdGtfZHJtX2NydGMsIGNtZHFfY2xpZW50KTsKPgo+ICAg ICAgICAgbXRrX2NydGMtPmNtZHFfdmJsYW5rX2NudCA9IDA7Cj4gLSAgICAgICBjbWRxX3BrdF9k ZXN0cm95KGRhdGEtPnBrdCk7Cj4gIH0KPiAgI2VuZGlmCj4KPiBAQCAtNDM4LDcgKzQ4MCw3IEBA IHN0YXRpYyB2b2lkIG10a19kcm1fY3J0Y191cGRhdGVfY29uZmlnKHN0cnVjdCBtdGtfZHJtX2Ny dGMgKm10a19jcnRjLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJv b2wgbmVlZHNfdmJsYW5rKQo+ICB7Cj4gICNpZiBJU19SRUFDSEFCTEUoQ09ORklHX01US19DTURR KQo+IC0gICAgICAgc3RydWN0IGNtZHFfcGt0ICpjbWRxX2hhbmRsZTsKPiArICAgICAgIHN0cnVj dCBjbWRxX3BrdCAqY21kcV9oYW5kbGUgPSAmbXRrX2NydGMtPmNtZHFfaGFuZGxlOwo+ICAjZW5k aWYKPiAgICAgICAgIHN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9ICZtdGtfY3J0Yy0+YmFzZTsKPiAg ICAgICAgIHN0cnVjdCBtdGtfZHJtX3ByaXZhdGUgKnByaXYgPSBjcnRjLT5kZXYtPmRldl9wcml2 YXRlOwo+IEBAIC00NzgsNyArNTIwLDcgQEAgc3RhdGljIHZvaWQgbXRrX2RybV9jcnRjX3VwZGF0 ZV9jb25maWcoc3RydWN0IG10a19kcm1fY3J0YyAqbXRrX2NydGMsCj4gICNpZiBJU19SRUFDSEFC TEUoQ09ORklHX01US19DTURRKQo+ICAgICAgICAgaWYgKG10a19jcnRjLT5jbWRxX2NsaWVudC5j aGFuKSB7Cj4gICAgICAgICAgICAgICAgIG1ib3hfZmx1c2gobXRrX2NydGMtPmNtZHFfY2xpZW50 LmNoYW4sIDIwMDApOwo+IC0gICAgICAgICAgICAgICBjbWRxX2hhbmRsZSA9IGNtZHFfcGt0X2Ny ZWF0ZSgmbXRrX2NydGMtPmNtZHFfY2xpZW50LCBQQUdFX1NJWkUpOwo+ICsgICAgICAgICAgICAg ICBjbWRxX2hhbmRsZS0+Y21kX2J1Zl9zaXplID0gMDsKPiAgICAgICAgICAgICAgICAgY21kcV9w a3RfY2xlYXJfZXZlbnQoY21kcV9oYW5kbGUsIG10a19jcnRjLT5jbWRxX2V2ZW50KTsKPiAgICAg ICAgICAgICAgICAgY21kcV9wa3Rfd2ZlKGNtZHFfaGFuZGxlLCBtdGtfY3J0Yy0+Y21kcV9ldmVu dCwgZmFsc2UpOwo+ICAgICAgICAgICAgICAgICBtdGtfY3J0Y19kZHBfY29uZmlnKGNydGMsIGNt ZHFfaGFuZGxlKTsKPiBAQCAtODc3LDYgKzkxOSwxNiBAQCBpbnQgbXRrX2RybV9jcnRjX2NyZWF0 ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiwKPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRybV9jcnRjX2luZGV4KCZtdGtfY3J0Yy0+YmFzZSkpOwo+ICAgICAgICAgICAgICAg ICAgICAgICAgIG1ib3hfZnJlZV9jaGFubmVsKG10a19jcnRjLT5jbWRxX2NsaWVudC5jaGFuKTsK PiAgICAgICAgICAgICAgICAgICAgICAgICBtdGtfY3J0Yy0+Y21kcV9jbGllbnQuY2hhbiA9IE5V TEw7Cj4gKyAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg cmV0ID0gbXRrX2RybV9jbWRxX3BrdF9jcmVhdGUoJm10a19jcnRjLT5jbWRxX2NsaWVudCwKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbXRr X2NydGMtPmNtZHFfaGFuZGxlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFBBR0VfU0laRSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg aWYgKHJldCkgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2X2RiZyhkZXYs ICJtdGtfY3J0YyAlZCBmYWlsZWQgdG8gY3JlYXRlIGNtZHEgcGFja2V0XG4iLAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcm1fY3J0Y19pbmRleCgmbXRrX2NydGMt PmJhc2UpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ib3hfZnJlZV9jaGFu bmVsKG10a19jcnRjLT5jbWRxX2NsaWVudC5jaGFuKTsKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG10a19jcnRjLT5jbWRxX2NsaWVudC5jaGFuID0gTlVMTDsKPiArICAgICAgICAg ICAgICAgICAgICAgICB9Cj4gICAgICAgICAgICAgICAgIH0KPiAgICAgICAgIH0KPiAgI2VuZGlm Cj4gLS0KPiAyLjE4LjAKPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KTGludXgtbWVkaWF0ZWsgbWFpbGluZyBsaXN0CkxpbnV4LW1lZGlhdGVrQGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1tZWRpYXRlawo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C1DA8C433EF for ; Wed, 27 Oct 2021 23:34:06 +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 7B37F6023B for ; Wed, 27 Oct 2021 23:34:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 7B37F6023B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=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=uVP/LC77i+3dNBHi8z6V/DPqznQpnZ8YjClnpsq+U1M=; b=30wuMwPz6W2Rfv wBjml/IpJdmR7HE0wkL1WGETZZhu/tofR9Vlai/4/rbQwSmY1H7DPA0ws6pM4UnFg0ILFgXgmCYQ9 yMcn7H7BfEiUMtT2/yTL49ecbHbDFP9v87yrWOQkD7hmaaT1ndllHXH6c5DyD/16CN3GBR+REgPRL beLiWpaant/aPrI2myPPdCB3p9twUMOsqZJBJvWoB0s8G2ly+PKJXSh8HrQ4WYS92LJq22wF8fIvu Mw1Ccmpfm4DW99dup7cXLeq+/UW9HXlygmkYNK1ZpbzMZ4oxqv7Cc0B2tDjV0pbdV2ZhmK/gzu++K B+dlwCCiAxaAvSTStHTg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mfsPW-006Ufi-RJ; Wed, 27 Oct 2021 23:32:47 +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 1mfsPS-006Udm-Pd; Wed, 27 Oct 2021 23:32:44 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 79D90610FD; Wed, 27 Oct 2021 23:32:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1635377562; bh=h/QosSb1AiNjIDxRRILEsu6IVn9iCcA9Kxa7rzirf1c=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=itQ2rhrDco0wcvN1m3TqCkr93Tm5iWFGf5nBGZmEpvMJkYcbwFr3+yPkzkpRmA3UH sYsIlUQDYr+wGB72AeJYSBcK/yDQf5Zwr6t5N9Kc3Kgrcyfx9Ca1TO19Ce46LnBrzz 4dfkhOXF6NLEbnTxdYwhOSgxSP05YHx6S/MlirMIc6Qil63dfxpnrKdNRpTxtu4Rih hyL9xnn6iSaLdGmIUinYhTPaNbieXxKpx0GI1bkklp7d4IoO72ldim00StR5V4cR60 IiMeAtYVYaYxMZ6VsiU/uVIeIDREOnkRDKrqdG99KPfYnMd69Bdp2JFK0SF5pWDewR hgIizo23IKfSw== Received: by mail-ed1-f53.google.com with SMTP id r4so16522787edi.5; Wed, 27 Oct 2021 16:32:42 -0700 (PDT) X-Gm-Message-State: AOAM5302Jb9QjaEiIOXyKkFKpsJa5SBSlJ4G64gGPIGuPsLq8YADL13n QC+UY58bmTKuqEUxoLRo1F+pNmeQr5fhi3TpOA== X-Google-Smtp-Source: ABdhPJyMRUJ6IP9f5g/n4+J3+qpKUfYpNE0971UIF665toNlo+aUYjravlC+mqusyjvzhWYcZthlo/Yh60V0esfzkxk= X-Received: by 2002:aa7:c40c:: with SMTP id j12mr1252820edq.224.1635377560826; Wed, 27 Oct 2021 16:32:40 -0700 (PDT) MIME-Version: 1.0 References: <20211027021857.20816-1-jason-jh.lin@mediatek.com> <20211027021857.20816-5-jason-jh.lin@mediatek.com> In-Reply-To: <20211027021857.20816-5-jason-jh.lin@mediatek.com> From: Chun-Kuang Hu Date: Thu, 28 Oct 2021 07:32:29 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v5 4/6] drm/mediatek: Add cmdq_handle in mtk_crtc To: "jason-jh.lin" Cc: Chun-Kuang Hu , Philipp Zabel , Matthias Brugger , Jassi Brar , Yongqiang Niu , David Airlie , Daniel Vetter , DRI Development , "moderated list:ARM/Mediatek SoC support" , Linux ARM , linux-kernel , Hsin-Yi Wang , fshao@chromium.org, Nancy Lin , singo.chang@mediatek.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211027_163242_896132_3FD739BA X-CRM114-Status: GOOD ( 19.55 ) 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 SGksIEphc29uOgoKamFzb24tamgubGluIDxqYXNvbi1qaC5saW5AbWVkaWF0ZWsuY29tPiDmlrwg MjAyMeW5tDEw5pyIMjfml6Ug6YCx5LiJIOS4iuWNiDEwOjE55a+r6YGT77yaCj4KPiBGcm9tOiBD aHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2VybmVsLm9yZz4KPgo+IE9uZSBtdGtfY3J0YyBu ZWVkIGp1c3Qgb25lIGNtZHFfaGFuZGxlLCBzbyBhZGQgb25lIGNtZHFfaGFuZGxlCj4gaW4gbXRr X2NydGMgdG8gcHJldmVudCBmcmVxdWVudGx5IGFsbG9jYXRpb24gYW5kIGZyZWUgb2YKPiBjbWRx X2hhbmRsZS4KClJldmlld2VkLWJ5OiBDaHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2VybmVs Lm9yZz4KCj4KPiBTaWduZWQtb2ZmLWJ5OiBDaHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2Vy bmVsLm9yZz4KPiBTaWduZWQtb2ZmLWJ5OiBqYXNvbi1qaC5saW4gPGphc29uLWpoLmxpbkBtZWRp YXRlay5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMu YyB8IDYyICsrKysrKysrKysrKysrKysrKysrKysrLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDU3IGlu c2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fY3J0Yy5jCj4gaW5kZXggZGFkMWY4NWVlMzE1Li5mZmE1NGI0MTZjYTcgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jCj4gQEAgLTUzLDYgKzUzLDcgQEAg c3RydWN0IG10a19kcm1fY3J0YyB7Cj4KPiAgI2lmIElTX1JFQUNIQUJMRShDT05GSUdfTVRLX0NN RFEpCj4gICAgICAgICBzdHJ1Y3QgY21kcV9jbGllbnQgICAgICAgICAgICAgIGNtZHFfY2xpZW50 Owo+ICsgICAgICAgc3RydWN0IGNtZHFfcGt0ICAgICAgICAgICAgICAgICBjbWRxX2hhbmRsZTsK PiAgICAgICAgIHUzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY21kcV9ldmVudDsKPiAg ICAgICAgIHUzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY21kcV92YmxhbmtfY250Owo+ ICAjZW5kaWYKPiBAQCAtMTA3LDEyICsxMDgsNTUgQEAgc3RhdGljIHZvaWQgbXRrX2RybV9maW5p c2hfcGFnZV9mbGlwKHN0cnVjdCBtdGtfZHJtX2NydGMgKm10a19jcnRjKQo+ICAgICAgICAgfQo+ ICB9Cj4KPiArI2lmIElTX1JFQUNIQUJMRShDT05GSUdfTVRLX0NNRFEpCj4gK3N0YXRpYyBpbnQg bXRrX2RybV9jbWRxX3BrdF9jcmVhdGUoc3RydWN0IGNtZHFfY2xpZW50ICpjbGllbnQsIHN0cnVj dCBjbWRxX3BrdCAqcGt0LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6 ZV90IHNpemUpCj4gK3sKPiArICAgICAgIHN0cnVjdCBkZXZpY2UgKmRldjsKPiArICAgICAgIGRt YV9hZGRyX3QgZG1hX2FkZHI7Cj4gKwo+ICsgICAgICAgcGt0LT52YV9iYXNlID0ga3phbGxvYyhz aXplLCBHRlBfS0VSTkVMKTsKPiArICAgICAgIGlmICghcGt0LT52YV9iYXNlKSB7Cj4gKyAgICAg ICAgICAgICAgIGtmcmVlKHBrdCk7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+ ICsgICAgICAgfQo+ICsgICAgICAgcGt0LT5idWZfc2l6ZSA9IHNpemU7Cj4gKyAgICAgICBwa3Qt PmNsID0gKHZvaWQgKiljbGllbnQ7Cj4gKwo+ICsgICAgICAgZGV2ID0gY2xpZW50LT5jaGFuLT5t Ym94LT5kZXY7Cj4gKyAgICAgICBkbWFfYWRkciA9IGRtYV9tYXBfc2luZ2xlKGRldiwgcGt0LT52 YV9iYXNlLCBwa3QtPmJ1Zl9zaXplLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBETUFfVE9fREVWSUNFKTsKPiArICAgICAgIGlmIChkbWFfbWFwcGluZ19lcnJvcihkZXYsIGRt YV9hZGRyKSkgewo+ICsgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwgImRtYSBtYXAgZmFpbGVk LCBzaXplPSV1XG4iLCAodTMyKSh1NjQpc2l6ZSk7Cj4gKyAgICAgICAgICAgICAgIGtmcmVlKHBr dC0+dmFfYmFzZSk7Cj4gKyAgICAgICAgICAgICAgIGtmcmVlKHBrdCk7Cj4gKyAgICAgICAgICAg ICAgIHJldHVybiAtRU5PTUVNOwo+ICsgICAgICAgfQo+ICsKPiArICAgICAgIHBrdC0+cGFfYmFz ZSA9IGRtYV9hZGRyOwo+ICsKPiArICAgICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMg dm9pZCBtdGtfZHJtX2NtZHFfcGt0X2Rlc3Ryb3koc3RydWN0IGNtZHFfcGt0ICpwa3QpCj4gK3sK PiArICAgICAgIHN0cnVjdCBjbWRxX2NsaWVudCAqY2xpZW50ID0gKHN0cnVjdCBjbWRxX2NsaWVu dCAqKXBrdC0+Y2w7Cj4gKwo+ICsgICAgICAgZG1hX3VubWFwX3NpbmdsZShjbGllbnQtPmNoYW4t Pm1ib3gtPmRldiwgcGt0LT5wYV9iYXNlLCBwa3QtPmJ1Zl9zaXplLAo+ICsgICAgICAgICAgICAg ICAgICAgICAgICBETUFfVE9fREVWSUNFKTsKPiArICAgICAgIGtmcmVlKHBrdC0+dmFfYmFzZSk7 Cj4gKyAgICAgICBrZnJlZShwa3QpOwo+ICt9Cj4gKyNlbmRpZgo+ICsKPiAgc3RhdGljIHZvaWQg bXRrX2RybV9jcnRjX2Rlc3Ryb3koc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICB7Cj4gICAgICAg ICBzdHJ1Y3QgbXRrX2RybV9jcnRjICptdGtfY3J0YyA9IHRvX210a19jcnRjKGNydGMpOwo+Cj4g ICAgICAgICBtdGtfbXV0ZXhfcHV0KG10a19jcnRjLT5tdXRleCk7Cj4gLQo+ICsjaWYgSVNfUkVB Q0hBQkxFKENPTkZJR19NVEtfQ01EUSkKPiArICAgICAgIG10a19kcm1fY21kcV9wa3RfZGVzdHJv eSgmbXRrX2NydGMtPmNtZHFfaGFuZGxlKTsKPiArI2VuZGlmCj4gICAgICAgICBkcm1fY3J0Y19j bGVhbnVwKGNydGMpOwo+ICB9Cj4KPiBAQCAtMjI3LDEyICsyNzEsMTAgQEAgc3RydWN0IG10a19k ZHBfY29tcCAqbXRrX2RybV9kZHBfY29tcF9mb3JfcGxhbmUoc3RydWN0IGRybV9jcnRjICpjcnRj LAo+ICAjaWYgSVNfUkVBQ0hBQkxFKENPTkZJR19NVEtfQ01EUSkKPiAgc3RhdGljIHZvaWQgZGRw X2NtZHFfY2Ioc3RydWN0IG1ib3hfY2xpZW50ICpjbCwgdm9pZCAqbXNzZykKPiAgewo+IC0gICAg ICAgc3RydWN0IGNtZHFfY2JfZGF0YSAqZGF0YSA9IG1zc2c7Cj4gICAgICAgICBzdHJ1Y3QgY21k cV9jbGllbnQgKmNtZHFfY2wgPSBjb250YWluZXJfb2YoY2wsIHN0cnVjdCBjbWRxX2NsaWVudCwg Y2xpZW50KTsKPiAgICAgICAgIHN0cnVjdCBtdGtfZHJtX2NydGMgKm10a19jcnRjID0gY29udGFp bmVyX29mKGNtZHFfY2wsIHN0cnVjdCBtdGtfZHJtX2NydGMsIGNtZHFfY2xpZW50KTsKPgo+ICAg ICAgICAgbXRrX2NydGMtPmNtZHFfdmJsYW5rX2NudCA9IDA7Cj4gLSAgICAgICBjbWRxX3BrdF9k ZXN0cm95KGRhdGEtPnBrdCk7Cj4gIH0KPiAgI2VuZGlmCj4KPiBAQCAtNDM4LDcgKzQ4MCw3IEBA IHN0YXRpYyB2b2lkIG10a19kcm1fY3J0Y191cGRhdGVfY29uZmlnKHN0cnVjdCBtdGtfZHJtX2Ny dGMgKm10a19jcnRjLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJv b2wgbmVlZHNfdmJsYW5rKQo+ICB7Cj4gICNpZiBJU19SRUFDSEFCTEUoQ09ORklHX01US19DTURR KQo+IC0gICAgICAgc3RydWN0IGNtZHFfcGt0ICpjbWRxX2hhbmRsZTsKPiArICAgICAgIHN0cnVj dCBjbWRxX3BrdCAqY21kcV9oYW5kbGUgPSAmbXRrX2NydGMtPmNtZHFfaGFuZGxlOwo+ICAjZW5k aWYKPiAgICAgICAgIHN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9ICZtdGtfY3J0Yy0+YmFzZTsKPiAg ICAgICAgIHN0cnVjdCBtdGtfZHJtX3ByaXZhdGUgKnByaXYgPSBjcnRjLT5kZXYtPmRldl9wcml2 YXRlOwo+IEBAIC00NzgsNyArNTIwLDcgQEAgc3RhdGljIHZvaWQgbXRrX2RybV9jcnRjX3VwZGF0 ZV9jb25maWcoc3RydWN0IG10a19kcm1fY3J0YyAqbXRrX2NydGMsCj4gICNpZiBJU19SRUFDSEFC TEUoQ09ORklHX01US19DTURRKQo+ICAgICAgICAgaWYgKG10a19jcnRjLT5jbWRxX2NsaWVudC5j aGFuKSB7Cj4gICAgICAgICAgICAgICAgIG1ib3hfZmx1c2gobXRrX2NydGMtPmNtZHFfY2xpZW50 LmNoYW4sIDIwMDApOwo+IC0gICAgICAgICAgICAgICBjbWRxX2hhbmRsZSA9IGNtZHFfcGt0X2Ny ZWF0ZSgmbXRrX2NydGMtPmNtZHFfY2xpZW50LCBQQUdFX1NJWkUpOwo+ICsgICAgICAgICAgICAg ICBjbWRxX2hhbmRsZS0+Y21kX2J1Zl9zaXplID0gMDsKPiAgICAgICAgICAgICAgICAgY21kcV9w a3RfY2xlYXJfZXZlbnQoY21kcV9oYW5kbGUsIG10a19jcnRjLT5jbWRxX2V2ZW50KTsKPiAgICAg ICAgICAgICAgICAgY21kcV9wa3Rfd2ZlKGNtZHFfaGFuZGxlLCBtdGtfY3J0Yy0+Y21kcV9ldmVu dCwgZmFsc2UpOwo+ICAgICAgICAgICAgICAgICBtdGtfY3J0Y19kZHBfY29uZmlnKGNydGMsIGNt ZHFfaGFuZGxlKTsKPiBAQCAtODc3LDYgKzkxOSwxNiBAQCBpbnQgbXRrX2RybV9jcnRjX2NyZWF0 ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiwKPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRybV9jcnRjX2luZGV4KCZtdGtfY3J0Yy0+YmFzZSkpOwo+ICAgICAgICAgICAgICAg ICAgICAgICAgIG1ib3hfZnJlZV9jaGFubmVsKG10a19jcnRjLT5jbWRxX2NsaWVudC5jaGFuKTsK PiAgICAgICAgICAgICAgICAgICAgICAgICBtdGtfY3J0Yy0+Y21kcV9jbGllbnQuY2hhbiA9IE5V TEw7Cj4gKyAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg cmV0ID0gbXRrX2RybV9jbWRxX3BrdF9jcmVhdGUoJm10a19jcnRjLT5jbWRxX2NsaWVudCwKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbXRr X2NydGMtPmNtZHFfaGFuZGxlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFBBR0VfU0laRSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg aWYgKHJldCkgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2X2RiZyhkZXYs ICJtdGtfY3J0YyAlZCBmYWlsZWQgdG8gY3JlYXRlIGNtZHEgcGFja2V0XG4iLAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcm1fY3J0Y19pbmRleCgmbXRrX2NydGMt PmJhc2UpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ib3hfZnJlZV9jaGFu bmVsKG10a19jcnRjLT5jbWRxX2NsaWVudC5jaGFuKTsKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG10a19jcnRjLT5jbWRxX2NsaWVudC5jaGFuID0gTlVMTDsKPiArICAgICAgICAg ICAgICAgICAgICAgICB9Cj4gICAgICAgICAgICAgICAgIH0KPiAgICAgICAgIH0KPiAgI2VuZGlm Cj4gLS0KPiAyLjE4LjAKPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBs aXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlz dGluZm8vbGludXgtYXJtLWtlcm5lbAo=