Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 3259 → Rev 3260

/drivers/video/drm/i915/utils.c
0,0 → 1,59
#include <drm/drmP.h>
#include <drm/i915_drm.h>
#include "i915_drv.h"
#include "intel_drv.h"
 
 
struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags)
{
struct file *filep;
int count;
 
filep = malloc(sizeof(*filep));
 
if(unlikely(filep == NULL))
return ERR_PTR(-ENOMEM);
 
count = size / PAGE_SIZE;
 
filep->pages = kzalloc(sizeof(struct page *) * count, 0);
if(unlikely(filep->pages == NULL))
{
kfree(filep);
return ERR_PTR(-ENOMEM);
};
 
filep->count = count;
filep->allocated = 0;
filep->vma = NULL;
 
// dbgprintf("%s file %p pages %p count %d\n",
// __FUNCTION__,filep, filep->pages, filep->pages);
 
return filep;
}
 
struct page *shmem_read_mapping_page_gfp(struct file *filep,
pgoff_t index, gfp_t gfp)
{
struct page *page;
 
// dbgprintf("%s, file %p index %d\n", __FUNCTION__, filep, index);
 
if(unlikely(index >= filep->count))
return ERR_PTR(-EINVAL);
 
page = filep->pages[index];
 
if(unlikely(page == NULL))
{
page = (struct page *)AllocPage();
 
if(unlikely(page == NULL))
return ERR_PTR(-ENOMEM);
 
filep->pages[index] = page;
};
 
return page;
};