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 |