- 17 3月, 2015 12 次提交
-
-
由 Zhaoyang Liu 提交于
This patch moves SKB allocation for RX packets from current place i.e. after reading MP regs to place where we already have read data from SDIO bus ie after cmd53. mp_rx_aggr_setup has been modified accordingly to set skb_arr to NULL. Signed-off-by: NZhaoyang Liu <liuzy@marvell.com> Signed-off-by: NShengzhen Li <szli@marvell.com> Reviewed-by: NAmitkumar Karwar <akarwar@marvell.com> Reviewed-by: NCathy Luo <cluo@marvell.com> Reviewed-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Zhaoyang Liu 提交于
This patch brings in support for SDIO single port rx aggregation to mwifiex. Maximum read size support by SDIO cmd53 is 64K. Based on multi port aggregation which is already part of mwifiex, idea here is multiple packets received in FW can be aggregated into single buffer. A separate upload type is defined for such packet aggregated to single port. Packets from this single buffer are later deaggregated into individual packets. This way, driver can receive more packets each time through single SDIO cmd53; thereby reducing no of times MMC bus is accessed. SDIO SP aggregation support is advertised by FW during load time and driver would get FW block size in command response of HostCmd_CMD_SDIO_SP_RX_AGGR_CFG. Signed-off-by: NZhaoyang Liu <liuzy@marvell.com> Signed-off-by: NMarc Yang <yangyang@marvell.com> Reviewed-by: NAmitkumar Karwar <akarwar@marvell.com> Reviewed-by: NCathy Luo <cluo@marvell.com> Reviewed-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Zhaoyang Liu 提交于
During profiling, we discovered that driver remains idle for time when pakcet is downloaded to FW but no TX_DONE has been received i.e. while data_sent is true. This patch adds enhancement to TX routine where we preprocess packets from TX queue, make them ready for TX and add them to separate TX queue. Signed-off-by: NZhaoyang Liu <liuzy@marvell.com> Signed-off-by: NMarc Yang <yangyang@marvell.com> Signed-off-by: NChin-ran Lo <crlo@marvell.com> Reviewed-by: NCathy Luo <cluo@marvell.com> Reviewed-by: NAmitkumar Karwar <akarwar@marvell.com> Reviewed-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Zhaoyang Liu 提交于
This patch does away with spinlock in mwifiex_wmm_get_highest_priolist_ptr in order to improve TP. Signed-off-by: NZhaoyang Liu <liuzy@marvell.com> Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Zhaoyang Liu 提交于
This patch removes BA setup helper routines mwifiex_is_bastream_setup and mwifiex_is_amsdu_in_ampdu_allowed. Current code will use two functions to check bastream setup and amsdu in ampdu. This patch change these functions to flags, thus avoiding redundant spin_lock check while dequeuing TX packets. Signed-off-by: NZhaoyang Liu <liuzy@marvell.com> Reviewed-by: NCathy Luo <cluo@marvell.com> Reviewed-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Shengzhen Li 提交于
Current code does not check whether main_work_queue or rx_work_queue is running when preparing to do queue_work, this code fix add check before calling queue_work, reducing unnecessary queue_work switch. This change instead sets more_task flag to ensure we run main_process superloop once again. Signed-off-by: NShengzhen Li <szli@marvell.com> Signed-off-by: NZhaoyang Liu <liuzy@marvell.com> Reviewed-by: NCathy Luo <cluo@marvell.com> Reviewed-by: NAmitkumar Karwar <akarwar@marvell.com> Reviewed-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
SD8897 support buffers of 4K and 16 such ports can be accomodated. So basically 64K buffer size in single aggregation is supported. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
Rename this function to reflect its purpose correctly. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
A crash was detected while changing virtual interface type is in progress. This was tracked to race condition in accessing bss_priority table while change is in progress. This patch ensures that main_process and rx_process works are locked while we change virtual interface. Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Amitkumar Karwar 提交于
We might be in interrupt context at few places. So replace del_timer_sync() with del_timer(). This patch fixes a kernel trace problem seen occasionally during our testing. Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Maithili Hinge 提交于
This patch adds support for auto ARP feature in mwifiex. The device will respond to ARP requests from the network with ARP response in suspended state without waking up the host. This feature is enabled in the driver by default. Signed-off-by: NMaithili Hinge <maithili@marvell.com> Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Cathy Luo 提交于
It's been observed Rx aggregated packets are always followed by a single Rx packet. This patch improves our logic to add that extra packet in next aggregation. Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 04 3月, 2015 1 次提交
-
-
由 Joe Perches 提交于
Use the built-in function instead of memset. Miscellanea: Add #include <linux/etherdevice.h> where appropriate Use ETH_ALEN instead of 6 Signed-off-by: NJoe Perches <joe@perches.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 03 3月, 2015 1 次提交
-
-
由 Avinash Patil 提交于
Features which are device specific are already updated in interface specific initialization e.g. register_dev. We should not initialize them in mwifiex_init_adapter(); else this would overwrite earlier settings. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 27 2月, 2015 6 次提交
-
-
由 Zhaoyang Liu 提交于
Commit 84b313b3 ("mwifiex: make tx packet 64 byte DMA aligned") induced payload offset issue for USB interface. There is no USB interface header for tx packets, so there's no need to pull interface length while processing tx skb. This patch fixes this issue. Signed-off-by: NZhaoyang Liu <liuzy@marvell.com> Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
This patch adds support for DMA alignment of sk_buffs allocated for RX. Patch also adds support to modify skb allocation flags. Signed-off-by: NMarc Yang <yangyang@marvell.com> Signed-off-by: NQingshui Gao <gaoqs@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
FW crash has been observed while running iperf TX with SD8887 devices. This is because of invalid TX buffer setting. SD8887 supports 2K buffer sizes. This patch fixes this issue. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
This patch changes datatypes for device capability flags to bool. Patch also aggregates these variables at single place. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
This patch fixes a crash which was happening because of RX of management frames on uninitialzed interface. Now we drop management frames for interfaces where cfg80211 has not registered any management subtype reception or interface has no NL80211 iftype set. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Shengzhen Li 提交于
This patch handles a corner case where TX packet would remain in driver queue till next packet comes in. Here is sequence: 1. TX packet is queued via hard_start_xmit and main_work is queued 2. SDIO interrupt comes in which directly call mwifiex_main_process. This starts executing main superloop. 3. Now work from step1 is scheduled but at first check itself it sees mwifiex_processing is set and exits. 4. Now if superloop from step2 has passed TX processing part of superloop this packet would remain in queue until next packet/command/SDIO interrupt arrives and queues main_work. This patch fixes this corner case by defining more_task flag which is set when mwifiex_processing is found to be true. At end of superloop we again check if more_task flag is set and if set, execute superloop again. Signed-off-by: NShengzhen Li <szli@marvell.com> Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 26 2月, 2015 1 次提交
-
-
由 Avinash Patil 提交于
alloc_workqueue() has string format formation ability e.g. wqname%ifname will be treated as wqnameifname. Use this and remove string operations while defining strings for workqueue names. Reported-by: NKees Cook <keescook@chromium.org> Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 03 2月, 2015 4 次提交
-
-
由 Amitkumar Karwar 提交于
When AP is started, firmware exits power save mode. This means power save manager of AP takes priority over station. Firmware stop sending periodic AWAKE events to host. We may have UAPSD enabled on station which buffers data packets until AWAKE event from firmware. Data path is unnecessarily blocked in this case. This patch disables UAPSD mode to reenable transmit data path. Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Amitkumar Karwar 提交于
This patch makes sure that skb is freed after downloading NULL packet in error cases. Also, USB chipsets return -EINPROGRESS after downloading packets, they are freed in USB completion handler later. We will add missing change to set tx_lock_flag for USB which blocks further packets. Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Amitkumar Karwar 提交于
Memory is leaked after downloading already processed packet. This patch fixes the problem by freeing returned skb. Other transmit paths don't have this problem. Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Amitkumar Karwar 提交于
Wakeup timer is in sync with 'pm_wakeup_fw_try' flag. It has been started instead of cancelling at one place. This patch corrects it. Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
- 29 1月, 2015 15 次提交
-
-
由 Avinash Patil 提交于
This patch enables 11h extensions in FW upon detecting DFS channel in start radar detection/channel switch handlers. Patch also takes care of disabling 11h when non DFS channels are to be set during start_ap handler. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NQingshui Gao <gaoqs@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
This patch adds cfg80211 channel_switch support for mwifiex. Upon receiving channel switch request, driver would parse channel switch announcement IE from beacon_data. If TX is blocked, netdev queues are stopped. IEs from csa_beacon are then parsed and set to FW. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NQingshui Gao <gaoqs@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
This patch adds support for radar_detected event from FW. Driver in turn would stop netdev queues to stop TX traffic and issue RADAR_DETECT event to cfg80211. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NQingshui Gao <gaoqs@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
This patch adds support for channel report enabling. Channel report event happens if radar is detected on specified channel after driver has issued radar detect command within CAC time. Driver in turn sends RADAR_DETECTED event to cfg80211 to tell radar was detected within CAC time. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NQingshui Gao <gaoqs@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
This patch adds support for cfg80211 start_radar_detection handler. Upon reception of start_radar_detection, driver prepares radar detect command to FW. Delayed work is queued for CAC time which sends radar detection finished event to cfg80211. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NQingshui Gao <gaoqs@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
Head & Tail IEs are supposed to be added to beacon and probe response. This patch adds separate function for parsing head and tail IEs from cfg80211_beacon_data and sets them to FW. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NQingshui Gao <gaoqs@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
Refactor mwifiex_cfg80211_start_ap by creating separate function to set AP channel and another for configuring other AP parameters and starting AP. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NQingshui Gao <gaoqs@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
This patch moves IE management routine to end of start_ap handler. IEs now would be updated after AP has started. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NQingshui Gao <gaoqs@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
Store AP configuration in private structure so that we know current AP configuration. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NQingshui Gao <gaoqs@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
When regulatory domain changes, cfg80211 already issues request to change regulatory domain to driver via reg_notifier. There is no need to set regulatory again during start_ap. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NQingshui Gao <gaoqs@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
Currently, we support virtual interface type change from station<=>adhoc or station <=> p2p client/GO. This patch adds support to change virtual interface type to any of the type advertised in interface combinations. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
This patch adds support to handle PS events on AP interface as well. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
Currently interface limits are checked by seeing if bss_mode for particular priv is set. If bss_mode is not set, interface creation is allowed. This patch adds framework to initializes maximum virtual interfaces supported during load time and check current number of interfaces created agains allowed interface limit during new virtual interface creation. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
FW initialization routine can also be called while changing virtual interface types. This patch adds bool parameter "init" to init command routine so as to differentiate between initialization during driver load and change virtual interface handler. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Avinash Patil 提交于
This would be used to set mac address while changing virtual interface to different types. Signed-off-by: NAvinash Patil <patila@marvell.com> Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com> Signed-off-by: NCathy Luo <cluo@marvell.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-