1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* 3 * (C) Copyright 2010 4 * Texas Instruments, <www.ti.com> 5 * Aneesh V <aneesh@ti.com> 6 */ 7#ifndef _UTILS_H_ 8#define _UTILS_H_ 9 10static inline s32 log_2_n_round_up(u32 n) 11{ 12 s32 log2n = -1; 13 u32 temp = n; 14 15 while (temp) { 16 log2n++; 17 temp >>= 1; 18 } 19 20 if (n & (n - 1)) 21 return log2n + 1; /* not power of 2 - round up */ 22 else 23 return log2n; /* power of 2 */ 24} 25 26static inline s32 log_2_n_round_down(u32 n) 27{ 28 s32 log2n = -1; 29 u32 temp = n; 30 31 while (temp) { 32 log2n++; 33 temp >>= 1; 34 } 35 36 return log2n; 37} 38 39#endif 40