xref: /aosp_15_r20/external/mesa3d/src/panfrost/lib/kmod/panthor_kmod.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright © 2023 Collabora, Ltd.
3  *
4  * SPDX-License-Identifier: MIT
5  */
6 
7 #pragma once
8 
9 #include <stdint.h>
10 
11 #if defined(__cplusplus)
12 extern "C" {
13 #endif
14 
15 struct drm_panthor_csif_info;
16 
17 struct pan_kmod_bo;
18 struct pan_kmod_dev;
19 struct pan_kmod_vm;
20 
21 int panthor_kmod_bo_attach_sync_point(struct pan_kmod_bo *bo,
22                                       uint32_t sync_handle,
23                                       uint64_t sync_point, bool written);
24 int panthor_kmod_bo_get_sync_point(struct pan_kmod_bo *bo,
25                                    uint32_t *sync_handle, uint64_t *sync_point,
26                                    bool read_only);
27 uint32_t panthor_kmod_vm_sync_handle(struct pan_kmod_vm *vm);
28 uint64_t panthor_kmod_vm_sync_lock(struct pan_kmod_vm *vm);
29 void panthor_kmod_vm_sync_unlock(struct pan_kmod_vm *vm,
30                                  uint64_t new_sync_point);
31 uint32_t panthor_kmod_get_flush_id(const struct pan_kmod_dev *dev);
32 
33 const struct drm_panthor_csif_info *
34 panthor_kmod_get_csif_props(const struct pan_kmod_dev *dev);
35 
36 #if defined(__cplusplus)
37 } // extern "C"
38 #endif
39