uboot/arch/arm/include/asm/utils.h
<<
>>
Prefs
   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