From patchwork Tue Nov 14 11:27:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Yan X-Patchwork-Id: 164838 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1792429vqg; Tue, 14 Nov 2023 03:28:36 -0800 (PST) X-Google-Smtp-Source: AGHT+IEVDTvTu9/3Nwt1tcYvtnv9PMK/q2CPOcBbejBn7axfEo+qpIFUssuPxMZbkPbHUuqP1Awy X-Received: by 2002:a17:90b:4ac4:b0:280:729d:98ec with SMTP id mh4-20020a17090b4ac400b00280729d98ecmr10622775pjb.47.1699961316008; Tue, 14 Nov 2023 03:28:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699961315; cv=none; d=google.com; s=arc-20160816; b=Rxs00DmcZ5dQsR1fhj25qT8z1V15WQTJpzfLt5Fe+mabeI/PFP1LBYzSg8fhEIvDaz 6wA37Dn+MEk9c+ZZF9A1LAC9ZQ22uV4CYG0DwReRO/2W+ObNDr60et4wn+wxP4Dg/C0m LSQYCqSXGHXzmWK0Tq03+Y3XigjkdmbgCoH9bnmMiAMT4BzqbKIfQnXNKr21/Mxo0mrR Dqfu+M/8qqHRhoCKvYUReXDtvc9CEE4per/5qQeoy2LBQhqR1DOg0tKbS+up83Eo4DfG AK4ZPJ9uGqaGq/VILZnocE5iUv1vtYZagxZjB7vbfjTWqOr2iUfz7R8s0mUFeCkHTcW/ GTgg== 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=VW004fs9krB0xUqb9Kn2MqwFgbP05cWUp+pPV/LjEPw=; fh=cjsv5ohN1TaMP82Yqeh0WKQ1fJXsn/LNnakMe8VYEy4=; b=L9N0K9R08sO0lfHMHW7hUyoP7mEHWquqL1s+tqHoHdG/NGx+n7TxC4AaAYk5NSFtrC C3Y0kYpa6FzlWTXs1dzxm906xEq4vXWh2E14hgV2hOr/R1vWKylPZadFFMerd5whAopA ukx+dZR8/MkDjhsds6S6ZvxSnZeOZEt2+mCb0cBBS8P5LYhrHAp1aYvPfUFpLUNKiWBZ Ga0+DCfHu7Uby7PCi41d2ALCyjRJjGoevr1tdDSflgI5HrD9GXA8ALQiBVZo9iadWbxN QgIapEi9Eo4SRScgI13cItz2NTUgzOevn5iYtzOifU9JWoVL9/AT5VB0RU5jd+wPj2cD tS2g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b=KkClv1y7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 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 agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id q3-20020a17090a2dc300b0027766994586si12302788pjm.71.2023.11.14.03.28.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 03:28:35 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b=KkClv1y7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 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 agentk.vger.email (Postfix) with ESMTP id D6EF28043CB0; Tue, 14 Nov 2023 03:28:32 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232627AbjKNL2U (ORCPT + 29 others); Tue, 14 Nov 2023 06:28:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56422 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232570AbjKNL2O (ORCPT ); Tue, 14 Nov 2023 06:28:14 -0500 Received: from m12.mail.163.com (m12.mail.163.com [220.181.12.216]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 09C2CD9; Tue, 14 Nov 2023 03:28:10 -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=VW004 fs9krB0xUqb9Kn2MqwFgbP05cWUp+pPV/LjEPw=; b=KkClv1y7jxd38nclKxzCa QtPhanmOjkIaOZVtM0f3JQSN12y3CBNbV2vGpXsmFHAm7zkAbnjRhABt0ew6puXT aKSWoBuwdVnxwOyRaYPo9kMuVKicde6USBPi0mvoggVOaviPlWAX7DM1hO7I9Owa 0ZdoafS8PyfTBg5vUdpdh8= Received: from ProDesk.. (unknown [58.22.7.114]) by zwqz-smtp-mta-g3-0 (Coremail) with SMTP id _____wA3nruVWVNlhUdEDA--.55205S2; Tue, 14 Nov 2023 19:27:20 +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, s.hauer@pengutronix.de, Andy Yan Subject: [PATCH 02/11] Revert "drm/rockchip: vop2: Use regcache_sync() to fix suspend/resume" Date: Tue, 14 Nov 2023 19:27:16 +0800 Message-Id: <20231114112716.1770940-1-andyshrk@163.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231114112534.1770731-1-andyshrk@163.com> References: <20231114112534.1770731-1-andyshrk@163.com> MIME-Version: 1.0 X-CM-TRANSID: _____wA3nruVWVNlhUdEDA--.55205S2 X-Coremail-Antispam: 1Uf129KBjvJXoW7Cw1rGr1xXF4xCFy7tr45trb_yoW8CryxpF W7AryYqr4IgFWjqw1kAF4UAFyYyrnFyay3Crn7K3WfZr13Krn2yrn8GF1UZF98Ar1xur42 yFs7ta47CFW7uFJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jo4E_UUUUU= X-Originating-IP: [58.22.7.114] X-CM-SenderInfo: 5dqg52xkunqiywtou0bp/xtbBnA0oXlghlUycewABsh 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 agentk.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 (agentk.vger.email [0.0.0.0]); Tue, 14 Nov 2023 03:28:32 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782538637000993678 X-GMAIL-MSGID: 1782538637000993678 From: Andy Yan This reverts commit b63a553e8f5aa6574eeb535a551817a93c426d8c. regcache_sync will try to reload the configuration in regcache to hardware, but the registers of 4 Cluster windows and Esmart1/2/3 on the upcoming rk3588 can not be set successfully before internal PD power on. Also it's better to keep the hardware register as it is before we really enable it. So let's revert this version, and keep the first version: commit afa965a45e01 ("drm/rockchip: vop2: fix suspend/resume") Signed-off-by: Andy Yan --- drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c index 6862fb146ace..4d7d5032d96b 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c @@ -217,6 +217,8 @@ struct vop2 { struct vop2_win win[]; }; +static const struct regmap_config vop2_regmap_config; + static struct vop2_video_port *to_vop2_video_port(struct drm_crtc *crtc) { return container_of(crtc, struct vop2_video_port, crtc); @@ -878,7 +880,11 @@ static void vop2_enable(struct vop2 *vop2) return; } - regcache_sync(vop2->map); + ret = regmap_reinit_cache(vop2->map, &vop2_regmap_config); + if (ret) { + drm_err(vop2->drm, "failed to reinit cache: %d\n", ret); + return; + } if (vop2->data->soc_id == 3566) vop2_writel(vop2, RK3568_OTP_WIN_EN, 1); @@ -908,8 +914,6 @@ static void vop2_disable(struct vop2 *vop2) pm_runtime_put_sync(vop2->dev); - regcache_mark_dirty(vop2->map); - clk_disable_unprepare(vop2->aclk); clk_disable_unprepare(vop2->hclk); }