[FreeBSD] Do a bit of optimization on drm_order()

This commit is contained in:
Robert Noland 2008-10-03 13:56:50 -04:00
parent 81952c7dd1
commit 4c92abfa8d

View file

@ -1099,11 +1099,12 @@ int drm_mapbufs(struct drm_device *dev, void *data, struct drm_file *file_priv)
int drm_order(unsigned long size)
{
int order;
unsigned long tmp;
for (order = 0, tmp = size; tmp >>= 1; ++order);
if (size == 0)
return 0;
if (size & ~(1 << order))
order = ffsl(size) - 1;
if (size & ~(1ul << order))
++order;
return order;