1fb4d8502Sjsg /* 2fb4d8502Sjsg * Copyright 2012-2016 Advanced Micro Devices, Inc. 3fb4d8502Sjsg * 4fb4d8502Sjsg * Permission is hereby granted, free of charge, to any person obtaining a 5fb4d8502Sjsg * copy of this software and associated documentation files (the "Software"), 6fb4d8502Sjsg * to deal in the Software without restriction, including without limitation 7fb4d8502Sjsg * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8fb4d8502Sjsg * and/or sell copies of the Software, and to permit persons to whom the 9fb4d8502Sjsg * Software is furnished to do so, subject to the following conditions: 10fb4d8502Sjsg * 11fb4d8502Sjsg * The above copyright notice and this permission notice shall be included in 12fb4d8502Sjsg * all copies or substantial portions of the Software. 13fb4d8502Sjsg * 14fb4d8502Sjsg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15fb4d8502Sjsg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16fb4d8502Sjsg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17fb4d8502Sjsg * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 18fb4d8502Sjsg * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 19fb4d8502Sjsg * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20fb4d8502Sjsg * OTHER DEALINGS IN THE SOFTWARE. 21fb4d8502Sjsg * 22fb4d8502Sjsg */ 23fb4d8502Sjsg 24fb4d8502Sjsg #ifndef V9_STRUCTS_H_ 25fb4d8502Sjsg #define V9_STRUCTS_H_ 26fb4d8502Sjsg 27fb4d8502Sjsg struct v9_sdma_mqd { 28fb4d8502Sjsg uint32_t sdmax_rlcx_rb_cntl; 29fb4d8502Sjsg uint32_t sdmax_rlcx_rb_base; 30fb4d8502Sjsg uint32_t sdmax_rlcx_rb_base_hi; 31fb4d8502Sjsg uint32_t sdmax_rlcx_rb_rptr; 32fb4d8502Sjsg uint32_t sdmax_rlcx_rb_rptr_hi; 33fb4d8502Sjsg uint32_t sdmax_rlcx_rb_wptr; 34fb4d8502Sjsg uint32_t sdmax_rlcx_rb_wptr_hi; 35fb4d8502Sjsg uint32_t sdmax_rlcx_rb_wptr_poll_cntl; 36fb4d8502Sjsg uint32_t sdmax_rlcx_rb_rptr_addr_hi; 37fb4d8502Sjsg uint32_t sdmax_rlcx_rb_rptr_addr_lo; 38fb4d8502Sjsg uint32_t sdmax_rlcx_ib_cntl; 39fb4d8502Sjsg uint32_t sdmax_rlcx_ib_rptr; 40fb4d8502Sjsg uint32_t sdmax_rlcx_ib_offset; 41fb4d8502Sjsg uint32_t sdmax_rlcx_ib_base_lo; 42fb4d8502Sjsg uint32_t sdmax_rlcx_ib_base_hi; 43fb4d8502Sjsg uint32_t sdmax_rlcx_ib_size; 44fb4d8502Sjsg uint32_t sdmax_rlcx_skip_cntl; 45fb4d8502Sjsg uint32_t sdmax_rlcx_context_status; 46fb4d8502Sjsg uint32_t sdmax_rlcx_doorbell; 47fb4d8502Sjsg uint32_t sdmax_rlcx_status; 48fb4d8502Sjsg uint32_t sdmax_rlcx_doorbell_log; 49fb4d8502Sjsg uint32_t sdmax_rlcx_watermark; 50fb4d8502Sjsg uint32_t sdmax_rlcx_doorbell_offset; 51fb4d8502Sjsg uint32_t sdmax_rlcx_csa_addr_lo; 52fb4d8502Sjsg uint32_t sdmax_rlcx_csa_addr_hi; 53fb4d8502Sjsg uint32_t sdmax_rlcx_ib_sub_remain; 54fb4d8502Sjsg uint32_t sdmax_rlcx_preempt; 55fb4d8502Sjsg uint32_t sdmax_rlcx_dummy_reg; 56fb4d8502Sjsg uint32_t sdmax_rlcx_rb_wptr_poll_addr_hi; 57fb4d8502Sjsg uint32_t sdmax_rlcx_rb_wptr_poll_addr_lo; 58fb4d8502Sjsg uint32_t sdmax_rlcx_rb_aql_cntl; 59fb4d8502Sjsg uint32_t sdmax_rlcx_minor_ptr_update; 60fb4d8502Sjsg uint32_t sdmax_rlcx_midcmd_data0; 61fb4d8502Sjsg uint32_t sdmax_rlcx_midcmd_data1; 62fb4d8502Sjsg uint32_t sdmax_rlcx_midcmd_data2; 63fb4d8502Sjsg uint32_t sdmax_rlcx_midcmd_data3; 64fb4d8502Sjsg uint32_t sdmax_rlcx_midcmd_data4; 65fb4d8502Sjsg uint32_t sdmax_rlcx_midcmd_data5; 66fb4d8502Sjsg uint32_t sdmax_rlcx_midcmd_data6; 67fb4d8502Sjsg uint32_t sdmax_rlcx_midcmd_data7; 68fb4d8502Sjsg uint32_t sdmax_rlcx_midcmd_data8; 69fb4d8502Sjsg uint32_t sdmax_rlcx_midcmd_cntl; 70fb4d8502Sjsg uint32_t reserved_42; 71fb4d8502Sjsg uint32_t reserved_43; 72fb4d8502Sjsg uint32_t reserved_44; 73fb4d8502Sjsg uint32_t reserved_45; 74fb4d8502Sjsg uint32_t reserved_46; 75fb4d8502Sjsg uint32_t reserved_47; 76fb4d8502Sjsg uint32_t reserved_48; 77fb4d8502Sjsg uint32_t reserved_49; 78fb4d8502Sjsg uint32_t reserved_50; 79fb4d8502Sjsg uint32_t reserved_51; 80fb4d8502Sjsg uint32_t reserved_52; 81fb4d8502Sjsg uint32_t reserved_53; 82fb4d8502Sjsg uint32_t reserved_54; 83fb4d8502Sjsg uint32_t reserved_55; 84fb4d8502Sjsg uint32_t reserved_56; 85fb4d8502Sjsg uint32_t reserved_57; 86fb4d8502Sjsg uint32_t reserved_58; 87fb4d8502Sjsg uint32_t reserved_59; 88fb4d8502Sjsg uint32_t reserved_60; 89fb4d8502Sjsg uint32_t reserved_61; 90fb4d8502Sjsg uint32_t reserved_62; 91fb4d8502Sjsg uint32_t reserved_63; 92fb4d8502Sjsg uint32_t reserved_64; 93fb4d8502Sjsg uint32_t reserved_65; 94fb4d8502Sjsg uint32_t reserved_66; 95fb4d8502Sjsg uint32_t reserved_67; 96fb4d8502Sjsg uint32_t reserved_68; 97fb4d8502Sjsg uint32_t reserved_69; 98fb4d8502Sjsg uint32_t reserved_70; 99fb4d8502Sjsg uint32_t reserved_71; 100fb4d8502Sjsg uint32_t reserved_72; 101fb4d8502Sjsg uint32_t reserved_73; 102fb4d8502Sjsg uint32_t reserved_74; 103fb4d8502Sjsg uint32_t reserved_75; 104fb4d8502Sjsg uint32_t reserved_76; 105fb4d8502Sjsg uint32_t reserved_77; 106fb4d8502Sjsg uint32_t reserved_78; 107fb4d8502Sjsg uint32_t reserved_79; 108fb4d8502Sjsg uint32_t reserved_80; 109fb4d8502Sjsg uint32_t reserved_81; 110fb4d8502Sjsg uint32_t reserved_82; 111fb4d8502Sjsg uint32_t reserved_83; 112fb4d8502Sjsg uint32_t reserved_84; 113fb4d8502Sjsg uint32_t reserved_85; 114fb4d8502Sjsg uint32_t reserved_86; 115fb4d8502Sjsg uint32_t reserved_87; 116fb4d8502Sjsg uint32_t reserved_88; 117fb4d8502Sjsg uint32_t reserved_89; 118fb4d8502Sjsg uint32_t reserved_90; 119fb4d8502Sjsg uint32_t reserved_91; 120fb4d8502Sjsg uint32_t reserved_92; 121fb4d8502Sjsg uint32_t reserved_93; 122fb4d8502Sjsg uint32_t reserved_94; 123fb4d8502Sjsg uint32_t reserved_95; 124fb4d8502Sjsg uint32_t reserved_96; 125fb4d8502Sjsg uint32_t reserved_97; 126fb4d8502Sjsg uint32_t reserved_98; 127fb4d8502Sjsg uint32_t reserved_99; 128fb4d8502Sjsg uint32_t reserved_100; 129fb4d8502Sjsg uint32_t reserved_101; 130fb4d8502Sjsg uint32_t reserved_102; 131fb4d8502Sjsg uint32_t reserved_103; 132fb4d8502Sjsg uint32_t reserved_104; 133fb4d8502Sjsg uint32_t reserved_105; 134fb4d8502Sjsg uint32_t reserved_106; 135fb4d8502Sjsg uint32_t reserved_107; 136fb4d8502Sjsg uint32_t reserved_108; 137fb4d8502Sjsg uint32_t reserved_109; 138fb4d8502Sjsg uint32_t reserved_110; 139fb4d8502Sjsg uint32_t reserved_111; 140fb4d8502Sjsg uint32_t reserved_112; 141fb4d8502Sjsg uint32_t reserved_113; 142fb4d8502Sjsg uint32_t reserved_114; 143fb4d8502Sjsg uint32_t reserved_115; 144fb4d8502Sjsg uint32_t reserved_116; 145fb4d8502Sjsg uint32_t reserved_117; 146fb4d8502Sjsg uint32_t reserved_118; 147fb4d8502Sjsg uint32_t reserved_119; 148fb4d8502Sjsg uint32_t reserved_120; 149fb4d8502Sjsg uint32_t reserved_121; 150fb4d8502Sjsg uint32_t reserved_122; 151fb4d8502Sjsg uint32_t reserved_123; 152fb4d8502Sjsg uint32_t reserved_124; 153fb4d8502Sjsg uint32_t reserved_125; 154c349dbc7Sjsg /* reserved_126,127: repurposed for driver-internal use */ 155fb4d8502Sjsg uint32_t sdma_engine_id; 156fb4d8502Sjsg uint32_t sdma_queue_id; 157fb4d8502Sjsg }; 158fb4d8502Sjsg 159fb4d8502Sjsg struct v9_mqd { 160fb4d8502Sjsg uint32_t header; 161fb4d8502Sjsg uint32_t compute_dispatch_initiator; 162fb4d8502Sjsg uint32_t compute_dim_x; 163fb4d8502Sjsg uint32_t compute_dim_y; 164fb4d8502Sjsg uint32_t compute_dim_z; 165fb4d8502Sjsg uint32_t compute_start_x; 166fb4d8502Sjsg uint32_t compute_start_y; 167fb4d8502Sjsg uint32_t compute_start_z; 168fb4d8502Sjsg uint32_t compute_num_thread_x; 169fb4d8502Sjsg uint32_t compute_num_thread_y; 170fb4d8502Sjsg uint32_t compute_num_thread_z; 171fb4d8502Sjsg uint32_t compute_pipelinestat_enable; 172fb4d8502Sjsg uint32_t compute_perfcount_enable; 173fb4d8502Sjsg uint32_t compute_pgm_lo; 174fb4d8502Sjsg uint32_t compute_pgm_hi; 175fb4d8502Sjsg uint32_t compute_tba_lo; 176fb4d8502Sjsg uint32_t compute_tba_hi; 177fb4d8502Sjsg uint32_t compute_tma_lo; 178fb4d8502Sjsg uint32_t compute_tma_hi; 179fb4d8502Sjsg uint32_t compute_pgm_rsrc1; 180fb4d8502Sjsg uint32_t compute_pgm_rsrc2; 181fb4d8502Sjsg uint32_t compute_vmid; 182fb4d8502Sjsg uint32_t compute_resource_limits; 183fb4d8502Sjsg uint32_t compute_static_thread_mgmt_se0; 184fb4d8502Sjsg uint32_t compute_static_thread_mgmt_se1; 185fb4d8502Sjsg uint32_t compute_tmpring_size; 186fb4d8502Sjsg uint32_t compute_static_thread_mgmt_se2; 187fb4d8502Sjsg uint32_t compute_static_thread_mgmt_se3; 188fb4d8502Sjsg uint32_t compute_restart_x; 189fb4d8502Sjsg uint32_t compute_restart_y; 190fb4d8502Sjsg uint32_t compute_restart_z; 191fb4d8502Sjsg uint32_t compute_thread_trace_enable; 192fb4d8502Sjsg uint32_t compute_misc_reserved; 193fb4d8502Sjsg uint32_t compute_dispatch_id; 194fb4d8502Sjsg uint32_t compute_threadgroup_id; 195fb4d8502Sjsg uint32_t compute_relaunch; 196fb4d8502Sjsg uint32_t compute_wave_restore_addr_lo; 197fb4d8502Sjsg uint32_t compute_wave_restore_addr_hi; 198fb4d8502Sjsg uint32_t compute_wave_restore_control; 199*f005ef32Sjsg union { 200*f005ef32Sjsg struct { 201c349dbc7Sjsg uint32_t compute_static_thread_mgmt_se4; 202c349dbc7Sjsg uint32_t compute_static_thread_mgmt_se5; 203c349dbc7Sjsg uint32_t compute_static_thread_mgmt_se6; 204c349dbc7Sjsg uint32_t compute_static_thread_mgmt_se7; 205*f005ef32Sjsg }; 206*f005ef32Sjsg struct { 207*f005ef32Sjsg uint32_t compute_current_logic_xcc_id; // offset: 39 (0x27) 208*f005ef32Sjsg uint32_t compute_restart_cg_tg_id; // offset: 40 (0x28) 209*f005ef32Sjsg uint32_t compute_tg_chunk_size; // offset: 41 (0x29) 210*f005ef32Sjsg uint32_t compute_restore_tg_chunk_size; // offset: 42 (0x2A) 211*f005ef32Sjsg }; 212*f005ef32Sjsg }; 213fb4d8502Sjsg uint32_t reserved_43; 214fb4d8502Sjsg uint32_t reserved_44; 215fb4d8502Sjsg uint32_t reserved_45; 216fb4d8502Sjsg uint32_t reserved_46; 217fb4d8502Sjsg uint32_t reserved_47; 218fb4d8502Sjsg uint32_t reserved_48; 219fb4d8502Sjsg uint32_t reserved_49; 220fb4d8502Sjsg uint32_t reserved_50; 221fb4d8502Sjsg uint32_t reserved_51; 222fb4d8502Sjsg uint32_t reserved_52; 223fb4d8502Sjsg uint32_t reserved_53; 224fb4d8502Sjsg uint32_t reserved_54; 225fb4d8502Sjsg uint32_t reserved_55; 226fb4d8502Sjsg uint32_t reserved_56; 227fb4d8502Sjsg uint32_t reserved_57; 228fb4d8502Sjsg uint32_t reserved_58; 229fb4d8502Sjsg uint32_t reserved_59; 230fb4d8502Sjsg uint32_t reserved_60; 231fb4d8502Sjsg uint32_t reserved_61; 232fb4d8502Sjsg uint32_t reserved_62; 233fb4d8502Sjsg uint32_t reserved_63; 234fb4d8502Sjsg uint32_t reserved_64; 235fb4d8502Sjsg uint32_t compute_user_data_0; 236fb4d8502Sjsg uint32_t compute_user_data_1; 237fb4d8502Sjsg uint32_t compute_user_data_2; 238fb4d8502Sjsg uint32_t compute_user_data_3; 239fb4d8502Sjsg uint32_t compute_user_data_4; 240fb4d8502Sjsg uint32_t compute_user_data_5; 241fb4d8502Sjsg uint32_t compute_user_data_6; 242fb4d8502Sjsg uint32_t compute_user_data_7; 243fb4d8502Sjsg uint32_t compute_user_data_8; 244fb4d8502Sjsg uint32_t compute_user_data_9; 245fb4d8502Sjsg uint32_t compute_user_data_10; 246fb4d8502Sjsg uint32_t compute_user_data_11; 247fb4d8502Sjsg uint32_t compute_user_data_12; 248fb4d8502Sjsg uint32_t compute_user_data_13; 249fb4d8502Sjsg uint32_t compute_user_data_14; 250fb4d8502Sjsg uint32_t compute_user_data_15; 251fb4d8502Sjsg uint32_t cp_compute_csinvoc_count_lo; 252fb4d8502Sjsg uint32_t cp_compute_csinvoc_count_hi; 253fb4d8502Sjsg uint32_t reserved_83; 254fb4d8502Sjsg uint32_t reserved_84; 255fb4d8502Sjsg uint32_t reserved_85; 256fb4d8502Sjsg uint32_t cp_mqd_query_time_lo; 257fb4d8502Sjsg uint32_t cp_mqd_query_time_hi; 258fb4d8502Sjsg uint32_t cp_mqd_connect_start_time_lo; 259fb4d8502Sjsg uint32_t cp_mqd_connect_start_time_hi; 260fb4d8502Sjsg uint32_t cp_mqd_connect_end_time_lo; 261fb4d8502Sjsg uint32_t cp_mqd_connect_end_time_hi; 262fb4d8502Sjsg uint32_t cp_mqd_connect_end_wf_count; 263fb4d8502Sjsg uint32_t cp_mqd_connect_end_pq_rptr; 264fb4d8502Sjsg uint32_t cp_mqd_connect_end_pq_wptr; 265fb4d8502Sjsg uint32_t cp_mqd_connect_end_ib_rptr; 266fb4d8502Sjsg uint32_t cp_mqd_readindex_lo; 267fb4d8502Sjsg uint32_t cp_mqd_readindex_hi; 268fb4d8502Sjsg uint32_t cp_mqd_save_start_time_lo; 269fb4d8502Sjsg uint32_t cp_mqd_save_start_time_hi; 270fb4d8502Sjsg uint32_t cp_mqd_save_end_time_lo; 271fb4d8502Sjsg uint32_t cp_mqd_save_end_time_hi; 272fb4d8502Sjsg uint32_t cp_mqd_restore_start_time_lo; 273fb4d8502Sjsg uint32_t cp_mqd_restore_start_time_hi; 274fb4d8502Sjsg uint32_t cp_mqd_restore_end_time_lo; 275fb4d8502Sjsg uint32_t cp_mqd_restore_end_time_hi; 276fb4d8502Sjsg uint32_t disable_queue; 277fb4d8502Sjsg uint32_t reserved_107; 278fb4d8502Sjsg uint32_t gds_cs_ctxsw_cnt0; 279fb4d8502Sjsg uint32_t gds_cs_ctxsw_cnt1; 280fb4d8502Sjsg uint32_t gds_cs_ctxsw_cnt2; 281fb4d8502Sjsg uint32_t gds_cs_ctxsw_cnt3; 282fb4d8502Sjsg uint32_t reserved_112; 283fb4d8502Sjsg uint32_t reserved_113; 284fb4d8502Sjsg uint32_t cp_pq_exe_status_lo; 285fb4d8502Sjsg uint32_t cp_pq_exe_status_hi; 286fb4d8502Sjsg uint32_t cp_packet_id_lo; 287fb4d8502Sjsg uint32_t cp_packet_id_hi; 288fb4d8502Sjsg uint32_t cp_packet_exe_status_lo; 289fb4d8502Sjsg uint32_t cp_packet_exe_status_hi; 290fb4d8502Sjsg uint32_t gds_save_base_addr_lo; 291fb4d8502Sjsg uint32_t gds_save_base_addr_hi; 292fb4d8502Sjsg uint32_t gds_save_mask_lo; 293fb4d8502Sjsg uint32_t gds_save_mask_hi; 294fb4d8502Sjsg uint32_t ctx_save_base_addr_lo; 295fb4d8502Sjsg uint32_t ctx_save_base_addr_hi; 296fb4d8502Sjsg uint32_t dynamic_cu_mask_addr_lo; 297fb4d8502Sjsg uint32_t dynamic_cu_mask_addr_hi; 298fb4d8502Sjsg uint32_t cp_mqd_base_addr_lo; 299fb4d8502Sjsg uint32_t cp_mqd_base_addr_hi; 300fb4d8502Sjsg uint32_t cp_hqd_active; 301fb4d8502Sjsg uint32_t cp_hqd_vmid; 302fb4d8502Sjsg uint32_t cp_hqd_persistent_state; 303fb4d8502Sjsg uint32_t cp_hqd_pipe_priority; 304fb4d8502Sjsg uint32_t cp_hqd_queue_priority; 305fb4d8502Sjsg uint32_t cp_hqd_quantum; 306fb4d8502Sjsg uint32_t cp_hqd_pq_base_lo; 307fb4d8502Sjsg uint32_t cp_hqd_pq_base_hi; 308fb4d8502Sjsg uint32_t cp_hqd_pq_rptr; 309fb4d8502Sjsg uint32_t cp_hqd_pq_rptr_report_addr_lo; 310fb4d8502Sjsg uint32_t cp_hqd_pq_rptr_report_addr_hi; 311fb4d8502Sjsg uint32_t cp_hqd_pq_wptr_poll_addr_lo; 312fb4d8502Sjsg uint32_t cp_hqd_pq_wptr_poll_addr_hi; 313fb4d8502Sjsg uint32_t cp_hqd_pq_doorbell_control; 314fb4d8502Sjsg uint32_t reserved_144; 315fb4d8502Sjsg uint32_t cp_hqd_pq_control; 316fb4d8502Sjsg uint32_t cp_hqd_ib_base_addr_lo; 317fb4d8502Sjsg uint32_t cp_hqd_ib_base_addr_hi; 318fb4d8502Sjsg uint32_t cp_hqd_ib_rptr; 319fb4d8502Sjsg uint32_t cp_hqd_ib_control; 320fb4d8502Sjsg uint32_t cp_hqd_iq_timer; 321fb4d8502Sjsg uint32_t cp_hqd_iq_rptr; 322fb4d8502Sjsg uint32_t cp_hqd_dequeue_request; 323fb4d8502Sjsg uint32_t cp_hqd_dma_offload; 324fb4d8502Sjsg uint32_t cp_hqd_sema_cmd; 325fb4d8502Sjsg uint32_t cp_hqd_msg_type; 326fb4d8502Sjsg uint32_t cp_hqd_atomic0_preop_lo; 327fb4d8502Sjsg uint32_t cp_hqd_atomic0_preop_hi; 328fb4d8502Sjsg uint32_t cp_hqd_atomic1_preop_lo; 329fb4d8502Sjsg uint32_t cp_hqd_atomic1_preop_hi; 330fb4d8502Sjsg uint32_t cp_hqd_hq_status0; 331fb4d8502Sjsg uint32_t cp_hqd_hq_control0; 332fb4d8502Sjsg uint32_t cp_mqd_control; 333fb4d8502Sjsg uint32_t cp_hqd_hq_status1; 334fb4d8502Sjsg uint32_t cp_hqd_hq_control1; 335fb4d8502Sjsg uint32_t cp_hqd_eop_base_addr_lo; 336fb4d8502Sjsg uint32_t cp_hqd_eop_base_addr_hi; 337fb4d8502Sjsg uint32_t cp_hqd_eop_control; 338fb4d8502Sjsg uint32_t cp_hqd_eop_rptr; 339fb4d8502Sjsg uint32_t cp_hqd_eop_wptr; 340fb4d8502Sjsg uint32_t cp_hqd_eop_done_events; 341fb4d8502Sjsg uint32_t cp_hqd_ctx_save_base_addr_lo; 342fb4d8502Sjsg uint32_t cp_hqd_ctx_save_base_addr_hi; 343fb4d8502Sjsg uint32_t cp_hqd_ctx_save_control; 344fb4d8502Sjsg uint32_t cp_hqd_cntl_stack_offset; 345fb4d8502Sjsg uint32_t cp_hqd_cntl_stack_size; 346fb4d8502Sjsg uint32_t cp_hqd_wg_state_offset; 347fb4d8502Sjsg uint32_t cp_hqd_ctx_save_size; 348fb4d8502Sjsg uint32_t cp_hqd_gds_resource_state; 349fb4d8502Sjsg uint32_t cp_hqd_error; 350fb4d8502Sjsg uint32_t cp_hqd_eop_wptr_mem; 351fb4d8502Sjsg uint32_t cp_hqd_aql_control; 352fb4d8502Sjsg uint32_t cp_hqd_pq_wptr_lo; 353fb4d8502Sjsg uint32_t cp_hqd_pq_wptr_hi; 354fb4d8502Sjsg uint32_t reserved_184; 355fb4d8502Sjsg uint32_t reserved_185; 356fb4d8502Sjsg uint32_t reserved_186; 357fb4d8502Sjsg uint32_t reserved_187; 358fb4d8502Sjsg uint32_t reserved_188; 359fb4d8502Sjsg uint32_t reserved_189; 360fb4d8502Sjsg uint32_t reserved_190; 361fb4d8502Sjsg uint32_t reserved_191; 362fb4d8502Sjsg uint32_t iqtimer_pkt_header; 363fb4d8502Sjsg uint32_t iqtimer_pkt_dw0; 364fb4d8502Sjsg uint32_t iqtimer_pkt_dw1; 365fb4d8502Sjsg uint32_t iqtimer_pkt_dw2; 366fb4d8502Sjsg uint32_t iqtimer_pkt_dw3; 367fb4d8502Sjsg uint32_t iqtimer_pkt_dw4; 368fb4d8502Sjsg uint32_t iqtimer_pkt_dw5; 369fb4d8502Sjsg uint32_t iqtimer_pkt_dw6; 370fb4d8502Sjsg uint32_t iqtimer_pkt_dw7; 371fb4d8502Sjsg uint32_t iqtimer_pkt_dw8; 372fb4d8502Sjsg uint32_t iqtimer_pkt_dw9; 373fb4d8502Sjsg uint32_t iqtimer_pkt_dw10; 374fb4d8502Sjsg uint32_t iqtimer_pkt_dw11; 375fb4d8502Sjsg uint32_t iqtimer_pkt_dw12; 376fb4d8502Sjsg uint32_t iqtimer_pkt_dw13; 377fb4d8502Sjsg uint32_t iqtimer_pkt_dw14; 378fb4d8502Sjsg uint32_t iqtimer_pkt_dw15; 379fb4d8502Sjsg uint32_t iqtimer_pkt_dw16; 380fb4d8502Sjsg uint32_t iqtimer_pkt_dw17; 381fb4d8502Sjsg uint32_t iqtimer_pkt_dw18; 382fb4d8502Sjsg uint32_t iqtimer_pkt_dw19; 383fb4d8502Sjsg uint32_t iqtimer_pkt_dw20; 384fb4d8502Sjsg uint32_t iqtimer_pkt_dw21; 385fb4d8502Sjsg uint32_t iqtimer_pkt_dw22; 386fb4d8502Sjsg uint32_t iqtimer_pkt_dw23; 387fb4d8502Sjsg uint32_t iqtimer_pkt_dw24; 388fb4d8502Sjsg uint32_t iqtimer_pkt_dw25; 389fb4d8502Sjsg uint32_t iqtimer_pkt_dw26; 390fb4d8502Sjsg uint32_t iqtimer_pkt_dw27; 391fb4d8502Sjsg uint32_t iqtimer_pkt_dw28; 392fb4d8502Sjsg uint32_t iqtimer_pkt_dw29; 393fb4d8502Sjsg uint32_t iqtimer_pkt_dw30; 394fb4d8502Sjsg uint32_t iqtimer_pkt_dw31; 395*f005ef32Sjsg union { 396*f005ef32Sjsg struct { 397fb4d8502Sjsg uint32_t reserved_225; 398fb4d8502Sjsg uint32_t reserved_226; 399*f005ef32Sjsg }; 400*f005ef32Sjsg struct { 401*f005ef32Sjsg uint32_t pm4_target_xcc_in_xcp; // offset: 225 (0xE1) 402*f005ef32Sjsg uint32_t cp_mqd_stride_size; // offset: 226 (0xE2) 403*f005ef32Sjsg }; 404*f005ef32Sjsg }; 405fb4d8502Sjsg uint32_t reserved_227; 406fb4d8502Sjsg uint32_t set_resources_header; 407fb4d8502Sjsg uint32_t set_resources_dw1; 408fb4d8502Sjsg uint32_t set_resources_dw2; 409fb4d8502Sjsg uint32_t set_resources_dw3; 410fb4d8502Sjsg uint32_t set_resources_dw4; 411fb4d8502Sjsg uint32_t set_resources_dw5; 412fb4d8502Sjsg uint32_t set_resources_dw6; 413fb4d8502Sjsg uint32_t set_resources_dw7; 414fb4d8502Sjsg uint32_t reserved_236; 415fb4d8502Sjsg uint32_t reserved_237; 416fb4d8502Sjsg uint32_t reserved_238; 417fb4d8502Sjsg uint32_t reserved_239; 418fb4d8502Sjsg uint32_t queue_doorbell_id0; 419fb4d8502Sjsg uint32_t queue_doorbell_id1; 420fb4d8502Sjsg uint32_t queue_doorbell_id2; 421fb4d8502Sjsg uint32_t queue_doorbell_id3; 422fb4d8502Sjsg uint32_t queue_doorbell_id4; 423fb4d8502Sjsg uint32_t queue_doorbell_id5; 424fb4d8502Sjsg uint32_t queue_doorbell_id6; 425fb4d8502Sjsg uint32_t queue_doorbell_id7; 426fb4d8502Sjsg uint32_t queue_doorbell_id8; 427fb4d8502Sjsg uint32_t queue_doorbell_id9; 428fb4d8502Sjsg uint32_t queue_doorbell_id10; 429fb4d8502Sjsg uint32_t queue_doorbell_id11; 430fb4d8502Sjsg uint32_t queue_doorbell_id12; 431fb4d8502Sjsg uint32_t queue_doorbell_id13; 432fb4d8502Sjsg uint32_t queue_doorbell_id14; 433fb4d8502Sjsg uint32_t queue_doorbell_id15; 434fb4d8502Sjsg uint32_t reserved_256; 435fb4d8502Sjsg uint32_t reserved_257; 436fb4d8502Sjsg uint32_t reserved_258; 437fb4d8502Sjsg uint32_t reserved_259; 438fb4d8502Sjsg uint32_t reserved_260; 439fb4d8502Sjsg uint32_t reserved_261; 440fb4d8502Sjsg uint32_t reserved_262; 441fb4d8502Sjsg uint32_t reserved_263; 442fb4d8502Sjsg uint32_t reserved_264; 443fb4d8502Sjsg uint32_t reserved_265; 444fb4d8502Sjsg uint32_t reserved_266; 445fb4d8502Sjsg uint32_t reserved_267; 446fb4d8502Sjsg uint32_t reserved_268; 447fb4d8502Sjsg uint32_t reserved_269; 448fb4d8502Sjsg uint32_t reserved_270; 449fb4d8502Sjsg uint32_t reserved_271; 450fb4d8502Sjsg uint32_t reserved_272; 451fb4d8502Sjsg uint32_t reserved_273; 452fb4d8502Sjsg uint32_t reserved_274; 453fb4d8502Sjsg uint32_t reserved_275; 454fb4d8502Sjsg uint32_t reserved_276; 455fb4d8502Sjsg uint32_t reserved_277; 456fb4d8502Sjsg uint32_t reserved_278; 457fb4d8502Sjsg uint32_t reserved_279; 458fb4d8502Sjsg uint32_t reserved_280; 459fb4d8502Sjsg uint32_t reserved_281; 460fb4d8502Sjsg uint32_t reserved_282; 461fb4d8502Sjsg uint32_t reserved_283; 462fb4d8502Sjsg uint32_t reserved_284; 463fb4d8502Sjsg uint32_t reserved_285; 464fb4d8502Sjsg uint32_t reserved_286; 465fb4d8502Sjsg uint32_t reserved_287; 466fb4d8502Sjsg uint32_t reserved_288; 467fb4d8502Sjsg uint32_t reserved_289; 468fb4d8502Sjsg uint32_t reserved_290; 469fb4d8502Sjsg uint32_t reserved_291; 470fb4d8502Sjsg uint32_t reserved_292; 471fb4d8502Sjsg uint32_t reserved_293; 472fb4d8502Sjsg uint32_t reserved_294; 473fb4d8502Sjsg uint32_t reserved_295; 474fb4d8502Sjsg uint32_t reserved_296; 475fb4d8502Sjsg uint32_t reserved_297; 476fb4d8502Sjsg uint32_t reserved_298; 477fb4d8502Sjsg uint32_t reserved_299; 478fb4d8502Sjsg uint32_t reserved_300; 479fb4d8502Sjsg uint32_t reserved_301; 480fb4d8502Sjsg uint32_t reserved_302; 481fb4d8502Sjsg uint32_t reserved_303; 482fb4d8502Sjsg uint32_t reserved_304; 483fb4d8502Sjsg uint32_t reserved_305; 484fb4d8502Sjsg uint32_t reserved_306; 485fb4d8502Sjsg uint32_t reserved_307; 486fb4d8502Sjsg uint32_t reserved_308; 487fb4d8502Sjsg uint32_t reserved_309; 488fb4d8502Sjsg uint32_t reserved_310; 489fb4d8502Sjsg uint32_t reserved_311; 490fb4d8502Sjsg uint32_t reserved_312; 491fb4d8502Sjsg uint32_t reserved_313; 492fb4d8502Sjsg uint32_t reserved_314; 493fb4d8502Sjsg uint32_t reserved_315; 494fb4d8502Sjsg uint32_t reserved_316; 495fb4d8502Sjsg uint32_t reserved_317; 496fb4d8502Sjsg uint32_t reserved_318; 497fb4d8502Sjsg uint32_t reserved_319; 498fb4d8502Sjsg uint32_t reserved_320; 499fb4d8502Sjsg uint32_t reserved_321; 500fb4d8502Sjsg uint32_t reserved_322; 501fb4d8502Sjsg uint32_t reserved_323; 502fb4d8502Sjsg uint32_t reserved_324; 503fb4d8502Sjsg uint32_t reserved_325; 504fb4d8502Sjsg uint32_t reserved_326; 505fb4d8502Sjsg uint32_t reserved_327; 506fb4d8502Sjsg uint32_t reserved_328; 507fb4d8502Sjsg uint32_t reserved_329; 508fb4d8502Sjsg uint32_t reserved_330; 509fb4d8502Sjsg uint32_t reserved_331; 510fb4d8502Sjsg uint32_t reserved_332; 511fb4d8502Sjsg uint32_t reserved_333; 512fb4d8502Sjsg uint32_t reserved_334; 513fb4d8502Sjsg uint32_t reserved_335; 514fb4d8502Sjsg uint32_t reserved_336; 515fb4d8502Sjsg uint32_t reserved_337; 516fb4d8502Sjsg uint32_t reserved_338; 517fb4d8502Sjsg uint32_t reserved_339; 518fb4d8502Sjsg uint32_t reserved_340; 519fb4d8502Sjsg uint32_t reserved_341; 520fb4d8502Sjsg uint32_t reserved_342; 521fb4d8502Sjsg uint32_t reserved_343; 522fb4d8502Sjsg uint32_t reserved_344; 523fb4d8502Sjsg uint32_t reserved_345; 524fb4d8502Sjsg uint32_t reserved_346; 525fb4d8502Sjsg uint32_t reserved_347; 526fb4d8502Sjsg uint32_t reserved_348; 527fb4d8502Sjsg uint32_t reserved_349; 528fb4d8502Sjsg uint32_t reserved_350; 529fb4d8502Sjsg uint32_t reserved_351; 530fb4d8502Sjsg uint32_t reserved_352; 531fb4d8502Sjsg uint32_t reserved_353; 532fb4d8502Sjsg uint32_t reserved_354; 533fb4d8502Sjsg uint32_t reserved_355; 534fb4d8502Sjsg uint32_t reserved_356; 535fb4d8502Sjsg uint32_t reserved_357; 536fb4d8502Sjsg uint32_t reserved_358; 537fb4d8502Sjsg uint32_t reserved_359; 538fb4d8502Sjsg uint32_t reserved_360; 539fb4d8502Sjsg uint32_t reserved_361; 540fb4d8502Sjsg uint32_t reserved_362; 541fb4d8502Sjsg uint32_t reserved_363; 542fb4d8502Sjsg uint32_t reserved_364; 543fb4d8502Sjsg uint32_t reserved_365; 544fb4d8502Sjsg uint32_t reserved_366; 545fb4d8502Sjsg uint32_t reserved_367; 546fb4d8502Sjsg uint32_t reserved_368; 547fb4d8502Sjsg uint32_t reserved_369; 548fb4d8502Sjsg uint32_t reserved_370; 549fb4d8502Sjsg uint32_t reserved_371; 550fb4d8502Sjsg uint32_t reserved_372; 551fb4d8502Sjsg uint32_t reserved_373; 552fb4d8502Sjsg uint32_t reserved_374; 553fb4d8502Sjsg uint32_t reserved_375; 554fb4d8502Sjsg uint32_t reserved_376; 555fb4d8502Sjsg uint32_t reserved_377; 556fb4d8502Sjsg uint32_t reserved_378; 557fb4d8502Sjsg uint32_t reserved_379; 558fb4d8502Sjsg uint32_t reserved_380; 559fb4d8502Sjsg uint32_t reserved_381; 560fb4d8502Sjsg uint32_t reserved_382; 561fb4d8502Sjsg uint32_t reserved_383; 562fb4d8502Sjsg uint32_t reserved_384; 563fb4d8502Sjsg uint32_t reserved_385; 564fb4d8502Sjsg uint32_t reserved_386; 565fb4d8502Sjsg uint32_t reserved_387; 566fb4d8502Sjsg uint32_t reserved_388; 567fb4d8502Sjsg uint32_t reserved_389; 568fb4d8502Sjsg uint32_t reserved_390; 569fb4d8502Sjsg uint32_t reserved_391; 570fb4d8502Sjsg uint32_t reserved_392; 571fb4d8502Sjsg uint32_t reserved_393; 572fb4d8502Sjsg uint32_t reserved_394; 573fb4d8502Sjsg uint32_t reserved_395; 574fb4d8502Sjsg uint32_t reserved_396; 575fb4d8502Sjsg uint32_t reserved_397; 576fb4d8502Sjsg uint32_t reserved_398; 577fb4d8502Sjsg uint32_t reserved_399; 578fb4d8502Sjsg uint32_t reserved_400; 579fb4d8502Sjsg uint32_t reserved_401; 580fb4d8502Sjsg uint32_t reserved_402; 581fb4d8502Sjsg uint32_t reserved_403; 582fb4d8502Sjsg uint32_t reserved_404; 583fb4d8502Sjsg uint32_t reserved_405; 584fb4d8502Sjsg uint32_t reserved_406; 585fb4d8502Sjsg uint32_t reserved_407; 586fb4d8502Sjsg uint32_t reserved_408; 587fb4d8502Sjsg uint32_t reserved_409; 588fb4d8502Sjsg uint32_t reserved_410; 589fb4d8502Sjsg uint32_t reserved_411; 590fb4d8502Sjsg uint32_t reserved_412; 591fb4d8502Sjsg uint32_t reserved_413; 592fb4d8502Sjsg uint32_t reserved_414; 593fb4d8502Sjsg uint32_t reserved_415; 594fb4d8502Sjsg uint32_t reserved_416; 595fb4d8502Sjsg uint32_t reserved_417; 596fb4d8502Sjsg uint32_t reserved_418; 597fb4d8502Sjsg uint32_t reserved_419; 598fb4d8502Sjsg uint32_t reserved_420; 599fb4d8502Sjsg uint32_t reserved_421; 600fb4d8502Sjsg uint32_t reserved_422; 601fb4d8502Sjsg uint32_t reserved_423; 602fb4d8502Sjsg uint32_t reserved_424; 603fb4d8502Sjsg uint32_t reserved_425; 604fb4d8502Sjsg uint32_t reserved_426; 605fb4d8502Sjsg uint32_t reserved_427; 606fb4d8502Sjsg uint32_t reserved_428; 607fb4d8502Sjsg uint32_t reserved_429; 608fb4d8502Sjsg uint32_t reserved_430; 609fb4d8502Sjsg uint32_t reserved_431; 610fb4d8502Sjsg uint32_t reserved_432; 611fb4d8502Sjsg uint32_t reserved_433; 612fb4d8502Sjsg uint32_t reserved_434; 613fb4d8502Sjsg uint32_t reserved_435; 614fb4d8502Sjsg uint32_t reserved_436; 615fb4d8502Sjsg uint32_t reserved_437; 616fb4d8502Sjsg uint32_t reserved_438; 617fb4d8502Sjsg uint32_t reserved_439; 618fb4d8502Sjsg uint32_t reserved_440; 619fb4d8502Sjsg uint32_t reserved_441; 620fb4d8502Sjsg uint32_t reserved_442; 621fb4d8502Sjsg uint32_t reserved_443; 622fb4d8502Sjsg uint32_t reserved_444; 623fb4d8502Sjsg uint32_t reserved_445; 624fb4d8502Sjsg uint32_t reserved_446; 625fb4d8502Sjsg uint32_t reserved_447; 626fb4d8502Sjsg uint32_t reserved_448; 627fb4d8502Sjsg uint32_t reserved_449; 628fb4d8502Sjsg uint32_t reserved_450; 629fb4d8502Sjsg uint32_t reserved_451; 630fb4d8502Sjsg uint32_t reserved_452; 631fb4d8502Sjsg uint32_t reserved_453; 632fb4d8502Sjsg uint32_t reserved_454; 633fb4d8502Sjsg uint32_t reserved_455; 634fb4d8502Sjsg uint32_t reserved_456; 635fb4d8502Sjsg uint32_t reserved_457; 636fb4d8502Sjsg uint32_t reserved_458; 637fb4d8502Sjsg uint32_t reserved_459; 638fb4d8502Sjsg uint32_t reserved_460; 639fb4d8502Sjsg uint32_t reserved_461; 640fb4d8502Sjsg uint32_t reserved_462; 641fb4d8502Sjsg uint32_t reserved_463; 642fb4d8502Sjsg uint32_t reserved_464; 643fb4d8502Sjsg uint32_t reserved_465; 644fb4d8502Sjsg uint32_t reserved_466; 645fb4d8502Sjsg uint32_t reserved_467; 646fb4d8502Sjsg uint32_t reserved_468; 647fb4d8502Sjsg uint32_t reserved_469; 648fb4d8502Sjsg uint32_t reserved_470; 649fb4d8502Sjsg uint32_t reserved_471; 650fb4d8502Sjsg uint32_t reserved_472; 651fb4d8502Sjsg uint32_t reserved_473; 652fb4d8502Sjsg uint32_t reserved_474; 653fb4d8502Sjsg uint32_t reserved_475; 654fb4d8502Sjsg uint32_t reserved_476; 655fb4d8502Sjsg uint32_t reserved_477; 656fb4d8502Sjsg uint32_t reserved_478; 657fb4d8502Sjsg uint32_t reserved_479; 658fb4d8502Sjsg uint32_t reserved_480; 659fb4d8502Sjsg uint32_t reserved_481; 660fb4d8502Sjsg uint32_t reserved_482; 661fb4d8502Sjsg uint32_t reserved_483; 662fb4d8502Sjsg uint32_t reserved_484; 663fb4d8502Sjsg uint32_t reserved_485; 664fb4d8502Sjsg uint32_t reserved_486; 665fb4d8502Sjsg uint32_t reserved_487; 666fb4d8502Sjsg uint32_t reserved_488; 667fb4d8502Sjsg uint32_t reserved_489; 668fb4d8502Sjsg uint32_t reserved_490; 669fb4d8502Sjsg uint32_t reserved_491; 670fb4d8502Sjsg uint32_t reserved_492; 671fb4d8502Sjsg uint32_t reserved_493; 672fb4d8502Sjsg uint32_t reserved_494; 673fb4d8502Sjsg uint32_t reserved_495; 674fb4d8502Sjsg uint32_t reserved_496; 675fb4d8502Sjsg uint32_t reserved_497; 676fb4d8502Sjsg uint32_t reserved_498; 677fb4d8502Sjsg uint32_t reserved_499; 678fb4d8502Sjsg uint32_t reserved_500; 679fb4d8502Sjsg uint32_t reserved_501; 680fb4d8502Sjsg uint32_t reserved_502; 681fb4d8502Sjsg uint32_t reserved_503; 682fb4d8502Sjsg uint32_t reserved_504; 683fb4d8502Sjsg uint32_t reserved_505; 684fb4d8502Sjsg uint32_t reserved_506; 685fb4d8502Sjsg uint32_t reserved_507; 686fb4d8502Sjsg uint32_t reserved_508; 687fb4d8502Sjsg uint32_t reserved_509; 688fb4d8502Sjsg uint32_t reserved_510; 689fb4d8502Sjsg uint32_t reserved_511; 690fb4d8502Sjsg }; 691fb4d8502Sjsg 692fb4d8502Sjsg struct v9_mqd_allocation { 693fb4d8502Sjsg struct v9_mqd mqd; 694fb4d8502Sjsg uint32_t wptr_poll_mem; 695fb4d8502Sjsg uint32_t rptr_report_mem; 696fb4d8502Sjsg uint32_t dynamic_cu_mask; 697fb4d8502Sjsg uint32_t dynamic_rb_mask; 698fb4d8502Sjsg }; 699fb4d8502Sjsg 700fb4d8502Sjsg /* from vega10 all CSA format is shifted to chain ib compatible mode */ 701fb4d8502Sjsg struct v9_ce_ib_state { 702fb4d8502Sjsg /* section of non chained ib part */ 703fb4d8502Sjsg uint32_t ce_ib_completion_status; 704fb4d8502Sjsg uint32_t ce_constegnine_count; 705fb4d8502Sjsg uint32_t ce_ibOffset_ib1; 706fb4d8502Sjsg uint32_t ce_ibOffset_ib2; 707fb4d8502Sjsg 708fb4d8502Sjsg /* section of chained ib */ 709fb4d8502Sjsg uint32_t ce_chainib_addrlo_ib1; 710fb4d8502Sjsg uint32_t ce_chainib_addrlo_ib2; 711fb4d8502Sjsg uint32_t ce_chainib_addrhi_ib1; 712fb4d8502Sjsg uint32_t ce_chainib_addrhi_ib2; 713fb4d8502Sjsg uint32_t ce_chainib_size_ib1; 714fb4d8502Sjsg uint32_t ce_chainib_size_ib2; 715fb4d8502Sjsg }; /* total 10 DWORD */ 716fb4d8502Sjsg 717fb4d8502Sjsg struct v9_de_ib_state { 718fb4d8502Sjsg /* section of non chained ib part */ 719fb4d8502Sjsg uint32_t ib_completion_status; 720fb4d8502Sjsg uint32_t de_constEngine_count; 721fb4d8502Sjsg uint32_t ib_offset_ib1; 722fb4d8502Sjsg uint32_t ib_offset_ib2; 723fb4d8502Sjsg 724fb4d8502Sjsg /* section of chained ib */ 725fb4d8502Sjsg uint32_t chain_ib_addrlo_ib1; 726fb4d8502Sjsg uint32_t chain_ib_addrlo_ib2; 727fb4d8502Sjsg uint32_t chain_ib_addrhi_ib1; 728fb4d8502Sjsg uint32_t chain_ib_addrhi_ib2; 729fb4d8502Sjsg uint32_t chain_ib_size_ib1; 730fb4d8502Sjsg uint32_t chain_ib_size_ib2; 731fb4d8502Sjsg 732fb4d8502Sjsg /* section of non chained ib part */ 733fb4d8502Sjsg uint32_t preamble_begin_ib1; 734fb4d8502Sjsg uint32_t preamble_begin_ib2; 735fb4d8502Sjsg uint32_t preamble_end_ib1; 736fb4d8502Sjsg uint32_t preamble_end_ib2; 737fb4d8502Sjsg 738fb4d8502Sjsg /* section of chained ib */ 739fb4d8502Sjsg uint32_t chain_ib_pream_addrlo_ib1; 740fb4d8502Sjsg uint32_t chain_ib_pream_addrlo_ib2; 741fb4d8502Sjsg uint32_t chain_ib_pream_addrhi_ib1; 742fb4d8502Sjsg uint32_t chain_ib_pream_addrhi_ib2; 743fb4d8502Sjsg 744fb4d8502Sjsg /* section of non chained ib part */ 745fb4d8502Sjsg uint32_t draw_indirect_baseLo; 746fb4d8502Sjsg uint32_t draw_indirect_baseHi; 747fb4d8502Sjsg uint32_t disp_indirect_baseLo; 748fb4d8502Sjsg uint32_t disp_indirect_baseHi; 749fb4d8502Sjsg uint32_t gds_backup_addrlo; 750fb4d8502Sjsg uint32_t gds_backup_addrhi; 751fb4d8502Sjsg uint32_t index_base_addrlo; 752fb4d8502Sjsg uint32_t index_base_addrhi; 753fb4d8502Sjsg uint32_t sample_cntl; 754fb4d8502Sjsg }; /* Total of 27 DWORD */ 755fb4d8502Sjsg 756fb4d8502Sjsg struct v9_gfx_meta_data { 757fb4d8502Sjsg /* 10 DWORD, address must be 4KB aligned */ 758fb4d8502Sjsg struct v9_ce_ib_state ce_payload; 759fb4d8502Sjsg uint32_t reserved1[54]; 760fb4d8502Sjsg /* 27 DWORD, address must be 64B aligned */ 761fb4d8502Sjsg struct v9_de_ib_state de_payload; 762fb4d8502Sjsg /* PFP IB base address which get pre-empted */ 763fb4d8502Sjsg uint32_t DeIbBaseAddrLo; 764fb4d8502Sjsg uint32_t DeIbBaseAddrHi; 765fb4d8502Sjsg uint32_t reserved2[931]; 766fb4d8502Sjsg }; /* Total of 4K Bytes */ 767fb4d8502Sjsg 768fb4d8502Sjsg #endif /* V9_STRUCTS_H_ */ 769