Subversion Repositories Kolibri OS

Rev

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

Rev 3290 Rev 3298
Line 235... Line 235...
235
{
235
{
236
	struct drm_i915_gem_object *obj;
236
	struct drm_i915_gem_object *obj;
237
	int ret;
237
	int ret;
238
	u32 handle;
238
	u32 handle;
Line 239... Line -...
239
 
-
 
240
    ENTER();
-
 
241
 
239
 
242
	size = roundup(size, PAGE_SIZE);
240
	size = roundup(size, PAGE_SIZE);
243
	if (size == 0)
241
	if (size == 0)
Line 244... Line 242...
244
		return -EINVAL;
242
		return -EINVAL;
Line 260... Line 258...
260
	drm_gem_object_unreference(&obj->base);
258
	drm_gem_object_unreference(&obj->base);
261
	trace_i915_gem_object_create(obj);
259
	trace_i915_gem_object_create(obj);
Line 262... Line 260...
262
 
260
 
Line 263... Line 261...
263
	*handle_p = handle;
261
	*handle_p = handle;
Line 264... Line 262...
264
 
262
 
265
    printf("%s obj %p handle %d\n", __FUNCTION__, obj, handle);
263
//    printf("%s obj %p handle %d\n", __FUNCTION__, obj, handle);
Line 266... Line 264...
266
 
264
 
Line 1302... Line 1300...
1302
 
1300
 
1303
	obj = drm_gem_object_lookup(dev, file, args->handle);
1301
	obj = drm_gem_object_lookup(dev, file, args->handle);
1304
	if (obj == NULL)
1302
	if (obj == NULL)
Line 1305... Line 1303...
1305
		return -ENOENT;
1303
		return -ENOENT;
1306
	
1304
	
1307
    dbgprintf("%s offset %lld size %lld\n",
1305
    //dbgprintf("%s offset %lld size %lld\n",
1308
                __FUNCTION__, args->offset, args->size);
1306
//                __FUNCTION__, args->offset, args->size);
1309
	/* prime objects have no backing filp to GEM mmap
1307
	/* prime objects have no backing filp to GEM mmap
1310
	 * pages from.
1308
	 * pages from.
1311
	 */
1309
	 */
Line 1497... Line 1495...
1497
		struct page *page = sg_page(sg);
1495
		struct page *page = sg_page(sg);
Line 1498... Line 1496...
1498
 
1496
 
1499
        page_cache_release(page);
1497
        page_cache_release(page);
1500
	}
1498
	}
1501
    //DRM_DEBUG_KMS("%s release %d pages\n", __FUNCTION__, page_count);
-
 
Line 1502... Line 1499...
1502
    printf("%s release %d pages\n", __FUNCTION__, page_count);
1499
    //DRM_DEBUG_KMS("%s release %d pages\n", __FUNCTION__, page_count);
Line 1503... Line 1500...
1503
 
1500
 
1504
	obj->dirty = 0;
1501
	obj->dirty = 0;
Line 1585... Line 1582...
1585
		sg_set_page(sg, page, PAGE_SIZE, 0);
1582
		sg_set_page(sg, page, PAGE_SIZE, 0);
1586
	}
1583
	}
Line 1587... Line 1584...
1587
 
1584
 
Line 1588... Line 1585...
1588
	obj->pages = st;
1585
	obj->pages = st;
Line 1589... Line 1586...
1589
 
1586
 
Line 1590... Line 1587...
1590
    DRM_DEBUG_KMS("%s alloc %d pages\n", __FUNCTION__, page_count);
1587
//    DRM_DEBUG_KMS("%s alloc %d pages\n", __FUNCTION__, page_count);
1591
 
1588
 
Line 3509... Line 3506...
3509
 
3506
 
Line 3510... Line 3507...
3510
	trace_i915_gem_object_destroy(obj);
3507
	trace_i915_gem_object_destroy(obj);
3511
 
3508
 
3512
//   if (obj->phys_obj)
3509
//   if (obj->phys_obj)
Line 3513... Line 3510...
3513
//       i915_gem_detach_phys_object(dev, obj);
3510
//       i915_gem_detach_phys_object(dev, obj);
3514
    printf("%s obj %p\n", __FUNCTION__, obj);
3511
//    printf("%s obj %p\n", __FUNCTION__, obj);
3515
 
3512
 
Line 3534... Line 3531...
3534
//   if (obj->base.import_attach)
3531
//   if (obj->base.import_attach)
3535
//       drm_prime_gem_destroy(&obj->base, NULL);
3532
//       drm_prime_gem_destroy(&obj->base, NULL);
Line 3536... Line 3533...
3536
 
3533
 
3537
    if(obj->base.filp != NULL)
3534
    if(obj->base.filp != NULL)
3538
    {
3535
    {
3539
        printf("filp %p\n", obj->base.filp);
3536
//        printf("filp %p\n", obj->base.filp);
3540
        shmem_file_delete(obj->base.filp);
3537
        shmem_file_delete(obj->base.filp);
Line 3541... Line 3538...
3541
    }
3538
    }
3542
 
3539