Received: by 2002:a05:6a10:2785:0:0:0:0 with SMTP id ia5csp2084861pxb; Sun, 10 Jan 2021 23:46:39 -0800 (PST) X-Google-Smtp-Source: ABdhPJyc0Dik+Zo5uogZwdQIDIckuuEeG5+T29wrEQu6ePiaV36jQEJrOA5rWcBoqeBXzAB/UvMk X-Received: by 2002:a17:907:2052:: with SMTP id pg18mr10277591ejb.153.1610351199336; Sun, 10 Jan 2021 23:46:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1610351199; cv=none; d=google.com; s=arc-20160816; b=iDm3xkdJW4ZuIP4yJbBLWEXfy4Lo2E+VWm3Luk4X6ejOqcRVKVlJh0RtlIc/cjfOO4 QYar0q3yshCHnhiAtDW3kIXMIyYMJxOwV+K/rzFOmlsnMhY8MkrkP6REWPnH5a9RX8E+ 9GxlnQRPv+LPlfRAWGZSPBcO3vInCmDd8G/1nuLgDxl0gdRekCA2AL6hzXPaF77zuuAL 99hqZWJk2Vx/WUGWCFHmh3PpG3wBPTrU5nMqZoy/skFz4izAP8qJWq/1qLK5GcPYG5dR E0XHg1k0lq0/Pun8w9ORInGx6AcPxJhKLxSYO6qxKvm05oekm8PAoDAWUpdPLLRYHbNU vqDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from; bh=gIx2pHh0FfX7RK7CxgIqE96nr6gzW2iDLjbI+sQyAZw=; b=Lj8JSlK33UcJo4xnZtFvm4R6I+8DTaiQ4UMmDBrSLbef43pQDkA2ugN6Any42uCCi0 1NouCPWgBuUOX655B2z6IjrRKaPivq9qJcpa29OtlB8k3/NvO/RglnP/WPykXPTf1l1s cgosGN4h80ijsxKk3UNo+qBxf0nVHyiyl4gGVFjCf6KmIS+eCwioSoMihSlcPjAJx34V bZhLPoYUACsMf1SpUkC2tf+vb/YZsTF8JQM2/yP+z1t6cH57Tu4l//OAFKmJyIYhkwDA F3EO0VQQEyrRyhoIe3W6pv1Qe3vwVPkNu2bWej7tEtZQI/b2CFqDIu7TCbMrt5i6l+S1 ys0w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y6si6621620edu.165.2021.01.10.23.46.16; Sun, 10 Jan 2021 23:46:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727825AbhAKHpQ (ORCPT + 99 others); Mon, 11 Jan 2021 02:45:16 -0500 Received: from mailgw01.mediatek.com ([210.61.82.183]:36036 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1727669AbhAKHpP (ORCPT ); Mon, 11 Jan 2021 02:45:15 -0500 X-UUID: 096091ece4744d42bc83a839f72ac26d-20210111 X-UUID: 096091ece4744d42bc83a839f72ac26d-20210111 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 403095666; Mon, 11 Jan 2021 15:44:03 +0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkmbs05n2.mediatek.inc (172.21.101.140) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 11 Jan 2021 15:44:01 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 11 Jan 2021 15:44:01 +0800 From: Yongqiang Niu To: CK Hu , Philipp Zabel , Rob Herring , Matthias Brugger CC: David Airlie , Daniel Vetter , Mark Rutland , , , , , , , Hsin-Yi Wang , Yongqiang Niu Subject: [PATCH v3, 07/15] drm/mediatek: enable OVL_LAYER_SMI_ID_EN for multi-layer usecase Date: Mon, 11 Jan 2021 15:43:43 +0800 Message-ID: <1610351031-21133-8-git-send-email-yongqiang.niu@mediatek.com> X-Mailer: git-send-email 1.8.1.1.dirty In-Reply-To: <1610351031-21133-1-git-send-email-yongqiang.niu@mediatek.com> References: <1610351031-21133-1-git-send-email-yongqiang.niu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org enable OVL_LAYER_SMI_ID_EN for multi-layer usecase Signed-off-by: Yongqiang Niu --- drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c index b47c238..4934bee 100644 --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c @@ -23,6 +23,7 @@ #define DISP_REG_OVL_RST 0x0014 #define DISP_REG_OVL_ROI_SIZE 0x0020 #define DISP_REG_OVL_DATAPATH_CON 0x0024 +#define OVL_LAYER_SMI_ID_EN BIT(0) #define OVL_BGCLR_SEL_IN BIT(2) #define DISP_REG_OVL_ROI_BGCLR 0x0028 #define DISP_REG_OVL_SRC_CON 0x002c @@ -61,6 +62,7 @@ struct mtk_disp_ovl_data { unsigned int gmc_bits; unsigned int layer_nr; bool fmt_rgb565_is_0; + bool smi_id_en; }; /** @@ -116,7 +118,17 @@ static void mtk_ovl_disable_vblank(struct mtk_ddp_comp *comp) static void mtk_ovl_start(struct mtk_ddp_comp *comp) { + struct mtk_disp_ovl *ovl = comp_to_ovl(comp); + writel_relaxed(0x1, comp->regs + DISP_REG_OVL_EN); + + if(ovl->data->smi_id_en) { + unsigned int reg; + + reg = readl(comp->regs + DISP_REG_OVL_DATAPATH_CON); + reg = reg | OVL_LAYER_SMI_ID_EN; + writel_relaxed(reg, comp->regs + DISP_REG_OVL_DATAPATH_CON); + } } static void mtk_ovl_stop(struct mtk_ddp_comp *comp) -- 1.8.1.1.dirty