From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C1E3FC4167B for ; Fri, 1 Dec 2023 02:36:20 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id EFF4C10E076; Fri, 1 Dec 2023 02:36:19 +0000 (UTC) Received: from out-178.mta1.migadu.com (out-178.mta1.migadu.com [IPv6:2001:41d0:203:375::b2]) by gabe.freedesktop.org (Postfix) with ESMTPS id 084FE10E076 for ; Fri, 1 Dec 2023 02:36:17 +0000 (UTC) Message-ID: <9a741d8d-a699-4fe8-af59-f90c91014d01@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701398175; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EIETJb62GcJnMc0HG5pRvWQuoXMY9gZZynhystY1S+g=; b=ZZyzjJQWQ2LuSvhxg2XyMudBtyeZupmuAAnvmKHiwQ+cISrZEQwCONl2svSSzC0iMFByAQ u/8MQxOL1o4lub/0CjMMm58jAsESsW0JcN9g3bzVvzGoQAKuXcSu6dHSO9Zps4rSSQoC93 iTR4J7EEcdkpBG1hYmDGsbImU9l4c6A= Date: Fri, 1 Dec 2023 10:36:08 +0800 MIME-Version: 1.0 Subject: Re: [1/8] drm/plane-helper: Move drm_plane_helper_atomic_check() into udl To: Thomas Zimmermann , mripard@kernel.org, maarten.lankhorst@linux.intel.com, daniel@ffwll.ch, airlied@gmail.com References: <20231128104723.20622-2-tzimmermann@suse.de> Content-Language: en-US X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Sui Jingfeng In-Reply-To: <20231128104723.20622-2-tzimmermann@suse.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: javierm@redhat.com, amd-gfx@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, laurent.pinchart@ideasonboard.com Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Hi, On 2023/11/28 18:45, Thomas Zimmermann wrote: > The udl driver is the only caller of drm_plane_helper_atomic_check(). > Move the function into the driver. No functional changes. > > Signed-off-by: Thomas Zimmermann > --- > drivers/gpu/drm/drm_plane_helper.c | 32 ------------------------------ > drivers/gpu/drm/udl/udl_modeset.c | 19 ++++++++++++++++-- > include/drm/drm_plane_helper.h | 2 -- > 3 files changed, 17 insertions(+), 36 deletions(-) > > diff --git a/drivers/gpu/drm/drm_plane_helper.c b/drivers/gpu/drm/drm_plane_helper.c > index 5e95089676ff8..7982be4b0306d 100644 > --- a/drivers/gpu/drm/drm_plane_helper.c > +++ b/drivers/gpu/drm/drm_plane_helper.c > @@ -279,35 +279,3 @@ void drm_plane_helper_destroy(struct drm_plane *plane) > kfree(plane); > } > EXPORT_SYMBOL(drm_plane_helper_destroy); > - > -/** > - * drm_plane_helper_atomic_check() - Helper to check plane atomic-state > - * @plane: plane to check > - * @state: atomic state object > - * > - * Provides a default plane-state check handler for planes whose atomic-state > - * scale and positioning are not expected to change since the plane is always > - * a fullscreen scanout buffer. > - * > - * This is often the case for the primary plane of simple framebuffers. See > - * also drm_crtc_helper_atomic_check() for the respective CRTC-state check > - * helper function. > - * > - * RETURNS: > - * Zero on success, or an errno code otherwise. > - */ > -int drm_plane_helper_atomic_check(struct drm_plane *plane, struct drm_atomic_state *state) > -{ > - struct drm_plane_state *new_plane_state = drm_atomic_get_new_plane_state(state, plane); > - struct drm_crtc *new_crtc = new_plane_state->crtc; > - struct drm_crtc_state *new_crtc_state = NULL; > - > - if (new_crtc) > - new_crtc_state = drm_atomic_get_new_crtc_state(state, new_crtc); > - > - return drm_atomic_helper_check_plane_state(new_plane_state, new_crtc_state, > - DRM_PLANE_NO_SCALING, > - DRM_PLANE_NO_SCALING, > - false, false); > -} > -EXPORT_SYMBOL(drm_plane_helper_atomic_check); Since this function is removed, does the comments of the drm_crtc_helper_atomic_check() function (in the drm_crtc_helper.c) need to update as well? I'm ask because I see the comments of the drm_crtc_helper_atomic_check() still referencing this function. > diff --git a/drivers/gpu/drm/udl/udl_modeset.c b/drivers/gpu/drm/udl/udl_modeset.c > index 40876bcdd79a4..7702359c90c22 100644 > --- a/drivers/gpu/drm/udl/udl_modeset.c > +++ b/drivers/gpu/drm/udl/udl_modeset.c > @@ -21,7 +21,6 @@ > #include > #include > #include > -#include > #include > #include > > @@ -261,6 +260,22 @@ static const uint64_t udl_primary_plane_fmtmods[] = { > DRM_FORMAT_MOD_INVALID > }; > > +static int udl_primary_plane_helper_atomic_check(struct drm_plane *plane, > + struct drm_atomic_state *state) > +{ > + struct drm_plane_state *new_plane_state = drm_atomic_get_new_plane_state(state, plane); > + struct drm_crtc *new_crtc = new_plane_state->crtc; > + struct drm_crtc_state *new_crtc_state = NULL; > + > + if (new_crtc) > + new_crtc_state = drm_atomic_get_new_crtc_state(state, new_crtc); > + > + return drm_atomic_helper_check_plane_state(new_plane_state, new_crtc_state, > + DRM_PLANE_NO_SCALING, > + DRM_PLANE_NO_SCALING, > + false, false); > +} > + > static void udl_primary_plane_helper_atomic_update(struct drm_plane *plane, > struct drm_atomic_state *state) > { > @@ -296,7 +311,7 @@ static void udl_primary_plane_helper_atomic_update(struct drm_plane *plane, > > static const struct drm_plane_helper_funcs udl_primary_plane_helper_funcs = { > DRM_GEM_SHADOW_PLANE_HELPER_FUNCS, > - .atomic_check = drm_plane_helper_atomic_check, > + .atomic_check = udl_primary_plane_helper_atomic_check, > .atomic_update = udl_primary_plane_helper_atomic_update, > }; > > diff --git a/include/drm/drm_plane_helper.h b/include/drm/drm_plane_helper.h > index 3a574e8cd22f4..75f9c4830564a 100644 > --- a/include/drm/drm_plane_helper.h > +++ b/include/drm/drm_plane_helper.h > @@ -26,7 +26,6 @@ > > #include > > -struct drm_atomic_state; > struct drm_crtc; > struct drm_framebuffer; > struct drm_modeset_acquire_ctx; > @@ -42,7 +41,6 @@ int drm_plane_helper_update_primary(struct drm_plane *plane, struct drm_crtc *cr > int drm_plane_helper_disable_primary(struct drm_plane *plane, > struct drm_modeset_acquire_ctx *ctx); > void drm_plane_helper_destroy(struct drm_plane *plane); > -int drm_plane_helper_atomic_check(struct drm_plane *plane, struct drm_atomic_state *state); > > /** > * DRM_PLANE_NON_ATOMIC_FUNCS - Default plane functions for non-atomic drivers