From: Jiaxing Hu <gahing@gahingwoo.com>
To: royalnet026@gmail.com
Cc: tomeu@tomeuvizoso.net, heiko@sntech.de,
chaoyi.chen@rock-chips.com, alchark@flipper.net,
dri-devel@lists.freedesktop.org,
linux-rockchip@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v8 02/12] accel/rocket: wait for a running IRQ handler before resetting a core
Date: Wed, 19 Aug 2026 13:36:09 +1200 [thread overview]
Message-ID: <20260819013609.1613919-1-gahing@gahingwoo.com> (raw)
In-Reply-To: <CAEWPSH7tM9WQUJ0H13ghkiHGzDcdycC1syTuO5B8DpC6cUSnfg@mail.gmail.com>
Hi Igor,
I checked all of it against the tree and it holds.
The lockdep point goes in the commit message. That the wait is on a
waitqueue rather than a lock, so nothing would have reported the deadlock,
is a better argument for the placement than mine.
Masking before the sync, yes. INTERRUPT_MASK is armed in hw_submit and
cleared only in the hardirq, and rocket_reset never touches it, so on an
ordinary timeout it is live. Your line numbers are next-20260814 and mine
have the series on top, so here it is rocket_job.c:165 and :499. I agree
it is not a hole and that reset.pending already closes the resubmit
branch. I want the sentence the patch adds to be true on its own, not true
because something else prevents the case.
The runtime PM facts are right. rocket_job_is_idle is atomic_read on
credit_count, runtime_suspend returns -EBUSY only on that and then drops
the clocks, and drm_sched_stop zeroes the counter until drm_sched_start at
the end of the reset. The driver does claim idle for the whole body while
holding nothing, and the two puts differ the way you describe.
I am not folding that into 2/12. It changes behaviour in the shared path
instead of adding a fence, and on this SoC it meets a power domain that
cycles a bus reset on power-on, so it wants its own patch and a board run.
It is next in the reset path either way.
Your question. MMU_DTE_ADDR predates the rail by about a hundred rounds.
The entry after a timed out job has come back at one constant with that
reset error beside it since round 138, recorded in the paper and the
log-book, and the rail moved to domain-supply in round 241.
One near counterexample, since you would find it. The round before the one
in the cover letter timed a job out and logged no MMU_DTE_ADDR. It had no
job after the timeout, because the shape that times out runs last on
purpose, so the attach never happened. Your first bullet from the other
side.
I ran your test on the archive. The run with the two MMU_DTE_ADDR lines
has zero "stall request timed out" and zero "paging request timed out", so
the MMU is not responding at all rather than sitting in a wrong state.
The third bullet is what I will build. If put_noidle leaves the device
active with no idle request pending, the domain never drops between the
failed job and the next one, and the bus reset that 9/12 cycles on
power-on never gets cycled. That fits what I have, including the block
being fine after a reboot and not otherwise. The next image swaps
put_noidle for put_autosuspend, and separately forces a suspend and resume
before the next job, so the two do not confound. You get the result either
way.
Your aside is right and it is not mine. rocket_reset_work is defined,
INIT_WORK'd and never queued, and it is that way in the base this series
sits on, untouched by the twelve.
No tag wanted, for the reason you give.
Jiaxing
next prev parent reply other threads:[~2026-08-19 1:36 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-17 11:35 [PATCH v8 00/12] accel/rocket: RK3576 NPU (RKNN) enablement Jiaxing Hu
2026-08-17 11:35 ` [PATCH v8 01/12] accel/rocket: take the completion register writes under job_lock Jiaxing Hu
2026-08-17 11:35 ` [PATCH v8 02/12] accel/rocket: wait for a running IRQ handler before resetting a core Jiaxing Hu
2026-08-17 12:56 ` Igor Paunovic
2026-08-19 1:36 ` Jiaxing Hu [this message]
2026-08-19 6:51 ` Igor Paunovic
2026-08-19 7:24 ` Jiaxing Hu
2026-08-19 7:35 ` Igor Paunovic
2026-08-17 11:35 ` [PATCH v8 03/12] accel/rocket: factor the completion tail out of the IRQ handler Jiaxing Hu
2026-08-17 12:51 ` Igor Paunovic
2026-08-17 11:35 ` [PATCH v8 04/12] dt-bindings: npu: rockchip: add rockchip,rk3576-rknn-core Jiaxing Hu
2026-08-18 23:09 ` Rob Herring (Arm)
2026-08-17 11:35 ` [PATCH v8 05/12] dt-bindings: power: rockchip: allow resets in a power domain node Jiaxing Hu
2026-08-17 11:35 ` [PATCH v8 06/12] dt-bindings: iommu: rockchip: describe the RK3576 NPU MMU Jiaxing Hu
2026-08-17 11:35 ` [PATCH v8 07/12] pmdomain/rockchip: add optional per-domain power-on settle delay Jiaxing Hu
2026-08-17 11:35 ` [PATCH v8 08/12] pmdomain/rockchip: cycle optional power-domain resets on power-on Jiaxing Hu
2026-08-17 11:36 ` [PATCH v8 09/12] accel/rocket: select the per-core clock and reset counts from match data Jiaxing Hu
2026-08-17 11:36 ` [PATCH v8 10/12] accel/rocket: add RK3576 NPU (RKNN) support Jiaxing Hu
2026-08-18 8:59 ` Uwe Kleine-König
2026-08-17 11:36 ` [PATCH v8 11/12] arm64: dts: rockchip: rk3576: add NPU (RKNN) nodes Jiaxing Hu
2026-08-17 11:36 ` [PATCH v8 12/12] arm64: dts: rockchip: rk3576-rock-4d: enable NPU Jiaxing Hu
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=20260819013609.1613919-1-gahing@gahingwoo.com \
--to=gahing@gahingwoo.com \
--cc=alchark@flipper.net \
--cc=chaoyi.chen@rock-chips.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=heiko@sntech.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=royalnet026@gmail.com \
--cc=tomeu@tomeuvizoso.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