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