aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/cordic.h
diff options
context:
space:
mode:
authorPriit Laes <plaes@plaes.org>2018-11-19 20:01:22 +0200
committerKalle Valo <kvalo@codeaurora.org>2018-11-29 17:30:48 +0200
commit58d81d64e06ffaea6bddc85ae2b7295c371bcc55 (patch)
tree8b3212ca7189300141dbf644ae6a353cc052a314 /include/linux/cordic.h
parentMerge tag 'iwlwifi-next-for-kalle-2018-11-23' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next (diff)
downloadwireguard-linux-58d81d64e06ffaea6bddc85ae2b7295c371bcc55.tar.xz
wireguard-linux-58d81d64e06ffaea6bddc85ae2b7295c371bcc55.zip
lib: cordic: Move cordic macros and defines to header file
Now that these macros are in header file, we can eventually clean up the duplicate macros present in the drivers that utilize the same cordic algorithm implementation. Also add CORDIC_ prefix to nonprefixed macros. Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: Priit Laes <plaes@plaes.org> Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'include/linux/cordic.h')
-rw-r--r--include/linux/cordic.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/cordic.h b/include/linux/cordic.h
index cf68ca4a508c..3d656f54d64f 100644
--- a/include/linux/cordic.h
+++ b/include/linux/cordic.h
@@ -18,6 +18,15 @@
#include <linux/types.h>
+#define CORDIC_ANGLE_GEN 39797
+#define CORDIC_PRECISION_SHIFT 16
+#define CORDIC_NUM_ITER (CORDIC_PRECISION_SHIFT + 2)
+
+#define CORDIC_FIXED(X) ((s32)((X) << CORDIC_PRECISION_SHIFT))
+#define CORDIC_FLOAT(X) (((X) >= 0) \
+ ? ((((X) >> (CORDIC_PRECISION_SHIFT - 1)) + 1) >> 1) \
+ : -((((-(X)) >> (CORDIC_PRECISION_SHIFT - 1)) + 1) >> 1))
+
/**
* struct cordic_iq - i/q coordinate.
*