From: sashiko-bot@kernel.org
To: "Joey Lu" <a0987203069@gmail.com>
Cc: dri-devel@lists.freedesktop.org, conor+dt@kernel.org,
robh@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v7 3/7] drm/verisilicon: introduce per-variant hardware ops table
Date: Fri, 18 Sep 2026 03:12:02 +0000 [thread overview]
Message-ID: <20260918031202.7058F1F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260918030125.315978-4-a0987203069@gmail.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] drm: access after clock disable in vs_crtc_atomic_disable()
--
commit 4d2b1621cdee94c9390817d0548d0b254e003aa6
Author: Joey Lu <a0987203069@gmail.com>
drm/verisilicon: introduce per-variant hardware ops table
This commit introduces a per-variant hardware operations table (vs_dc_funcs)
for the Verisilicon display controller driver. It extracts DC8200-specific
hardware operations and updates shared code to dispatch through this vtable
to better support different hardware variants.
> diff --git a/drivers/gpu/drm/verisilicon/vs_crtc.c b/drivers/gpu/drm/verisilicon/vs_crtc.c
> index c24c1588cbe69..6033662dd9221 100644
> --- a/drivers/gpu/drm/verisilicon/vs_crtc.c
> +++ b/drivers/gpu/drm/verisilicon/vs_crtc.c
[ ... ]
> @@ -30,6 +53,9 @@ static void vs_crtc_atomic_disable(struct drm_crtc *crtc,
> drm_crtc_vblank_off(crtc);
>
> clk_disable_unprepare(dc->pix_clk[output]);
> +
> + if (dc->funcs->crtc_disable_ex)
> + dc->funcs->crtc_disable_ex(dc, output);
[Severity: High]
Does this access hardware registers after their clock is gated?
In vs_crtc_atomic_disable(), the pixel clock is disabled via
clk_disable_unprepare() just before calling the hardware-specific disable
hook crtc_disable_ex(). If the hook accesses the hardware block after its
clock is already powered down, it typically leads to asynchronous external
aborts, system hangs, or MMIO bus faults.
Should the clock be kept enabled until after crtc_disable_ex() finishes,
similar to how vs_crtc_atomic_enable() properly enables the clock before
calling crtc_enable_ex()?
> }
>
> static void vs_crtc_atomic_enable(struct drm_crtc *crtc,
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260918030125.315978-1-a0987203069@gmail.com?part=3
next prev parent reply other threads:[~2026-09-18 3:12 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-18 3:01 [PATCH v7 0/7] drm/verisilicon: add Nuvoton MA35D1 DCU Lite support Joey Lu
2026-09-18 3:01 ` [PATCH v7 1/7] dt-bindings: display: verisilicon, dc: add support for nuvoton, ma35d1-dcu Joey Lu
2026-09-18 5:57 ` [PATCH v7 1/7] dt-bindings: display: verisilicon,dc: add support for nuvoton,ma35d1-dcu Icenowy Zheng
2026-09-18 10:50 ` Icenowy Zheng
2026-09-21 2:47 ` [PATCH v7 1/7] dt-bindings: display: verisilicon, dc: " Joey Lu
2026-09-18 3:01 ` [PATCH v7 2/7] drm/verisilicon: add register-level macros for DC8000 Joey Lu
2026-09-18 3:01 ` [PATCH v7 3/7] drm/verisilicon: introduce per-variant hardware ops table Joey Lu
2026-09-18 3:12 ` sashiko-bot [this message]
2026-09-25 15:05 ` Icenowy Zheng
2026-09-18 3:01 ` [PATCH v7 4/7] drm/verisilicon: add DC8000 (DCUltraLite) display controller support Joey Lu
2026-09-18 3:13 ` sashiko-bot
2026-09-18 3:01 ` [PATCH v7 5/7] drm/verisilicon: add DCUltraLite chip identity to HWDB Joey Lu
2026-09-18 3:01 ` [PATCH v7 6/7] drm/verisilicon: extend Kconfig to support ARCH_MA35 platforms Joey Lu
2026-09-18 3:01 ` [PATCH v7 7/7] drm/verisilicon: fix DC8200 primary plane disable clearing FB_EN Joey Lu
2026-09-18 5:52 ` Icenowy Zheng
2026-09-21 2:43 ` Joey Lu
2026-09-21 4:18 ` Icenowy Zheng
2026-09-21 7:30 ` Icenowy Zheng
2026-09-21 7:49 ` Joey Lu
2026-09-21 8:48 ` Icenowy Zheng
2026-09-25 14:55 ` Icenowy Zheng
2026-09-26 4:48 ` Icenowy Zheng
2026-09-29 1:45 ` Joey Lu
2026-09-29 7:59 ` Icenowy Zheng
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=20260918031202.7058F1F000FF@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=a0987203069@gmail.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/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