From patchwork Tue Oct 29 23:47:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Dr. David Alan Gilbert" X-Patchwork-Id: 13855751 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 E208BD7494D for ; Tue, 29 Oct 2024 23:47:18 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id F039410E3DD; Tue, 29 Oct 2024 23:47:17 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=treblig.org header.i=@treblig.org header.b="s58++sij"; dkim-atps=neutral Received: from mx.treblig.org (mx.treblig.org [46.235.229.95]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1F00510E3D0 for ; Tue, 29 Oct 2024 23:47:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=treblig.org ; s=bytemarkmx; h=MIME-Version:Message-ID:Date:Subject:From:Content-Type:From :Subject; bh=q6KYr6GX03M+Jc/IuwI+wp3bmGaFy8No8qY4nPfb1c0=; b=s58++sijcLeKwTXm wGEjJosh4SJ8wnHzmGTYDQQ4jU7F1hi45+enQfHBCmxdWlPrMHckbKGKA+EFGCy/ryNl/iFCRXFVp C9GSvq8lT2imZ63nzKNNZPiY3zb61zoBOuDCY8v8VPLxrOSGMlXN524qzu3DdVgRNjzag1U5xbKjD Wo1xsgj0aj4vGgPSssLKViHGyXsiAXzFdyDdUpV77pWiA6SbHigrNhEdU15E9DNPMev9aaNCmFCOy +uizTpbNfIC3kyDomfrKF/8xrbE14vORDWr2lMZ6GEa40Q0hO62EAlVNnCpJWe4izZ3ljo3kQSBHt T5E2nKY83xuBoqJJjA==; Received: from localhost ([127.0.0.1] helo=dalek.home.treblig.org) by mx.treblig.org with esmtp (Exim 4.96) (envelope-from ) id 1t5vvX-00EMNX-2z; Tue, 29 Oct 2024 23:47:07 +0000 From: linux@treblig.org To: dmitry.baryshkov@linaro.org, ville.syrjala@linux.intel.com, jfalempe@redhat.com, tomi.valkeinen@ideasonboard.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, "Dr. David Alan Gilbert" Subject: [PATCH v2 1/3] drm: Remove unused drm_atomic_helper_commit_planes_on_crtc Date: Tue, 29 Oct 2024 23:47:03 +0000 Message-ID: <20241029234706.285087-2-linux@treblig.org> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241029234706.285087-1-linux@treblig.org> References: <20241029234706.285087-1-linux@treblig.org> MIME-Version: 1.0 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: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" From: "Dr. David Alan Gilbert" The last use of drm_atomic_helper_commit_planes_on_crtc() was removed in 2018 by commit 6c246b81f938 ("drm/i915: Replace call to commit_planes_on_crtc with internal update, v2.") Remove it. Signed-off-by: Dr. David Alan Gilbert Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/drm_atomic_helper.c | 72 ----------------------------- include/drm/drm_atomic_helper.h | 1 - 2 files changed, 73 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index 43cdf39019a4..dd8f7d6f5a36 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -2705,8 +2705,6 @@ static bool plane_crtc_active(const struct drm_plane_state *state) * crtcs need to be updated though. * * Note that this function does all plane updates across all CRTCs in one step. - * If the hardware can't support this approach look at - * drm_atomic_helper_commit_planes_on_crtc() instead. * * Plane parameters can be updated by applications while the associated CRTC is * disabled. The DRM/KMS core will store the parameters in the plane state, @@ -2833,76 +2831,6 @@ void drm_atomic_helper_commit_planes(struct drm_device *dev, } EXPORT_SYMBOL(drm_atomic_helper_commit_planes); -/** - * drm_atomic_helper_commit_planes_on_crtc - commit plane state for a CRTC - * @old_crtc_state: atomic state object with the old CRTC state - * - * This function commits the new plane state using the plane and atomic helper - * functions for planes on the specific CRTC. It assumes that the atomic state - * has already been pushed into the relevant object state pointers, since this - * step can no longer fail. - * - * This function is useful when plane updates should be done CRTC-by-CRTC - * instead of one global step like drm_atomic_helper_commit_planes() does. - * - * This function can only be savely used when planes are not allowed to move - * between different CRTCs because this function doesn't handle inter-CRTC - * dependencies. Callers need to ensure that either no such dependencies exist, - * resolve them through ordering of commit calls or through some other means. - */ -void -drm_atomic_helper_commit_planes_on_crtc(struct drm_crtc_state *old_crtc_state) -{ - const struct drm_crtc_helper_funcs *crtc_funcs; - struct drm_crtc *crtc = old_crtc_state->crtc; - struct drm_atomic_state *old_state = old_crtc_state->state; - struct drm_crtc_state *new_crtc_state = - drm_atomic_get_new_crtc_state(old_state, crtc); - struct drm_plane *plane; - unsigned int plane_mask; - - plane_mask = old_crtc_state->plane_mask; - plane_mask |= new_crtc_state->plane_mask; - - crtc_funcs = crtc->helper_private; - if (crtc_funcs && crtc_funcs->atomic_begin) - crtc_funcs->atomic_begin(crtc, old_state); - - drm_for_each_plane_mask(plane, crtc->dev, plane_mask) { - struct drm_plane_state *old_plane_state = - drm_atomic_get_old_plane_state(old_state, plane); - struct drm_plane_state *new_plane_state = - drm_atomic_get_new_plane_state(old_state, plane); - const struct drm_plane_helper_funcs *plane_funcs; - bool disabling; - - plane_funcs = plane->helper_private; - - if (!old_plane_state || !plane_funcs) - continue; - - WARN_ON(new_plane_state->crtc && - new_plane_state->crtc != crtc); - - disabling = drm_atomic_plane_disabling(old_plane_state, new_plane_state); - - if (disabling && plane_funcs->atomic_disable) { - plane_funcs->atomic_disable(plane, old_state); - } else if (new_plane_state->crtc || disabling) { - plane_funcs->atomic_update(plane, old_state); - - if (!disabling && plane_funcs->atomic_enable) { - if (drm_atomic_plane_enabling(old_plane_state, new_plane_state)) - plane_funcs->atomic_enable(plane, old_state); - } - } - } - - if (crtc_funcs && crtc_funcs->atomic_flush) - crtc_funcs->atomic_flush(crtc, old_state); -} -EXPORT_SYMBOL(drm_atomic_helper_commit_planes_on_crtc); - /** * drm_atomic_helper_disable_planes_on_crtc - helper to disable CRTC's planes * @old_crtc_state: atomic state object with the old CRTC state diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h index 9aa0a05aa072..6ad50c531fc0 100644 --- a/include/drm/drm_atomic_helper.h +++ b/include/drm/drm_atomic_helper.h @@ -107,7 +107,6 @@ void drm_atomic_helper_commit_planes(struct drm_device *dev, uint32_t flags); void drm_atomic_helper_cleanup_planes(struct drm_device *dev, struct drm_atomic_state *old_state); -void drm_atomic_helper_commit_planes_on_crtc(struct drm_crtc_state *old_crtc_state); void drm_atomic_helper_disable_planes_on_crtc(struct drm_crtc_state *old_crtc_state, bool atomic); From patchwork Tue Oct 29 23:47:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Dr. David Alan Gilbert" X-Patchwork-Id: 13855752 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 6271FD7494E for ; Tue, 29 Oct 2024 23:47:21 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9D78A10E727; Tue, 29 Oct 2024 23:47:18 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=treblig.org header.i=@treblig.org header.b="DKnuj4ZS"; dkim-atps=neutral Received: from mx.treblig.org (mx.treblig.org [46.235.229.95]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1977B10E3CE for ; Tue, 29 Oct 2024 23:47:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=treblig.org ; s=bytemarkmx; h=MIME-Version:Message-ID:Date:Subject:From:Content-Type:From :Subject; bh=LC9oDJnN6kZ4N2r0wYkvLK4l047d103spGwC2xW8urY=; b=DKnuj4ZSPCZJ7dwY SSvTfgPhvo6RSEBo1I+GWqXzb15GR1b7tdqHL2yGNQmxQa6hqNqYjl3eIKuODD8sANfUY69SsNMxv nfmXtwqIhFpqPcFhV2GFSEZmXa6KeVrb1zemEFGxI5Er5GACONoNjFvNtPQUKxOkEuSPiw1v/b3AN amJEmiQ1isOkA6qv1XSypYCAapuJVbQovSZ+ZkKVLHUJpWFvTCxm3jS1DcToeRq4+v0VYioqAuESq s2xPt7lC6mC0B4Z18Tu2fo8nqNZQkTHXthK7QD6zNWfLGQpOxuuHuUIAGyDakr1eXTl0aLM3cZ6OI ORdAh9XTcFXvgjWfTw==; Received: from localhost ([127.0.0.1] helo=dalek.home.treblig.org) by mx.treblig.org with esmtp (Exim 4.96) (envelope-from ) id 1t5vvY-00EMNX-2O; Tue, 29 Oct 2024 23:47:08 +0000 From: linux@treblig.org To: dmitry.baryshkov@linaro.org, ville.syrjala@linux.intel.com, jfalempe@redhat.com, tomi.valkeinen@ideasonboard.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, "Dr. David Alan Gilbert" Subject: [PATCH v2 2/3] drm/sysfs: Remove unused drm_class_device_(un)register Date: Tue, 29 Oct 2024 23:47:04 +0000 Message-ID: <20241029234706.285087-3-linux@treblig.org> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241029234706.285087-1-linux@treblig.org> References: <20241029234706.285087-1-linux@treblig.org> MIME-Version: 1.0 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: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" From: "Dr. David Alan Gilbert" drm_class_device_register() and drm_class_device_unregister() have been unused since commit ed89fff97382 ("drm/ttm: drop sysfs directory") Remove them. Signed-off-by: Dr. David Alan Gilbert Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/drm_sysfs.c | 32 -------------------------------- include/drm/drm_sysfs.h | 4 ---- 2 files changed, 36 deletions(-) diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c index fb3bbb6adcd1..3bc90fe5cea3 100644 --- a/drivers/gpu/drm/drm_sysfs.c +++ b/drivers/gpu/drm/drm_sysfs.c @@ -548,35 +548,3 @@ struct device *drm_sysfs_minor_alloc(struct drm_minor *minor) put_device(kdev); return ERR_PTR(r); } - -/** - * drm_class_device_register - register new device with the DRM sysfs class - * @dev: device to register - * - * Registers a new &struct device within the DRM sysfs class. Essentially only - * used by ttm to have a place for its global settings. Drivers should never use - * this. - */ -int drm_class_device_register(struct device *dev) -{ - if (!drm_class || IS_ERR(drm_class)) - return -ENOENT; - - dev->class = drm_class; - return device_register(dev); -} -EXPORT_SYMBOL_GPL(drm_class_device_register); - -/** - * drm_class_device_unregister - unregister device with the DRM sysfs class - * @dev: device to unregister - * - * Unregisters a &struct device from the DRM sysfs class. Essentially only used - * by ttm to have a place for its global settings. Drivers should never use - * this. - */ -void drm_class_device_unregister(struct device *dev) -{ - return device_unregister(dev); -} -EXPORT_SYMBOL_GPL(drm_class_device_unregister); diff --git a/include/drm/drm_sysfs.h b/include/drm/drm_sysfs.h index 96a5d858404b..7695873a9456 100644 --- a/include/drm/drm_sysfs.h +++ b/include/drm/drm_sysfs.h @@ -3,13 +3,9 @@ #define _DRM_SYSFS_H_ struct drm_device; -struct device; struct drm_connector; struct drm_property; -int drm_class_device_register(struct device *dev); -void drm_class_device_unregister(struct device *dev); - void drm_sysfs_hotplug_event(struct drm_device *dev); void drm_sysfs_connector_hotplug_event(struct drm_connector *connector); void drm_sysfs_connector_property_event(struct drm_connector *connector, From patchwork Tue Oct 29 23:47:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Dr. David Alan Gilbert" X-Patchwork-Id: 13855753 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 E0EDED7494E for ; Tue, 29 Oct 2024 23:47:25 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2092410E3CA; Tue, 29 Oct 2024 23:47:25 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=treblig.org header.i=@treblig.org header.b="o8Sc7Anr"; dkim-atps=neutral Received: from mx.treblig.org (mx.treblig.org [46.235.229.95]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4F89110E3D3 for ; Tue, 29 Oct 2024 23:47:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=treblig.org ; s=bytemarkmx; h=MIME-Version:Message-ID:Date:Subject:From:Content-Type:From :Subject; bh=l9Jf67sY6k0pV20eW1NfvPqXo0KO+KBOFwOnCVfaRwQ=; b=o8Sc7AnrwtH8h7zE G7FZD45i/SWuj4e1pGJ0VEJo1lcCJROSiXg7t9MLy1jLSVnq/cxAIcXbhd7TsBFGNJgOekQ5xO3tr XvV5TVvrQ51v0O+SiO52bh1THhy7JtiWf2aElhq58/JJjK4TvbBCHq7ZHNnh1dtXsLXwIpdOSZv/q 4nBsvruKgBcjSP9GerIRDwbIdvdpUD+k7/aixtMSoKWGQsxJv4mqM7jLAOGyGXrOhGIC+9uh5KaSR oGkFx/RWbdixm9neswWpfQxg/Z53EW3X5tRuLE/f6TMKk7jY/frEePFfhcOafTFfCxSWoQzrjIbgQ 0Dq/tGja2+BjU5jE2w==; Received: from localhost ([127.0.0.1] helo=dalek.home.treblig.org) by mx.treblig.org with esmtp (Exim 4.96) (envelope-from ) id 1t5vvb-00EMNX-08; Tue, 29 Oct 2024 23:47:11 +0000 From: linux@treblig.org To: dmitry.baryshkov@linaro.org, ville.syrjala@linux.intel.com, jfalempe@redhat.com, tomi.valkeinen@ideasonboard.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, "Dr. David Alan Gilbert" Subject: [PATCH v2 3/3] Revert "drm/client: Add drm_client_modeset_check()" Date: Tue, 29 Oct 2024 23:47:05 +0000 Message-ID: <20241029234706.285087-4-linux@treblig.org> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241029234706.285087-1-linux@treblig.org> References: <20241029234706.285087-1-linux@treblig.org> MIME-Version: 1.0 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: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" From: "Dr. David Alan Gilbert" drm_client_modeset_check() was explicitly added in 2020 by commit 64593f2a6fc9 ("drm/client: Add drm_client_modeset_check()") but has never been used. This reverts commit 64593f2a6fc933bb9a410bc3f8c261f3e57a9601. Signed-off-by: Dr. David Alan Gilbert Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/drm_client_modeset.c | 35 ++++------------------------ include/drm/drm_client.h | 1 - 2 files changed, 4 insertions(+), 32 deletions(-) diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c index cee5eafbfb81..39201c11eaac 100644 --- a/drivers/gpu/drm/drm_client_modeset.c +++ b/drivers/gpu/drm/drm_client_modeset.c @@ -995,7 +995,7 @@ bool drm_client_rotation(struct drm_mode_set *modeset, unsigned int *rotation) } EXPORT_SYMBOL(drm_client_rotation); -static int drm_client_modeset_commit_atomic(struct drm_client_dev *client, bool active, bool check) +static int drm_client_modeset_commit_atomic(struct drm_client_dev *client, bool active) { struct drm_device *dev = client->dev; struct drm_plane *plane; @@ -1062,10 +1062,7 @@ static int drm_client_modeset_commit_atomic(struct drm_client_dev *client, bool } } - if (check) - ret = drm_atomic_check_only(state); - else - ret = drm_atomic_commit(state); + ret = drm_atomic_commit(state); out_state: if (ret == -EDEADLK) @@ -1126,30 +1123,6 @@ static int drm_client_modeset_commit_legacy(struct drm_client_dev *client) return ret; } -/** - * drm_client_modeset_check() - Check modeset configuration - * @client: DRM client - * - * Check modeset configuration. - * - * Returns: - * Zero on success or negative error code on failure. - */ -int drm_client_modeset_check(struct drm_client_dev *client) -{ - int ret; - - if (!drm_drv_uses_atomic_modeset(client->dev)) - return 0; - - mutex_lock(&client->modeset_mutex); - ret = drm_client_modeset_commit_atomic(client, true, true); - mutex_unlock(&client->modeset_mutex); - - return ret; -} -EXPORT_SYMBOL(drm_client_modeset_check); - /** * drm_client_modeset_commit_locked() - Force commit CRTC configuration * @client: DRM client @@ -1168,7 +1141,7 @@ int drm_client_modeset_commit_locked(struct drm_client_dev *client) mutex_lock(&client->modeset_mutex); if (drm_drv_uses_atomic_modeset(dev)) - ret = drm_client_modeset_commit_atomic(client, true, false); + ret = drm_client_modeset_commit_atomic(client, true); else ret = drm_client_modeset_commit_legacy(client); mutex_unlock(&client->modeset_mutex); @@ -1246,7 +1219,7 @@ int drm_client_modeset_dpms(struct drm_client_dev *client, int mode) mutex_lock(&client->modeset_mutex); if (drm_drv_uses_atomic_modeset(dev)) - ret = drm_client_modeset_commit_atomic(client, mode == DRM_MODE_DPMS_ON, false); + ret = drm_client_modeset_commit_atomic(client, mode == DRM_MODE_DPMS_ON); else drm_client_modeset_dpms_legacy(client, mode); mutex_unlock(&client->modeset_mutex); diff --git a/include/drm/drm_client.h b/include/drm/drm_client.h index bc0e66f9c425..ead3c3526ee3 100644 --- a/include/drm/drm_client.h +++ b/include/drm/drm_client.h @@ -177,7 +177,6 @@ int drm_client_modeset_create(struct drm_client_dev *client); void drm_client_modeset_free(struct drm_client_dev *client); int drm_client_modeset_probe(struct drm_client_dev *client, unsigned int width, unsigned int height); bool drm_client_rotation(struct drm_mode_set *modeset, unsigned int *rotation); -int drm_client_modeset_check(struct drm_client_dev *client); int drm_client_modeset_commit_locked(struct drm_client_dev *client); int drm_client_modeset_commit(struct drm_client_dev *client); int drm_client_modeset_dpms(struct drm_client_dev *client, int mode);