xref: /aosp_15_r20/external/mesa3d/src/nouveau/mme/mme_sim.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright © 2022 Collabora Ltd.
3  * SPDX-License-Identifier: MIT
4  */
5 #ifndef MME_SIM_H
6 #define MME_SIM_H
7 
8 #include "nv_device_info.h"
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 struct mme_sim_state_ops {
15    uint32_t (*load)(void *handler);
16    uint32_t (*state)(void *handler, uint16_t addr);
17    void (*mthd)(void *handler, uint16_t addr, uint32_t data);
18    void (*barrier)(void *handler);
19    uint32_t *(*map_dram)(void *handler, uint32_t idx);
20 };
21 
22 void mme_sim_core(const struct nv_device_info *devinfo,
23                   size_t macro_size, const void *macro,
24                   const struct mme_sim_state_ops *state_ops,
25                   void *state_handler);
26 
27 #ifdef __cplusplus
28 }
29 #endif
30 
31 #endif /* MME_SIM_H */
32