Move the chid.h to nvkm/engine so that vGPU manager support can expose the routines of allocating CHIDs from the reserved CHID pool to NVIDIA VFIO module when creating a vGPU. No function change is intended. Signed-off-by: Zhi Wang <zhiw@xxxxxxxxxx> --- .../drm/nouveau/include/nvkm/engine/chid.h | 29 ++++++++++++++++++ .../gpu/drm/nouveau/nvkm/engine/fifo/chid.h | 30 +------------------ 2 files changed, 30 insertions(+), 29 deletions(-) create mode 100644 drivers/gpu/drm/nouveau/include/nvkm/engine/chid.h diff --git a/drivers/gpu/drm/nouveau/include/nvkm/engine/chid.h b/drivers/gpu/drm/nouveau/include/nvkm/engine/chid.h new file mode 100644 index 000000000000..b9e507af6725 --- /dev/null +++ b/drivers/gpu/drm/nouveau/include/nvkm/engine/chid.h @@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: MIT */ +#ifndef __NVKM_CHID_H__ +#define __NVKM_CHID_H__ +#include <core/event.h> + +struct nvkm_chid { + struct kref kref; + int nr; + u32 mask; + + struct nvkm_event event; + + void **data; + + spinlock_t lock; + unsigned long *reserved; + unsigned long used[]; +}; + +int nvkm_chid_new(const struct nvkm_event_func *, struct nvkm_subdev *, + int nr, int first, int count, struct nvkm_chid **pchid); +struct nvkm_chid *nvkm_chid_ref(struct nvkm_chid *); +void nvkm_chid_unref(struct nvkm_chid **); +int nvkm_chid_get(struct nvkm_chid *, void *data); +void nvkm_chid_put(struct nvkm_chid *, int id, spinlock_t *data_lock); +int nvkm_chid_reserved_alloc(struct nvkm_chid *chid, int count); +void nvkm_chid_reserved_free(struct nvkm_chid *chid, int first, int count); +void nvkm_chid_reserve(struct nvkm_chid *chid, int first, int count); +#endif diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/chid.h b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/chid.h index b9e507af6725..a9c3e7143165 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/chid.h +++ b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/chid.h @@ -1,29 +1 @@ -/* SPDX-License-Identifier: MIT */ -#ifndef __NVKM_CHID_H__ -#define __NVKM_CHID_H__ -#include <core/event.h> - -struct nvkm_chid { - struct kref kref; - int nr; - u32 mask; - - struct nvkm_event event; - - void **data; - - spinlock_t lock; - unsigned long *reserved; - unsigned long used[]; -}; - -int nvkm_chid_new(const struct nvkm_event_func *, struct nvkm_subdev *, - int nr, int first, int count, struct nvkm_chid **pchid); -struct nvkm_chid *nvkm_chid_ref(struct nvkm_chid *); -void nvkm_chid_unref(struct nvkm_chid **); -int nvkm_chid_get(struct nvkm_chid *, void *data); -void nvkm_chid_put(struct nvkm_chid *, int id, spinlock_t *data_lock); -int nvkm_chid_reserved_alloc(struct nvkm_chid *chid, int count); -void nvkm_chid_reserved_free(struct nvkm_chid *chid, int first, int count); -void nvkm_chid_reserve(struct nvkm_chid *chid, int first, int count); -#endif +#include <engine/chid.h> -- 2.34.1