Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 018b171c authored by Juuso Oikarinen's avatar Juuso Oikarinen Committed by John W. Linville
Browse files

wl1271: Remove smart reflex ACX



Remove the smart-reflex ACX - the associated parameters are now configured
in the radio parameters config.

Signed-off-by: default avatarJuuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: default avatarLuciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: default avatarLuciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 149e3878
Loading
Loading
Loading
Loading
+0 −53
Original line number Diff line number Diff line
@@ -1041,59 +1041,6 @@ int wl1271_acx_init_rx_interrupt(struct wl1271 *wl)
	return ret;
}

int wl1271_acx_smart_reflex(struct wl1271 *wl)
{
	struct acx_smart_reflex_state *sr_state = NULL;
	struct acx_smart_reflex_config_params *sr_param = NULL;
	int i, ret;

	wl1271_debug(DEBUG_ACX, "acx smart reflex");

	sr_param = kzalloc(sizeof(*sr_param), GFP_KERNEL);
	if (!sr_param) {
		ret = -ENOMEM;
		goto out;
	}

	for (i = 0; i < CONF_SR_ERR_TBL_COUNT; i++) {
		struct conf_mart_reflex_err_table *e =
			&(wl->conf.init.sr_err_tbl[i]);

		sr_param->error_table[i].len = e->len;
		sr_param->error_table[i].upper_limit = e->upper_limit;
		memcpy(sr_param->error_table[i].values, e->values, e->len);
	}

	ret = wl1271_cmd_configure(wl, ACX_SET_SMART_REFLEX_PARAMS,
				   sr_param, sizeof(*sr_param));
	if (ret < 0) {
		wl1271_warning("failed to set smart reflex params: %d", ret);
		goto out;
	}

	sr_state = kzalloc(sizeof(*sr_state), GFP_KERNEL);
	if (!sr_state) {
		ret = -ENOMEM;
		goto out;
	}

	/* enable smart reflex */
	sr_state->enable = wl->conf.init.sr_enable;

	ret = wl1271_cmd_configure(wl, ACX_SET_SMART_REFLEX_STATE,
				   sr_state, sizeof(*sr_state));
	if (ret < 0) {
		wl1271_warning("failed to set smart reflex params: %d", ret);
		goto out;
	}

out:
	kfree(sr_state);
	kfree(sr_param);
	return ret;

}

int wl1271_acx_bet_enable(struct wl1271 *wl, bool enable)
{
	struct wl1271_acx_bet_enable *acx = NULL;
+0 −21
Original line number Diff line number Diff line
@@ -415,25 +415,6 @@ struct acx_bt_wlan_coex {
	u8 pad[3];
} __attribute__ ((packed));

struct acx_smart_reflex_state {
	struct acx_header header;

	u8 enable;
	u8 padding[3];
} __attribute__ ((packed));

struct smart_reflex_err_table {
	u8 len;
	s8 upper_limit;
	s8 values[14];
} __attribute__ ((packed));

struct acx_smart_reflex_config_params {
	struct acx_header header;

	struct smart_reflex_err_table error_table[3];
} __attribute__ ((packed));

struct acx_dco_itrim_params {
	struct acx_header header;

@@ -1035,8 +1016,6 @@ enum {
	ACX_HT_BSS_OPERATION        = 0x0058,
	ACX_COEX_ACTIVITY           = 0x0059,
	ACX_SET_SMART_REFLEX_DEBUG  = 0x005A,
	ACX_SET_SMART_REFLEX_STATE  = 0x005B,
	ACX_SET_SMART_REFLEX_PARAMS = 0x005F,
	ACX_SET_DCO_ITRIM_PARAMS    = 0x0061,
	DOT11_RX_MSDU_LIFE_TIME     = 0x1004,
	DOT11_CUR_TX_PWR            = 0x100D,
+0 −39
Original line number Diff line number Diff line
@@ -722,31 +722,6 @@ struct conf_conn_settings {
	u8 psm_entry_retries;
};

#define CONF_SR_ERR_TBL_MAX_VALUES   14

struct conf_mart_reflex_err_table {
	/*
	 * Length of the error table values table.
	 *
	 * Range: 0 - CONF_SR_ERR_TBL_MAX_VALUES
	 */
	u8 len;

	/*
	 * Smart Reflex error table upper limit.
	 *
	 * Range: s8
	 */
	s8 upper_limit;

	/*
	 * Smart Reflex error table values.
	 *
	 * Range: s8
	 */
	s8 values[CONF_SR_ERR_TBL_MAX_VALUES];
};

enum {
	CONF_REF_CLK_19_2_E,
	CONF_REF_CLK_26_E,
@@ -907,21 +882,7 @@ struct conf_radio_parms {
	u8  degraded_normal_to_high_threshold_5;
};

#define CONF_SR_ERR_TBL_COUNT        3

struct conf_init_settings {
	/*
	 * Configure Smart Reflex error table values.
	 */
	struct conf_mart_reflex_err_table sr_err_tbl[CONF_SR_ERR_TBL_COUNT];

	/*
	 * Smart Reflex enable flag.
	 *
	 * Range: 1 - Smart Reflex enabled, 0 - Smart Reflex disabled
	 */
	u8 sr_enable;

	/*
	 * Configure general parameters.
	 */
+0 −5
Original line number Diff line number Diff line
@@ -303,11 +303,6 @@ int wl1271_hw_init(struct wl1271 *wl)
	if (ret < 0)
		goto out_free_memmap;

	/* Configure smart reflex */
	ret = wl1271_acx_smart_reflex(wl);
	if (ret < 0)
		goto out_free_memmap;

	return 0;

 out_free_memmap:
+0 −24
Original line number Diff line number Diff line
@@ -226,30 +226,6 @@ static struct conf_drv_settings default_conf = {
		.psm_entry_retries           = 3
	},
	.init = {
		.sr_err_tbl = {
			[0] = {
				.len         = 7,
				.upper_limit = 0x03,
				.values      = {
					0x18, 0x10, 0x05, 0xfb, 0xf0, 0xe8,
					0x00 }
			},
			[1] = {
				.len         = 7,
				.upper_limit = 0x03,
				.values      = {
					0x18, 0x10, 0x05, 0xf6, 0xf0, 0xe8,
					0x00 }
			},
			[2] = {
				.len         = 7,
				.upper_limit = 0x03,
				.values      = {
					0x18, 0x10, 0x05, 0xfb, 0xf0, 0xe8,
					0x00 }
			}
		},
		.sr_enable                   = 1,
		.genparam                    = {
			.ref_clk             = CONF_REF_CLK_38_4_E,
			.settling_time       = 5,