diff options
Diffstat (limited to 'freedreno/freedreno_device.c')
-rw-r--r-- | freedreno/freedreno_device.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/freedreno/freedreno_device.c b/freedreno/freedreno_device.c index ddb95455..0e20332e 100644 --- a/freedreno/freedreno_device.c +++ b/freedreno/freedreno_device.c | |||
@@ -43,19 +43,19 @@ struct fd_device * kgsl_device_new(int fd); | |||
43 | struct fd_device * msm_device_new(int fd); | 43 | struct fd_device * msm_device_new(int fd); |
44 | 44 | ||
45 | static void | 45 | static void |
46 | add_bucket(struct fd_device *dev, int size) | 46 | add_bucket(struct fd_bo_cache *cache, int size) |
47 | { | 47 | { |
48 | unsigned int i = dev->num_buckets; | 48 | unsigned int i = cache->num_buckets; |
49 | 49 | ||
50 | assert(i < ARRAY_SIZE(dev->cache_bucket)); | 50 | assert(i < ARRAY_SIZE(cache->cache_bucket)); |
51 | 51 | ||
52 | list_inithead(&dev->cache_bucket[i].list); | 52 | list_inithead(&cache->cache_bucket[i].list); |
53 | dev->cache_bucket[i].size = size; | 53 | cache->cache_bucket[i].size = size; |
54 | dev->num_buckets++; | 54 | cache->num_buckets++; |
55 | } | 55 | } |
56 | 56 | ||
57 | static void | 57 | static void |
58 | init_cache_buckets(struct fd_device *dev) | 58 | fd_bo_cache_init(struct fd_bo_cache *cache) |
59 | { | 59 | { |
60 | unsigned long size, cache_max_size = 64 * 1024 * 1024; | 60 | unsigned long size, cache_max_size = 64 * 1024 * 1024; |
61 | 61 | ||
@@ -67,16 +67,16 @@ init_cache_buckets(struct fd_device *dev) | |||
67 | * width/height alignment and rounding of sizes to pages will | 67 | * width/height alignment and rounding of sizes to pages will |
68 | * get us useful cache hit rates anyway) | 68 | * get us useful cache hit rates anyway) |
69 | */ | 69 | */ |
70 | add_bucket(dev, 4096); | 70 | add_bucket(cache, 4096); |
71 | add_bucket(dev, 4096 * 2); | 71 | add_bucket(cache, 4096 * 2); |
72 | add_bucket(dev, 4096 * 3); | 72 | add_bucket(cache, 4096 * 3); |
73 | 73 | ||
74 | /* Initialize the linked lists for BO reuse cache. */ | 74 | /* Initialize the linked lists for BO reuse cache. */ |
75 | for (size = 4 * 4096; size <= cache_max_size; size *= 2) { | 75 | for (size = 4 * 4096; size <= cache_max_size; size *= 2) { |
76 | add_bucket(dev, size); | 76 | add_bucket(cache, size); |
77 | add_bucket(dev, size + size * 1 / 4); | 77 | add_bucket(cache, size + size * 1 / 4); |
78 | add_bucket(dev, size + size * 2 / 4); | 78 | add_bucket(cache, size + size * 2 / 4); |
79 | add_bucket(dev, size + size * 3 / 4); | 79 | add_bucket(cache, size + size * 3 / 4); |
80 | } | 80 | } |
81 | } | 81 | } |
82 | 82 | ||
@@ -113,7 +113,7 @@ struct fd_device * fd_device_new(int fd) | |||
113 | dev->fd = fd; | 113 | dev->fd = fd; |
114 | dev->handle_table = drmHashCreate(); | 114 | dev->handle_table = drmHashCreate(); |
115 | dev->name_table = drmHashCreate(); | 115 | dev->name_table = drmHashCreate(); |
116 | init_cache_buckets(dev); | 116 | fd_bo_cache_init(&dev->bo_cache); |
117 | 117 | ||
118 | return dev; | 118 | return dev; |
119 | } | 119 | } |
@@ -137,7 +137,7 @@ struct fd_device * fd_device_ref(struct fd_device *dev) | |||
137 | 137 | ||
138 | static void fd_device_del_impl(struct fd_device *dev) | 138 | static void fd_device_del_impl(struct fd_device *dev) |
139 | { | 139 | { |
140 | fd_cleanup_bo_cache(dev, 0); | 140 | fd_cleanup_bo_cache(&dev->bo_cache, 0); |
141 | drmHashDestroy(dev->handle_table); | 141 | drmHashDestroy(dev->handle_table); |
142 | drmHashDestroy(dev->name_table); | 142 | drmHashDestroy(dev->name_table); |
143 | if (dev->closefd) | 143 | if (dev->closefd) |