Subversion Repositories Kolibri OS

Rev

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

Rev 5271 Rev 5346
Line 181... Line 181...
181
	radeon_cs_buckets_get_list(&buckets, &p->validated);
181
	radeon_cs_buckets_get_list(&buckets, &p->validated);
Line 182... Line 182...
182
 
182
 
183
	if (p->cs_flags & RADEON_CS_USE_VM)
183
	if (p->cs_flags & RADEON_CS_USE_VM)
184
		p->vm_bos = radeon_vm_get_bos(p->rdev, p->ib.vm,
184
		p->vm_bos = radeon_vm_get_bos(p->rdev, p->ib.vm,
185
					      &p->validated);
-
 
186
//	if (need_mmap_lock)
-
 
Line 187... Line 185...
187
//		down_read(¤t->mm->mmap_sem);
185
					      &p->validated);
Line 188... Line -...
188
 
-
 
189
	r = radeon_bo_list_validate(p->rdev, &p->ticket, &p->validated, p->ring);
-
 
190
 
-
 
191
//	if (need_mmap_lock)
186
 
192
//		up_read(¤t->mm->mmap_sem);
187
	r = radeon_bo_list_validate(p->rdev, &p->ticket, &p->validated, p->ring);
Line 193... Line 188...
193
 
188
 
194
	return r;
189
	return r;
Line 647... Line 642...
647
{
642
{
648
	struct radeon_device *rdev = dev->dev_private;
643
	struct radeon_device *rdev = dev->dev_private;
649
	struct radeon_cs_parser parser;
644
	struct radeon_cs_parser parser;
650
	int r;
645
	int r;
Line 651... Line 646...
651
 
646
 
652
//   down_read(&rdev->exclusive_lock);
647
	down_read(&rdev->exclusive_lock);
653
	if (!rdev->accel_working) {
648
	if (!rdev->accel_working) {
654
//       up_read(&rdev->exclusive_lock);
649
		up_read(&rdev->exclusive_lock);
655
		return -EBUSY;
650
		return -EBUSY;
656
	}
651
	}
657
	/* initialize parser */
652
	/* initialize parser */
658
	memset(&parser, 0, sizeof(struct radeon_cs_parser));
653
	memset(&parser, 0, sizeof(struct radeon_cs_parser));
Line 662... Line 657...
662
	parser.family = rdev->family;
657
	parser.family = rdev->family;
663
	r = radeon_cs_parser_init(&parser, data);
658
	r = radeon_cs_parser_init(&parser, data);
664
	if (r) {
659
	if (r) {
665
		DRM_ERROR("Failed to initialize parser !\n");
660
		DRM_ERROR("Failed to initialize parser !\n");
666
		radeon_cs_parser_fini(&parser, r, false);
661
		radeon_cs_parser_fini(&parser, r, false);
667
//       up_read(&rdev->exclusive_lock);
662
		up_read(&rdev->exclusive_lock);
668
		r = radeon_cs_handle_lockup(rdev, r);
663
		r = radeon_cs_handle_lockup(rdev, r);
669
		return r;
664
		return r;
670
	}
665
	}
Line 671... Line 666...
671
 
666
 
Line 676... Line 671...
676
			DRM_ERROR("Failed to parse relocation %d!\n", r);
671
			DRM_ERROR("Failed to parse relocation %d!\n", r);
677
	}
672
	}
Line 678... Line 673...
678
 
673
 
679
	if (r) {
674
	if (r) {
680
		radeon_cs_parser_fini(&parser, r, false);
675
		radeon_cs_parser_fini(&parser, r, false);
681
//       up_read(&rdev->exclusive_lock);
676
		up_read(&rdev->exclusive_lock);
682
		r = radeon_cs_handle_lockup(rdev, r);
677
		r = radeon_cs_handle_lockup(rdev, r);
683
		return r;
678
		return r;
Line 684... Line 679...
684
	}
679
	}
Line 693... Line 688...
693
	if (r) {
688
	if (r) {
694
		goto out;
689
		goto out;
695
	}
690
	}
696
out:
691
out:
697
	radeon_cs_parser_fini(&parser, r, true);
692
	radeon_cs_parser_fini(&parser, r, true);
698
//   up_read(&rdev->exclusive_lock);
693
	up_read(&rdev->exclusive_lock);
699
	r = radeon_cs_handle_lockup(rdev, r);
694
	r = radeon_cs_handle_lockup(rdev, r);
700
	return r;
695
	return r;
701
}
696
}
Line 702... Line 697...
702
 
697