From: Andy Yan <andyshrk@163.com>
To: heiko@sntech.de
Cc: hjc@rock-chips.com, dri-devel@lists.freedesktop.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
krzysztof.kozlowski+dt@linaro.org, robh+dt@kernel.org,
devicetree@vger.kernel.org, sebastian.reichel@collabora.com,
kever.yang@rock-chips.com, chris.obbard@collabora.com,
Andy Yan <andy.yan@rock-chips.com>
Subject: [PATCH v4 05/17] drm/rockchip: vop2: Add write mask for VP config done
Date: Thu, 7 Dec 2023 16:00:29 +0800 [thread overview]
Message-ID: <20231207080029.652110-1-andyshrk@163.com> (raw)
In-Reply-To: <20231207075906.651771-1-andyshrk@163.com>
From: Andy Yan <andy.yan@rock-chips.com>
The write mask bit is used to make sure when writing
config done bit for one VP will not overwrite the other.
Unfortunately, the write mask bit is missing on
rk3566/8, that means when we write to these bits,
it will not take any effect.
We need this to make the vop work properly after
rk3566/8 variants.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
---
(no changes since v3)
Changes in v3:
- split from the vop2 driver patch
drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
index a019cc9bbd54..25c1f33c5622 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
@@ -268,12 +268,23 @@ static bool vop2_cluster_window(const struct vop2_win *win)
return win->data->feature & WIN_FEATURE_CLUSTER;
}
+/*
+ * Note:
+ * The write mask function is missing on rk3566/8, write
+ * to this bit has no effect, for the other soc(rk3588 and
+ * the following...), this function works well.
+ *
+ * GLB_CFG_DONE_EN doesn't have a write mask bit
+ *
+ */
static void vop2_cfg_done(struct vop2_video_port *vp)
{
struct vop2 *vop2 = vp->vop2;
+ u32 val = RK3568_REG_CFG_DONE__GLB_CFG_DONE_EN;
+
+ val |= BIT(vp->id) | (BIT(vp->id) << 16);
- regmap_set_bits(vop2->map, RK3568_REG_CFG_DONE,
- BIT(vp->id) | RK3568_REG_CFG_DONE__GLB_CFG_DONE_EN);
+ regmap_set_bits(vop2->map, RK3568_REG_CFG_DONE, val);
}
static void vop2_win_disable(struct vop2_win *win)
--
2.34.1
next prev parent reply other threads:[~2023-12-07 8:01 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-07 7:59 [PATCH v4 00/17] Add VOP2 support on rk3588 Andy Yan
2023-12-07 7:59 ` [PATCH v4 01/17] drm/rockchip: move output interface related definition to rockchip_drm_drv.h Andy Yan
2023-12-07 7:59 ` [PATCH v4 02/17] Revert "drm/rockchip: vop2: Use regcache_sync() to fix suspend/resume" Andy Yan
2023-12-07 8:00 ` [PATCH v4 03/17] drm/rockchip: vop2: set half_block_en bit in all mode Andy Yan
2023-12-07 8:00 ` [PATCH v4 04/17] drm/rockchip: vop2: clear afbc en and transform bit for cluster window at linear mode Andy Yan
2023-12-07 8:00 ` Andy Yan [this message]
2023-12-07 8:00 ` [PATCH v4 06/17] drm/rockchip: vop2: Set YUV/RGB overlay mode Andy Yan
2023-12-07 8:00 ` [PATCH v4 07/17] drm/rockchip: vop2: set bg dly and prescan dly at vop2_post_config Andy Yan
2023-12-07 8:01 ` [PATCH v4 08/17] drm/rockchip: vop2: rename grf to sys_grf Andy Yan
2023-12-07 8:01 ` [PATCH v4 09/17] dt-bindings: soc: rockchip: add rk3588 vop/vo syscon Andy Yan
2023-12-07 8:01 ` [PATCH v4 10/17] dt-bindings: display: vop2: Add rk3588 support Andy Yan
2023-12-08 17:46 ` Krzysztof Kozlowski
2023-12-09 1:30 ` Andy Yan
2023-12-07 8:01 ` [PATCH v4 11/17] dt-bindings: rockchip,vop2: Add more endpoint definition Andy Yan
2023-12-07 8:01 ` [PATCH v4 12/17] drm/rockchip: vop2: Add support for rk3588 Andy Yan
2023-12-07 8:02 ` [PATCH v4 13/17] drm/rockchip: vop2: rename VOP_FEATURE_OUTPUT_10BIT to VOP2_VP_FEATURE_OUTPUT_10BIT Andy Yan
2023-12-11 7:02 ` Sascha Hauer
2023-12-07 8:02 ` [PATCH v4 14/17] drm/rockchip: vop2: Add debugfs support Andy Yan
2023-12-11 6:59 ` Sascha Hauer
2023-12-07 8:02 ` [PATCH v4 15/17] dt-bindings: iommu: rockchip: Add Rockchip RK3588 Andy Yan
2023-12-08 16:29 ` Heiko Stübner
2023-12-09 1:26 ` Andy Yan
2023-12-09 14:04 ` Heiko Stübner
2023-12-08 17:47 ` Krzysztof Kozlowski
2023-12-07 8:02 ` [PATCH v4 16/17] arm64: dts: rockchip: Add vop on rk3588 Andy Yan
2023-12-08 16:26 ` Heiko Stübner
2023-12-09 1:28 ` Andy Yan
2023-12-07 8:03 ` [PATCH v4 17/17] MAINTAINERS: Add myself as a reviewer for rockchip drm Andy Yan
2023-12-08 16:07 ` [PATCH v4 00/17] Add VOP2 support on rk3588 Heiko Stübner
2023-12-09 1:21 ` Andy Yan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231207080029.652110-1-andyshrk@163.com \
--to=andyshrk@163.com \
--cc=andy.yan@rock-chips.com \
--cc=chris.obbard@collabora.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=heiko@sntech.de \
--cc=hjc@rock-chips.com \
--cc=kever.yang@rock-chips.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=robh+dt@kernel.org \
--cc=sebastian.reichel@collabora.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).