Rev 5271 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5271 | Rev 6104 | ||
---|---|---|---|
Line 58... | Line 58... | ||
58 | radeon_ring_write(ring, PACKET0(UVD_GPCOM_VCPU_CMD, 0)); |
58 | radeon_ring_write(ring, PACKET0(UVD_GPCOM_VCPU_CMD, 0)); |
59 | radeon_ring_write(ring, 2); |
59 | radeon_ring_write(ring, 2); |
60 | } |
60 | } |
Line 61... | Line 61... | ||
61 | 61 | ||
- | 62 | /** |
|
- | 63 | * uvd_v2_2_semaphore_emit - emit semaphore command |
|
- | 64 | * |
|
- | 65 | * @rdev: radeon_device pointer |
|
- | 66 | * @ring: radeon_ring pointer |
|
- | 67 | * @semaphore: semaphore to emit commands for |
|
- | 68 | * @emit_wait: true if we should emit a wait command |
|
- | 69 | * |
|
- | 70 | * Emit a semaphore command (either wait or signal) to the UVD ring. |
|
- | 71 | */ |
|
- | 72 | bool uvd_v2_2_semaphore_emit(struct radeon_device *rdev, |
|
- | 73 | struct radeon_ring *ring, |
|
- | 74 | struct radeon_semaphore *semaphore, |
|
- | 75 | bool emit_wait) |
|
- | 76 | { |
|
- | 77 | uint64_t addr = semaphore->gpu_addr; |
|
- | 78 | ||
- | 79 | radeon_ring_write(ring, PACKET0(UVD_SEMA_ADDR_LOW, 0)); |
|
- | 80 | radeon_ring_write(ring, (addr >> 3) & 0x000FFFFF); |
|
- | 81 | ||
- | 82 | radeon_ring_write(ring, PACKET0(UVD_SEMA_ADDR_HIGH, 0)); |
|
- | 83 | radeon_ring_write(ring, (addr >> 23) & 0x000FFFFF); |
|
- | 84 | ||
- | 85 | radeon_ring_write(ring, PACKET0(UVD_SEMA_CMD, 0)); |
|
- | 86 | radeon_ring_write(ring, emit_wait ? 1 : 0); |
|
- | 87 | ||
- | 88 | return true; |
|
- | 89 | } |
|
- | 90 | ||
62 | /** |
91 | /** |
63 | * uvd_v2_2_resume - memory controller programming |
92 | * uvd_v2_2_resume - memory controller programming |
64 | * |
93 | * |
65 | * @rdev: radeon_device pointer |
94 | * @rdev: radeon_device pointer |
66 | * |
95 | * |