[PATCH v7 08/10] accel/rocket: add RK3576 NPU (RKNN) support
Jiaxing Hu
gahing at gahingwoo.com
Thu Aug 20 03:07:15 PDT 2026
Hi Igor, and the list,
The single field sweep I owed, and said on the 19th was late. It is run.
Each of the five fields where my 0x4050 differs from upstream's 0x124 was moved
to upstream's value on its own, with the other four left alone. Two shapes, a
5x5 convolution at 128 output channels and a pointwise at 88, three baselines
across the log with no drift between them.
field, mine to upstream output completion
RGP_CNTER 8 to 0 wrong, 0 of 128 and no hang
14 of 88, maxdiff 255
RESERVED_0 34 to 0 matches the baseline times out
SIZE_E_1 0 to 1 matches the baseline no hang
SIZE_E_0 4 to 1 wrong times out
OW_SRC 1 to 0 wrong times out
upstream's whole 0x124 wrong times out
So four of the five are load bearing on RK3576, and they fail in three different
ways. RGP_CNTER is purely arithmetic, it computes the wrong answer and finishes.
RESERVED_0 is purely a completion field, the output is identical to the baseline
on both shapes and the job still hangs. SIZE_E_0 and OW_SRC do both.
Two things to read carefully rather than take at face value. RESERVED_0's score
prints after its timeout, so the hang is the result there and the number beside
it is colour. And every timeout landed inside the entry that set the value, with
a health check passing after each, so none of it is a hang leaking from the
entry before.
SIZE_E_1 is the one that does nothing. I have left it at 0 rather than moving it
to upstream's 1, because two shapes is not every shape, and written into the
comment that it was measured not to matter. If you would rather I match upstream
there and shrink the diff by a field, say so and I will.
The merge request now carries this table in the comment above the register.
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43804
And something I should have said two mails ago. Thank you for the v8 Tested-by
on 1/12 and 2/12. A differential base on the same machine in the same session
was more than I asked for, and the row that matters is the one where the two
kernels agree, 12 and 8 induced resets against 12 and 13, all clean, 48 of 48
both passes on either. I have written to you twice since without acknowledging
it, which was careless.
Where it lands, and I would rather be exact than generous to myself. 1/13 is
unchanged in v9 and your tag carries. 2/13 is not the patch you tested, since it
folds in the interrupt mask you raised, so I have left your tag off it. When v9
posts I will say so on the thread rather than quietly carry it across.
Have a good trip.
Regards,
Jiaxing
More information about the Linux-rockchip
mailing list