Subversion Repositories Kolibri OS

Rev

Rev 1963 | Rev 2005 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1963 Rev 1986
Line 6... Line 6...
6
 
6
 
7
static struct drm_mm   mm_gtt;
7
static struct drm_mm   mm_gtt;
Line -... Line 8...
-
 
8
static struct drm_mm   mm_vram;
-
 
9
 
-
 
10
 
-
 
11
/**
-
 
12
 * Initialize an already allocate GEM object of the specified size with
-
 
13
 * shmfs backing store.
-
 
14
 */
-
 
15
int drm_gem_object_init(struct drm_device *dev,
-
 
16
            struct drm_gem_object *obj, size_t size)
-
 
17
{
-
 
18
    BUG_ON((size & (PAGE_SIZE - 1)) != 0);
-
 
19
 
-
 
20
    obj->dev = dev;
-
 
21
    obj->filp = NULL;
-
 
22
 
-
 
23
    atomic_set(&obj->handle_count, 0);
-
 
24
    obj->size = size;
-
 
25
 
-
 
26
    return 0;
-
 
27
}
8
static struct drm_mm   mm_vram;
28
 
9
 
29
 
10
int drm_mm_alloc(struct drm_mm *mm, size_t num_pages,
30
int drm_mm_alloc(struct drm_mm *mm, size_t num_pages,
11
                 struct drm_mm_node **node)
31
                 struct drm_mm_node **node)
12
{
32
{
Line 36... Line 56...
36
    return 0;
56
    return 0;
37
};
57
};
Line -... Line 58...
-
 
58
 
38
 
59
 
39
 
60
 
40
void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain)
61
void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain)
Line 41... Line 62...
41
{
62
{
Line 100... Line 121...
100
    bo->reserved.counter = 1;
121
    bo->reserved.counter = 1;
101
}
122
}
102
 
123
 
Line 103... Line 124...
103
int radeon_bo_create(struct radeon_device *rdev,
124
int radeon_bo_create(struct radeon_device *rdev,
104
                unsigned long size, int byte_align,
125
		     unsigned long size, int byte_align, bool kernel, u32 domain,
105
                bool kernel, u32 domain,
-
 
106
                struct radeon_bo **bo_ptr)
126
                struct radeon_bo **bo_ptr)
107
{
127
{
-
 
128
	struct radeon_bo *bo;
108
    enum ttm_bo_type type;
129
    enum ttm_bo_type type;
Line 109... Line -...
109
 
-
 
110
    struct radeon_bo   *bo;
130
 
111
    size_t num_pages;
131
    size_t num_pages;
112
    struct drm_mm      *mman;
132
    struct drm_mm      *mman;
113
    u32                 bo_domain;
133
    u32                 bo_domain;
Line 141... Line 161...
141
    bo = kzalloc(sizeof(struct radeon_bo), GFP_KERNEL);
161
    bo = kzalloc(sizeof(struct radeon_bo), GFP_KERNEL);
142
    if (bo == NULL)
162
    if (bo == NULL)
143
        return -ENOMEM;
163
        return -ENOMEM;
144
 
164
 
Line -... Line 165...
-
 
165
	r = drm_gem_object_init(rdev->ddev, &bo->gem_base, size);
-
 
166
    if (unlikely(r)) {
-
 
167
		kfree(bo);
-
 
168
		return r;
-
 
169
	}
145
    bo->rdev = rdev;
170
    bo->rdev = rdev;
-
 
171
	bo->gem_base.driver_private = NULL;
146
    bo->surface_reg = -1;
172
    bo->surface_reg = -1;
147
    bo->tbo.num_pages = num_pages;
173
    bo->tbo.num_pages = num_pages;
148
    bo->domain = domain;
174
    bo->domain = domain;
Line 149... Line 175...
149
 
175