提交 76c0f8d3 编写于 作者: L Luciano Coelho 提交者: John W. Linville

wl1271: updated general parameters structure for newer firmwares

In revision 6.1.0.0.288 the general parameters structure has changed.  This
patch updates the driver code accordingly.
Signed-off-by: NLuciano Coelho <luciano.coelho@nokia.com>
Reviewed-by: NJuuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 937a67e7
...@@ -209,6 +209,26 @@ int wl1271_cmd_general_parms(struct wl1271 *wl) ...@@ -209,6 +209,26 @@ int wl1271_cmd_general_parms(struct wl1271 *wl)
gen_parms->tx_bip_fem_manufacturer = g->tx_bip_fem_manufacturer; gen_parms->tx_bip_fem_manufacturer = g->tx_bip_fem_manufacturer;
gen_parms->settings = g->settings; gen_parms->settings = g->settings;
gen_parms->sr_state = g->sr_state;
memcpy(gen_parms->srf1,
g->srf1,
CONF_MAX_SMART_REFLEX_PARAMS);
memcpy(gen_parms->srf2,
g->srf2,
CONF_MAX_SMART_REFLEX_PARAMS);
memcpy(gen_parms->srf3,
g->srf3,
CONF_MAX_SMART_REFLEX_PARAMS);
memcpy(gen_parms->sr_debug_table,
g->sr_debug_table,
CONF_MAX_SMART_REFLEX_PARAMS);
gen_parms->sr_sen_n_p = g->sr_sen_n_p;
gen_parms->sr_sen_n_p_gain = g->sr_sen_n_p_gain;
gen_parms->sr_sen_nrn = g->sr_sen_nrn;
gen_parms->sr_sen_prn = g->sr_sen_prn;
ret = wl1271_cmd_test(wl, gen_parms, sizeof(*gen_parms), 0); ret = wl1271_cmd_test(wl, gen_parms, sizeof(*gen_parms), 0);
if (ret < 0) if (ret < 0)
wl1271_warning("CMD_INI_FILE_GENERAL_PARAM failed"); wl1271_warning("CMD_INI_FILE_GENERAL_PARAM failed");
......
...@@ -437,6 +437,21 @@ struct wl1271_general_parms_cmd { ...@@ -437,6 +437,21 @@ struct wl1271_general_parms_cmd {
u8 tx_bip_fem_autodetect; u8 tx_bip_fem_autodetect;
u8 tx_bip_fem_manufacturer; u8 tx_bip_fem_manufacturer;
u8 settings; u8 settings;
u8 sr_state;
s8 srf1[CONF_MAX_SMART_REFLEX_PARAMS];
s8 srf2[CONF_MAX_SMART_REFLEX_PARAMS];
s8 srf3[CONF_MAX_SMART_REFLEX_PARAMS];
s8 sr_debug_table[CONF_MAX_SMART_REFLEX_PARAMS];
u8 sr_sen_n_p;
u8 sr_sen_n_p_gain;
u8 sr_sen_nrn;
u8 sr_sen_prn;
u8 padding[3];
} __attribute__ ((packed)); } __attribute__ ((packed));
struct wl1271_radio_parms_cmd { struct wl1271_radio_parms_cmd {
......
...@@ -759,6 +759,9 @@ enum single_dual_band_enum { ...@@ -759,6 +759,9 @@ enum single_dual_band_enum {
CONF_DUAL_BAND CONF_DUAL_BAND
}; };
#define CONF_MAX_SMART_REFLEX_PARAMS 16
struct conf_general_parms { struct conf_general_parms {
/* /*
* RF Reference Clock type / speed * RF Reference Clock type / speed
...@@ -815,6 +818,20 @@ struct conf_general_parms { ...@@ -815,6 +818,20 @@ struct conf_general_parms {
* Range: Unknown * Range: Unknown
*/ */
u8 settings; u8 settings;
/* Smart reflex settings */
u8 sr_state;
s8 srf1[CONF_MAX_SMART_REFLEX_PARAMS];
s8 srf2[CONF_MAX_SMART_REFLEX_PARAMS];
s8 srf3[CONF_MAX_SMART_REFLEX_PARAMS];
s8 sr_debug_table[CONF_MAX_SMART_REFLEX_PARAMS];
u8 sr_sen_n_p;
u8 sr_sen_n_p_gain;
u8 sr_sen_nrn;
u8 sr_sen_prn;
}; };
#define CONF_RSSI_AND_PROCESS_COMPENSATION_SIZE 15 #define CONF_RSSI_AND_PROCESS_COMPENSATION_SIZE 15
......
...@@ -259,6 +259,19 @@ static struct conf_drv_settings default_conf = { ...@@ -259,6 +259,19 @@ static struct conf_drv_settings default_conf = {
.tx_bip_fem_autodetect = 0, .tx_bip_fem_autodetect = 0,
.tx_bip_fem_manufacturer = 1, .tx_bip_fem_manufacturer = 1,
.settings = 1, .settings = 1,
.sr_state = 1,
.srf1 = { 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0 },
.srf2 = { 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0 },
.srf3 = { 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0 },
.sr_debug_table = { 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0 },
.sr_sen_n_p = 0,
.sr_sen_n_p_gain = 0,
.sr_sen_nrn = 0,
.sr_sen_prn = 0,
}, },
.radioparam = { .radioparam = {
.rx_trace_loss = 10, .rx_trace_loss = 10,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册