Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1985 → Rev 1986

/drivers/video/drm/radeon/radeon_gem.c
38,9 → 38,8
 
void radeon_gem_object_free(struct drm_gem_object *gobj)
{
struct radeon_bo *robj = gobj->driver_private;
struct radeon_bo *robj = gem_to_radeon_bo(gobj);
 
gobj->driver_private = NULL;
if (robj) {
radeon_bo_unref(&robj);
}
51,27 → 50,27
bool discardable, bool kernel,
struct drm_gem_object **obj)
{
struct drm_gem_object *gobj;
struct radeon_bo *robj;
int r;
 
*obj = NULL;
gobj = drm_gem_object_alloc(rdev->ddev, size);
if (!gobj) {
return -ENOMEM;
}
/* At least align on page size */
if (alignment < PAGE_SIZE) {
alignment = PAGE_SIZE;
}
r = radeon_bo_create(rdev, gobj, size, alignment, kernel, initial_domain, &robj);
r = radeon_bo_create(rdev, size, alignment, kernel, initial_domain, &robj);
if (r) {
DRM_ERROR("Failed to allocate GEM object (%d, %d, %u)\n",
size, initial_domain, alignment);
if (r != -ERESTARTSYS)
DRM_ERROR("Failed to allocate GEM object (%d, %d, %u, %d)\n",
size, initial_domain, alignment, r);
return r;
}
gobj->driver_private = robj;
*obj = gobj;
*obj = &robj->gem_base;
 
mutex_lock(&rdev->gem.mutex);
list_add_tail(&robj->list, &rdev->gem.objects);
mutex_unlock(&rdev->gem.mutex);
 
return 0;
}
 
78,7 → 77,7
int radeon_gem_object_pin(struct drm_gem_object *obj, uint32_t pin_domain,
uint64_t *gpu_addr)
{
struct radeon_bo *robj = obj->driver_private;
struct radeon_bo *robj = gem_to_radeon_bo(obj);
int r;
 
r = radeon_bo_reserve(robj, false);
91,7 → 90,7
 
void radeon_gem_object_unpin(struct drm_gem_object *obj)
{
struct radeon_bo *robj = obj->driver_private;
struct radeon_bo *robj = gem_to_radeon_bo(obj);
int r;
 
r = radeon_bo_reserve(robj, false);
109,7 → 108,7
int r;
 
/* FIXME: reeimplement */
robj = gobj->driver_private;
robj = gem_to_radeon_bo(gobj);
/* work out where to validate the buffer to */
domain = wdomain;
if (!domain) {
151,9 → 150,12
{
struct radeon_device *rdev = dev->dev_private;
struct drm_radeon_gem_info *args = data;
struct ttm_mem_type_manager *man;
 
man = &rdev->mman.bdev.man[TTM_PL_VRAM];
 
args->vram_size = rdev->mc.real_vram_size;
args->vram_visible = rdev->mc.real_vram_size;
args->vram_visible = (u64)man->size << PAGE_SHIFT;
if (rdev->stollen_vga_memory)
args->vram_visible -= radeon_bo_size(rdev->stollen_vga_memory);
args->vram_visible -= radeon_fbdev_total_size(rdev);
223,7 → 225,7
if (gobj == NULL) {
return -ENOENT;
}
robj = gobj->driver_private;
robj = gem_to_radeon_bo(gobj);
 
r = radeon_gem_set_domain(gobj, args->read_domains, args->write_domain);
 
231,23 → 233,31
return r;
}
 
int radeon_gem_mmap_ioctl(struct drm_device *dev, void *data,
struct drm_file *filp)
int radeon_mode_dumb_mmap(struct drm_file *filp,
struct drm_device *dev,
uint32_t handle, uint64_t *offset_p)
{
struct drm_radeon_gem_mmap *args = data;
struct drm_gem_object *gobj;
struct radeon_bo *robj;
 
gobj = drm_gem_object_lookup(dev, filp, args->handle);
gobj = drm_gem_object_lookup(dev, filp, handle);
if (gobj == NULL) {
return -ENOENT;
}
robj = gobj->driver_private;
args->addr_ptr = radeon_bo_mmap_offset(robj);
robj = gem_to_radeon_bo(gobj);
*offset_p = radeon_bo_mmap_offset(robj);
drm_gem_object_unreference_unlocked(gobj);
return 0;
}
 
int radeon_gem_mmap_ioctl(struct drm_device *dev, void *data,
struct drm_file *filp)
{
struct drm_radeon_gem_mmap *args = data;
 
return radeon_mode_dumb_mmap(filp, dev, args->handle, &args->addr_ptr);
}
 
int radeon_gem_busy_ioctl(struct drm_device *dev, void *data,
struct drm_file *filp)
{
261,7 → 271,7
if (gobj == NULL) {
return -ENOENT;
}
robj = gobj->driver_private;
robj = gem_to_radeon_bo(gobj);
r = radeon_bo_wait(robj, &cur_placement, true);
switch (cur_placement) {
case TTM_PL_VRAM:
291,7 → 301,7
if (gobj == NULL) {
return -ENOENT;
}
robj = gobj->driver_private;
robj = gem_to_radeon_bo(gobj);
r = radeon_bo_wait(robj, NULL, false);
/* callback hw specific functions if any */
if (robj->rdev->asic->ioctl_wait_idle)
312,7 → 322,7
gobj = drm_gem_object_lookup(dev, filp, args->handle);
if (gobj == NULL)
return -ENOENT;
robj = gobj->driver_private;
robj = gem_to_radeon_bo(gobj);
r = radeon_bo_set_tiling_flags(robj, args->tiling_flags, args->pitch);
drm_gem_object_unreference_unlocked(gobj);
return r;