#ifndef __AMDGPU_UVD_H__
#define __AMDGPU_UVD_H__
#define AMDGPU_DEFAULT_UVD_HANDLES …
#define AMDGPU_MAX_UVD_HANDLES …
#define AMDGPU_UVD_STACK_SIZE …
#define AMDGPU_UVD_HEAP_SIZE …
#define AMDGPU_UVD_SESSION_SIZE …
#define AMDGPU_UVD_FIRMWARE_OFFSET …
#define AMDGPU_MAX_UVD_INSTANCES …
#define AMDGPU_UVD_FIRMWARE_SIZE(adev) …
struct amdgpu_uvd_inst { … };
#define AMDGPU_UVD_HARVEST_UVD0 …
#define AMDGPU_UVD_HARVEST_UVD1 …
struct amdgpu_uvd { … };
int amdgpu_uvd_sw_init(struct amdgpu_device *adev);
int amdgpu_uvd_sw_fini(struct amdgpu_device *adev);
int amdgpu_uvd_entity_init(struct amdgpu_device *adev, struct amdgpu_ring *ring);
int amdgpu_uvd_prepare_suspend(struct amdgpu_device *adev);
int amdgpu_uvd_suspend(struct amdgpu_device *adev);
int amdgpu_uvd_resume(struct amdgpu_device *adev);
int amdgpu_uvd_get_create_msg(struct amdgpu_ring *ring, uint32_t handle,
struct dma_fence **fence);
int amdgpu_uvd_get_destroy_msg(struct amdgpu_ring *ring, uint32_t handle,
bool direct, struct dma_fence **fence);
void amdgpu_uvd_free_handles(struct amdgpu_device *adev,
struct drm_file *filp);
int amdgpu_uvd_ring_parse_cs(struct amdgpu_cs_parser *parser,
struct amdgpu_job *job,
struct amdgpu_ib *ib);
void amdgpu_uvd_ring_begin_use(struct amdgpu_ring *ring);
void amdgpu_uvd_ring_end_use(struct amdgpu_ring *ring);
int amdgpu_uvd_ring_test_ib(struct amdgpu_ring *ring, long timeout);
uint32_t amdgpu_uvd_used_handles(struct amdgpu_device *adev);
#endif