Path: blob/master/drivers/gpu/drm/amd/include/cik_structs.h
26517 views
/*1* Copyright 2012 Advanced Micro Devices, Inc.2*3* Permission is hereby granted, free of charge, to any person obtaining a4* copy of this software and associated documentation files (the "Software"),5* to deal in the Software without restriction, including without limitation6* the rights to use, copy, modify, merge, publish, distribute, sublicense,7* and/or sell copies of the Software, and to permit persons to whom the8* Software is furnished to do so, subject to the following conditions:9*10* The above copyright notice and this permission notice shall be included in11* all copies or substantial portions of the Software.12*13* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR14* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,15* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL16* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR17* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,18* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR19* OTHER DEALINGS IN THE SOFTWARE.20*21*/2223#ifndef CIK_STRUCTS_H_24#define CIK_STRUCTS_H_2526struct cik_mqd {27uint32_t header;28uint32_t compute_dispatch_initiator;29uint32_t compute_dim_x;30uint32_t compute_dim_y;31uint32_t compute_dim_z;32uint32_t compute_start_x;33uint32_t compute_start_y;34uint32_t compute_start_z;35uint32_t compute_num_thread_x;36uint32_t compute_num_thread_y;37uint32_t compute_num_thread_z;38uint32_t compute_pipelinestat_enable;39uint32_t compute_perfcount_enable;40uint32_t compute_pgm_lo;41uint32_t compute_pgm_hi;42uint32_t compute_tba_lo;43uint32_t compute_tba_hi;44uint32_t compute_tma_lo;45uint32_t compute_tma_hi;46uint32_t compute_pgm_rsrc1;47uint32_t compute_pgm_rsrc2;48uint32_t compute_vmid;49uint32_t compute_resource_limits;50uint32_t compute_static_thread_mgmt_se0;51uint32_t compute_static_thread_mgmt_se1;52uint32_t compute_tmpring_size;53uint32_t compute_static_thread_mgmt_se2;54uint32_t compute_static_thread_mgmt_se3;55uint32_t compute_restart_x;56uint32_t compute_restart_y;57uint32_t compute_restart_z;58uint32_t compute_thread_trace_enable;59uint32_t compute_misc_reserved;60uint32_t compute_user_data_0;61uint32_t compute_user_data_1;62uint32_t compute_user_data_2;63uint32_t compute_user_data_3;64uint32_t compute_user_data_4;65uint32_t compute_user_data_5;66uint32_t compute_user_data_6;67uint32_t compute_user_data_7;68uint32_t compute_user_data_8;69uint32_t compute_user_data_9;70uint32_t compute_user_data_10;71uint32_t compute_user_data_11;72uint32_t compute_user_data_12;73uint32_t compute_user_data_13;74uint32_t compute_user_data_14;75uint32_t compute_user_data_15;76uint32_t cp_compute_csinvoc_count_lo;77uint32_t cp_compute_csinvoc_count_hi;78uint32_t cp_mqd_base_addr_lo;79uint32_t cp_mqd_base_addr_hi;80uint32_t cp_hqd_active;81uint32_t cp_hqd_vmid;82uint32_t cp_hqd_persistent_state;83uint32_t cp_hqd_pipe_priority;84uint32_t cp_hqd_queue_priority;85uint32_t cp_hqd_quantum;86uint32_t cp_hqd_pq_base_lo;87uint32_t cp_hqd_pq_base_hi;88uint32_t cp_hqd_pq_rptr;89uint32_t cp_hqd_pq_rptr_report_addr_lo;90uint32_t cp_hqd_pq_rptr_report_addr_hi;91uint32_t cp_hqd_pq_wptr_poll_addr_lo;92uint32_t cp_hqd_pq_wptr_poll_addr_hi;93uint32_t cp_hqd_pq_doorbell_control;94uint32_t cp_hqd_pq_wptr;95uint32_t cp_hqd_pq_control;96uint32_t cp_hqd_ib_base_addr_lo;97uint32_t cp_hqd_ib_base_addr_hi;98uint32_t cp_hqd_ib_rptr;99uint32_t cp_hqd_ib_control;100uint32_t cp_hqd_iq_timer;101uint32_t cp_hqd_iq_rptr;102uint32_t cp_hqd_dequeue_request;103uint32_t cp_hqd_dma_offload;104uint32_t cp_hqd_sema_cmd;105uint32_t cp_hqd_msg_type;106uint32_t cp_hqd_atomic0_preop_lo;107uint32_t cp_hqd_atomic0_preop_hi;108uint32_t cp_hqd_atomic1_preop_lo;109uint32_t cp_hqd_atomic1_preop_hi;110uint32_t cp_hqd_hq_status0;111uint32_t cp_hqd_hq_control0;112uint32_t cp_mqd_control;113uint32_t cp_mqd_query_time_lo;114uint32_t cp_mqd_query_time_hi;115uint32_t cp_mqd_connect_start_time_lo;116uint32_t cp_mqd_connect_start_time_hi;117uint32_t cp_mqd_connect_end_time_lo;118uint32_t cp_mqd_connect_end_time_hi;119uint32_t cp_mqd_connect_end_wf_count;120uint32_t cp_mqd_connect_end_pq_rptr;121uint32_t cp_mqd_connect_end_pq_wptr;122uint32_t cp_mqd_connect_end_ib_rptr;123uint32_t reserved_96;124uint32_t reserved_97;125uint32_t reserved_98;126uint32_t reserved_99;127uint32_t iqtimer_pkt_header;128uint32_t iqtimer_pkt_dw0;129uint32_t iqtimer_pkt_dw1;130uint32_t iqtimer_pkt_dw2;131uint32_t iqtimer_pkt_dw3;132uint32_t iqtimer_pkt_dw4;133uint32_t iqtimer_pkt_dw5;134uint32_t iqtimer_pkt_dw6;135uint32_t reserved_108;136uint32_t reserved_109;137uint32_t reserved_110;138uint32_t reserved_111;139uint32_t queue_doorbell_id0;140uint32_t queue_doorbell_id1;141uint32_t queue_doorbell_id2;142uint32_t queue_doorbell_id3;143uint32_t queue_doorbell_id4;144uint32_t queue_doorbell_id5;145uint32_t queue_doorbell_id6;146uint32_t queue_doorbell_id7;147uint32_t queue_doorbell_id8;148uint32_t queue_doorbell_id9;149uint32_t queue_doorbell_id10;150uint32_t queue_doorbell_id11;151uint32_t queue_doorbell_id12;152uint32_t queue_doorbell_id13;153uint32_t queue_doorbell_id14;154uint32_t queue_doorbell_id15;155};156157struct cik_sdma_rlc_registers {158uint32_t sdma_rlc_rb_cntl;159uint32_t sdma_rlc_rb_base;160uint32_t sdma_rlc_rb_base_hi;161uint32_t sdma_rlc_rb_rptr;162uint32_t sdma_rlc_rb_wptr;163uint32_t sdma_rlc_rb_wptr_poll_cntl;164uint32_t sdma_rlc_rb_wptr_poll_addr_hi;165uint32_t sdma_rlc_rb_wptr_poll_addr_lo;166uint32_t sdma_rlc_rb_rptr_addr_hi;167uint32_t sdma_rlc_rb_rptr_addr_lo;168uint32_t sdma_rlc_ib_cntl;169uint32_t sdma_rlc_ib_rptr;170uint32_t sdma_rlc_ib_offset;171uint32_t sdma_rlc_ib_base_lo;172uint32_t sdma_rlc_ib_base_hi;173uint32_t sdma_rlc_ib_size;174uint32_t sdma_rlc_skip_cntl;175uint32_t sdma_rlc_context_status;176uint32_t sdma_rlc_doorbell;177uint32_t sdma_rlc_virtual_addr;178uint32_t sdma_rlc_ape1_cntl;179uint32_t sdma_rlc_doorbell_log;180uint32_t reserved_22;181uint32_t reserved_23;182uint32_t reserved_24;183uint32_t reserved_25;184uint32_t reserved_26;185uint32_t reserved_27;186uint32_t reserved_28;187uint32_t reserved_29;188uint32_t reserved_30;189uint32_t reserved_31;190uint32_t reserved_32;191uint32_t reserved_33;192uint32_t reserved_34;193uint32_t reserved_35;194uint32_t reserved_36;195uint32_t reserved_37;196uint32_t reserved_38;197uint32_t reserved_39;198uint32_t reserved_40;199uint32_t reserved_41;200uint32_t reserved_42;201uint32_t reserved_43;202uint32_t reserved_44;203uint32_t reserved_45;204uint32_t reserved_46;205uint32_t reserved_47;206uint32_t reserved_48;207uint32_t reserved_49;208uint32_t reserved_50;209uint32_t reserved_51;210uint32_t reserved_52;211uint32_t reserved_53;212uint32_t reserved_54;213uint32_t reserved_55;214uint32_t reserved_56;215uint32_t reserved_57;216uint32_t reserved_58;217uint32_t reserved_59;218uint32_t reserved_60;219uint32_t reserved_61;220uint32_t reserved_62;221uint32_t reserved_63;222uint32_t reserved_64;223uint32_t reserved_65;224uint32_t reserved_66;225uint32_t reserved_67;226uint32_t reserved_68;227uint32_t reserved_69;228uint32_t reserved_70;229uint32_t reserved_71;230uint32_t reserved_72;231uint32_t reserved_73;232uint32_t reserved_74;233uint32_t reserved_75;234uint32_t reserved_76;235uint32_t reserved_77;236uint32_t reserved_78;237uint32_t reserved_79;238uint32_t reserved_80;239uint32_t reserved_81;240uint32_t reserved_82;241uint32_t reserved_83;242uint32_t reserved_84;243uint32_t reserved_85;244uint32_t reserved_86;245uint32_t reserved_87;246uint32_t reserved_88;247uint32_t reserved_89;248uint32_t reserved_90;249uint32_t reserved_91;250uint32_t reserved_92;251uint32_t reserved_93;252uint32_t reserved_94;253uint32_t reserved_95;254uint32_t reserved_96;255uint32_t reserved_97;256uint32_t reserved_98;257uint32_t reserved_99;258uint32_t reserved_100;259uint32_t reserved_101;260uint32_t reserved_102;261uint32_t reserved_103;262uint32_t reserved_104;263uint32_t reserved_105;264uint32_t reserved_106;265uint32_t reserved_107;266uint32_t reserved_108;267uint32_t reserved_109;268uint32_t reserved_110;269uint32_t reserved_111;270uint32_t reserved_112;271uint32_t reserved_113;272uint32_t reserved_114;273uint32_t reserved_115;274uint32_t reserved_116;275uint32_t reserved_117;276uint32_t reserved_118;277uint32_t reserved_119;278uint32_t reserved_120;279uint32_t reserved_121;280uint32_t reserved_122;281uint32_t reserved_123;282uint32_t reserved_124;283uint32_t reserved_125;284/* reserved_126,127: repurposed for driver-internal use */285uint32_t sdma_engine_id;286uint32_t sdma_queue_id;287};288289290291#endif /* CIK_STRUCTS_H_ */292293294