Subversion Repositories Kolibri OS

Rev

Rev 6104 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6104 Rev 6938
Line 109... Line 109...
109
 */
109
 */
110
int radeon_fence_emit(struct radeon_device *rdev,
110
int radeon_fence_emit(struct radeon_device *rdev,
111
		      struct radeon_fence **fence,
111
		      struct radeon_fence **fence,
112
		      int ring)
112
		      int ring)
113
{
113
{
114
	u64 seq = ++rdev->fence_drv[ring].sync_seq[ring];
114
	u64 seq;
Line 115... Line 115...
115
 
115
 
116
	/* we are protected by the ring emission mutex */
116
	/* we are protected by the ring emission mutex */
117
	*fence = kmalloc(sizeof(struct radeon_fence), GFP_KERNEL);
117
	*fence = kmalloc(sizeof(struct radeon_fence), GFP_KERNEL);
118
	if ((*fence) == NULL) {
118
	if ((*fence) == NULL) {
119
		return -ENOMEM;
119
		return -ENOMEM;
120
	}
120
	}
121
	(*fence)->rdev = rdev;
121
	(*fence)->rdev = rdev;
122
	(*fence)->seq = seq;
122
	(*fence)->seq = seq = ++rdev->fence_drv[ring].sync_seq[ring];
123
	(*fence)->ring = ring;
123
	(*fence)->ring = ring;
124
	(*fence)->is_vm_update = false;
124
	(*fence)->is_vm_update = false;
125
	fence_init(&(*fence)->base, &radeon_fence_ops,
125
	fence_init(&(*fence)->base, &radeon_fence_ops,
126
		   &rdev->fence_queue.lock, rdev->fence_context + ring, seq);
126
		   &rdev->fence_queue.lock, rdev->fence_context + ring, seq);