pvr: store arch in device-info

Right now all supported devices are Rogue devices. But in the future,
we're going to support multiple architectures. So let's add a way to
query this at run-time.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38423>
This commit is contained in:
Ashish Chauhan
2025-11-04 13:52:29 +01:00
committed by Marge Bot
parent 1e548195d2
commit 8df205d520
11 changed files with 25 additions and 10 deletions
@@ -30,7 +30,8 @@
#define PVR_DEVICE_IDENT_33_V_11_3 \
.device_id = 0x33011003, .series_name = "A-Series", \
.public_name = "AXE-1-16M"
.public_name = "AXE-1-16M", .arch = PVR_DEVICE_ARCH_ROGUE
static const struct pvr_device_features pvr_device_features_33_V_11_3 = {
.has_common_store_size_in_dwords = true,
@@ -12,7 +12,8 @@
#include "pvr_device_info.h"
#define PVR_DEVICE_IDENT_36_V_52_182 \
.device_id = 0x36052182, .series_name = "B-Series", .public_name = "BXE-2-32"
.device_id = 0x36052182, .series_name = "B-Series", \
.public_name = "BXE-2-32", .arch = PVR_DEVICE_ARCH_ROGUE
static const struct pvr_device_features pvr_device_features_36_V_52_182 = {
.has_astc = true,
@@ -12,7 +12,8 @@
#include "pvr_device_info.h"
#define PVR_DEVICE_IDENT_36_V_54_182 \
.device_id = 0x36054182, .series_name = "B-Series", .public_name = "BXE-4-32"
.device_id = 0x36054182, .series_name = "B-Series", \
.public_name = "BXE-4-32", .arch = PVR_DEVICE_ARCH_ROGUE
static const struct pvr_device_features pvr_device_features_36_V_54_182 = {
.has_astc = true,
@@ -12,7 +12,8 @@
#include "pvr_device_info.h"
#define PVR_DEVICE_IDENT_36_V_104_182 \
.device_id = 0x36104182, .series_name = "B-Series", .public_name = "BXM-4-64"
.device_id = 0x36104182, .series_name = "B-Series", \
.public_name = "BXM-4-64", .arch = PVR_DEVICE_ARCH_ROGUE
static const struct pvr_device_features pvr_device_features_36_V_104_182 = {
.has_astc = true,
@@ -29,7 +29,8 @@
#include "pvr_device_info.h"
#define PVR_DEVICE_IDENT_36_V_104_796 \
.device_id = 0x36104796, .series_name = "B-Series", .public_name = "BXS-4-64"
.device_id = 0x36104796, .series_name = "B-Series", \
.public_name = "BXS-4-64", .arch = PVR_DEVICE_ARCH_ROGUE
static const struct pvr_device_features pvr_device_features_36_V_104_796 = {
.has_astc = true,
+2 -1
View File
@@ -12,7 +12,8 @@
#include "pvr_device_info.h"
#define PVR_DEVICE_IDENT_5_V_1_46 \
.device_id = 0x6110, .series_name = "Rogue", .public_name = "GX6110"
.device_id = 0x6110, .series_name = "Rogue", \
.public_name = "GX6110", .arch = PVR_DEVICE_ARCH_ROGUE
static const struct pvr_device_features pvr_device_features_5_V_1_46 = {
.has_common_store_size_in_dwords = true,
+2 -1
View File
@@ -12,7 +12,8 @@
#include "pvr_device_info.h"
#define PVR_DEVICE_IDENT_15_V_1_64 \
.device_id = 0x15001064, .series_name = "Rogue", .public_name = "GE7800"
.device_id = 0x15001064, .series_name = "Rogue", \
.public_name = "GE7800", .arch = PVR_DEVICE_ARCH_ROGUE
static const struct pvr_device_features pvr_device_features_15_V_1_64 = {
.has_astc = true,
+2 -1
View File
@@ -12,7 +12,8 @@
#include "pvr_device_info.h"
#define PVR_DEVICE_IDENT_22_V_54_30 \
.device_id = 0x22054030, .series_name = "Rogue", .public_name = "GE8300"
.device_id = 0x22054030, .series_name = "Rogue", \
.public_name = "GE8300", .arch = PVR_DEVICE_ARCH_ROGUE
static const struct pvr_device_features pvr_device_features_22_V_54_30 = {
.has_astc = true,
+2 -1
View File
@@ -29,7 +29,8 @@
#include "pvr_device_info.h"
#define PVR_DEVICE_IDENT_4_V_2_51 \
.device_id = 0x6250, .series_name = "Rogue", .public_name = "GX6250"
.device_id = 0x6250, .series_name = "Rogue", \
.public_name = "GX6250", .arch = PVR_DEVICE_ARCH_ROGUE
static const struct pvr_device_features pvr_device_features_4_V_2_51 = {
.has_astc = true,
+2 -1
View File
@@ -12,7 +12,8 @@
#include "pvr_device_info.h"
#define PVR_DEVICE_IDENT_4_V_6_62 \
.device_id = 0x6650, .series_name = "Rogue", .public_name = "GX6650"
.device_id = 0x6650, .series_name = "Rogue", \
.public_name = "GX6650", .arch = PVR_DEVICE_ARCH_ROGUE
static const struct pvr_device_features pvr_device_features_4_V_6_62 = {
.has_astc = true,
+5
View File
@@ -46,6 +46,10 @@
#define PVR_BVNC_PACK_MASK_N UINT64_C(0x00000000FFFF0000)
#define PVR_BVNC_PACK_MASK_C UINT64_C(0x000000000000FFFF)
enum pvr_device_arch {
PVR_DEVICE_ARCH_ROGUE,
};
/**
* Packs B, V, N and C values into a 64-bit unsigned integer.
*
@@ -241,6 +245,7 @@
#define PVR_HAS_QUIRK(dev_info, number) ((dev_info)->quirks.has_brn##number)
struct pvr_device_ident {
enum pvr_device_arch arch;
uint16_t b, v, n, c;
uint32_t device_id;
const char *series_name;