Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp9622501rwd; Wed, 21 Jun 2023 09:37:03 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6hCdRp9npMK20Kd5kp4Z2aKCkCHDOM4Mkay9q9SGlNpmHqepqGvTfGu7TF24UoZeSCm4Qk X-Received: by 2002:a05:6808:3096:b0:396:12cb:1349 with SMTP id bl22-20020a056808309600b0039612cb1349mr18151760oib.38.1687365423406; Wed, 21 Jun 2023 09:37:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687365423; cv=none; d=google.com; s=arc-20160816; b=kXLRlVR2pwtBova/0Q4OsUcnKng9pVMJ1sBGymK8vCrimEymCLeVwy9pUcXXYWpUw+ yf6c/xmudfIop4hdGRfJzR5CIDk+nbkGcyFj6taoWxx++dv7TRN+4+CQHsXJB55UUwkf ONg3i6R02COOiQ/jqUzJTs2qZeiutgBUHeHA/O/WI6Cqn0s2E+3xQa96gx2vJLSKmUbn 2mt6WMJSbP6GlFJVNcpOXsJ7dQEPiiv0B1BNajkiYExqa2If6I4PBJS3SLRPzrRwAS9j 7VjoFUt0HoTxwgLTH7YGuN3B5Y7TTTOxj77VCoXsndpbpAZToD/0ARgBF1OKeRAjw93w C6HA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:in-reply-to:from :content-language:references:subject:user-agent:mime-version:date :message-id:dkim-signature; bh=8+jSZYNVSR48321s/oSCWt0Vx0TuZhHVNXzSvj6Jubw=; b=di/nxrkwNE+a+kbk6nQLM5WpqN/GOtLvrV5gwwam+JSsP6UiNm7Cc8vTdFQ9liZTIh +oypzfUQWLsv5xzGypyFkRmu+gEn7gU83z4VJ12q+D7VxQSqHM5lsIWC8BZ4dX4LopBh KR5rB/7207ffs+/dl1HPaaYOa8NebayMdPB4jJqcMgCEGgrgBpLP2XADtFFQrcuQ/aet 0dyy7g26O3Av4ima+c+X+tjv/c8GUE8ZbykRfWf7eDKlNXc6QKW3jx4+L9aA61mgot2d 0RzCwD6cH7pvZw8NqoKK5cbKAvBaFKd1nAgUN6WOhwDxN5WVFX1vgbTcB5b5CCMQKWlJ 8PMg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kwiboo.se header.s=s1 header.b="ZMJbFTe/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kwiboo.se Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a12-20020a63704c000000b005347d133470si4347786pgn.385.2023.06.21.09.36.49; Wed, 21 Jun 2023 09:37:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kwiboo.se header.s=s1 header.b="ZMJbFTe/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kwiboo.se Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233553AbjFUPmx (ORCPT + 99 others); Wed, 21 Jun 2023 11:42:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45636 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232701AbjFUPmj (ORCPT ); Wed, 21 Jun 2023 11:42:39 -0400 Received: from s.wrqvtbkv.outbound-mail.sendgrid.net (s.wrqvtbkv.outbound-mail.sendgrid.net [149.72.123.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3654819B5 for ; Wed, 21 Jun 2023 08:42:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=mime-version:subject:references:from:in-reply-to:to:cc:content-type: content-transfer-encoding:cc:content-type:from:subject:to; s=s1; bh=8+jSZYNVSR48321s/oSCWt0Vx0TuZhHVNXzSvj6Jubw=; b=ZMJbFTe/D3Y3fpJsgbD+xG8inBdcqgJJm4S+6tintXoPTGXQ7Y2APOwTQPySoEH+AEvV lnahvLL3hgEmCak2r7ltJIJvut9FCvRUr3rgV4bYtQKbAJiYR3BAphQ7077tyUaYdlyPUB caU5+aRl66KAgrYL1AUlXXnXjdcIFWJGZXgVs+ZdROmPzZd3X7MDiv0PPYHa19a0MVj1Un CM1gKbzCGYVWqei89WIEzlBE1x0wM/2yV66HHD1cKsTcwfZtKTxRmAj+oL4oX6S8pq+LDp syffKEZiJiNM9h1K06nMqnOTRvCXYcz3m9vMmagvRPqygV1hjResjDCdLVodnWPg== Received: by filterdrecv-77869f68cc-4lhvt with SMTP id filterdrecv-77869f68cc-4lhvt-1-64931A39-63 2023-06-21 15:41:45.772147988 +0000 UTC m=+3600334.020172255 Received: from [192.168.1.50] (unknown) by geopod-ismtpd-5 (SG) with ESMTP id 1CQkqm0ERMy9gnj9PBUTmw Wed, 21 Jun 2023 15:41:45.457 +0000 (UTC) Message-ID: <1f20a832-6339-0feb-3647-cea7598e60be@kwiboo.se> Date: Wed, 21 Jun 2023 15:41:46 +0000 (UTC) MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: [PATCH 4/4] drm/rockchip: vop2: Add missing call to crtc reset helper References: <20230620064732.1525594-1-jonas@kwiboo.se> <20230620064732.1525594-5-jonas@kwiboo.se> <20230621081151.GY18491@pengutronix.de> Content-Language: en-US From: Jonas Karlman In-Reply-To: <20230621081151.GY18491@pengutronix.de> X-SG-EID: =?us-ascii?Q?TdbjyGynYnRZWhH+7lKUQJL+ZxmxpowvO2O9SQF5CwCVrYgcwUXgU5DKUU3QxA?= =?us-ascii?Q?fZekEeQsTe+RrMu3cja6a0h7SRAqrjZghh+BUwH?= =?us-ascii?Q?PaDHTn0zfJUkykOFCOQaqgs9WhKZwljx1UFMUli?= =?us-ascii?Q?64cy78z0MEgFsiULaIXkYPjkvJPN0lJKOsBrzgo?= =?us-ascii?Q?zVj+NjeBW0XaXTzBuM8tJbnyUuz50xZc1=2FeMU2T?= =?us-ascii?Q?NoCo7xctEjTmPlTrOPb3HQKdLkrk23cU7aK5+q?= To: Sascha Hauer Cc: Sandy Huang , Heiko Stuebner , David Airlie , Daniel Vetter , Rob Herring , Andy Yan , Mark Yao , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org X-Entity-ID: P7KYpSJvGCELWjBME/J5tg== Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2023-06-21 10:11, Sascha Hauer wrote: > On Tue, Jun 20, 2023 at 06:47:39AM +0000, Jonas Karlman wrote: >> Add missing call to crtc reset helper to properly vblank reset. >> >> Also move vop2_crtc_reset and call vop2_crtc_destroy_state to simplify >> and remove duplicated code. >> >> Fixes: 604be85547ce ("drm/rockchip: Add VOP2 driver") >> Signed-off-by: Jonas Karlman >> --- >> drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 28 ++++++++------------ >> 1 file changed, 11 insertions(+), 17 deletions(-) >> >> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c >> index f725487d02ef..1be84fe0208f 100644 >> --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c >> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c >> @@ -2080,23 +2080,6 @@ static const struct drm_crtc_helper_funcs vop2_crtc_helper_funcs = { >> .atomic_disable = vop2_crtc_atomic_disable, >> }; >> >> -static void vop2_crtc_reset(struct drm_crtc *crtc) >> -{ >> - struct rockchip_crtc_state *vcstate = to_rockchip_crtc_state(crtc->state); >> - >> - if (crtc->state) { >> - __drm_atomic_helper_crtc_destroy_state(crtc->state); >> - kfree(vcstate); >> - } >> - >> - vcstate = kzalloc(sizeof(*vcstate), GFP_KERNEL); >> - if (!vcstate) >> - return; >> - >> - crtc->state = &vcstate->base; >> - crtc->state->crtc = crtc; >> -} >> - >> static struct drm_crtc_state *vop2_crtc_duplicate_state(struct drm_crtc *crtc) >> { >> struct rockchip_crtc_state *vcstate; >> @@ -2123,6 +2106,17 @@ static void vop2_crtc_destroy_state(struct drm_crtc *crtc, >> kfree(vcstate); >> } >> >> +static void vop2_crtc_reset(struct drm_crtc *crtc) >> +{ >> + struct rockchip_crtc_state *vcstate = >> + kzalloc(sizeof(*vcstate), GFP_KERNEL); >> + >> + if (crtc->state) >> + vop2_crtc_destroy_state(crtc, crtc->state); >> + >> + __drm_atomic_helper_crtc_reset(crtc, &vcstate->base); >> +} > > You missed to check for allocation failures before using vcstate. Good catch, I will fix for both vop and vop2 driver in v2. Regards, Jonas > > Sascha >