Received: by 2002:a05:7412:b10a:b0:f3:1519:9f41 with SMTP id az10csp262999rdb; Thu, 30 Nov 2023 04:24:05 -0800 (PST) X-Google-Smtp-Source: AGHT+IEkkBEXAOwN9atvDJOWfKH8Iz/JirW5LfY6f7ecwra9luY5iXFF9GJNa2hlYOx7PwAyBN2i X-Received: by 2002:a05:6a20:7d98:b0:18c:3260:e223 with SMTP id v24-20020a056a207d9800b0018c3260e223mr17479781pzj.18.1701347045000; Thu, 30 Nov 2023 04:24:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701347044; cv=none; d=google.com; s=arc-20160816; b=m/VME/avr/5Bn/iYHB45Ltf7E64BwUznBoT8efERBQf0jhUoaH+nzww/bQWsxGl8gB ADWd6g6H9/qbhFrCtcehubN+JWXLVuroBJrn+eQOnhMSsgVhNcqdb7DPY/DA2LjnpA1H B0M8BS4LJsvwqK5o3aBsNWHo8mfRx46B6sIuv27VHG/S+2JyEpcDq6bzp7B/ETOCRxER WU8pw9vZUL2pbKyZTktbqjYieYrUBXMEw+7ewA8e307Z9Kp/wZRjBNV+Su+gvaCocJy/ xWGMn4VScbpIUJa2vknkkxmiS3wHlJM5b74OLs6Miy4Wp6Dth+3fXYBxI3fS1DJJGbyd Bp9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=aescF38z6fBhd2gmVmB/UL5kxawZRAL0of1bYn6ck7c=; fh=UxFpKtBK5VEiehKMA7YEJ/g9njmupgYZNYvE1WeoN9M=; b=JYnUwg/c4dRTWRie2VypAdJe7XQF8B/lg07Qe/P1vELddzXdrlXN/PmY4WuxwQn12j 90+h0gUq87VJPejzqZpiJKls0q7iGUQuPe3FDBkPwrhCpRvxph8+RfR+7Z5PjAmyBuCj tGYNcCo8QIhGGC6igTrxwa7BwLyWwFCnFMQN/peOvppCgwNuBWkeC/Lx3/uoo3f7mM0h fx8jG8YKjR3dD5sft6bIJrB/lMMGuk+Uo1dM1dsEOLVW53pGCzfp2IfSzMG9e5HHM3uw pdV4IWf1Q9eMj2j805KkrBn7Q9uqHtDrZPrDpqc9eHy2sQ8Ztz12e0oLVzYoCDBXpzEN UQvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b=ku2fuzpu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Return-Path: Received: from pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id m1-20020a170902768100b001c7347e993esi1056321pll.17.2023.11.30.04.24.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Nov 2023 04:24:04 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b=ku2fuzpu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id B477982069E1; Thu, 30 Nov 2023 04:24:02 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345354AbjK3MXt (ORCPT + 99 others); Thu, 30 Nov 2023 07:23:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37080 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345209AbjK3MXs (ORCPT ); Thu, 30 Nov 2023 07:23:48 -0500 Received: from m15.mail.163.com (m15.mail.163.com [45.254.50.220]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id BF8DA1AD; Thu, 30 Nov 2023 04:23:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=aescF 38z6fBhd2gmVmB/UL5kxawZRAL0of1bYn6ck7c=; b=ku2fuzpuWNF9/yrNaKf9W yM0I68RIFy9k2NQV9Zq71Z8pYr3rdFTflJJvK+ZT9qcBZBhiBj7gPnvMba7zOPMn Fth1kwx95wTcsgNoqfHEiGr14Xh+0wjCJDPgET/p2JQVZ3gYdfPT9iGQn4Mebu0l w3AcVEiGBIKQ6aM7v0lT5Q= Received: from ProDesk.. (unknown [58.22.7.114]) by zwqz-smtp-mta-g1-1 (Coremail) with SMTP id _____wDn77a_fmhlZLiqCQ--.51133S2; Thu, 30 Nov 2023 20:23:30 +0800 (CST) From: Andy Yan 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 Subject: [PATCH v3 05/14] drm/rockchip: vop2: Add write mask for VP config done Date: Thu, 30 Nov 2023 20:23:26 +0800 Message-Id: <20231130122326.13014-1-andyshrk@163.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231130122001.12474-1-andyshrk@163.com> References: <20231130122001.12474-1-andyshrk@163.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: _____wDn77a_fmhlZLiqCQ--.51133S2 X-Coremail-Antispam: 1Uf129KBjvJXoW7uw4rKw17GrW5WF13XF4fKrg_yoW8Ww1fpF yrAay5urs2kF42gr1DKFy5Zr1ayasrAa92yr97Kw13Xas0qr1DZrn0kF1jyr98JFWxZr1a ywsrAryrGF4jvrJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jSzuXUUUUU= X-Originating-IP: [58.22.7.114] X-CM-SenderInfo: 5dqg52xkunqiywtou0bp/xtbBEgQ4XmVOAqtkeAAAsu X-Spam-Status: No, score=0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_SORBS_WEB, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Thu, 30 Nov 2023 04:24:02 -0800 (PST) From: Andy Yan 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 --- 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