/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved. */ #ifndef __ADRENO_GEN7_9_0_SNAPSHOT_H #define __ADRENO_GEN7_9_0_SNAPSHOT_H #include "a6xx_gpu_state.h" static const u32 gen7_9_0_debugbus_blocks[] = …; static const u32 gen7_9_0_gbif_debugbus_blocks[] = …; static const u32 gen7_9_0_cx_debugbus_blocks[] = …; static struct gen7_shader_block gen7_9_0_shader_blocks[] = …; /* * Block : ['PRE_CRASHDUMPER', 'GBIF'] * pairs : 2 (Regs:5), 5 (Regs:38) */ static const u32 gen7_9_0_pre_crashdumper_gpu_registers[] = …; static_assert(…); /* * Block : ['BROADCAST', 'CP', 'GRAS', 'GXCLKCTL'] * Block : ['PC', 'RBBM', 'RDVM', 'UCHE'] * Block : ['VFD', 'VPC', 'VSC'] * Pipeline: A7XX_PIPE_NONE * pairs : 196 (Regs:1778) */ static const u32 gen7_9_0_gpu_registers[] = …; static_assert(…); static const u32 gen7_9_0_gxclkctl_registers[] = …; static_assert(…); /* * Block : ['GMUAO', 'GMUCX', 'GMUCX_RAM'] * Pipeline: A7XX_PIPE_NONE * pairs : 134 (Regs:429) */ static const u32 gen7_9_0_gmu_registers[] = …; static_assert(…); /* * Block : ['GMUGX'] * Pipeline: A7XX_PIPE_NONE * pairs : 44 (Regs:454) */ static const u32 gen7_9_0_gmugx_registers[] = …; static_assert(…); /* * Block : ['CX_MISC'] * Pipeline: A7XX_PIPE_NONE * pairs : 7 (Regs:56) */ static const u32 gen7_9_0_cx_misc_registers[] = …; static_assert(…); /* * Block : ['DBGC'] * Pipeline: A7XX_PIPE_NONE * pairs : 19 (Regs:155) */ static const u32 gen7_9_0_dbgc_registers[] = …; static_assert(…); /* * Block : ['CX_DBGC'] * Pipeline: A7XX_PIPE_NONE * pairs : 7 (Regs:75) */ static const u32 gen7_9_0_cx_dbgc_registers[] = …; static_assert(…); /* * Block : ['BROADCAST', 'CP', 'CX_DBGC', 'CX_MISC', 'DBGC', 'GBIF'] * Block : ['GMUAO', 'GMUCX', 'GMUGX', 'GRAS', 'GXCLKCTL', 'PC'] * Block : ['RBBM', 'RDVM', 'UCHE', 'VFD', 'VPC', 'VSC'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_NONE * pairs : 29 (Regs:573) */ static const u32 gen7_9_0_non_context_pipe_br_registers[] = …; static_assert(…); /* * Block : ['BROADCAST', 'CP', 'CX_DBGC', 'CX_MISC', 'DBGC', 'GBIF'] * Block : ['GMUAO', 'GMUCX', 'GMUGX', 'GRAS', 'GXCLKCTL', 'PC'] * Block : ['RBBM', 'RDVM', 'UCHE', 'VFD', 'VPC', 'VSC'] * Pipeline: A7XX_PIPE_BV * Cluster : A7XX_CLUSTER_NONE * pairs : 29 (Regs:573) */ static const u32 gen7_9_0_non_context_pipe_bv_registers[] = …; static_assert(…); /* * Block : ['BROADCAST', 'CP', 'CX_DBGC', 'CX_MISC', 'DBGC', 'GBIF'] * Block : ['GMUAO', 'GMUCX', 'GMUGX', 'GRAS', 'GXCLKCTL', 'PC'] * Block : ['RBBM', 'RDVM', 'UCHE', 'VFD', 'VPC', 'VSC'] * Pipeline: A7XX_PIPE_LPAC * Cluster : A7XX_CLUSTER_NONE * pairs : 2 (Regs:7) */ static const u32 gen7_9_0_non_context_pipe_lpac_registers[] = …; static_assert(…); /* * Block : ['RB'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_NONE * pairs : 5 (Regs:37) */ static const u32 gen7_9_0_non_context_rb_pipe_br_rac_registers[] = …; static_assert(…); /* * Block : ['RB'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_NONE * pairs : 15 (Regs:66) */ static const u32 gen7_9_0_non_context_rb_pipe_br_rbp_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_NONE * Location: A7XX_HLSQ_STATE * pairs : 4 (Regs:28) */ static const u32 gen7_9_0_non_context_sp_pipe_br_hlsq_state_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_NONE * Location: A7XX_SP_TOP * pairs : 10 (Regs:61) */ static const u32 gen7_9_0_non_context_sp_pipe_br_sp_top_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_NONE * Location: A7XX_USPTP * pairs : 12 (Regs:62) */ static const u32 gen7_9_0_non_context_sp_pipe_br_usptp_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_NONE * Location: A7XX_HLSQ_DP_STR * pairs : 2 (Regs:5) */ static const u32 gen7_9_0_non_context_sp_pipe_br_hlsq_dp_str_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_LPAC * Cluster : A7XX_CLUSTER_NONE * Location: A7XX_HLSQ_STATE * pairs : 1 (Regs:5) */ static const u32 gen7_9_0_non_context_sp_pipe_lpac_hlsq_state_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_LPAC * Cluster : A7XX_CLUSTER_NONE * Location: A7XX_SP_TOP * pairs : 1 (Regs:6) */ static const u32 gen7_9_0_non_context_sp_pipe_lpac_sp_top_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_LPAC * Cluster : A7XX_CLUSTER_NONE * Location: A7XX_USPTP * pairs : 2 (Regs:9) */ static const u32 gen7_9_0_non_context_sp_pipe_lpac_usptp_registers[] = …; static_assert(…); /* * Block : ['TPL1'] * Pipeline: A7XX_PIPE_NONE * Cluster : A7XX_CLUSTER_NONE * Location: A7XX_USPTP * pairs : 5 (Regs:29) */ static const u32 gen7_9_0_non_context_tpl1_pipe_none_usptp_registers[] = …; static_assert(…); /* * Block : ['TPL1'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_NONE * Location: A7XX_USPTP * pairs : 1 (Regs:1) */ static const u32 gen7_9_0_non_context_tpl1_pipe_br_usptp_registers[] = …; static_assert(…); /* * Block : ['TPL1'] * Pipeline: A7XX_PIPE_LPAC * Cluster : A7XX_CLUSTER_NONE * Location: A7XX_USPTP * pairs : 1 (Regs:1) */ static const u32 gen7_9_0_non_context_tpl1_pipe_lpac_usptp_registers[] = …; static_assert(…); /* * Block : ['GRAS'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_GRAS * pairs : 14 (Regs:293) */ static const u32 gen7_9_0_gras_pipe_br_cluster_gras_registers[] = …; static_assert(…); /* * Block : ['GRAS'] * Pipeline: A7XX_PIPE_BV * Cluster : A7XX_CLUSTER_GRAS * pairs : 14 (Regs:293) */ static const u32 gen7_9_0_gras_pipe_bv_cluster_gras_registers[] = …; static_assert(…); /* * Block : ['PC'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_FE * pairs : 6 (Regs:31) */ static const u32 gen7_9_0_pc_pipe_br_cluster_fe_registers[] = …; static_assert(…); /* * Block : ['PC'] * Pipeline: A7XX_PIPE_BV * Cluster : A7XX_CLUSTER_FE * pairs : 6 (Regs:31) */ static const u32 gen7_9_0_pc_pipe_bv_cluster_fe_registers[] = …; static_assert(…); /* * Block : ['VFD'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_FE * pairs : 2 (Regs:236) */ static const u32 gen7_9_0_vfd_pipe_br_cluster_fe_registers[] = …; static_assert(…); /* * Block : ['VFD'] * Pipeline: A7XX_PIPE_BV * Cluster : A7XX_CLUSTER_FE * pairs : 2 (Regs:236) */ static const u32 gen7_9_0_vfd_pipe_bv_cluster_fe_registers[] = …; static_assert(…); /* * Block : ['VPC'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_FE * pairs : 2 (Regs:18) */ static const u32 gen7_9_0_vpc_pipe_br_cluster_fe_registers[] = …; static_assert(…); /* * Block : ['VPC'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_PC_VS * pairs : 3 (Regs:30) */ static const u32 gen7_9_0_vpc_pipe_br_cluster_pc_vs_registers[] = …; static_assert(…); /* * Block : ['VPC'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_VPC_PS * pairs : 5 (Regs:76) */ static const u32 gen7_9_0_vpc_pipe_br_cluster_vpc_ps_registers[] = …; static_assert(…); /* * Block : ['VPC'] * Pipeline: A7XX_PIPE_BV * Cluster : A7XX_CLUSTER_FE * pairs : 2 (Regs:18) */ static const u32 gen7_9_0_vpc_pipe_bv_cluster_fe_registers[] = …; static_assert(…); /* * Block : ['VPC'] * Pipeline: A7XX_PIPE_BV * Cluster : A7XX_CLUSTER_PC_VS * pairs : 3 (Regs:30) */ static const u32 gen7_9_0_vpc_pipe_bv_cluster_pc_vs_registers[] = …; static_assert(…); /* * Block : ['VPC'] * Pipeline: A7XX_PIPE_BV * Cluster : A7XX_CLUSTER_VPC_PS * pairs : 5 (Regs:76) */ static const u32 gen7_9_0_vpc_pipe_bv_cluster_vpc_ps_registers[] = …; static_assert(…); /* * Block : ['RB'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_PS * pairs : 39 (Regs:133) */ static const u32 gen7_9_0_rb_pipe_br_cluster_ps_rac_registers[] = …; static_assert(…); /* * Block : ['RB'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_PS * pairs : 34 (Regs:100) */ static const u32 gen7_9_0_rb_pipe_br_cluster_ps_rbp_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_SP_VS * Location: A7XX_HLSQ_STATE * pairs : 29 (Regs:215) */ static const u32 gen7_9_0_sp_pipe_br_cluster_sp_vs_hlsq_state_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_SP_VS * Location: A7XX_SP_TOP * pairs : 22 (Regs:73) */ static const u32 gen7_9_0_sp_pipe_br_cluster_sp_vs_sp_top_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_SP_VS * Location: A7XX_USPTP * pairs : 16 (Regs:269) */ static const u32 gen7_9_0_sp_pipe_br_cluster_sp_vs_usptp_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_SP_PS * Location: A7XX_HLSQ_STATE * pairs : 21 (Regs:334) */ static const u32 gen7_9_0_sp_pipe_br_cluster_sp_ps_hlsq_state_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_SP_PS * Location: A7XX_HLSQ_DP * pairs : 3 (Regs:19) */ static const u32 gen7_9_0_sp_pipe_br_cluster_sp_ps_hlsq_dp_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_SP_PS * Location: A7XX_SP_TOP * pairs : 18 (Regs:77) */ static const u32 gen7_9_0_sp_pipe_br_cluster_sp_ps_sp_top_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_SP_PS * Location: A7XX_USPTP * pairs : 17 (Regs:333) */ static const u32 gen7_9_0_sp_pipe_br_cluster_sp_ps_usptp_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_SP_PS * Location: A7XX_HLSQ_DP_STR * pairs : 1 (Regs:6) */ static const u32 gen7_9_0_sp_pipe_br_cluster_sp_ps_hlsq_dp_str_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_BV * Cluster : A7XX_CLUSTER_SP_VS * Location: A7XX_HLSQ_STATE * pairs : 28 (Regs:213) */ static const u32 gen7_9_0_sp_pipe_bv_cluster_sp_vs_hlsq_state_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_BV * Cluster : A7XX_CLUSTER_SP_VS * Location: A7XX_SP_TOP * pairs : 21 (Regs:71) */ static const u32 gen7_9_0_sp_pipe_bv_cluster_sp_vs_sp_top_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_BV * Cluster : A7XX_CLUSTER_SP_VS * Location: A7XX_USPTP * pairs : 16 (Regs:266) */ static const u32 gen7_9_0_sp_pipe_bv_cluster_sp_vs_usptp_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_LPAC * Cluster : A7XX_CLUSTER_SP_PS * Location: A7XX_HLSQ_STATE * pairs : 14 (Regs:299) */ static const u32 gen7_9_0_sp_pipe_lpac_cluster_sp_ps_hlsq_state_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_LPAC * Cluster : A7XX_CLUSTER_SP_PS * Location: A7XX_HLSQ_DP * pairs : 2 (Regs:13) */ static const u32 gen7_9_0_sp_pipe_lpac_cluster_sp_ps_hlsq_dp_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_LPAC * Cluster : A7XX_CLUSTER_SP_PS * Location: A7XX_SP_TOP * pairs : 9 (Regs:34) */ static const u32 gen7_9_0_sp_pipe_lpac_cluster_sp_ps_sp_top_registers[] = …; static_assert(…); /* * Block : ['SP'] * Pipeline: A7XX_PIPE_LPAC * Cluster : A7XX_CLUSTER_SP_PS * Location: A7XX_USPTP * pairs : 11 (Regs:279) */ static const u32 gen7_9_0_sp_pipe_lpac_cluster_sp_ps_usptp_registers[] = …; static_assert(…); /* * Block : ['TPL1'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_SP_VS * Location: A7XX_USPTP * pairs : 3 (Regs:10) */ static const u32 gen7_9_0_tpl1_pipe_br_cluster_sp_vs_usptp_registers[] = …; static_assert(…); /* * Block : ['TPL1'] * Pipeline: A7XX_PIPE_BR * Cluster : A7XX_CLUSTER_SP_PS * Location: A7XX_USPTP * pairs : 6 (Regs:42) */ static const u32 gen7_9_0_tpl1_pipe_br_cluster_sp_ps_usptp_registers[] = …; static_assert(…); /* * Block : ['TPL1'] * Pipeline: A7XX_PIPE_BV * Cluster : A7XX_CLUSTER_SP_VS * Location: A7XX_USPTP * pairs : 3 (Regs:10) */ static const u32 gen7_9_0_tpl1_pipe_bv_cluster_sp_vs_usptp_registers[] = …; static_assert(…); /* * Block : ['TPL1'] * Pipeline: A7XX_PIPE_LPAC * Cluster : A7XX_CLUSTER_SP_PS * Location: A7XX_USPTP * pairs : 5 (Regs:7) */ static const u32 gen7_9_0_tpl1_pipe_lpac_cluster_sp_ps_usptp_registers[] = …; static_assert(…); static const struct gen7_sel_reg gen7_9_0_rb_rac_sel = …; static const struct gen7_sel_reg gen7_9_0_rb_rbp_sel = …; static struct gen7_cluster_registers gen7_9_0_clusters[] = …; static struct gen7_sptp_cluster_registers gen7_9_0_sptp_clusters[] = …; static struct a6xx_indexed_registers gen7_9_0_cp_indexed_reg_list[] = …; static struct gen7_reg_list gen7_9_0_reg_list[] = …; static const u32 gen7_9_0_cpr_registers[] = …; static_assert(…); static const u32 gen7_9_0_dpm_registers[] = …; static_assert(…); static const u32 gen7_9_0_dpm_leakage_registers[] = …; static_assert(…); static const u32 gen7_9_0_gfx_gpu_acd_registers[] = …; static_assert(…); static const u32 gen7_9_0_gpucc_registers[] = …; static_assert(…); static const u32 gen7_9_0_isense_registers[] = …; static_assert(…); static const u32 gen7_9_0_rscc_registers[] = …; static_assert(…); static const u32 *gen7_9_0_external_core_regs[] = …; #endif /*_ADRENO_GEN7_9_0_SNAPSHOT_H */