Hi - Can anyone explain the algorithm used to calculate the SNR for the stv0299 driver? Ie case FE_READ_SNR: { s32 snr = 0xffff - ((stv0299_readreg (i2c, 0x24) << 8) | stv0299_readreg (i2c, 0x25)); snr = 3 * (snr - 0xa100); *((u16*) arg) = (snr > 0xffff) ? 0xffff : (snr < 0) ? 0 : snr; break; } I don't understand where the 0xa100 value comes from, or why the result is them multiplied by 3! Registers 0x24 and 0x25 are apparently "Noise Indicator" registers, but the stv0299 specification doesn't explain very well how these registers should be used. Thanks for your help, Gill