Skip to main content

kgsl_magma_params/
kgsl_magma_params.rs

1// Copyright 2025 The Fuchsia Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5use magma::MAGMA_QUERY_VENDOR_PARAM_0;
6use zerocopy::{FromBytes, Immutable, IntoBytes};
7
8pub const MAGMA_QCOM_ADRENO_QUERY_KGSL_PARAMS: u64 = MAGMA_QUERY_VENDOR_PARAM_0 + 3000;
9
10#[derive(Clone, Copy, Debug, FromBytes, IntoBytes, Immutable, Default)]
11#[repr(packed)]
12pub struct AdrenoKgslParams {
13    pub device_id: u32,
14    pub chip_id: u32,
15    pub gpu_id: u32,
16    pub device_shadow_size: u64,
17    pub device_shadow_flags: u32,
18    pub mmu_enabled: u32,
19    pub gmem_sizebytes: u64,
20    pub highest_bank_bit: u32,
21    pub device_bitness: u32,
22    pub ucode_version_pfp: u32,
23    pub ucode_version_pm4: u32,
24    pub min_access_length: u32,
25    pub ubwc_mode: u32,
26    pub secure_ctxt_support: u32,
27    pub secure_buf_alignment: u32,
28    pub gpu_secure_va_size: u64,
29    pub gpu_va64_size: u64,
30    pub gpu_model: [u8; 32],
31    pub vk_device_id: u32,
32}