Lines Matching refs:uvd
69 INIT_DELAYED_WORK(&rdev->uvd.idle_work, radeon_uvd_idle_work_handler); in radeon_uvd_init()
145 NULL, &rdev->uvd.vcpu_bo); in radeon_uvd_init()
151 r = radeon_bo_reserve(rdev->uvd.vcpu_bo, false); in radeon_uvd_init()
153 radeon_bo_unref(&rdev->uvd.vcpu_bo); in radeon_uvd_init()
158 r = radeon_bo_pin(rdev->uvd.vcpu_bo, RADEON_GEM_DOMAIN_VRAM, in radeon_uvd_init()
159 &rdev->uvd.gpu_addr); in radeon_uvd_init()
161 radeon_bo_unreserve(rdev->uvd.vcpu_bo); in radeon_uvd_init()
162 radeon_bo_unref(&rdev->uvd.vcpu_bo); in radeon_uvd_init()
167 r = radeon_bo_kmap(rdev->uvd.vcpu_bo, &rdev->uvd.cpu_addr); in radeon_uvd_init()
173 radeon_bo_unreserve(rdev->uvd.vcpu_bo); in radeon_uvd_init()
176 atomic_set(&rdev->uvd.handles[i], 0); in radeon_uvd_init()
177 rdev->uvd.filp[i] = NULL; in radeon_uvd_init()
178 rdev->uvd.img_size[i] = 0; in radeon_uvd_init()
188 if (rdev->uvd.vcpu_bo == NULL) in radeon_uvd_fini()
191 r = radeon_bo_reserve(rdev->uvd.vcpu_bo, false); in radeon_uvd_fini()
193 radeon_bo_kunmap(rdev->uvd.vcpu_bo); in radeon_uvd_fini()
194 radeon_bo_unpin(rdev->uvd.vcpu_bo); in radeon_uvd_fini()
195 radeon_bo_unreserve(rdev->uvd.vcpu_bo); in radeon_uvd_fini()
198 radeon_bo_unref(&rdev->uvd.vcpu_bo); in radeon_uvd_fini()
209 if (rdev->uvd.vcpu_bo == NULL) in radeon_uvd_suspend()
213 uint32_t handle = atomic_read(&rdev->uvd.handles[i]); in radeon_uvd_suspend()
229 rdev->uvd.filp[i] = NULL; in radeon_uvd_suspend()
230 atomic_set(&rdev->uvd.handles[i], 0); in radeon_uvd_suspend()
242 if (rdev->uvd.vcpu_bo == NULL) in radeon_uvd_resume()
245 memcpy(rdev->uvd.cpu_addr, rdev->uvd_fw->data, rdev->uvd_fw->size); in radeon_uvd_resume()
247 size = radeon_bo_size(rdev->uvd.vcpu_bo); in radeon_uvd_resume()
250 ptr = rdev->uvd.cpu_addr; in radeon_uvd_resume()
288 uint32_t handle = atomic_read(&rdev->uvd.handles[i]); in radeon_uvd_free_handles()
289 if (handle != 0 && rdev->uvd.filp[i] == filp) { in radeon_uvd_free_handles()
304 rdev->uvd.filp[i] = NULL; in radeon_uvd_free_handles()
305 atomic_set(&rdev->uvd.handles[i], 0); in radeon_uvd_free_handles()
473 if (atomic_read(&p->rdev->uvd.handles[i]) == handle) { in radeon_uvd_cs_msg()
478 if (!atomic_cmpxchg(&p->rdev->uvd.handles[i], 0, handle)) { in radeon_uvd_cs_msg()
479 p->rdev->uvd.filp[i] = p->filp; in radeon_uvd_cs_msg()
480 p->rdev->uvd.img_size[i] = img_size; in radeon_uvd_cs_msg()
499 if (atomic_read(&p->rdev->uvd.handles[i]) == handle) { in radeon_uvd_cs_msg()
500 if (p->rdev->uvd.filp[i] != p->filp) { in radeon_uvd_cs_msg()
514 atomic_cmpxchg(&p->rdev->uvd.handles[i], handle, 0); in radeon_uvd_cs_msg()
581 (start >> 28) != (p->rdev->uvd.gpu_addr >> 28)) { in radeon_uvd_cs_reloc()
732 uint64_t offs = radeon_bo_size(rdev->uvd.vcpu_bo) - in radeon_uvd_get_create_msg()
735 uint32_t *msg = rdev->uvd.cpu_addr + offs; in radeon_uvd_get_create_msg()
736 uint64_t addr = rdev->uvd.gpu_addr + offs; in radeon_uvd_get_create_msg()
740 r = radeon_bo_reserve(rdev->uvd.vcpu_bo, true); in radeon_uvd_get_create_msg()
760 radeon_bo_unreserve(rdev->uvd.vcpu_bo); in radeon_uvd_get_create_msg()
768 uint64_t offs = radeon_bo_size(rdev->uvd.vcpu_bo) - in radeon_uvd_get_destroy_msg()
771 uint32_t *msg = rdev->uvd.cpu_addr + offs; in radeon_uvd_get_destroy_msg()
772 uint64_t addr = rdev->uvd.gpu_addr + offs; in radeon_uvd_get_destroy_msg()
776 r = radeon_bo_reserve(rdev->uvd.vcpu_bo, true); in radeon_uvd_get_destroy_msg()
789 radeon_bo_unreserve(rdev->uvd.vcpu_bo); in radeon_uvd_get_destroy_msg()
811 if (!atomic_read(&rdev->uvd.handles[i])) in radeon_uvd_count_handles()
814 if (rdev->uvd.img_size[i] >= 720*576) in radeon_uvd_count_handles()
824 container_of(work, struct radeon_device, uvd.idle_work.work); in radeon_uvd_idle_work_handler()
835 schedule_delayed_work(&rdev->uvd.idle_work, in radeon_uvd_idle_work_handler()
843 bool set_clocks = !cancel_delayed_work_sync(&rdev->uvd.idle_work); in radeon_uvd_note_usage()
844 set_clocks &= schedule_delayed_work(&rdev->uvd.idle_work, in radeon_uvd_note_usage()