xref: /linux/drivers/gpu/drm/imagination/pvr_rogue_fwif_shared_check.h (revision 3a2c4d55e32ad65efebdb6de44eef3bfa08bb49d)
1 /* SPDX-License-Identifier: GPL-2.0-only OR MIT */
2 /* Copyright (c) 2023 Imagination Technologies Ltd. */
3 
4 #ifndef PVR_ROGUE_FWIF_SHARED_CHECK_H
5 #define PVR_ROGUE_FWIF_SHARED_CHECK_H
6 
7 #include "pvr_check.h"
8 
9 OFFSET_CHECK(struct rogue_fwif_dma_addr, dev_addr, 0);
10 OFFSET_CHECK(struct rogue_fwif_dma_addr, fw_addr, 8);
11 SIZE_CHECK(struct rogue_fwif_dma_addr, 16);
12 
13 OFFSET_CHECK(struct rogue_fwif_ufo, addr, 0);
14 OFFSET_CHECK(struct rogue_fwif_ufo, value, 4);
15 SIZE_CHECK(struct rogue_fwif_ufo, 8);
16 
17 OFFSET_CHECK(struct rogue_fwif_cleanup_ctl, submitted_commands, 0);
18 OFFSET_CHECK(struct rogue_fwif_cleanup_ctl, executed_commands, 4);
19 SIZE_CHECK(struct rogue_fwif_cleanup_ctl, 8);
20 
21 OFFSET_CHECK(struct rogue_fwif_cccb_ctl, write_offset, 0);
22 OFFSET_CHECK(struct rogue_fwif_cccb_ctl, read_offset, 4);
23 OFFSET_CHECK(struct rogue_fwif_cccb_ctl, dep_offset, 8);
24 OFFSET_CHECK(struct rogue_fwif_cccb_ctl, wrap_mask, 12);
25 OFFSET_CHECK(struct rogue_fwif_cccb_ctl, read_offset2, 16);
26 OFFSET_CHECK(struct rogue_fwif_cccb_ctl, read_offset3, 20);
27 OFFSET_CHECK(struct rogue_fwif_cccb_ctl, read_offset4, 24);
28 SIZE_CHECK(struct rogue_fwif_cccb_ctl, 32);
29 
30 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
31 	     geom_reg_vdm_context_state_base_addr, 0);
32 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
33 	     geom_reg_vdm_context_state_resume_addr, 8);
34 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
35 	     geom_reg_ta_context_state_base_addr, 16);
36 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
37 	     geom_state[0].geom_reg_vdm_context_store_task0, 24);
38 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
39 	     geom_state[0].geom_reg_vdm_context_store_task1, 32);
40 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
41 	     geom_state[0].geom_reg_vdm_context_store_task2, 40);
42 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
43 	     geom_state[0].geom_reg_vdm_context_resume_task0, 48);
44 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
45 	     geom_state[0].geom_reg_vdm_context_resume_task1, 56);
46 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
47 	     geom_state[0].geom_reg_vdm_context_resume_task2, 64);
48 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
49 	     geom_state[0].geom_reg_vdm_context_store_task3, 72);
50 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
51 	     geom_state[0].geom_reg_vdm_context_store_task4, 80);
52 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
53 	     geom_state[0].geom_reg_vdm_context_resume_task3, 88);
54 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
55 	     geom_state[0].geom_reg_vdm_context_resume_task4, 96);
56 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
57 	     geom_state[1].geom_reg_vdm_context_store_task0, 104);
58 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
59 	     geom_state[1].geom_reg_vdm_context_store_task1, 112);
60 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
61 	     geom_state[1].geom_reg_vdm_context_store_task2, 120);
62 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
63 	     geom_state[1].geom_reg_vdm_context_resume_task0, 128);
64 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
65 	     geom_state[1].geom_reg_vdm_context_resume_task1, 136);
66 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
67 	     geom_state[1].geom_reg_vdm_context_resume_task2, 144);
68 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
69 	     geom_state[1].geom_reg_vdm_context_store_task3, 152);
70 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
71 	     geom_state[1].geom_reg_vdm_context_store_task4, 160);
72 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
73 	     geom_state[1].geom_reg_vdm_context_resume_task3, 168);
74 OFFSET_CHECK(struct rogue_fwif_geom_registers_caswitch,
75 	     geom_state[1].geom_reg_vdm_context_resume_task4, 176);
76 SIZE_CHECK(struct rogue_fwif_geom_registers_caswitch, 184);
77 
78 OFFSET_CHECK(struct rogue_fwif_cdm_registers_cswitch, cdmreg_cdm_context_pds0, 0);
79 OFFSET_CHECK(struct rogue_fwif_cdm_registers_cswitch, cdmreg_cdm_context_pds1, 8);
80 OFFSET_CHECK(struct rogue_fwif_cdm_registers_cswitch, cdmreg_cdm_terminate_pds, 16);
81 OFFSET_CHECK(struct rogue_fwif_cdm_registers_cswitch, cdmreg_cdm_terminate_pds1, 24);
82 OFFSET_CHECK(struct rogue_fwif_cdm_registers_cswitch, cdmreg_cdm_resume_pds0, 32);
83 OFFSET_CHECK(struct rogue_fwif_cdm_registers_cswitch, cdmreg_cdm_context_pds0_b, 40);
84 OFFSET_CHECK(struct rogue_fwif_cdm_registers_cswitch, cdmreg_cdm_resume_pds0_b, 48);
85 SIZE_CHECK(struct rogue_fwif_cdm_registers_cswitch, 56);
86 
87 OFFSET_CHECK(struct rogue_fwif_static_rendercontext_state, ctxswitch_regs, 0);
88 SIZE_CHECK(struct rogue_fwif_static_rendercontext_state, 368);
89 
90 OFFSET_CHECK(struct rogue_fwif_static_computecontext_state, ctxswitch_regs, 0);
91 SIZE_CHECK(struct rogue_fwif_static_computecontext_state, 56);
92 
93 OFFSET_CHECK(struct rogue_fwif_cmd_common, frame_num, 0);
94 SIZE_CHECK(struct rogue_fwif_cmd_common, 4);
95 
96 OFFSET_CHECK(struct rogue_fwif_cmd_geom_frag_shared, cmn, 0);
97 OFFSET_CHECK(struct rogue_fwif_cmd_geom_frag_shared, hwrt_data_fw_addr, 4);
98 OFFSET_CHECK(struct rogue_fwif_cmd_geom_frag_shared, pr_buffer_fw_addr, 8);
99 SIZE_CHECK(struct rogue_fwif_cmd_geom_frag_shared, 16);
100 
101 #endif /* PVR_ROGUE_FWIF_SHARED_CHECK_H */
102