mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Phong LE <ple@baylibre.com>
To: Lucas Stach <l.stach@pengutronix.de>
Cc: Russell King <linux+etnaviv@armlinux.org.uk>,
	Christian Gmeiner <christian.gmeiner@gmail.com>,
	etnaviv@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] drm/etnaviv: add the Allwinner T527 VIP9000 hardware database entry
Date: Sat, 10 Oct 2026 10:30:36 +0200	[thread overview]
Message-ID: <20261010083036.765881-1-ple@baylibre.com> (raw)

Add an identity entry for the VIP9000 NPU found in the Allwinner T527,
as used on the Orange Pi 4A. Match model 0x9000, revision 0x9003,
product 0x05090009, customer 0x10000016 and ECO 0x06000000.

Provide the core counts, limits and feature masks for this variant
instead of relying on the register-based fallback. It has six NN cores
and one shader core.

Include SECURITY_AHB in minor_features10. The corresponding
vip9000nano-si+ entry in the Orange Pi BSP feature database advertises
both SECURITY and SECURITY_AHB. This lets the existing capability check
select ETNA_SEC_KERNEL without a model-specific security override.

Validated on an Orange Pi 4A with a 6.18.38-based kernel and patched
Mesa/Teflon. Full quantized MobileNet inference completes with identical
NN intermediate and final outputs to the vendor BSP. Two additional
runs without per-operation instrumentation complete without a hang.
The Mesa fixes are separate from this hardware database addition.

Signed-off-by: Phong LE <ple@baylibre.com>
---
This entry combines the locally tested T527 HWDB addition and the
SECURITY_AHB correction.

Prepared against torvalds/linux 6812ce4e4379ffc99c52401ec28f0d7ffbc36206 (etnaviv_hwdb.c).
Hardware testing used the local 6.18.38-based tree, not this upstream
revision.

Vendor reference: Orange Pi T527 BSP,
bsp/drivers/npu/aw_nna_galcore/hal/inc/gc_feature_database.h,
entry vip9000nano-si+, customer 0x10000016. The SECURITY and SECURITY_AHB
fields are both set to 1.

Test details: 5,043,689 NN output elements and all 1,001 final output
values match the captured BSP reference. This tests one model/input;
it does not validate every reported capability or the graphics paths.

 drivers/gpu/drm/etnaviv/etnaviv_hwdb.c | 32 ++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
index 32d710baf17f..4df463ef6e60 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
@@ -292,6 +292,38 @@ static const struct etnaviv_chip_identity etnaviv_chip_identities[] = {
 		.minor_features10 = 0x108048c0,
 		.minor_features11 = 0x00000010,
 	},
+	{
+		.model = 0x9000,
+		.revision = 0x9003,
+		.product_id = 0x5090009,
+		.customer_id = 0x10000016,
+		.eco_id = 0x6000000,
+		.stream_count = 8,
+		.register_max = 64,
+		.thread_count = 256,
+		.shader_core_count = 1,
+		.nn_core_count = 6,
+		.vertex_cache_size = 16,
+		.vertex_output_buffer_size = 1024,
+		.pixel_pipes = 1,
+		.instruction_count = 512,
+		.num_constants = 320,
+		.buffer_size = 0,
+		.varyings_count = 16,
+		.features = 0xe0287cac,
+		.minor_features0 = 0xc1799eff,
+		.minor_features1 = 0xfefbfadb,
+		.minor_features2 = 0xeb9d6fbf,
+		.minor_features3 = 0xedfffced,
+		.minor_features4 = 0xd30dafc7,
+		.minor_features5 = 0x7b5ac333,
+		.minor_features6 = 0xf239c400,
+		.minor_features7 = 0xffffe9bf,
+		.minor_features8 = 0x2003dfce,
+		.minor_features9 = 0x01081841,
+		.minor_features10 = 0x01004048,
+		.minor_features11 = 0x00010000,
+	},
 };
 
 bool etnaviv_fill_identity_from_hwdb(struct etnaviv_gpu *gpu)

base-commit: af32da41b0327b9c6a37856ba82b6760d6c8d10e
-- 
2.43.0


                 reply	other threads:[~2026-10-10  8:31 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20261010083036.765881-1-ple@baylibre.com \
    --to=ple@baylibre.com \
    --cc=christian.gmeiner@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=etnaviv@lists.freedesktop.org \
    --cc=l.stach@pengutronix.de \
    --cc=linux+etnaviv@armlinux.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    /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

all inboxes | Powered by JetHome®