drm/i915: Assert that the exec object lookup table is a power-of-two
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 18 Sep 2012 09:04:02 +0000 (10:04 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 20 Sep 2012 12:23:11 +0000 (14:23 +0200)
As we make the simplification of using a power-of-two size for the
execbuffer handle-to-object TLB, we should validate that this is actually
true and so clarify that premise.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem_execbuffer.c

index 8186f63474f4fb23a2ea48abfd399a1a8bcc89b4..6a2f3e50c7149f863fa5d6d496b275bb7b45f73a 100644 (file)
@@ -44,6 +44,7 @@ eb_create(int size)
 {
        struct eb_objects *eb;
        int count = PAGE_SIZE / sizeof(struct hlist_head) / 2;
+       BUILD_BUG_ON(!is_power_of_2(PAGE_SIZE / sizeof(struct hlist_head)));
        while (count > size)
                count >>= 1;
        eb = kzalloc(count*sizeof(struct hlist_head) +