@@ -31,10 +31,12 @@ static void close_objects(struct intel_memory_region *mem,
31
31
struct drm_i915_gem_object * obj , * on ;
32
32
33
33
list_for_each_entry_safe (obj , on , objects , st_link ) {
34
+ i915_gem_object_lock (obj , NULL );
34
35
if (i915_gem_object_has_pinned_pages (obj ))
35
36
i915_gem_object_unpin_pages (obj );
36
37
/* No polluting the memory region between tests */
37
38
__i915_gem_object_put_pages (obj );
39
+ i915_gem_object_unlock (obj );
38
40
list_del (& obj -> st_link );
39
41
i915_gem_object_put (obj );
40
42
}
@@ -69,7 +71,7 @@ static int igt_mock_fill(void *arg)
69
71
break ;
70
72
}
71
73
72
- err = i915_gem_object_pin_pages (obj );
74
+ err = i915_gem_object_pin_pages_unlocked (obj );
73
75
if (err ) {
74
76
i915_gem_object_put (obj );
75
77
break ;
@@ -109,7 +111,7 @@ igt_object_create(struct intel_memory_region *mem,
109
111
if (IS_ERR (obj ))
110
112
return obj ;
111
113
112
- err = i915_gem_object_pin_pages (obj );
114
+ err = i915_gem_object_pin_pages_unlocked (obj );
113
115
if (err )
114
116
goto put ;
115
117
@@ -123,8 +125,10 @@ igt_object_create(struct intel_memory_region *mem,
123
125
124
126
static void igt_object_release (struct drm_i915_gem_object * obj )
125
127
{
128
+ i915_gem_object_lock (obj , NULL );
126
129
i915_gem_object_unpin_pages (obj );
127
130
__i915_gem_object_put_pages (obj );
131
+ i915_gem_object_unlock (obj );
128
132
list_del (& obj -> st_link );
129
133
i915_gem_object_put (obj );
130
134
}
@@ -433,7 +437,7 @@ static int igt_cpu_check(struct drm_i915_gem_object *obj, u32 dword, u32 val)
433
437
if (err )
434
438
return err ;
435
439
436
- ptr = i915_gem_object_pin_map (obj , I915_MAP_WC );
440
+ ptr = i915_gem_object_pin_map_unlocked (obj , I915_MAP_WC );
437
441
if (IS_ERR (ptr ))
438
442
return PTR_ERR (ptr );
439
443
@@ -538,7 +542,7 @@ static int igt_lmem_create(void *arg)
538
542
if (IS_ERR (obj ))
539
543
return PTR_ERR (obj );
540
544
541
- err = i915_gem_object_pin_pages (obj );
545
+ err = i915_gem_object_pin_pages_unlocked (obj );
542
546
if (err )
543
547
goto out_put ;
544
548
@@ -577,7 +581,7 @@ static int igt_lmem_write_gpu(void *arg)
577
581
goto out_file ;
578
582
}
579
583
580
- err = i915_gem_object_pin_pages (obj );
584
+ err = i915_gem_object_pin_pages_unlocked (obj );
581
585
if (err )
582
586
goto out_put ;
583
587
@@ -649,7 +653,7 @@ static int igt_lmem_write_cpu(void *arg)
649
653
if (IS_ERR (obj ))
650
654
return PTR_ERR (obj );
651
655
652
- vaddr = i915_gem_object_pin_map (obj , I915_MAP_WC );
656
+ vaddr = i915_gem_object_pin_map_unlocked (obj , I915_MAP_WC );
653
657
if (IS_ERR (vaddr )) {
654
658
err = PTR_ERR (vaddr );
655
659
goto out_put ;
@@ -753,7 +757,7 @@ create_region_for_mapping(struct intel_memory_region *mr, u64 size, u32 type,
753
757
return obj ;
754
758
}
755
759
756
- addr = i915_gem_object_pin_map (obj , type );
760
+ addr = i915_gem_object_pin_map_unlocked (obj , type );
757
761
if (IS_ERR (addr )) {
758
762
i915_gem_object_put (obj );
759
763
if (PTR_ERR (addr ) == - ENXIO )
0 commit comments