From f1939647b4ee1370d2c6a0553bccd0cbd3f2f449 Mon Sep 17 00:00:00 2001 From: Sylvain Munaut Date: Sun, 1 Apr 2012 21:33:25 +0200 Subject: [PATCH] fw/tuner_e4k: Avoid dual read of DC4 when generating DC table Signed-off-by: Sylvain Munaut --- firmware/src/tuner_e4k.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/firmware/src/tuner_e4k.c b/firmware/src/tuner_e4k.c index 79e955c..7a9b00c 100644 --- a/firmware/src/tuner_e4k.c +++ b/firmware/src/tuner_e4k.c @@ -802,7 +802,7 @@ int e4k_dc_offset_gen_table(struct e4k_state *e4k) /* iterate over all mixer + if_stage_1 gain combinations */ for (i = 0; i < ARRAY_SIZE(dc_gain_comb); i++) { - uint8_t offs_i, offs_q, range_i, range_q; + uint8_t offs_i, offs_q, range, range_i, range_q; /* set the combination of mixer / if1 gain */ e4k_mixer_gain_set(e4k, dc_gain_comb[i].mixer_gain); @@ -814,8 +814,9 @@ int e4k_dc_offset_gen_table(struct e4k_state *e4k) /* extract I/Q offset and range values */ offs_i = e4k_reg_read(e4k, E4K_REG_DC2) & 0x3F; offs_q = e4k_reg_read(e4k, E4K_REG_DC3) & 0x3F; - range_i = e4k_reg_read(e4k, E4K_REG_DC4) & 0x3; - range_q = (e4k_reg_read(e4k, E4K_REG_DC4) >> 4) & 0x3; + range = e4k_reg_read(e4k, E4K_REG_DC4); + range_i = range & 0x3; + range_q = (range >> 4) & 0x3; LOGP(DTUN, LOGL_DEBUG, "Table %u I=%u/%u, Q=%u/%u\n", i, range_i, offs_i, range_q, offs_q);