linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
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 19:24:20 +1200	[thread overview]
Message-ID: <20260819072420.1780708-1-gahing@gahingwoo.com> (raw)
In-Reply-To: <20260819065146.5904-1-royalnet026@gmail.com>

Hi Igor,

You were right, and it is one line.

Three runs in one boot on a ROCK 4D, one variable between them. Each
forces a timeout and then runs the same convolution.

  put                after the timeout          the next inference
  put_noidle         runtime-active, rail up    0 of 128, MMU_DTE_ADDR
  put_autosuspend    suspended, rail down       128 of 128, no message
  put_noidle again   runtime-active, rail up    0 of 128, MMU_DTE_ADDR

The domain never drops, the bus reset it cycles on power-on never fires,
and the MMU stops answering. Your third bullet. The third run is there so
the failure is deterministic rather than intermittent, which two arms
could not have shown.

The fourth run in that round is void and I am saying so rather than
letting it read as evidence. It meant to force a suspend by hand and
separate an armed timer from a cycle happening at all. I wrote "auto" to a
power/control that was already auto, so it did nothing. Five seconds later
the state line still reads runtime-active with the rail up and genpd
active_time still climbing. It failed the way the first run did, so it is
a second instance of the bare put and nothing about forcing.

pm_runtime_put_autosuspend() is patch 3 of 13 in v9, its own patch rather
than folded, with your Reported-by. The interrupt mask goes into the sync
patch, where it makes that patch's own sentence true, and the lockdep
point is in the message. Your Reviewed-by on the extraction is carried.

Twenty resets recovering on RK3588 with the domain dropping every time
does not contradict this, since the dropping is the step my failing runs
are missing. One difference between the two tests is worth stating now
rather than after we have both quoted it. Your induced resets come from
JOB_TIMEOUT_MS at 2 ms against healthy jobs of about 5 ms, so the block
being reset is working. Mine come from a job that hung. Whether that is
why your domain drops and mine does not, I cannot tell from here, and
RK3588 may simply have nothing behind the domain that needs cycling.

Both limits you drew are the right calls. Testing through a path you have
reported as broken would have told neither of us anything, and only the
differential earns the tag.

Jiaxing


  reply	other threads:[~2026-08-19  7:24 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
2026-08-19  6:51       ` Igor Paunovic
2026-08-19  7:24         ` Jiaxing Hu [this message]
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=20260819072420.1780708-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;
as well as URLs for NNTP newsgroup(s).