Lines Matching refs:bucket
48 * Cached BOs are sorted into a bucket based on rounding their size down to the
49 * nearest power-of-two. Each bucket contains a linked list of free panfrost_bo
51 * corresponding bucket. Getting a BO from the cache consists of finding the
52 * appropriate bucket and sorting. A cache eviction is a kernel-level free of a
53 * BO and removing it from the bucket. We special case evicting all BOs from
156 /* Helper to calculate the bucket index of a BO */
161 /* Round down to POT to compute a bucket index */
165 /* Clamp the bucket index; all huge allocations will be
166 * sorted into the largest bucket */
192 struct list_head *bucket = pan_bucket(dev, size);
195 /* Iterate the bucket looking for something suitable */
196 list_for_each_entry_safe(struct panfrost_bo, entry, bucket,
271 struct list_head *bucket = pan_bucket(dev, MAX2(bo->size, 4096));
281 /* Add us to the bucket */
282 list_addtail(&bo->bucket_link, bucket);
314 struct list_head *bucket = &dev->bo_cache.buckets[i];
316 list_for_each_entry_safe(struct panfrost_bo, entry, bucket,