From: "Maíra Canal" <mcanal@igalia.com>
To: Maxime Ripard <mripard@kernel.org>,
Dave Stevenson <dave.stevenson@raspberrypi.com>,
Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>,
Stefan Wahren <wahrenst@gmx.net>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Florian Fainelli <florian.fainelli@broadcom.com>,
Ray Jui <rjui@broadcom.com>,
Scott Branden <sbranden@broadcom.com>,
Broadcom internal kernel review list
<bcm-kernel-feedback-list@broadcom.com>
Cc: kernel-dev@igalia.com, dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org, linux-rpi-kernel@lists.infradead.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 0/4] drm/vc4: Reset the V3D block through the reset controller
Date: Thu, 3 Sep 2026 10:39:05 -0300 [thread overview]
Message-ID: <a096712c-8bc6-4cb5-94ca-6a82525f1bad@igalia.com> (raw)
In-Reply-To: <20260816-vc4-reset-control-v1-0-896444373716@igalia.com>
Hi,
Florian, Stefan and other Broadcom engineers, any thoughts about this
series?
Best regards,
- Maíra
On 16/08/26 11:05, Maíra Canal wrote:
> vc4_reset() recovers a hung GPU by dropping the runtime PM usage count to
> zero so that the V3D power domain goes down, and then taking it again.
> Forcing the count to zero only works if the driver knows exactly how many
> references it holds, which is why vc4 unconventionaly wraps every
> pm_runtime_get_sync() call in a private refcount and mutex, making the
> code cumbersome.
>
> The BCM2835 PM block has exposed a reset line for the V3D block since
> commit 670c672608a1 ("soc: bcm: bcm2835-pm: Add support for power domains
> under a new binding."), added for exactly this reason, but vc4 never
> picked it up. This series switches vc4 over to it and drops the private
> refcount, leaving vc4_v3d_pm_get/put() as plain runtime PM wrappers.
>
> The reset line is optional, so device trees that do not describe one keep
> working: they get the driver-side recovery in vc4_irq_reset() while the
> hardware is left untouched. Of the two in-tree platforms,
>
> 1. BCM2835 gains the property in PATCH 4.
> 2. Cygnus has no V3D power domain to begin with, so the power-cycle
> only ever gated its clock there.
>
> PATCH 1 is an independent cleanup. "brcm,vc4-v3d" was never documented
> and was never used by any in-tree device tree, so it is a candidate for
> removal on its own. It can be dropped from the series if it turns out
> to be contentious.
>
> This series was tested on the Raspberry Pi 3B and 3B+.
>
> Best regards,
> - Maíra
>
> ---
> Maíra Canal (4):
> drm/vc4: Drop the undocumented brcm,vc4-v3d compatible
> dt-bindings: display: bcm2835-v3d: Add an optional reset line
> drm/vc4: Use the reset controller to recover from a GPU hang
> ARM: dts: bcm2835: Add the V3D reset line
>
> .../bindings/display/brcm,bcm2835-v3d.yaml | 3 ++
> arch/arm/boot/dts/broadcom/bcm2835-common.dtsi | 1 +
> drivers/gpu/drm/vc4/vc4_drv.c | 1 -
> drivers/gpu/drm/vc4/vc4_drv.h | 13 ++++---
> drivers/gpu/drm/vc4/vc4_gem.c | 40 +++++++++++++---------
> drivers/gpu/drm/vc4/vc4_irq.c | 7 ++--
> drivers/gpu/drm/vc4/vc4_v3d.c | 37 +++++++-------------
> 7 files changed, 51 insertions(+), 51 deletions(-)
> ---
> base-commit: 09b47186a4164f3aaa3591313f80794443117342
> change-id: 20260812-vc4-reset-control-cddf3eb8a9e9
>
next prev parent reply other threads:[~2026-09-03 13:39 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-16 14:05 [PATCH 0/4] drm/vc4: Reset the V3D block through the reset controller Maíra Canal
2026-08-16 14:05 ` [PATCH 1/4] drm/vc4: Drop the undocumented brcm,vc4-v3d compatible Maíra Canal
2026-08-16 14:13 ` sashiko-bot
2026-08-18 9:07 ` Krzysztof Kozlowski
2026-09-03 19:36 ` Florian Fainelli
2026-08-16 14:05 ` [PATCH 2/4] dt-bindings: display: bcm2835-v3d: Add an optional reset line Maíra Canal
2026-08-16 20:20 ` Stefan Wahren
2026-08-18 9:05 ` Krzysztof Kozlowski
2026-08-18 10:35 ` Maíra Canal
2026-09-03 19:38 ` Florian Fainelli
2026-08-16 14:05 ` [PATCH 3/4] drm/vc4: Use the reset controller to recover from a GPU hang Maíra Canal
2026-08-16 14:22 ` sashiko-bot
2026-09-03 19:40 ` Florian Fainelli
2026-08-16 14:05 ` [PATCH 4/4] ARM: dts: bcm2835: Add the V3D reset line Maíra Canal
2026-08-16 14:15 ` sashiko-bot
2026-08-16 20:35 ` Stefan Wahren
2026-09-03 19:39 ` Florian Fainelli
2026-09-03 13:39 ` Maíra Canal [this message]
2026-09-03 14:37 ` [PATCH 0/4] drm/vc4: Reset the V3D block through the reset controller Stefan Wahren
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=a096712c-8bc6-4cb5-94ca-6a82525f1bad@igalia.com \
--to=mcanal@igalia.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=conor+dt@kernel.org \
--cc=dave.stevenson@raspberrypi.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=florian.fainelli@broadcom.com \
--cc=kernel-dev@igalia.com \
--cc=kernel-list@raspberrypi.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=mripard@kernel.org \
--cc=rjui@broadcom.com \
--cc=robh@kernel.org \
--cc=sbranden@broadcom.com \
--cc=wahrenst@gmx.net \
/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