public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: Thomas Zimmermann <tzimmermann@suse.de>
To: Maxime Ripard <maxime@cerno.tech>, Ray Jui <rjui@broadcom.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Scott Branden <sbranden@broadcom.com>,
	Rob Herring <robh+dt@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	Daniel Vetter <daniel.vetter@intel.com>,
	David Airlie <airlied@linux.ie>,
	Nicolas Saenz Julienne <nsaenz@kernel.org>
Cc: devicetree@vger.kernel.org, Dom Cobley <dom@raspberrypi.com>,
	Tim Gover <tim.gover@raspberrypi.com>,
	Dave Stevenson <dave.stevenson@raspberrypi.com>,
	dri-devel@lists.freedesktop.org,
	bcm-kernel-feedback-list@broadcom.com,
	linux-rpi-kernel@lists.infradead.org,
	Phil Elwell <phil@raspberrypi.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 2/3] drm/vc4: Remove conflicting framebuffers before callind bind_all
Date: Mon, 13 Dec 2021 10:47:08 +0100	[thread overview]
Message-ID: <f3514f59-5b97-26f8-ab9e-e592571cc13f@suse.de> (raw)
In-Reply-To: <20211213092503.57379-3-maxime@cerno.tech>


[-- Attachment #1.1: Type: text/plain, Size: 2023 bytes --]

Hi Maxime

Am 13.12.21 um 10:25 schrieb Maxime Ripard:
> The bind hooks will modify their controller registers, so simplefb is
> going to be unusable anyway. Let's avoid any transient state where it
> could still be in the system but no longer functionnal.
> 
> Acked-by: Nicolas Saenz Julienne <nsaenz@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>   drivers/gpu/drm/vc4/vc4_drv.c | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c
> index 16abc3a3d601..8ab89f805826 100644
> --- a/drivers/gpu/drm/vc4/vc4_drv.c
> +++ b/drivers/gpu/drm/vc4/vc4_drv.c
> @@ -251,6 +251,10 @@ static int vc4_drm_bind(struct device *dev)

Since you work on this, I'd like to suggest to call 
drm_firmware_drivers_only() at the very top of this function. It's our 
new interface for the kernel's nomodeset argument. If it returns false, 
the user has disabled native drivers for this boot. The generic DRM 
driver will continue to run the device.

>   	if (ret)
>   		return ret;
>   
> +	ret = drm_aperture_remove_framebuffers(false, &vc4_drm_driver);
> +	if (ret)
> +		return ret;
> +

There's quite a bit of work being done before calling this function. 
None of it is allowed to touch HW.

Is that reliable? If so, the code is fine, otherwise the call should go 
to the top of the function.

Best regards
Thomas

>   	ret = component_bind_all(dev, drm);
>   	if (ret)
>   		return ret;
> @@ -259,10 +263,6 @@ static int vc4_drm_bind(struct device *dev)
>   	if (ret)
>   		goto unbind_all;
>   
> -	ret = drm_aperture_remove_framebuffers(false, &vc4_drm_driver);
> -	if (ret)
> -		goto unbind_all;
> -
>   	ret = vc4_kms_load(drm);
>   	if (ret < 0)
>   		goto unbind_all;
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

  reply	other threads:[~2021-12-13  9:49 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-13  9:25 [PATCH v3 0/3] drm/vc4: Use the firmware to stop the display pipeline Maxime Ripard
2021-12-13  9:25 ` [PATCH v3 1/3] firmware: raspberrypi: Add RPI_FIRMWARE_NOTIFY_DISPLAY_DONE Maxime Ripard
2021-12-13  9:25 ` [PATCH v3 2/3] drm/vc4: Remove conflicting framebuffers before callind bind_all Maxime Ripard
2021-12-13  9:47   ` Thomas Zimmermann [this message]
2021-12-13  9:51     ` Thomas Zimmermann
2021-12-13  9:25 ` [PATCH v3 3/3] drm/vc4: Notify the firmware when DRM is in charge Maxime Ripard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f3514f59-5b97-26f8-ab9e-e592571cc13f@suse.de \
    --to=tzimmermann@suse.de \
    --cc=airlied@linux.ie \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=daniel.vetter@intel.com \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dom@raspberrypi.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=f.fainelli@gmail.com \
    --cc=frowand.list@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-rpi-kernel@lists.infradead.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=maxime@cerno.tech \
    --cc=nsaenz@kernel.org \
    --cc=phil@raspberrypi.com \
    --cc=rjui@broadcom.com \
    --cc=robh+dt@kernel.org \
    --cc=sbranden@broadcom.com \
    --cc=tim.gover@raspberrypi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox