/drivers/video/drm/drm_gem.c |
---|
217,6 → 217,7 |
* we may want to use ida for number allocation and a hash table |
* for the pointers, anyway. |
*/ |
spin_lock(&filp->table_lock); |
/* Check if we currently have a reference on the object */ |
227,6 → 228,8 |
} |
dev = obj->dev; |
printf("%s handle %d obj %p\n", __FUNCTION__, handle, obj); |
/* Release reference and decrement refcount. */ |
idr_remove(&filp->object_idr, handle); |
spin_unlock(&filp->table_lock); |
/drivers/video/drm/i915/i915_gem.c |
---|
237,6 → 237,8 |
int ret; |
u32 handle; |
ENTER(); |
size = roundup(size, PAGE_SIZE); |
if (size == 0) |
return -EINVAL; |
259,6 → 261,9 |
trace_i915_gem_object_create(obj); |
*handle_p = handle; |
printf("%s obj %p handle %d\n", __FUNCTION__, obj, handle); |
return 0; |
} |
1491,11 → 1496,11 |
for_each_sg(obj->pages->sgl, sg, page_count, i) { |
struct page *page = sg_page(sg); |
// page_cache_release(page); |
page_cache_release(page); |
} |
//DRM_DEBUG_KMS("%s release %d pages\n", __FUNCTION__, page_count); |
printf("%s release %d pages\n", __FUNCTION__, page_count); |
obj->dirty = 0; |
sg_free_table(obj->pages); |
3506,6 → 3511,7 |
// if (obj->phys_obj) |
// i915_gem_detach_phys_object(dev, obj); |
printf("%s obj %p\n", __FUNCTION__, obj); |
obj->pin_count = 0; |
if (WARN_ON(i915_gem_object_unbind(obj) == -ERESTARTSYS)) { |
3528,6 → 3534,12 |
// if (obj->base.import_attach) |
// drm_prime_gem_destroy(&obj->base, NULL); |
if(obj->base.filp != NULL) |
{ |
printf("filp %p\n", obj->base.filp); |
shmem_file_delete(obj->base.filp); |
} |
drm_gem_object_release(&obj->base); |
i915_gem_info_remove_obj(dev_priv, obj->base.size); |
/drivers/video/drm/i915/kms_display.c |
---|
652,6 → 652,8 |
struct drm_i915_mask { |
__u32 handle; |
__u32 width; |
__u32 height; |
__u32 bo_size; |
__u32 bo_pitch; |
__u32 bo_map; |
693,6 → 695,10 |
{ |
static warn_count; |
mask->width = winrc.right - winrc.left + 1; |
mask->height = winrc.bottom - winrc.top + 1; |
mask->bo_pitch = (mask->width+15) & ~15; |
if(warn_count < 1) |
{ |
printf("left %d top %d right %d bottom %d\n", |
702,6 → 708,7 |
}; |
}; |
slot = *((u8*)CURRENT_TASK); |
if( mask_seqno[slot] != os_display->mask_seqno) |
730,7 → 737,7 |
src_offset+= get_display_map(); |
dst_offset = (u8*)mask->bo_map; |
u32_t tmp_h = winrc.bottom - winrc.top; |
u32_t tmp_h = mask->height; |
ifl = safe_cli(); |
{ |
755,12 → 762,6 |
src_offset+= os_display->width; |
dst_offset+= mask->bo_pitch; |
// while( tmp_w--) |
// { |
// *(tmp_src) = (*tmp_dst==slot)?0x1:0x00; |
// tmp_src++; |
// tmp_dst++; |
// }; |
while(tmp_w >= 64) |
{ |
__asm__ __volatile__ ( |
/drivers/video/drm/i915/main.c |
---|
125,6 → 125,7 |
#define SRV_BLIT_TEXTURE 16 |
#define SRV_BLIT_VIDEO 17 |
#define SRV_GET_PCI_INFO 20 |
#define SRV_GET_PARAM 21 |
#define SRV_I915_GEM_CREATE 22 |
140,6 → 141,7 |
#define SRV_I915_GEM_THROTTLE 32 |
#define SRV_FBINFO 33 |
#define SRV_I915_GEM_EXECBUFFER2 34 |
#define SRV_MASK_UPDATE 35 |
272,6 → 274,10 |
retval = i915_gem_execbuffer2(main_device, inp, file); |
break; |
case SRV_MASK_UPDATE: |
retval = i915_mask_update(main_device, inp, file); |
break; |
}; |
return retval; |
/drivers/video/drm/i915/utils.c |
---|
29,8 → 29,8 |
filep->allocated = 0; |
filep->vma = NULL; |
// dbgprintf("%s file %p pages %p count %d\n", |
// __FUNCTION__,filep, filep->pages, filep->pages); |
printf("%s file %p pages %p count %d\n", |
__FUNCTION__,filep, filep->pages, count); |
return filep; |
} |
94,4 → 94,11 |
return -ENOMEM; |
}; |
void shmem_file_delete(struct file *filep) |
{ |
printf("%s file %p pages %p count %d\n", |
__FUNCTION__, filep, filep->pages, filep->count); |
if(filep->pages) |
kfree(filep->pages); |
} |