From patchwork Tue Oct 11 16:51:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 13004149 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 828BCC433FE for ; Tue, 11 Oct 2022 16:52:01 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4573010E83B; Tue, 11 Oct 2022 16:51:59 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 58E8B10E828 for ; Tue, 11 Oct 2022 16:51:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1665507112; 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=Oo5rZBNzXD8F+rhBbW8zQ7kO5o2gNkfu06ZgFe5d8yI=; b=KDIhzneA2aIrXriVdvGHZGphNgg+u8+S51+OADEuK9F089blXGht1/+9ct/pTlFQ0iNisV YQY4RYpWkzVAPUBQHog0ifssGCanpF90eC116vNcnkiQShobulMQ4UgGfDgDWkacTnqBch QwpkXKtXVxZkYukn7VaaI17sYy8SqXc= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-32-g0xlWI5RMkKV8HltD8rH9Q-1; Tue, 11 Oct 2022 12:51:51 -0400 X-MC-Unique: g0xlWI5RMkKV8HltD8rH9Q-1 Received: by mail-wm1-f70.google.com with SMTP id fc12-20020a05600c524c00b003b5054c70d3so8714589wmb.5 for ; Tue, 11 Oct 2022 09:51:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Oo5rZBNzXD8F+rhBbW8zQ7kO5o2gNkfu06ZgFe5d8yI=; b=sg2RKQyg4zBAfOxrHdyBYl1tFJ8WtS+2XpdeWyCWtZn7vOSv/h7c3Hk9ugIakh4ycE 6bQFKcz6d6zBiJv80mDz6NXgHqAc+tpY5v4Oy/h4FvK414+62oiVh7M9mXmEN0pyRujw U2JynLH44f/SjOS4R7SqSWEZXp31d3kdc/0hZlggxfE8HWdN65VjIxFbQLPg8eOLCdBg UcEhj3F5rQwSZ0KfZqcCIf//a3TB41//oj+cWhZ2Md0lNMzvbBMfKr7NAj0nmWkSUAp7 xyn39fa7cHtgWyz+T1OnJANvoPigb88YxOz8L2uvmgpt+407MKSt6CmFdckzHcGRASHr 3rcQ== X-Gm-Message-State: ACrzQf0MkIagL8ySXsePn9VGiir02qkyVk/oAWsfpGx/ZWm8iGIuUJ2M Esv7REQrJ60tGFudP7sQMOBqo7M0xQsp8zG9ZTEmxQxZIycjVmwv/GCxztCEjoFuYzx25pmwv15 tYd4al+MNMpPA71UEiJh5xREsAoE1 X-Received: by 2002:a05:600c:3d96:b0:3bf:bce1:23af with SMTP id bi22-20020a05600c3d9600b003bfbce123afmr25386wmb.112.1665507109888; Tue, 11 Oct 2022 09:51:49 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6Sp+jbWVAWZ7KY8c0LuNSuEk/9o2NlT3aiFrKwD3bsUTSK8yVIvyVo5tQLSyWkQagZWavvLQ== X-Received: by 2002:a05:600c:3d96:b0:3bf:bce1:23af with SMTP id bi22-20020a05600c3d9600b003bfbce123afmr25375wmb.112.1665507109570; Tue, 11 Oct 2022 09:51:49 -0700 (PDT) Received: from minerva.home (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id c19-20020a05600c0a5300b003c6c76b43a1sm2025629wmq.13.2022.10.11.09.51.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Oct 2022 09:51:48 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Subject: [PATCH v2 1/4] drm/mgag200: Do not call drm_atomic_add_affected_planes() Date: Tue, 11 Oct 2022 18:51:33 +0200 Message-Id: <20221011165136.469750-2-javierm@redhat.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221011165136.469750-1-javierm@redhat.com> References: <20221011165136.469750-1-javierm@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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: Thomas Zimmermann , David Airlie , Javier Martinez Canillas , dri-devel@lists.freedesktop.org, Dave Airlie Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" There's no need to add planes to the atomic state. Remove the call to drm_atomic_add_affected_planes() from mgag200. On full modesets, the DRM helpers already add a CRTC's planes to the atomic state; see drm_atomic_helper_check_modeset(). There's no reason to call drm_atomic_add_affected_planes() unconditionally in the CRTC's atomic_check() in mgag200. It's also too late, as the atomic_check() of the added planes will not be called before the commit. Suggested-by: Thomas Zimmermann Signed-off-by: Javier Martinez Canillas Reviewed-by: Thomas Zimmermann --- (no changes since v1) drivers/gpu/drm/mgag200/mgag200_mode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c index 5f7eb642f0c6..758629da95d9 100644 --- a/drivers/gpu/drm/mgag200/mgag200_mode.c +++ b/drivers/gpu/drm/mgag200/mgag200_mode.c @@ -601,7 +601,7 @@ int mgag200_crtc_helper_atomic_check(struct drm_crtc *crtc, struct drm_atomic_st } } - return drm_atomic_add_affected_planes(new_state, crtc); + return 0; } void mgag200_crtc_helper_atomic_flush(struct drm_crtc *crtc, struct drm_atomic_state *old_state) From patchwork Tue Oct 11 16:51:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 13004151 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 A4883C433FE for ; Tue, 11 Oct 2022 16:52:13 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id BFC2910E83D; Tue, 11 Oct 2022 16:52:07 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id D4E2010E836 for ; Tue, 11 Oct 2022 16:51:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1665507115; 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=sz4P4Z4QEIQJ7tRSOPnfB5n0/AjqOBcHz0ZToIWPFi4=; b=UE8Mezy/knJGPM+LXumAh//IVstDzDLcVkgoQs2CFGMjKEfxs+mCbKEhJtd7cnt1lAatSk Q2zR1m0REevntsWD29WoNIcYuiKNjDh1cZt/Vfi4IdBQpJdT/6vlzNcZyuAe3SnF8v7jXD yyDvtT9IxGv0yxwqlDvDOHdT97Qdwsc= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-124-P__Z4JZMMVefpK_ys6iWMA-1; Tue, 11 Oct 2022 12:51:53 -0400 X-MC-Unique: P__Z4JZMMVefpK_ys6iWMA-1 Received: by mail-wm1-f72.google.com with SMTP id c130-20020a1c3588000000b003b56be513e1so8731260wma.0 for ; Tue, 11 Oct 2022 09:51:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sz4P4Z4QEIQJ7tRSOPnfB5n0/AjqOBcHz0ZToIWPFi4=; b=crtvIJ6XHLrXUVKnbBZUThiAckFRodEAIIvCLGbsIDCKTcpDM2znMn22hWwpoTV1XL 8GufCTN1nsXUHtWKJ8/ea/HP4fL/O8Uvu+1WBh7LVouCKzzgs8Zr7SRIYislE+GZt+IG VHEQjqkoG0EKm6p5fNJiZ95XftcIIA0ZIaiWBYP2PgpRYChdmRDY/F0+6R7QUk0MmVuC OKMjVPLsAhiEYuh5pvw6Gfjw3Zq8lBiulwI/cEUREMTuO59+uhZGDWBdL+5WWI/E9kej 4flkqPN5BULaUTshnAXEmy0AsF1EGwgVnjeO2u0OAWexhlUO6wd1QA7zHEgdkgAGT7QO 13TQ== X-Gm-Message-State: ACrzQf2/YDLHAVk0UIfcqYRCuF9HCkmdq+6vpTaqh16bamheJaLpJ/qp WZNZK6NujMZz31RI1GU45ynoOqOBFYYX24RlBpdnPlBU1IUYaI8burYXiuKim6+mnDedaF8s6jH jLZU76wkUxaGZby2z/5Xou6ILymI8 X-Received: by 2002:a05:600c:5119:b0:3c6:cae1:1512 with SMTP id o25-20020a05600c511900b003c6cae11512mr30891wms.80.1665507112207; Tue, 11 Oct 2022 09:51:52 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5U+XbYS3G1P9BD3p7rBLERKgQ1Sen4O+UBvYTZW1wRJWgLPMDaK7PiKSRaj+mRj9bHXSiUJw== X-Received: by 2002:a05:600c:5119:b0:3c6:cae1:1512 with SMTP id o25-20020a05600c511900b003c6cae11512mr30866wms.80.1665507111840; Tue, 11 Oct 2022 09:51:51 -0700 (PDT) Received: from minerva.home (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id c19-20020a05600c0a5300b003c6c76b43a1sm2025629wmq.13.2022.10.11.09.51.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Oct 2022 09:51:50 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Subject: [PATCH v2 2/4] drm/simpledrm: Do not call drm_atomic_add_affected_planes() Date: Tue, 11 Oct 2022 18:51:34 +0200 Message-Id: <20221011165136.469750-3-javierm@redhat.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221011165136.469750-1-javierm@redhat.com> References: <20221011165136.469750-1-javierm@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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: David Airlie , dri-devel@lists.freedesktop.org, Javier Martinez Canillas , Thomas Zimmermann Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" There's no need to add planes to the atomic state. Remove the call to drm_atomic_add_affected_planes() from simpledrm. On full modesets, the DRM helpers already add a CRTC's planes to the atomic state; see drm_atomic_helper_check_modeset(). There's no reason to call drm_atomic_add_affected_planes() unconditionally in the CRTC's atomic_check() in simpledrm. It's also too late, as the atomic_check() of the added planes will not be called before the commit. Suggested-by: Thomas Zimmermann Signed-off-by: Javier Martinez Canillas Reviewed-by: Thomas Zimmermann --- (no changes since v1) drivers/gpu/drm/tiny/simpledrm.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/tiny/simpledrm.c b/drivers/gpu/drm/tiny/simpledrm.c index ecd49a8f3334..f03f17f62a56 100644 --- a/drivers/gpu/drm/tiny/simpledrm.c +++ b/drivers/gpu/drm/tiny/simpledrm.c @@ -549,17 +549,11 @@ static int simpledrm_crtc_helper_atomic_check(struct drm_crtc *crtc, struct drm_atomic_state *new_state) { struct drm_crtc_state *new_crtc_state = drm_atomic_get_new_crtc_state(new_state, crtc); - int ret; if (!new_crtc_state->enable) - goto out; - - ret = drm_atomic_helper_check_crtc_primary_plane(new_crtc_state); - if (ret) - return ret; + return 0; -out: - return drm_atomic_add_affected_planes(new_state, crtc); + return drm_atomic_helper_check_crtc_primary_plane(new_crtc_state); } /* From patchwork Tue Oct 11 16:51:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 13004150 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 DC55BC4332F for ; Tue, 11 Oct 2022 16:52:09 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E2D4B10E88D; Tue, 11 Oct 2022 16:52:06 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7AC4F10E836 for ; Tue, 11 Oct 2022 16:52:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1665507119; 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=IBnOwoRDbp5lIz7DyyRGWmB6mwXxMA+2lwoGkttbDwg=; b=QANCQQWuaAKu9SozPKqXl5esLddROk0RozNRmhgHH+CkzWfEhR1jdGARxc38yQnvFvUs53 hOISXCbdyPaQXc32cAgS2H2OJtCmWmYzbwM2h4iSQiaExTIocLLu00rRVrEEgg8OzGi5qq 2DfmVY2KYzfDgAS/pNFB80DttOOPG74= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-290-FqZm6c6GON6vhcJ4ab1tRA-1; Tue, 11 Oct 2022 12:51:56 -0400 X-MC-Unique: FqZm6c6GON6vhcJ4ab1tRA-1 Received: by mail-wr1-f71.google.com with SMTP id p7-20020adfba87000000b0022cc6f805b1so4106150wrg.21 for ; Tue, 11 Oct 2022 09:51:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IBnOwoRDbp5lIz7DyyRGWmB6mwXxMA+2lwoGkttbDwg=; b=NNN1z7SIyyEXLPJJSh2d1ylqF4o6B/9nEFzLxn3JhBcwt4OFUdvzKjlCZGndW0Lxn2 0vIJ3qIQGJdoLJrI0P4Ae9KLquJfbf66tJoDagES2cMWYb/XryZvKUWTp97QtlFkRS7u dVIZvemzBD+dTPeE/ZAVCP9EVc2XLYmjWh0wO2QC+rEHfhloI7HlJ+LNYHPB1zwdrK3O ce5F99vwXcdcufiVRz7tKwD5piV2zCVOKysDVAFEHoWq9LtoFX9sdrrAgawNHFazwkEL +GhGgckxDjNJv79F46RtC3IMSVMnRTEkbkV6Iw5+y0CQqc8oyDJDmK1L/W08K+vQnDbc TZgA== X-Gm-Message-State: ACrzQf0CMAE97DbmwWL12b/VgyvpnoTQmog1QGmjYeE2VFuxy98PDBzE kvvE2NIunDRqX2hNTJL885wxXIQ7NO4hoYjnWaXKBMGm6x9FNSESg+Fle6/+h5nFXgnlphIhcyo EPec1l+N88z7i+DNqD58+8f1doApq X-Received: by 2002:adf:f709:0:b0:22e:327d:f147 with SMTP id r9-20020adff709000000b0022e327df147mr15586634wrp.240.1665507114902; Tue, 11 Oct 2022 09:51:54 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7dY1FoQ99k7LwWCoZXgCqLmpVU8EUj6xpAdddZbJApMpnMONvuXyLssmYE8+jwEFMpfFP2QQ== X-Received: by 2002:adf:f709:0:b0:22e:327d:f147 with SMTP id r9-20020adff709000000b0022e327df147mr15586620wrp.240.1665507114554; Tue, 11 Oct 2022 09:51:54 -0700 (PDT) Received: from minerva.home (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id c19-20020a05600c0a5300b003c6c76b43a1sm2025629wmq.13.2022.10.11.09.51.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Oct 2022 09:51:52 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Subject: [PATCH v2 3/4] drm/ssd130x: Do not call drm_atomic_add_affected_planes() Date: Tue, 11 Oct 2022 18:51:35 +0200 Message-Id: <20221011165136.469750-4-javierm@redhat.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221011165136.469750-1-javierm@redhat.com> References: <20221011165136.469750-1-javierm@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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: David Airlie , dri-devel@lists.freedesktop.org, Javier Martinez Canillas , Thomas Zimmermann Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" There's no need to add planes to the atomic state. Remove the call to drm_atomic_add_affected_planes() from ssd130x. On full modesets, the DRM helpers already add a CRTC's planes to the atomic state; see drm_atomic_helper_check_modeset(). There's no reason to call drm_atomic_add_affected_planes() unconditionally in the CRTC's atomic_check() in ssd130x. It's also too late, as the atomic_check() of the added planes will not be called before the commit. Suggested-by: Thomas Zimmermann Signed-off-by: Javier Martinez Canillas Reviewed-by: Thomas Zimmermann --- (no changes since v1) drivers/gpu/drm/solomon/ssd130x.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/solomon/ssd130x.c b/drivers/gpu/drm/solomon/ssd130x.c index 57e48355c008..0d4ab65233db 100644 --- a/drivers/gpu/drm/solomon/ssd130x.c +++ b/drivers/gpu/drm/solomon/ssd130x.c @@ -649,17 +649,11 @@ static int ssd130x_crtc_helper_atomic_check(struct drm_crtc *crtc, struct drm_atomic_state *new_state) { struct drm_crtc_state *new_crtc_state = drm_atomic_get_new_crtc_state(new_state, crtc); - int ret; if (!new_crtc_state->enable) - goto out; - - ret = drm_atomic_helper_check_crtc_primary_plane(new_crtc_state); - if (ret) - return ret; + return 0; -out: - return drm_atomic_add_affected_planes(new_state, crtc); + return drm_atomic_helper_check_crtc_primary_plane(new_crtc_state); } /* From patchwork Tue Oct 11 16:51:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Javier Martinez Canillas X-Patchwork-Id: 13004152 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 8A80AC433F5 for ; Tue, 11 Oct 2022 16:52:24 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DDA7110E8A5; Tue, 11 Oct 2022 16:52:22 +0000 (UTC) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3A14510E836 for ; Tue, 11 Oct 2022 16:52:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1665507121; 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=vaCOI9UDHObilr/FfRutdJn/+dgOSqkCuyMJ4ENmaOs=; b=HOiO+GCmCiH/+4A/hOwWiX7Hh6NqOKmUtALSb+0Zjh+AAfU2r7cBh9HHC+GcPbZn1ZTrN/ t25SYIJtf5OGToy/DI9J4TKfKWxrS0yUw5+mr6wdc0GzQbjx74UHi4U726C9stFIu3Tqa6 D2f5wuzBWJ3L+VeNgp7W7aOK845xtfY= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-433-ZQ-rw7qfOaKpndDicOPtoQ-1; Tue, 11 Oct 2022 12:51:58 -0400 X-MC-Unique: ZQ-rw7qfOaKpndDicOPtoQ-1 Received: by mail-wm1-f70.google.com with SMTP id b7-20020a05600c4e0700b003bde2d860d1so8705597wmq.8 for ; Tue, 11 Oct 2022 09:51:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vaCOI9UDHObilr/FfRutdJn/+dgOSqkCuyMJ4ENmaOs=; b=fGzfKptlR0Ma83WUMDAHH2xrZXXrkzO+s0nTvPgqlzMiyXrvtRu8X2544ZsUblNkDE oU/oJznXJpX56RYsK+amLSCovBYwOFLTrPsrf6lirB0/vy+o1qcnRsltKBAx2HoKq+mJ 4GOUzGVMPDKFjDLsSF1baGX29BrOEv5YmDnI3C2N0q0ox1ScnDuqNOyYy+cWa3jg+WCX U24tPp4R+1QaNniL/mV7HRTtA11/ZF5V7kQLKxasoAhxgwPeDVzac3eOTPCOkSoH1iyN +S6nI/nV0O10gAB9e7aclxHk68xsgJSlNGiX/9VLOYZgKrZ+Nxon1DfUIHyG0MaWPY5v VZsA== X-Gm-Message-State: ACrzQf1oUF73ydU9vOemut4qe+KV5dctMqysT9+g/MbFPhkB5MpQCngh 3MipkFinTMmtJ+5vbTi7qCS6e04hExMryZBM1PBnL9/FdtJ51i+efozBRENA+8hjllL55xta3tF cQItiWBM+aFiKaENplAuZt+ZhfopQ X-Received: by 2002:a5d:588e:0:b0:22e:5601:f6d with SMTP id n14-20020a5d588e000000b0022e56010f6dmr15751892wrf.207.1665507117032; Tue, 11 Oct 2022 09:51:57 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7PmArjh64UHPJejX+ohWlZL4spASdLrxYeMDilCiSbo8QeLZylP8y7c2Z1G8l0Ownm8AjByA== X-Received: by 2002:a5d:588e:0:b0:22e:5601:f6d with SMTP id n14-20020a5d588e000000b0022e56010f6dmr15751873wrf.207.1665507116611; Tue, 11 Oct 2022 09:51:56 -0700 (PDT) Received: from minerva.home (205.pool92-176-231.dynamic.orange.es. [92.176.231.205]) by smtp.gmail.com with ESMTPSA id c19-20020a05600c0a5300b003c6c76b43a1sm2025629wmq.13.2022.10.11.09.51.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Oct 2022 09:51:56 -0700 (PDT) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Subject: [PATCH v2 4/4] drm/crtc-helper: Add a drm_crtc_helper_atomic_check() helper Date: Tue, 11 Oct 2022 18:51:36 +0200 Message-Id: <20221011165136.469750-5-javierm@redhat.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20221011165136.469750-1-javierm@redhat.com> References: <20221011165136.469750-1-javierm@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com 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: Thomas Zimmermann , David Airlie , Javier Martinez Canillas , dri-devel@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Provides a default CRTC state check handler for CRTCs that only have one primary plane attached. There are some drivers that duplicate this logic in their helpers, such as simpledrm and ssd130x. Factor out this common code into a CRTC helper and make drivers use it. Signed-off-by: Javier Martinez Canillas Reviewed-by: Thomas Zimmermann --- Changes in v2: - Reference drm_plane_helper_atomic_check() from drm_crtc_atomic_check() kernel doc comments and viceversa (Thomas Zimmermann). drivers/gpu/drm/drm_crtc_helper.c | 26 ++++++++++++++++++++++++++ drivers/gpu/drm/drm_plane_helper.c | 4 +++- drivers/gpu/drm/solomon/ssd130x.c | 14 ++------------ drivers/gpu/drm/tiny/simpledrm.c | 14 ++------------ include/drm/drm_crtc_helper.h | 2 ++ 5 files changed, 35 insertions(+), 25 deletions(-) diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index 457448cc60f7..1f0a270ac984 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c @@ -421,6 +421,32 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc, } EXPORT_SYMBOL(drm_crtc_helper_set_mode); +/** + * drm_crtc_helper_atomic_check() - Helper to check CRTC atomic-state + * @crtc: CRTC to check + * @state: atomic state object + * + * Provides a default CRTC-state check handler for CRTCs that only have + * one primary plane attached to it. + * + * This is often the case for the CRTC of simple framebuffers. See also + * drm_plane_helper_atomic_check() for the respective plane-state check + * helper function. + * + * RETURNS: + * Zero on success, or an errno code otherwise. + */ +int drm_crtc_helper_atomic_check(struct drm_crtc *crtc, struct drm_atomic_state *state) +{ + struct drm_crtc_state *new_crtc_state = drm_atomic_get_new_crtc_state(state, crtc); + + if (!new_crtc_state->enable) + return 0; + + return drm_atomic_helper_check_crtc_primary_plane(new_crtc_state); +} +EXPORT_SYMBOL(drm_crtc_helper_atomic_check); + static void drm_crtc_helper_disable(struct drm_crtc *crtc) { diff --git a/drivers/gpu/drm/drm_plane_helper.c b/drivers/gpu/drm/drm_plane_helper.c index 865bd999b187..ba6a9136a065 100644 --- a/drivers/gpu/drm/drm_plane_helper.c +++ b/drivers/gpu/drm/drm_plane_helper.c @@ -298,7 +298,9 @@ EXPORT_SYMBOL(drm_plane_helper_destroy); * 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. + * 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. diff --git a/drivers/gpu/drm/solomon/ssd130x.c b/drivers/gpu/drm/solomon/ssd130x.c index 0d4ab65233db..f2795f90ea69 100644 --- a/drivers/gpu/drm/solomon/ssd130x.c +++ b/drivers/gpu/drm/solomon/ssd130x.c @@ -20,6 +20,7 @@ #include #include +#include #include #include #include @@ -645,17 +646,6 @@ static enum drm_mode_status ssd130x_crtc_helper_mode_valid(struct drm_crtc *crtc return MODE_OK; } -static int ssd130x_crtc_helper_atomic_check(struct drm_crtc *crtc, - struct drm_atomic_state *new_state) -{ - struct drm_crtc_state *new_crtc_state = drm_atomic_get_new_crtc_state(new_state, crtc); - - if (!new_crtc_state->enable) - return 0; - - return drm_atomic_helper_check_crtc_primary_plane(new_crtc_state); -} - /* * The CRTC is always enabled. Screen updates are performed by * the primary plane's atomic_update function. Disabling clears @@ -663,7 +653,7 @@ static int ssd130x_crtc_helper_atomic_check(struct drm_crtc *crtc, */ static const struct drm_crtc_helper_funcs ssd130x_crtc_helper_funcs = { .mode_valid = ssd130x_crtc_helper_mode_valid, - .atomic_check = ssd130x_crtc_helper_atomic_check, + .atomic_check = drm_crtc_helper_atomic_check, }; static void ssd130x_crtc_reset(struct drm_crtc *crtc) diff --git a/drivers/gpu/drm/tiny/simpledrm.c b/drivers/gpu/drm/tiny/simpledrm.c index f03f17f62a56..cbb100753154 100644 --- a/drivers/gpu/drm/tiny/simpledrm.c +++ b/drivers/gpu/drm/tiny/simpledrm.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -545,17 +546,6 @@ static enum drm_mode_status simpledrm_crtc_helper_mode_valid(struct drm_crtc *cr return drm_crtc_helper_mode_valid_fixed(crtc, mode, &sdev->mode); } -static int simpledrm_crtc_helper_atomic_check(struct drm_crtc *crtc, - struct drm_atomic_state *new_state) -{ - struct drm_crtc_state *new_crtc_state = drm_atomic_get_new_crtc_state(new_state, crtc); - - if (!new_crtc_state->enable) - return 0; - - return drm_atomic_helper_check_crtc_primary_plane(new_crtc_state); -} - /* * The CRTC is always enabled. Screen updates are performed by * the primary plane's atomic_update function. Disabling clears @@ -563,7 +553,7 @@ static int simpledrm_crtc_helper_atomic_check(struct drm_crtc *crtc, */ static const struct drm_crtc_helper_funcs simpledrm_crtc_helper_funcs = { .mode_valid = simpledrm_crtc_helper_mode_valid, - .atomic_check = simpledrm_crtc_helper_atomic_check, + .atomic_check = drm_crtc_helper_atomic_check, }; static const struct drm_crtc_funcs simpledrm_crtc_funcs = { diff --git a/include/drm/drm_crtc_helper.h b/include/drm/drm_crtc_helper.h index a6d520d5b6ca..1840db247f69 100644 --- a/include/drm/drm_crtc_helper.h +++ b/include/drm/drm_crtc_helper.h @@ -50,6 +50,8 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc, struct drm_display_mode *mode, int x, int y, struct drm_framebuffer *old_fb); +int drm_crtc_helper_atomic_check(struct drm_crtc *crtc, + struct drm_atomic_state *state); bool drm_helper_crtc_in_use(struct drm_crtc *crtc); bool drm_helper_encoder_in_use(struct drm_encoder *encoder);