Commit 2948c01c authored by Martin Kepplinger's avatar Martin Kepplinger Committed by Mauro Carvalho Chehab

[media] stb0899: use sign_extend32() for sign extension

Instead of implement its own logic, use the already-defined one.
Signed-off-by: default avatarMartin Kepplinger <martink@posteo.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 17d4d6ae
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
#include <linux/bitops.h>
#include "stb0899_drv.h" #include "stb0899_drv.h"
#include "stb0899_priv.h" #include "stb0899_priv.h"
#include "stb0899_reg.h" #include "stb0899_reg.h"
...@@ -1490,9 +1491,7 @@ enum stb0899_status stb0899_dvbs2_algo(struct stb0899_state *state) ...@@ -1490,9 +1491,7 @@ enum stb0899_status stb0899_dvbs2_algo(struct stb0899_state *state)
/* Store signal parameters */ /* Store signal parameters */
offsetfreq = STB0899_READ_S2REG(STB0899_S2DEMOD, CRL_FREQ); offsetfreq = STB0899_READ_S2REG(STB0899_S2DEMOD, CRL_FREQ);
/* sign extend 30 bit value before using it in calculations */ offsetfreq = sign_extend32(offsetfreq, 29);
if (offsetfreq & (1 << 29))
offsetfreq |= -1 << 30;
offsetfreq = offsetfreq / ((1 << 30) / 1000); offsetfreq = offsetfreq / ((1 << 30) / 1000);
offsetfreq *= (internal->master_clk / 1000000); offsetfreq *= (internal->master_clk / 1000000);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment