amdgpu/addrlib: add explicit Log2NonPow2 function
authorRoy Zhan <roy.zhan@amd.com>
Thu, 9 Apr 2015 03:03:34 +0000 (23:03 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 30 Mar 2017 12:44:33 +0000 (14:44 +0200)
src/amd/addrlib/core/addrcommon.h

index 019ebd07a2984df39ae7ed4c43fd249a0b85ef3e..0dff0b8cc470c8af5beecc6ef5255b88d2463cd8 100644 (file)
@@ -445,22 +445,17 @@ static inline UINT_32 NextPow2(
 
 /**
 ***************************************************************************************************
-*   Log2
+*   Log2NonPow2
 *
 *   @brief
-*       Compute log of base 2
+*       Compute log of base 2 no matter the target is power of 2 or not
 ***************************************************************************************************
 */
-static inline UINT_32 Log2(
+static inline UINT_32 Log2NonPow2(
     UINT_32 x)      ///< [in] the value should calculate log based 2
 {
     UINT_32 y;
 
-    //
-    // Assert that x is a power of two.
-    //
-    ADDR_ASSERT(IsPow2(x));
-
     y = 0;
     while (x > 1)
     {
@@ -471,6 +466,23 @@ static inline UINT_32 Log2(
     return y;
 }
 
+/**
+***************************************************************************************************
+*   Log2
+*
+*   @brief
+*       Compute log of base 2
+***************************************************************************************************
+*/
+static inline UINT_32 Log2(
+    UINT_32 x)      ///< [in] the value should calculate log based 2
+{
+    // Assert that x is a power of two.
+    ADDR_ASSERT(IsPow2(x));
+
+    return Log2NonPow2(x);
+}
+
 /**
 ***************************************************************************************************
 *   QLog2