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 2F256C433EF for ; Mon, 25 Oct 2021 16:16:34 +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 F099660EBD for ; Mon, 25 Oct 2021 16:16:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org F099660EBD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com 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:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=hCOsggs1YrZwG2M03GztDqX7+ZIa/oEtemDjuWe450E=; b=dUKiPbBowT0FLw c9o618PonALr+bYLEXZhqyHcKxl1gyF7nyk9tfGKcfvvg6tHo/5spAk44Mn5LBWPGAKDTyylJMYDu USSGyi0tD5/SKDiptPnZeeuTY9vV8Hj2uMtp7Or4ZDTj1N0mimfUAxnqEnYsZrf8T5pZdSEng1H+l WttbWAjJtx8rUpAriGqZob5NFUGqD3a2ryMkR4W4nRyl9ZWb1Z9fBhxY+oveESEAUZT1p+BnmhuZD 69Y8vDTOA6JMkk7bpaAlgFgKpvpmkbQuiif22hGSrDl9rXTVPPg/XQS/ky6/QIjanFI9o+zNduKKR T5AZA/GExQNEeWQDTpXg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mf2e6-00H09n-4G; Mon, 25 Oct 2021 16:16:22 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mf2cf-00GzRh-S5; Mon, 25 Oct 2021 16:14:55 +0000 X-UUID: eb799071554c46dd8aa8343d41a85b31-20211025 X-UUID: eb799071554c46dd8aa8343d41a85b31-20211025 Received: from mtkcas67.mediatek.inc [(172.29.193.45)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1488500978; Mon, 25 Oct 2021 09:14:50 -0700 Received: from mtkexhb02.mediatek.inc (172.21.101.103) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 25 Oct 2021 09:14:50 -0700 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkexhb02.mediatek.inc (172.21.101.103) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 26 Oct 2021 00:14:36 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 26 Oct 2021 00:14:36 +0800 From: jason-jh.lin To: Chun-Kuang Hu , Philipp Zabel , Matthias Brugger , "Jassi Brar" , Yongqiang Niu CC: David Airlie , Daniel Vetter , "jason-jh . lin" , , , , , , , , Subject: [PATCH v3 5/5] drm/mediatek: clear pending flag when cmdq packet is done. Date: Tue, 26 Oct 2021 00:14:34 +0800 Message-ID: <20211025161434.2641-6-jason-jh.lin@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20211025161434.2641-1-jason-jh.lin@mediatek.com> References: <20211025161434.2641-1-jason-jh.lin@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211025_091453_958105_4D95311F X-CRM114-Status: GOOD ( 13.92 ) 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="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org From: Yongqiang Niu In cmdq mode, packet may be flushed before it is executed, so the pending flag should be cleared after cmdq packet is done. Signed-off-by: Yongqiang Niu Signed-off-by: jason-jh.lin --- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 51 ++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c index c204fce2febe..bc3be48e6b23 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c @@ -275,8 +275,42 @@ static int mtk_drm_cmdq_pkt_create(struct cmdq_client *client, struct cmdq_pkt * static void ddp_cmdq_cb(struct mbox_client *cl, void *mssg) { + struct cmdq_cb_data *data = mssg; struct cmdq_client *cmdq_cl = container_of(cl, struct cmdq_client, client); struct mtk_drm_crtc *mtk_crtc = container_of(cmdq_cl, struct mtk_drm_crtc, cmdq_client); + struct mtk_crtc_state *state; + unsigned int i; + + if (data->sta < 0) + return; + + state = to_mtk_crtc_state(mtk_crtc->base.state); + + state->pending_config = false; + + if (mtk_crtc->pending_planes) { + for (i = 0; i < mtk_crtc->layer_nr; i++) { + struct drm_plane *plane = &mtk_crtc->planes[i]; + struct mtk_plane_state *plane_state; + + plane_state = to_mtk_plane_state(plane->state); + + plane_state->pending.config = false; + } + mtk_crtc->pending_planes = false; + } + + if (mtk_crtc->pending_async_planes) { + for (i = 0; i < mtk_crtc->layer_nr; i++) { + struct drm_plane *plane = &mtk_crtc->planes[i]; + struct mtk_plane_state *plane_state; + + plane_state = to_mtk_plane_state(plane->state); + + plane_state->pending.async_config = false; + } + mtk_crtc->pending_async_planes = false; + } mtk_crtc->cmdq_vblank_cnt = 0; } @@ -432,7 +466,8 @@ static void mtk_crtc_ddp_config(struct drm_crtc *crtc, state->pending_vrefresh, 0, cmdq_handle); - state->pending_config = false; + if (!cmdq_handle) + state->pending_config = false; } if (mtk_crtc->pending_planes) { @@ -452,9 +487,12 @@ static void mtk_crtc_ddp_config(struct drm_crtc *crtc, mtk_ddp_comp_layer_config(comp, local_layer, plane_state, cmdq_handle); - plane_state->pending.config = false; + if (!cmdq_handle) + plane_state->pending.config = false; } - mtk_crtc->pending_planes = false; + + if (!cmdq_handle) + mtk_crtc->pending_planes = false; } if (mtk_crtc->pending_async_planes) { @@ -474,9 +512,12 @@ static void mtk_crtc_ddp_config(struct drm_crtc *crtc, mtk_ddp_comp_layer_config(comp, local_layer, plane_state, cmdq_handle); - plane_state->pending.async_config = false; + if (!cmdq_handle) + plane_state->pending.async_config = false; } - mtk_crtc->pending_async_planes = false; + + if (!cmdq_handle) + mtk_crtc->pending_async_planes = false; } } -- 2.18.0 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek 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 3171EC433EF for ; Mon, 25 Oct 2021 16:17:31 +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 E489660ED4 for ; Mon, 25 Oct 2021 16:17:30 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org E489660ED4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com 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:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=WsB/k5Nqna/80W2Eg+RLl7Xll104Rn8vq0yZyji5aGc=; b=2r0Vjy1zfvxJ8U c1AucyygMYJuZ9upWaxWgkAbppdE0X8PExycE9QNj8HDVVE356b+NAfFuTGBRdxTVKqKIT8VqMYwQ l2IkX3oqD3bpUEkh6DJi5HPRulSdMOfCmn8mmMLkHJX3SqPMMVcs0DsfnbKEzh1xuY2cx2/If/CpD SwoP3r4Z77BEDQFdPGheMYiIED30P71pI6C4crQGG2BYYHsmudAkN9Q71NYaIw/oHNUY3wxCIT3Y2 wkM9ZqlyBVZoRxo5ej8TcPodMEAQluWcxbj+1jCqsvqVx2iIztHAVt8+HcyD7TGZh2t+lEtaJZ0Lr QqPxgI8wtK2cv1gIilgw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mf2dn-00Gzwc-Lv; Mon, 25 Oct 2021 16:16:03 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mf2cf-00GzRh-S5; Mon, 25 Oct 2021 16:14:55 +0000 X-UUID: eb799071554c46dd8aa8343d41a85b31-20211025 X-UUID: eb799071554c46dd8aa8343d41a85b31-20211025 Received: from mtkcas67.mediatek.inc [(172.29.193.45)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1488500978; Mon, 25 Oct 2021 09:14:50 -0700 Received: from mtkexhb02.mediatek.inc (172.21.101.103) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 25 Oct 2021 09:14:50 -0700 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkexhb02.mediatek.inc (172.21.101.103) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 26 Oct 2021 00:14:36 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 26 Oct 2021 00:14:36 +0800 From: jason-jh.lin To: Chun-Kuang Hu , Philipp Zabel , Matthias Brugger , "Jassi Brar" , Yongqiang Niu CC: David Airlie , Daniel Vetter , "jason-jh . lin" , , , , , , , , Subject: [PATCH v3 5/5] drm/mediatek: clear pending flag when cmdq packet is done. Date: Tue, 26 Oct 2021 00:14:34 +0800 Message-ID: <20211025161434.2641-6-jason-jh.lin@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20211025161434.2641-1-jason-jh.lin@mediatek.com> References: <20211025161434.2641-1-jason-jh.lin@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211025_091453_958105_4D95311F X-CRM114-Status: GOOD ( 13.92 ) 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="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Yongqiang Niu In cmdq mode, packet may be flushed before it is executed, so the pending flag should be cleared after cmdq packet is done. Signed-off-by: Yongqiang Niu Signed-off-by: jason-jh.lin --- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 51 ++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c index c204fce2febe..bc3be48e6b23 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c @@ -275,8 +275,42 @@ static int mtk_drm_cmdq_pkt_create(struct cmdq_client *client, struct cmdq_pkt * static void ddp_cmdq_cb(struct mbox_client *cl, void *mssg) { + struct cmdq_cb_data *data = mssg; struct cmdq_client *cmdq_cl = container_of(cl, struct cmdq_client, client); struct mtk_drm_crtc *mtk_crtc = container_of(cmdq_cl, struct mtk_drm_crtc, cmdq_client); + struct mtk_crtc_state *state; + unsigned int i; + + if (data->sta < 0) + return; + + state = to_mtk_crtc_state(mtk_crtc->base.state); + + state->pending_config = false; + + if (mtk_crtc->pending_planes) { + for (i = 0; i < mtk_crtc->layer_nr; i++) { + struct drm_plane *plane = &mtk_crtc->planes[i]; + struct mtk_plane_state *plane_state; + + plane_state = to_mtk_plane_state(plane->state); + + plane_state->pending.config = false; + } + mtk_crtc->pending_planes = false; + } + + if (mtk_crtc->pending_async_planes) { + for (i = 0; i < mtk_crtc->layer_nr; i++) { + struct drm_plane *plane = &mtk_crtc->planes[i]; + struct mtk_plane_state *plane_state; + + plane_state = to_mtk_plane_state(plane->state); + + plane_state->pending.async_config = false; + } + mtk_crtc->pending_async_planes = false; + } mtk_crtc->cmdq_vblank_cnt = 0; } @@ -432,7 +466,8 @@ static void mtk_crtc_ddp_config(struct drm_crtc *crtc, state->pending_vrefresh, 0, cmdq_handle); - state->pending_config = false; + if (!cmdq_handle) + state->pending_config = false; } if (mtk_crtc->pending_planes) { @@ -452,9 +487,12 @@ static void mtk_crtc_ddp_config(struct drm_crtc *crtc, mtk_ddp_comp_layer_config(comp, local_layer, plane_state, cmdq_handle); - plane_state->pending.config = false; + if (!cmdq_handle) + plane_state->pending.config = false; } - mtk_crtc->pending_planes = false; + + if (!cmdq_handle) + mtk_crtc->pending_planes = false; } if (mtk_crtc->pending_async_planes) { @@ -474,9 +512,12 @@ static void mtk_crtc_ddp_config(struct drm_crtc *crtc, mtk_ddp_comp_layer_config(comp, local_layer, plane_state, cmdq_handle); - plane_state->pending.async_config = false; + if (!cmdq_handle) + plane_state->pending.async_config = false; } - mtk_crtc->pending_async_planes = false; + + if (!cmdq_handle) + mtk_crtc->pending_async_planes = false; } } -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel 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 B2DF9C433EF for ; Mon, 25 Oct 2021 16:48:50 +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 7D11A601FF for ; Mon, 25 Oct 2021 16:48:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 7D11A601FF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B815D89E9B; Mon, 25 Oct 2021 16:48:49 +0000 (UTC) Received: from mailgw02.mediatek.com (unknown [1.203.163.81]) by gabe.freedesktop.org (Postfix) with ESMTP id 3B45789E9B for ; Mon, 25 Oct 2021 16:46:45 +0000 (UTC) X-UUID: f2c475db3da0402fb6361c90c782cba9-20211026 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=4LdtB6wZbt4FH3119IIp3MaemJ/vnPtBQ+w2XS+88rM=; b=tkeqXzK5k2m2hoaiss7PwpkFZ+qfZ6djRBUwnvodHSPN22ZZTmeqpAaLN6K+4IkgjsjU0zpnFZhI1qFv9duMiG+rqoAwo7PpjTTTYqukexYZm63Lo2CZV04iAmnwGe5V9LXoAI1FiiajFZ8O3j5X5eC8if25CyubSmWGOyyhYV0=; X-UUID: f2c475db3da0402fb6361c90c782cba9-20211026 Received: from mtkmbs10n2.mediatek.inc [(172.27.4.253)] by mailgw02.mediatek.com (envelope-from ) (mailgw01.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 2094163715; Tue, 26 Oct 2021 00:15:24 +0800 Received: from mtkexhb02.mediatek.inc (172.21.101.103) by mtkmbs10n1.mediatek.inc (172.21.101.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.15; Tue, 26 Oct 2021 00:14:37 +0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkexhb02.mediatek.inc (172.21.101.103) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 26 Oct 2021 00:14:36 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 26 Oct 2021 00:14:36 +0800 From: jason-jh.lin To: Chun-Kuang Hu , Philipp Zabel , Matthias Brugger , "Jassi Brar" , Yongqiang Niu CC: David Airlie , Daniel Vetter , "jason-jh . lin" , , , , , , , , Subject: [PATCH v3 5/5] drm/mediatek: clear pending flag when cmdq packet is done. Date: Tue, 26 Oct 2021 00:14:34 +0800 Message-ID: <20211025161434.2641-6-jason-jh.lin@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20211025161434.2641-1-jason-jh.lin@mediatek.com> References: <20211025161434.2641-1-jason-jh.lin@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 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: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RnJvbTogWW9uZ3FpYW5nIE5pdSA8eW9uZ3FpYW5nLm5pdUBtZWRpYXRlay5jb20+DQoNCkluIGNt ZHEgbW9kZSwgcGFja2V0IG1heSBiZSBmbHVzaGVkIGJlZm9yZSBpdCBpcyBleGVjdXRlZCwgc28N CnRoZSBwZW5kaW5nIGZsYWcgc2hvdWxkIGJlIGNsZWFyZWQgYWZ0ZXIgY21kcSBwYWNrZXQgaXMg ZG9uZS4NCg0KU2lnbmVkLW9mZi1ieTogWW9uZ3FpYW5nIE5pdSA8eW9uZ3FpYW5nLm5pdUBtZWRp YXRlay5jb20+DQpTaWduZWQtb2ZmLWJ5OiBqYXNvbi1qaC5saW4gPGphc29uLWpoLmxpbkBtZWRp YXRlay5jb20+DQotLS0NCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMg fCA1MSArKysrKysrKysrKysrKysrKysrKysrLS0tDQogMSBmaWxlIGNoYW5nZWQsIDQ2IGluc2Vy dGlvbnMoKyksIDUgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Ry bV9jcnRjLmMNCmluZGV4IGMyMDRmY2UyZmViZS4uYmMzYmU0OGU2YjIzIDEwMDY0NA0KLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jDQorKysgYi9kcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMNCkBAIC0yNzUsOCArMjc1LDQyIEBAIHN0YXRp YyBpbnQgbXRrX2RybV9jbWRxX3BrdF9jcmVhdGUoc3RydWN0IGNtZHFfY2xpZW50ICpjbGllbnQs IHN0cnVjdCBjbWRxX3BrdCAqDQogDQogc3RhdGljIHZvaWQgZGRwX2NtZHFfY2Ioc3RydWN0IG1i b3hfY2xpZW50ICpjbCwgdm9pZCAqbXNzZykNCiB7DQorCXN0cnVjdCBjbWRxX2NiX2RhdGEgKmRh dGEgPSBtc3NnOw0KIAlzdHJ1Y3QgY21kcV9jbGllbnQgKmNtZHFfY2wgPSBjb250YWluZXJfb2Yo Y2wsIHN0cnVjdCBjbWRxX2NsaWVudCwgY2xpZW50KTsNCiAJc3RydWN0IG10a19kcm1fY3J0YyAq bXRrX2NydGMgPSBjb250YWluZXJfb2YoY21kcV9jbCwgc3RydWN0IG10a19kcm1fY3J0YywgY21k cV9jbGllbnQpOw0KKwlzdHJ1Y3QgbXRrX2NydGNfc3RhdGUgKnN0YXRlOw0KKwl1bnNpZ25lZCBp bnQgaTsNCisNCisJaWYgKGRhdGEtPnN0YSA8IDApDQorCQlyZXR1cm47DQorDQorCXN0YXRlID0g dG9fbXRrX2NydGNfc3RhdGUobXRrX2NydGMtPmJhc2Uuc3RhdGUpOw0KKw0KKwlzdGF0ZS0+cGVu ZGluZ19jb25maWcgPSBmYWxzZTsNCisNCisJaWYgKG10a19jcnRjLT5wZW5kaW5nX3BsYW5lcykg ew0KKwkJZm9yIChpID0gMDsgaSA8IG10a19jcnRjLT5sYXllcl9ucjsgaSsrKSB7DQorCQkJc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUgPSAmbXRrX2NydGMtPnBsYW5lc1tpXTsNCisJCQlzdHJ1Y3Qg bXRrX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsNCisNCisJCQlwbGFuZV9zdGF0ZSA9IHRvX210 a19wbGFuZV9zdGF0ZShwbGFuZS0+c3RhdGUpOw0KKw0KKwkJCXBsYW5lX3N0YXRlLT5wZW5kaW5n LmNvbmZpZyA9IGZhbHNlOw0KKwkJfQ0KKwkJbXRrX2NydGMtPnBlbmRpbmdfcGxhbmVzID0gZmFs c2U7DQorCX0NCisNCisJaWYgKG10a19jcnRjLT5wZW5kaW5nX2FzeW5jX3BsYW5lcykgew0KKwkJ Zm9yIChpID0gMDsgaSA8IG10a19jcnRjLT5sYXllcl9ucjsgaSsrKSB7DQorCQkJc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUgPSAmbXRrX2NydGMtPnBsYW5lc1tpXTsNCisJCQlzdHJ1Y3QgbXRrX3Bs YW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsNCisNCisJCQlwbGFuZV9zdGF0ZSA9IHRvX210a19wbGFu ZV9zdGF0ZShwbGFuZS0+c3RhdGUpOw0KKw0KKwkJCXBsYW5lX3N0YXRlLT5wZW5kaW5nLmFzeW5j X2NvbmZpZyA9IGZhbHNlOw0KKwkJfQ0KKwkJbXRrX2NydGMtPnBlbmRpbmdfYXN5bmNfcGxhbmVz ID0gZmFsc2U7DQorCX0NCiANCiAJbXRrX2NydGMtPmNtZHFfdmJsYW5rX2NudCA9IDA7DQogfQ0K QEAgLTQzMiw3ICs0NjYsOCBAQCBzdGF0aWMgdm9pZCBtdGtfY3J0Y19kZHBfY29uZmlnKHN0cnVj dCBkcm1fY3J0YyAqY3J0YywNCiAJCQkJICAgIHN0YXRlLT5wZW5kaW5nX3ZyZWZyZXNoLCAwLA0K IAkJCQkgICAgY21kcV9oYW5kbGUpOw0KIA0KLQkJc3RhdGUtPnBlbmRpbmdfY29uZmlnID0gZmFs c2U7DQorCQlpZiAoIWNtZHFfaGFuZGxlKQ0KKwkJCXN0YXRlLT5wZW5kaW5nX2NvbmZpZyA9IGZh bHNlOw0KIAl9DQogDQogCWlmIChtdGtfY3J0Yy0+cGVuZGluZ19wbGFuZXMpIHsNCkBAIC00NTIs OSArNDg3LDEyIEBAIHN0YXRpYyB2b2lkIG10a19jcnRjX2RkcF9jb25maWcoc3RydWN0IGRybV9j cnRjICpjcnRjLA0KIAkJCQltdGtfZGRwX2NvbXBfbGF5ZXJfY29uZmlnKGNvbXAsIGxvY2FsX2xh eWVyLA0KIAkJCQkJCQkgIHBsYW5lX3N0YXRlLA0KIAkJCQkJCQkgIGNtZHFfaGFuZGxlKTsNCi0J CQlwbGFuZV9zdGF0ZS0+cGVuZGluZy5jb25maWcgPSBmYWxzZTsNCisJCQlpZiAoIWNtZHFfaGFu ZGxlKQ0KKwkJCQlwbGFuZV9zdGF0ZS0+cGVuZGluZy5jb25maWcgPSBmYWxzZTsNCiAJCX0NCi0J CW10a19jcnRjLT5wZW5kaW5nX3BsYW5lcyA9IGZhbHNlOw0KKw0KKwkJaWYgKCFjbWRxX2hhbmRs ZSkNCisJCQltdGtfY3J0Yy0+cGVuZGluZ19wbGFuZXMgPSBmYWxzZTsNCiAJfQ0KIA0KIAlpZiAo bXRrX2NydGMtPnBlbmRpbmdfYXN5bmNfcGxhbmVzKSB7DQpAQCAtNDc0LDkgKzUxMiwxMiBAQCBz dGF0aWMgdm9pZCBtdGtfY3J0Y19kZHBfY29uZmlnKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywNCiAJ CQkJbXRrX2RkcF9jb21wX2xheWVyX2NvbmZpZyhjb21wLCBsb2NhbF9sYXllciwNCiAJCQkJCQkJ ICBwbGFuZV9zdGF0ZSwNCiAJCQkJCQkJICBjbWRxX2hhbmRsZSk7DQotCQkJcGxhbmVfc3RhdGUt PnBlbmRpbmcuYXN5bmNfY29uZmlnID0gZmFsc2U7DQorCQkJaWYgKCFjbWRxX2hhbmRsZSkNCisJ CQkJcGxhbmVfc3RhdGUtPnBlbmRpbmcuYXN5bmNfY29uZmlnID0gZmFsc2U7DQogCQl9DQotCQlt dGtfY3J0Yy0+cGVuZGluZ19hc3luY19wbGFuZXMgPSBmYWxzZTsNCisNCisJCWlmICghY21kcV9o YW5kbGUpDQorCQkJbXRrX2NydGMtPnBlbmRpbmdfYXN5bmNfcGxhbmVzID0gZmFsc2U7DQogCX0N CiB9DQogDQotLSANCjIuMTguMA0K