Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
  1/* SPDX-License-Identifier: GPL-2.0-only OR MIT */
  2/* Copyright (c) 2023 Imagination Technologies Ltd. */
  3
  4#ifndef PVR_ROGUE_FWIF_CLIENT_CHECK_H
  5#define PVR_ROGUE_FWIF_CLIENT_CHECK_H
  6
  7#include <linux/build_bug.h>
  8
  9#define OFFSET_CHECK(type, member, offset) \
 10	static_assert(offsetof(type, member) == (offset), \
 11		      "offsetof(" #type ", " #member ") incorrect")
 12
 13#define SIZE_CHECK(type, size) \
 14	static_assert(sizeof(type) == (size), #type " is incorrect size")
 15
 16OFFSET_CHECK(struct rogue_fwif_geom_regs, vdm_ctrl_stream_base, 0);
 17OFFSET_CHECK(struct rogue_fwif_geom_regs, tpu_border_colour_table, 8);
 18OFFSET_CHECK(struct rogue_fwif_geom_regs, vdm_draw_indirect0, 16);
 19OFFSET_CHECK(struct rogue_fwif_geom_regs, vdm_draw_indirect1, 24);
 20OFFSET_CHECK(struct rogue_fwif_geom_regs, ppp_ctrl, 28);
 21OFFSET_CHECK(struct rogue_fwif_geom_regs, te_psg, 32);
 22OFFSET_CHECK(struct rogue_fwif_geom_regs, tpu, 36);
 23OFFSET_CHECK(struct rogue_fwif_geom_regs, vdm_context_resume_task0_size, 40);
 24OFFSET_CHECK(struct rogue_fwif_geom_regs, vdm_context_resume_task3_size, 44);
 25OFFSET_CHECK(struct rogue_fwif_geom_regs, pds_ctrl, 48);
 26OFFSET_CHECK(struct rogue_fwif_geom_regs, view_idx, 52);
 27OFFSET_CHECK(struct rogue_fwif_geom_regs, pds_coeff_free_prog, 56);
 28SIZE_CHECK(struct rogue_fwif_geom_regs, 64);
 29
 30OFFSET_CHECK(struct rogue_fwif_dummy_rgnhdr_init_geom_regs, te_psgregion_addr, 0);
 31SIZE_CHECK(struct rogue_fwif_dummy_rgnhdr_init_geom_regs, 8);
 32
 33OFFSET_CHECK(struct rogue_fwif_cmd_geom, cmd_shared, 0);
 34OFFSET_CHECK(struct rogue_fwif_cmd_geom, regs, 16);
 35OFFSET_CHECK(struct rogue_fwif_cmd_geom, flags, 80);
 36OFFSET_CHECK(struct rogue_fwif_cmd_geom, partial_render_geom_frag_fence, 84);
 37OFFSET_CHECK(struct rogue_fwif_cmd_geom, dummy_rgnhdr_init_geom_regs, 96);
 38OFFSET_CHECK(struct rogue_fwif_cmd_geom, brn61484_66333_live_rt, 104);
 39SIZE_CHECK(struct rogue_fwif_cmd_geom, 112);
 40
 41OFFSET_CHECK(struct rogue_fwif_frag_regs, usc_pixel_output_ctrl, 0);
 42OFFSET_CHECK(struct rogue_fwif_frag_regs, usc_clear_register, 4);
 43OFFSET_CHECK(struct rogue_fwif_frag_regs, isp_bgobjdepth, 36);
 44OFFSET_CHECK(struct rogue_fwif_frag_regs, isp_bgobjvals, 40);
 45OFFSET_CHECK(struct rogue_fwif_frag_regs, isp_aa, 44);
 46OFFSET_CHECK(struct rogue_fwif_frag_regs, isp_xtp_pipe_enable, 48);
 47OFFSET_CHECK(struct rogue_fwif_frag_regs, isp_ctl, 52);
 48OFFSET_CHECK(struct rogue_fwif_frag_regs, tpu, 56);
 49OFFSET_CHECK(struct rogue_fwif_frag_regs, event_pixel_pds_info, 60);
 50OFFSET_CHECK(struct rogue_fwif_frag_regs, pixel_phantom, 64);
 51OFFSET_CHECK(struct rogue_fwif_frag_regs, view_idx, 68);
 52OFFSET_CHECK(struct rogue_fwif_frag_regs, event_pixel_pds_data, 72);
 53OFFSET_CHECK(struct rogue_fwif_frag_regs, brn65101_event_pixel_pds_data, 76);
 54OFFSET_CHECK(struct rogue_fwif_frag_regs, isp_oclqry_stride, 80);
 55OFFSET_CHECK(struct rogue_fwif_frag_regs, isp_zls_pixels, 84);
 56OFFSET_CHECK(struct rogue_fwif_frag_regs, rgx_cr_blackpearl_fix, 88);
 57OFFSET_CHECK(struct rogue_fwif_frag_regs, isp_scissor_base, 96);
 58OFFSET_CHECK(struct rogue_fwif_frag_regs, isp_dbias_base, 104);
 59OFFSET_CHECK(struct rogue_fwif_frag_regs, isp_oclqry_base, 112);
 60OFFSET_CHECK(struct rogue_fwif_frag_regs, isp_zlsctl, 120);
 61OFFSET_CHECK(struct rogue_fwif_frag_regs, isp_zload_store_base, 128);
 62OFFSET_CHECK(struct rogue_fwif_frag_regs, isp_stencil_load_store_base, 136);
 63OFFSET_CHECK(struct rogue_fwif_frag_regs, fb_cdc_zls, 144);
 64OFFSET_CHECK(struct rogue_fwif_frag_regs, pbe_word, 152);
 65OFFSET_CHECK(struct rogue_fwif_frag_regs, tpu_border_colour_table, 344);
 66OFFSET_CHECK(struct rogue_fwif_frag_regs, pds_bgnd, 352);
 67OFFSET_CHECK(struct rogue_fwif_frag_regs, pds_bgnd_brn65101, 376);
 68OFFSET_CHECK(struct rogue_fwif_frag_regs, pds_pr_bgnd, 400);
 69OFFSET_CHECK(struct rogue_fwif_frag_regs, isp_dummy_stencil_store_base, 424);
 70OFFSET_CHECK(struct rogue_fwif_frag_regs, isp_dummy_depth_store_base, 432);
 71OFFSET_CHECK(struct rogue_fwif_frag_regs, rgnhdr_single_rt_size, 440);
 72OFFSET_CHECK(struct rogue_fwif_frag_regs, rgnhdr_scratch_offset, 444);
 73SIZE_CHECK(struct rogue_fwif_frag_regs, 448);
 74
 75OFFSET_CHECK(struct rogue_fwif_cmd_frag, cmd_shared, 0);
 76OFFSET_CHECK(struct rogue_fwif_cmd_frag, regs, 16);
 77OFFSET_CHECK(struct rogue_fwif_cmd_frag, flags, 464);
 78OFFSET_CHECK(struct rogue_fwif_cmd_frag, zls_stride, 468);
 79OFFSET_CHECK(struct rogue_fwif_cmd_frag, sls_stride, 472);
 80OFFSET_CHECK(struct rogue_fwif_cmd_frag, execute_count, 476);
 81SIZE_CHECK(struct rogue_fwif_cmd_frag, 480);
 82
 83OFFSET_CHECK(struct rogue_fwif_compute_regs, tpu_border_colour_table, 0);
 84OFFSET_CHECK(struct rogue_fwif_compute_regs, cdm_cb_queue, 8);
 85OFFSET_CHECK(struct rogue_fwif_compute_regs, cdm_cb_base, 16);
 86OFFSET_CHECK(struct rogue_fwif_compute_regs, cdm_cb, 24);
 87OFFSET_CHECK(struct rogue_fwif_compute_regs, cdm_ctrl_stream_base, 32);
 88OFFSET_CHECK(struct rogue_fwif_compute_regs, cdm_context_state_base_addr, 40);
 89OFFSET_CHECK(struct rogue_fwif_compute_regs, tpu, 48);
 90OFFSET_CHECK(struct rogue_fwif_compute_regs, cdm_resume_pds1, 52);
 91OFFSET_CHECK(struct rogue_fwif_compute_regs, cdm_item, 56);
 92OFFSET_CHECK(struct rogue_fwif_compute_regs, compute_cluster, 60);
 93OFFSET_CHECK(struct rogue_fwif_compute_regs, tpu_tag_cdm_ctrl, 64);
 94SIZE_CHECK(struct rogue_fwif_compute_regs, 72);
 95
 96OFFSET_CHECK(struct rogue_fwif_cmd_compute, common, 0);
 97OFFSET_CHECK(struct rogue_fwif_cmd_compute, regs, 8);
 98OFFSET_CHECK(struct rogue_fwif_cmd_compute, flags, 80);
 99OFFSET_CHECK(struct rogue_fwif_cmd_compute, num_temp_regions, 84);
100OFFSET_CHECK(struct rogue_fwif_cmd_compute, stream_start_offset, 88);
101OFFSET_CHECK(struct rogue_fwif_cmd_compute, execute_count, 92);
102SIZE_CHECK(struct rogue_fwif_cmd_compute, 96);
103
104OFFSET_CHECK(struct rogue_fwif_transfer_regs, isp_bgobjvals, 0);
105OFFSET_CHECK(struct rogue_fwif_transfer_regs, usc_pixel_output_ctrl, 4);
106OFFSET_CHECK(struct rogue_fwif_transfer_regs, usc_clear_register0, 8);
107OFFSET_CHECK(struct rogue_fwif_transfer_regs, usc_clear_register1, 12);
108OFFSET_CHECK(struct rogue_fwif_transfer_regs, usc_clear_register2, 16);
109OFFSET_CHECK(struct rogue_fwif_transfer_regs, usc_clear_register3, 20);
110OFFSET_CHECK(struct rogue_fwif_transfer_regs, isp_mtile_size, 24);
111OFFSET_CHECK(struct rogue_fwif_transfer_regs, isp_render_origin, 28);
112OFFSET_CHECK(struct rogue_fwif_transfer_regs, isp_ctl, 32);
113OFFSET_CHECK(struct rogue_fwif_transfer_regs, isp_xtp_pipe_enable, 36);
114OFFSET_CHECK(struct rogue_fwif_transfer_regs, isp_aa, 40);
115OFFSET_CHECK(struct rogue_fwif_transfer_regs, event_pixel_pds_info, 44);
116OFFSET_CHECK(struct rogue_fwif_transfer_regs, event_pixel_pds_code, 48);
117OFFSET_CHECK(struct rogue_fwif_transfer_regs, event_pixel_pds_data, 52);
118OFFSET_CHECK(struct rogue_fwif_transfer_regs, isp_render, 56);
119OFFSET_CHECK(struct rogue_fwif_transfer_regs, isp_rgn, 60);
120OFFSET_CHECK(struct rogue_fwif_transfer_regs, frag_screen, 64);
121OFFSET_CHECK(struct rogue_fwif_transfer_regs, pds_bgnd0_base, 72);
122OFFSET_CHECK(struct rogue_fwif_transfer_regs, pds_bgnd1_base, 80);
123OFFSET_CHECK(struct rogue_fwif_transfer_regs, pds_bgnd3_sizeinfo, 88);
124OFFSET_CHECK(struct rogue_fwif_transfer_regs, isp_mtile_base, 96);
125OFFSET_CHECK(struct rogue_fwif_transfer_regs, pbe_wordx_mrty, 104);
126SIZE_CHECK(struct rogue_fwif_transfer_regs, 176);
127
128OFFSET_CHECK(struct rogue_fwif_cmd_transfer, common, 0);
129OFFSET_CHECK(struct rogue_fwif_cmd_transfer, regs, 8);
130OFFSET_CHECK(struct rogue_fwif_cmd_transfer, flags, 184);
131SIZE_CHECK(struct rogue_fwif_cmd_transfer, 192);
132
133#endif /* PVR_ROGUE_FWIF_CLIENT_CHECK_H */