]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
5f8824de BS |
2 | #ifndef __NVKM_BUS_H__ |
3 | #define __NVKM_BUS_H__ | |
a10220bb | 4 | #include <core/subdev.h> |
a10220bb | 5 | |
5f8824de | 6 | struct nvkm_bus { |
bb23f9d7 | 7 | const struct nvkm_bus_func *func; |
01d6b956 | 8 | struct nvkm_subdev subdev; |
a10220bb MP |
9 | }; |
10 | ||
2984506f | 11 | /* interface to sequencer */ |
5f8824de | 12 | struct nvkm_hwsq; |
bb23f9d7 | 13 | int nvkm_hwsq_init(struct nvkm_subdev *, struct nvkm_hwsq **); |
5f8824de BS |
14 | int nvkm_hwsq_fini(struct nvkm_hwsq **, bool exec); |
15 | void nvkm_hwsq_wr32(struct nvkm_hwsq *, u32 addr, u32 data); | |
16 | void nvkm_hwsq_setf(struct nvkm_hwsq *, u8 flag, int data); | |
17 | void nvkm_hwsq_wait(struct nvkm_hwsq *, u8 flag, u8 data); | |
271c2766 | 18 | void nvkm_hwsq_wait_vblank(struct nvkm_hwsq *); |
5f8824de | 19 | void nvkm_hwsq_nsec(struct nvkm_hwsq *, u32 nsec); |
bb23f9d7 BS |
20 | |
21 | int nv04_bus_new(struct nvkm_device *, int, struct nvkm_bus **); | |
22 | int nv31_bus_new(struct nvkm_device *, int, struct nvkm_bus **); | |
23 | int nv50_bus_new(struct nvkm_device *, int, struct nvkm_bus **); | |
24 | int g94_bus_new(struct nvkm_device *, int, struct nvkm_bus **); | |
25 | int gf100_bus_new(struct nvkm_device *, int, struct nvkm_bus **); | |
a10220bb | 26 | #endif |