Rev 3266 | Rev 3298 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3266 | Rev 3290 | ||
---|---|---|---|
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 -... | Line 239... | ||
- | 239 | ||
- | 240 | ENTER(); |
|
239 | 241 | ||
240 | size = roundup(size, PAGE_SIZE); |
242 | size = roundup(size, PAGE_SIZE); |
241 | if (size == 0) |
243 | if (size == 0) |
Line 242... | Line 244... | ||
242 | return -EINVAL; |
244 | return -EINVAL; |
Line 257... | Line 259... | ||
257 | /* drop reference from allocate - handle holds it now */ |
259 | /* drop reference from allocate - handle holds it now */ |
258 | drm_gem_object_unreference(&obj->base); |
260 | drm_gem_object_unreference(&obj->base); |
259 | trace_i915_gem_object_create(obj); |
261 | trace_i915_gem_object_create(obj); |
Line 260... | Line 262... | ||
260 | 262 | ||
- | 263 | *handle_p = handle; |
|
- | 264 | ||
- | 265 | printf("%s obj %p handle %d\n", __FUNCTION__, obj, handle); |
|
261 | *handle_p = handle; |
266 | |
262 | return 0; |
267 | return 0; |
Line 263... | Line 268... | ||
263 | } |
268 | } |
264 | 269 | ||
Line 1489... | Line 1494... | ||
1489 | obj->dirty = 0; |
1494 | obj->dirty = 0; |
Line 1490... | Line 1495... | ||
1490 | 1495 | ||
1491 | for_each_sg(obj->pages->sgl, sg, page_count, i) { |
1496 | for_each_sg(obj->pages->sgl, sg, page_count, i) { |
Line 1492... | Line -... | ||
1492 | struct page *page = sg_page(sg); |
- | |
1493 | - | ||
1494 | 1497 | struct page *page = sg_page(sg); |
|
1495 | 1498 | ||
1496 | // page_cache_release(page); |
1499 | page_cache_release(page); |
- | 1500 | } |
|
- | 1501 | //DRM_DEBUG_KMS("%s release %d pages\n", __FUNCTION__, page_count); |
|
1497 | } |
1502 | printf("%s release %d pages\n", __FUNCTION__, page_count); |
Line 1498... | Line 1503... | ||
1498 | //DRM_DEBUG_KMS("%s release %d pages\n", __FUNCTION__, page_count); |
1503 | |
1499 | obj->dirty = 0; |
1504 | obj->dirty = 0; |
1500 | 1505 | ||
Line 3504... | Line 3509... | ||
3504 | 3509 | ||
Line 3505... | Line 3510... | ||
3505 | trace_i915_gem_object_destroy(obj); |
3510 | trace_i915_gem_object_destroy(obj); |
3506 | 3511 | ||
- | 3512 | // if (obj->phys_obj) |
|
Line 3507... | Line 3513... | ||
3507 | // if (obj->phys_obj) |
3513 | // i915_gem_detach_phys_object(dev, obj); |
3508 | // i915_gem_detach_phys_object(dev, obj); |
3514 | printf("%s obj %p\n", __FUNCTION__, obj); |
3509 | 3515 | ||
Line 3526... | Line 3532... | ||
3526 | BUG_ON(obj->pages); |
3532 | BUG_ON(obj->pages); |
Line 3527... | Line 3533... | ||
3527 | 3533 | ||
3528 | // if (obj->base.import_attach) |
3534 | // if (obj->base.import_attach) |
Line -... | Line 3535... | ||
- | 3535 | // drm_prime_gem_destroy(&obj->base, NULL); |
|
- | 3536 | ||
- | 3537 | if(obj->base.filp != NULL) |
|
- | 3538 | { |
|
- | 3539 | printf("filp %p\n", obj->base.filp); |
|
- | 3540 | shmem_file_delete(obj->base.filp); |
|
3529 | // drm_prime_gem_destroy(&obj->base, NULL); |
3541 | } |
3530 | 3542 | ||
Line 3531... | Line 3543... | ||
3531 | drm_gem_object_release(&obj->base); |
3543 | drm_gem_object_release(&obj->base); |
3532 | i915_gem_info_remove_obj(dev_priv, obj->base.size); |
3544 | i915_gem_info_remove_obj(dev_priv, obj->base.size); |