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

Commit fe5ef090 authored by Eliad Peller's avatar Eliad Peller Committed by Luciano Coelho
Browse files

wl12xx: use the conf struct instead of macros for memory configuration



make the configuration management more flexible by using the
conf struct, rather than predefined macros.

Signed-off-by: default avatarEliad Peller <eliad@wizery.com>
Reviewed-by: default avatarLuciano Coelho <coelho@ti.com>
Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
parent c8bde243
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -961,10 +961,10 @@ int wl1271_acx_ap_mem_cfg(struct wl1271 *wl)
	}

	/* memory config */
	mem_conf->num_stations = DEFAULT_NUM_STATIONS;
	mem_conf->rx_mem_block_num = ACX_RX_MEM_BLOCKS;
	mem_conf->tx_min_mem_block_num = ACX_TX_MIN_MEM_BLOCKS;
	mem_conf->num_ssid_profiles = ACX_NUM_SSID_PROFILES;
	mem_conf->num_stations = wl->conf.mem.num_stations;
	mem_conf->rx_mem_block_num = wl->conf.mem.rx_block_num;
	mem_conf->tx_min_mem_block_num = wl->conf.mem.tx_min_block_num;
	mem_conf->num_ssid_profiles = wl->conf.mem.ssid_profiles;
	mem_conf->total_tx_descriptors = cpu_to_le32(ACX_TX_DESCRIPTORS);

	ret = wl1271_cmd_configure(wl, ACX_MEM_CFG, mem_conf,
@@ -993,10 +993,10 @@ int wl1271_acx_sta_mem_cfg(struct wl1271 *wl)
	}

	/* memory config */
	mem_conf->num_stations = DEFAULT_NUM_STATIONS;
	mem_conf->rx_mem_block_num = ACX_RX_MEM_BLOCKS;
	mem_conf->tx_min_mem_block_num = ACX_TX_MIN_MEM_BLOCKS;
	mem_conf->num_ssid_profiles = ACX_NUM_SSID_PROFILES;
	mem_conf->num_stations = wl->conf.mem.num_stations;
	mem_conf->rx_mem_block_num = wl->conf.mem.rx_block_num;
	mem_conf->tx_min_mem_block_num = wl->conf.mem.tx_min_block_num;
	mem_conf->num_ssid_profiles = wl->conf.mem.ssid_profiles;
	mem_conf->total_tx_descriptors = cpu_to_le32(ACX_TX_DESCRIPTORS);
	mem_conf->dyn_mem_enable = wl->conf.mem.dynamic_memory;
	mem_conf->tx_free_req = wl->conf.mem.min_req_tx_blocks;
+0 −4
Original line number Diff line number Diff line
@@ -133,7 +133,6 @@ enum {

#define DEFAULT_UCAST_PRIORITY          0
#define DEFAULT_RX_Q_PRIORITY           0
#define DEFAULT_NUM_STATIONS            1
#define DEFAULT_RXQ_PRIORITY            0 /* low 0 .. 15 high  */
#define DEFAULT_RXQ_TYPE                0x07    /* All frames, Data/Ctrl/Mgmt */
#define TRACE_BUFFER_MAX_SIZE           256
@@ -797,10 +796,7 @@ struct acx_tx_config_options {
	__le16 tx_compl_threshold;   /* number of packets */
} __packed;

#define ACX_RX_MEM_BLOCKS     70
#define ACX_TX_MIN_MEM_BLOCKS 40
#define ACX_TX_DESCRIPTORS    32
#define ACX_NUM_SSID_PROFILES 1

struct wl1271_acx_ap_config_memory {
	struct acx_header header;
+12 −0
Original line number Diff line number Diff line
@@ -1152,6 +1152,18 @@ struct conf_ht_setting {
};

struct conf_memory_settings {
	/* Number of stations supported in IBSS mode */
	u8 num_stations;

	/* Number of ssid profiles used in IBSS mode */
	u8 ssid_profiles;

	/* Number of memory buffers allocated to rx pool */
	u8 rx_block_num;

	/* Minimum number of blocks allocated to tx pool */
	u8 tx_min_block_num;

	/* Disable/Enable dynamic memory */
	u8 dynamic_memory;

+4 −0
Original line number Diff line number Diff line
@@ -299,6 +299,10 @@ static struct conf_drv_settings default_conf = {
		.inactivity_timeout = 10000,
	},
	.mem = {
		.num_stations                 = 1,
		.ssid_profiles                = 1,
		.rx_block_num                 = 70,
		.tx_min_block_num             = 40,
		.dynamic_memory               = 0,
		.min_req_tx_blocks            = 104,
		.min_req_rx_blocks            = 22,