|
@@ -1597,42 +1597,6 @@ void iwl_rx_handle(struct iwl_priv *priv)
|
|
|
priv->rxq.read = i;
|
|
|
iwl_rx_queue_restock(priv);
|
|
|
}
|
|
|
-/* Convert linear signal-to-noise ratio into dB */
|
|
|
-static u8 ratio2dB[100] = {
|
|
|
-/* 0 1 2 3 4 5 6 7 8 9 */
|
|
|
- 0, 0, 6, 10, 12, 14, 16, 17, 18, 19, /* 00 - 09 */
|
|
|
- 20, 21, 22, 22, 23, 23, 24, 25, 26, 26, /* 10 - 19 */
|
|
|
- 26, 26, 26, 27, 27, 28, 28, 28, 29, 29, /* 20 - 29 */
|
|
|
- 29, 30, 30, 30, 31, 31, 31, 31, 32, 32, /* 30 - 39 */
|
|
|
- 32, 32, 32, 33, 33, 33, 33, 33, 34, 34, /* 40 - 49 */
|
|
|
- 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, /* 50 - 59 */
|
|
|
- 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, /* 60 - 69 */
|
|
|
- 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, /* 70 - 79 */
|
|
|
- 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, /* 80 - 89 */
|
|
|
- 39, 39, 39, 39, 39, 40, 40, 40, 40, 40 /* 90 - 99 */
|
|
|
-};
|
|
|
-
|
|
|
-/* Calculates a relative dB value from a ratio of linear
|
|
|
- * (i.e. not dB) signal levels.
|
|
|
- * Conversion assumes that levels are voltages (20*log), not powers (10*log). */
|
|
|
-int iwl4965_calc_db_from_ratio(int sig_ratio)
|
|
|
-{
|
|
|
- /* 1000:1 or higher just report as 60 dB */
|
|
|
- if (sig_ratio >= 1000)
|
|
|
- return 60;
|
|
|
-
|
|
|
- /* 100:1 or higher, divide by 10 and use table,
|
|
|
- * add 20 dB to make up for divide by 10 */
|
|
|
- if (sig_ratio >= 100)
|
|
|
- return (20 + (int)ratio2dB[sig_ratio/10]);
|
|
|
-
|
|
|
- /* We shouldn't see this */
|
|
|
- if (sig_ratio < 1)
|
|
|
- return 0;
|
|
|
-
|
|
|
- /* Use table for ratios 1:1 - 99:1 */
|
|
|
- return (int)ratio2dB[sig_ratio];
|
|
|
-}
|
|
|
|
|
|
#define PERFECT_RSSI (-20) /* dBm */
|
|
|
#define WORST_RSSI (-95) /* dBm */
|