58b2251e96d8230e81f65a0196afc914a17e1806 |
|
30-Sep-2014 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: Fix crash on cleanup. When driver gets unloaded due to error situation there is a chance a packet gets received while fws has already been cleaned up. This will result in kernel crash. This patch adds a check to avoid this crash. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
82d957e09d4f0ff8091ca67e39b51ec6bdc672b1 |
|
12-Jul-2014 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: rework debugfs functions in the driver Reworked the debugfs functions in the driver making it easier for other driver parts to add a debugfs entry and keeping the information they want to expose in debugfs private, ie. not in a header. This is accomplished by providing the function brcmf_debugfs_add_entry() in which the caller provides a read function in which they provide the content. The debugfs function will take care of creating the debugfs entry and cleaning up upon removal. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
9cd18359d31edd576b0aead131adff8b5f555425 |
|
12-May-2014 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: Make FWS queueing configurable. FWS is always queuing frames and using a worker for de-queueing, this is not always efficient for all bus layer. For example SDIO has an internal queue and worker making the queueing of FWS unnecessary. Make it possible to bypass the worker if fws mode is none using a bus interface configuration. For USB bus layer this configuration is set true to have fws provide queueing regardless the fws mode. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
55929443c80af533e1ff03328d5377cf51591b38 |
|
12-May-2014 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: Move handling 802.1x frames to dhd_linux. Tracking and handling of 802.1x frames is done in two modules, it is more logical and clear to move this to dhd_linux module. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
53e30ea42070bcb5cef0c9a2c59af8f9ce758f78 |
|
12-May-2014 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: Move out hdrpull from tx_finalize. In tx_finalize the hdrpull is performed. For the new protocol msgbuf this is complex, because it does not use protocol headers in front of payload anymore and therefor can not determine interface index in the hdr pulll operation. Move out the hdrpull operation from tx_finalize to make msgbuf implementation easier. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
fa9ffc745610f31c6bc136d5a6a1782e00870e72 |
|
17-Dec-2013 |
Kyeyoon Park <kyeyoonp@qca.qualcomm.com> |
cfg80211: Add support for QoS mapping This allows QoS mapping from external networks to be implemented as defined in IEEE Std 802.11-2012, 10.24.9. APs can use this to advertise DSCP ranges and exceptions for mapping frames to a specific UP over Wi-Fi. The payload of the QoS Map Set element (IEEE Std 802.11-2012, 8.4.2.97) is sent to the driver through the new NL80211_ATTR_QOS_MAP attribute to configure the local behavior either on the AP (based on local configuration) or on a station (based on information received from the AP). Signed-off-by: Kyeyoon Park <kyeyoonp@qca.qualcomm.com> Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
7b8a466e7cd36fc2acdba5c22a594e75d9b9f61a |
|
12-Dec-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: Combine protocol push hdr and bus txdata. For the transmission of data a protocol push hdr is performed followed by a bus txdata call. For the new protocol msgbuf this is not workable. Since they are already "loosely" coupled for bcdc protocol they are combined. This means that txdata will go "through" the protocol layer and a seperate protocol push hdr will not be needed anymore. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
4d5504ec54d8f890e850cc6c29ee4a0e740e5a47 |
|
12-Dec-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: add missing curly braces in brcmf_fws_txstatus_suppressed() The 0-day testing from Fenguang Wu issued the following warning: tree: git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next.git master head: 4b074b07625f603d40d4d04937f8874a00415dc4 commit: 1e86d69662d7d86360624f74bbe1b5fa1b8ffb13 [33/59] brcmfmac: Update fwsignal to fix out of order tx. >> drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c:1393:2-56: code aligned with following code on line 1394 vim +1393 drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c 84bcc0c3 1387 } 84bcc0c3 1388 84bcc0c3 1389 entry->generation = genbit; 84bcc0c3 1390 2747e5f7 1391 ret = brcmf_proto_hdrpull(fws->drvr, false, &ifidx, skb); 2747e5f7 1392 if (ret == 0) 1e86d696 @1393 brcmf_skb_htod_tag_set_field(skb, GENERATION, .. 1e86d696 @1394 brcmf_skbcb(skb)->htod_seq = seq; 1e86d696 1395 if (brcmf_skb_htod_seq_get_field(skb, FROMFW)) { 1e86d696 1396 brcmf_skb_htod_seq_set_field(skb, .. 1e86d696 1397 brcmf_skb_htod_seq_set_field(skb, .. This warning is valid and the if statement needs curly braces here. Reported-by: Fengguang Wu <fengguang.wu@intel.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
85b8413371225e9bcbbb30cf3caa5889fed5f6a4 |
|
29-Nov-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: Dynamically register a protocol layer. BCDC is the default protocol layer and being called directly. This patch installs the functions for this layer dynamically. This allows new protocols to be added and selected dynamically depending on the hw capabilties. As currently only BCDC is supported this is always the installed protocol. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
f931868d498ec4e7a1b8730e7173b5a17d36dd1a |
|
29-Nov-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: removed dhd_proto.h. dhd_proto.h was cleaned up and prototypes were moved to dhd.h. dhd_proto.h was removed. This is a step in cleaning and restucturing protocol layer. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
9a9e405f95b8c28a76cc0711a603bac7b71dd6b4 |
|
29-Nov-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: fix driver build issue when CONFIG_BRCMDBG is not set When CONFIG_BRCMDBG is not set we get the following build issue: CC [M] drivers/net/wireless/brcm80211/brcmfmac/fwsignal.o drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c: In function ‘brcmf_fws_hdrpush’: drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c:852:18: error: ‘BRCMF_FWS_TYPE_SEQ_LEN’ undeclared The define BRCMF_FWS_TYPE_SEQ_LEN was introduced by: commit 6918f38e4ed4e0493a90a4331e0033bdfc806e00 Author: Hante Meuleman <meuleman@broadcom.com> Date: Wed Oct 23 14:58:51 2013 +0200 brcmfmac: Update fwsignal to fix out of order tx. Unfortunately, it was put in conditional part of the source file under #ifdef DEBUG. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
1e86d69662d7d86360624f74bbe1b5fa1b8ffb13 |
|
29-Nov-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: Update fwsignal to fix out of order tx. When using fwsignal it is possible that tx packets get delivered out of order. This patch fixes that by reordering suppressed packets and tracking generation bit and sequence number per packet. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
5491c11c67f2c83c95fa9a26172bc1994580aed7 |
|
25-Sep-2013 |
Franky Lin <frankyl@broadcom.com> |
brcmfmac: reserve memory for bus layer in sk_buff::cb Bus layer need to share sk_buff::cb with firmware signal feature. Reserve necessary memory so they won't overwrite each other. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
3f4f910fdc3b9eff06a007ab28762cd3d6720d51 |
|
10-Aug-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: no fws locking outside fws module. FWS uses locking to protect its data while being called from various entries. On bus_txdata the lock was kept resulting in unnecessary long locking, but also creating possibility for deadlock. This update changes the locking to release lock when bus_txdata is called. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
0a4254be94fd3afc17fb84a88adabd4460dd4c56 |
|
10-Aug-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: always use worker thread for tx data. When fw signalling is disabled tx is sent immediately. Using queues and worker thread allows usb to do synchronous autopm. This patch makes fws use queues and worker thread even if signalling is not supported by FW or not enabled. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
87edd8916ee261cd8c49b736f156d602054bd9fd |
|
10-Aug-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: add AMPDU reordering functionality This feature moves the responsibility of collecting all MPDUs in an AMPDU session in the correct order from the firmware to the host driver. This reduces buffer requirement on the firmware side. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
04779fddeff723cf5afe529e4ed67fc86f25ba37 |
|
10-Aug-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: .txdata() bus callback should not call brcmf_txcomplete() With firmware-signalling the packet handed to the bus specific driver layer should not be discarded with brcmf_txcomplete() in the failure path. Instead only an error is returned and the caller decides what to do with the packet. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
28a905b51c2b3fabbb0eb53af229fc365200e398 |
|
22-Jul-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: decrement pending 8021x count upon tx failure If the transmit fails because there are no hanger slots or any other reason and the packet was an EAPOL packet the pending counter should be decreased although it was not transmitted so the driver does not end up in a dead-lock. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
c6a681ab2c73c1296b4214307216dffeb52558df |
|
26-Jun-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: reduce firmware-signalling locking scope in rx path In the receive path a spinlock is taken upon parsing the TLV signal header. This moves to locking to the TLV handling functions where it protects the data structures. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
80898a117895235587b7dde63e3240e4f4d440c1 |
|
26-Jun-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: cleanup debug messages in brcmf_fws_hdrpush() Trivial cleanup of debug messages. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
456d0685c7522c661bf5af7930317ffcb710a858 |
|
26-Jun-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: tag packet in the netdev transmit callback Transmit packets needs to be tagged in order to receive a tx status feedback from the firmware. Determine the tag in the netdev transmit callback instead of determining the tag just before transfer to the device. This reduces the number of exception flows and hence makes the driver code simpler. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
2a5d7b026db094d9be7f399bef70afc435f842f7 |
|
26-Jun-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: remove (ab)use of NL80211_NUM_ACS Used NL80211_NUM_ACS to indicate the BCMC fifo used in the driver which has the same value now, but it is a bad idea relying on that. Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
2086374658ae580fc0575c9ab7c1ec033458dbf6 |
|
26-Jun-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: simplify transmit path When getting a transmit packet from the networking layer simply enqueue the packet unconditional and have it handled by the dequeue worker. The transfer of the packet to the bus-specific driver part is now done from one context. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
1ab083a3752760ec7751a7fa43db555d2d6f1e6a |
|
18-Jun-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: consolidate mac_descriptor related function names Just cleaning up and being consistent in naming operations related to struct brcmf_fws_mac_descriptor objects. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
ae66460989f1dd62da760c6123820d9741315260 |
|
18-Jun-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: remove dependency with nl80211.h The firmware-signalling code used NL80211_NUM_ACS, but it has its own definition enum brcmf_fws_fifo, which is more appropriate to use. This effectively removes the need to include nl80211.h. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
4e89dfca87ae5a97c616c6ac9b2a9a15cc28903d |
|
18-Jun-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: rename variable prec to more appropriate name, ie. fifo The term prec (precedence) is different from the fifo number. Rename use of prec with fifo to be consistent and clear. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
7d747037b0642f6d939d6b0bb255b938b5f3c3ab |
|
18-Jun-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: Only use credits for bcmc when firmware indicates it. The firmware will sent an event message when bc/mc traffic should be sent to the device using credit mechanism. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
5631becbb8703d73239e097d222b183aa4f24e40 |
|
06-Jun-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: add debugfs statistics for firmware-signalling Added statistics for flow-control and packets dropped by the driver. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
fa587d4b2f968b3719190a668a8707989855228d |
|
06-Jun-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: Always use fifo_credits, also for requested credits. Currently firmware requested credits do not require fifo credits. From a buffer management point of view this is incorrect. So firwmware requested credits require also fifo credits before the packet can be transferred to the host. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
c7773fc1ef55b7d1ed44a27900b86dc28351dec4 |
|
06-Jun-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: Sent TIM information in case of data available. When data is available and fw signalling is enabled then TIM information should be sent to firmware. If it can piggy back on existing packet then do that otherwise create dummy packet to get information out. Cc: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Arend Van Spriel <arend@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
cf3a6872b981037e29517b3e61e199bde14abc65 |
|
06-Jun-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: fix send_pkts statistic counter in firmware-signalling The statistic counter send_pkts was wrongly counted conditionally. Correcting the mistake. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
8c5140f63a7aa01e6836fc9eace201b0a3f1475f |
|
06-Jun-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: Simplify counting transit count. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
eb2410cdd92e5232e6b7e8d95cb60b9e0cea434d |
|
06-Jun-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: Fix endless loop when brcmf_fws_commit_skb fails. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
2747e5f7f83d215cbc9bdb66f69411ff3dedeeee |
|
06-Jun-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: Signalling header push and pull on logic places. Currently suppressed packets get enque-ed with header which then gets pulled before transmit. It is more logical and clean to pull the header on return and push it unconditionally on xmit. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
0d24b0eade7d4b6a5d06fe02645449b1fd0f8e17 |
|
06-Jun-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: Accept only first creditmap event. During P2P testing it turned out that the firmware sents multiple multiple creditmap event messages. Only the first message from the firmware should be processed. Otherwise the firmware-signalled flow control can run haywire when it has packets outstanding in firmware. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
402e3ba20285f0ebe4f4bebdecb7ab24999f3626 |
|
06-Jun-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: fix invalid ifp lookup in firmware-signalling The destination entries for firmware-signalled flow control have the interface id stored. This needs to be translated to bsscfg index when looking up the ifp object for the interface. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
5cd51c2bad56625e4447739426845cfa37fc11a5 |
|
06-Jun-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: Find correct MAC descriptor in case of TDLS. In case of TDLS find the correct MAC descriptor for fw signalling data. In case of TDLS each destination gets its own entry. This was not handled correctly for P2P client. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
afc3bbfcd62efe87041571369b2d12beb00f4bc3 |
|
06-Jun-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: Correct creditmap when credit borrowing is active. When credit borrowing is active the BE credits have been depleted, however the worker should still be scheduled. In case of credit borrowing correct credit map to make sure worker remains active. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
be4910adf1817d357bfb20d28e0f8b6b0fecd945 |
|
06-Jun-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: For FW signalling it is necessary to track gen bit. Store gen bit on suppressed packet per entry and use latest stored version for each packet which gets transmitted to fw. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
8071fd61b421f5c9b9a67a7c222c1f5581bcf0f3 |
|
06-Jun-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: reducing debug logging in firmware-signalling code The debug logging in firmware-signalling code was rather extensive and for a large part in the data path. This patch removes large part or the level is changed to DATA level. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
289ec1c71911fe4b1b9bab25ae4a2ab75036b72d |
|
06-Jun-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: explicitly indicate sk_buff is sent upon request credit Firmware can request the driver for transmit packets using two different signals. Only for one signal a flag was set in the sk_buff control buffer. This patch adds explicit flag for the other signal as well. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
fe353b24c385f219aca1e19767119017618deca7 |
|
06-Jun-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: rework credit pickup to assure consistent handling Reworked brcmf_skb_pick_up_credit() so it can be used for both fcmode flavours in the same way. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
df50f756966cc07addaae5449a6fd45a17bdb06c |
|
06-Jun-2013 |
Hante Meuleman <meuleman@broadcom.com> |
brcmfmac: Take bus flowcontrol at credit mgmt into account. On bus flow control (no more host bus resources to send packets to device) the netif flow control was toggled, however credit management should also take this status into account. Since there are multiple sources handling this flow control necessary spinlocks were added to protect flow control related data/states. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
51f6dd9da27359d9218046ed0003f71e05a673c1 |
|
06-Jun-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: remove fifo bitfield from brcmf_skbuff_cb::if_flags The brcmf_skbuff_cb structure contain if_flags and htod fields. Both have a bitfield defined to hold the fifo number. With a small code change we get rid of the fifo bitfield in if_flags. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
f55d94a600ab5db0df4eccbc15d889ae104d058e |
|
06-Jun-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: allow firmware-signal tlv to be longer than specified The firmware-signal API specification defines length for the different tlv. During testing on different devices it turned out not all firmware used the tlv length according specification. Therefore the length check is made less strict with this patch. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
1aac1e91171586e4d0981e40484a7c93d9b1f289 |
|
23-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: add credit borrowing mechanism The firmware provides credits to the driver per WMM-AC. When only AC_BE are to be transmitted to the firmware the driver may use credits from other priorities to send AC_BE packets towards the firmware. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
a786b38d542f62e19ffa8adbcbfc82065cd13a11 |
|
23-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: correct error handling in brcmf_fws_init() In brcmf_fws_init() the error flows were not properly handled and the caller ignored the return value. The only action that is allowed to fail in brcmf_fws_init() is setting the tlv in firmware as the feature is not supported on all devices. Cc: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
9a83f1ec670fa574ffbfa9fb1f3fdaa9c6be5974 |
|
23-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: flush queue upon MACDESC_DEL firmware signal When firmware signals the driver to remove a destination entry it may have sk_buff packets queued for it. These should be freed. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
16a1f736708239a13b475a5b12e5928a834805bc |
|
19-Apr-2013 |
Wei Yongjun <yongjun_wei@trendmicro.com.cn> |
brcmfmac: fix potential NULL pointer dereference in brcmf_fws_flow_control_check() The dereference to 'ifp' in debug code should be moved below the NULL test. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Acked-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
047445c579dc28772aadaac6b7b37289aad72b22 |
|
17-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: stop dequeue upon sk_buff commit failure In the dequeue worker the function brcmf_commit_skb() is called. However, instead of increment the credit count upon success it should break the for loop upon failure. Otherwise, it will result in an endless loop. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
88f656fa10563688978c8269ffb11ceb83a56ba2 |
|
17-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: change return type for brcmf_rollback_toq() to void The function brcmf_rollback_toq() is already called in error path and its result should not override the initial error value. As the function releases the sk_buff there is no need to return anything so change return type to void. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
67994fa24accac120a6ae9720ef0cba0166ce121 |
|
17-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: finalize transmit upon any rollback failure All rollback failures should result in freeing of the sk_buff by calling brcmf_txfinalize(). Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
6d421e54c2277990f3b0e3dd92e446800c90efa3 |
|
17-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: use lock in brcmf_fws_del_interface() When deleting an interface in firmware-signalling module it will clear any destination descriptors. To avoid concurrency issues it should take the lock using brcmf_fws_lock(). Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
a5e9d805f907bb910fe3d10a721c24f6a4ee8237 |
|
17-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: schedule dequeue upon firmware-signal reception Several firmware signals should be considered as opportunity to send packets to the firmware. This patch adds conditional scheduling of the dequeue worker thread while handling those signals. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
b75c1a301b7d4e55f2354d8a7210a17d8402a218 |
|
17-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: destination mac closed when interface is closed Firmware signals a destination is closed as well as an interface. A destination is associated with an interface. When an interface is closed consequently the destination should be considered closed as well. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
07529d20471b07fb8756fd4b9e9ddb8b270808e4 |
|
17-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: reinitialize dequeue mask per node The mask was only initialized for the first node, but it should be done for each node that is handled in the loop. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
31ed07dc1e83b7926ce8ee2215ea21599a215990 |
|
11-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: remove ifidx variable from brcmf_fws_process_skb() The value can be obtained from the struct brcmf_if object pointer and it is used only twice. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
9fc60224ba7a3ca94c4f988ee0eadf0c5eebbc39 |
|
11-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: rename brcmf_fws_mac_desc_ready() Replace the function by brcmf_fws_mac_desc_closed(). The new function is used in the transmit path and in the dequeue worker. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
f97a7f06b8a3a887875475b4caee4e2cce259a61 |
|
11-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: pass ifp pointer in brcmf_fws_find_mac_desc() Instead of passing the ifidx and lookup the ifp inside the function brcmf_fws_find_mac_desc() simply pass the ifp as parameter. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
a7965fbb9108aef004829caf7a80129e452f76de |
|
11-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: obtain iftype for firmware-signal descriptor lookup The function brcmf_fws_find_mac_desc() determines the descriptor associated with a sk_buff for firmware-signalling. It needs the interface type to do that. For this a helper function is added in wl_cfg80211.c. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
01b8e7db61fbe575193ea2c6eda1964c1d9b8b07 |
|
05-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: wait for firmware event when creating P2P_DEVICE interface The firmware sends a IF event to notify the host driver that the P2P_DEVICE interface has been created. Wait for the event before returning the related wireless_dev. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
5f38b6836083b96613ebe8a0a43cde3400dd4a1b |
|
05-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: handle firmware signals requesting for packets The firmware can request the host driver for packets, by sending either the MAC_REQUEST_CREDIT or the MAC_REQUEST_PACKET primitive. This patch adds handling of these primitives. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
33753d47d390624f09ee57dbb2bc611b15a10e8f |
|
05-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: handle firmware signalling destination entry state Firmware can signal whether the host driver may sent packets for a specific destination or interface. This can happen when a destination is sleeping or when going off-channel. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
a2ffc5668e2742db7bae48ad6098e45f8d3ea19e |
|
05-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: fix unaligned access in TXSTATUS signal handling reported by Hante. Needs to be squashed in commit 187fbcec. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
84bcc0c3c4b8ca4c0abed2d2dd63b7ce04f8be0e |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: enable sk_buff queueing when credits deplete Firmware provides the driver with credits used to transmit packets to the firmware. When credits run out the packets should be queued and dequeued when receiving creditback signals from the firmware. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
290fb763a2a7c79c45d09c8523f37e96446a5a91 |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: no flow-control tlv signals when fcmode is NONE The fcmode provided by module parameter defaults to NONE, which means no flow-control is required. In this case flow-control signals should not be enabled. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
47829f4fc4825ad3a50389a682a6ea954664ba79 |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: only allocate firmware-signalling resources if required Bail out of brcmf_fws_init() when no firmware-signalling is asked for. Need to take this into account in brcmf_fws_deinit() as well. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
d9337414e87259fae13693796f7ad897b1b7f8e1 |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: move brcmf_fws_{de,}init() functions The functions are moved in preparation of later patches. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
946072383b6f93839e4ff79ffe44cfffa3aeb2d0 |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: correct specified length from FIFOCREDITBACK signal The length is not according specification so better fix it. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
bfc8bbf91f861815d0382a26b4bbc825f5531bfa |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: initialize struct brcmf_fws_info fields before iovar If iovar to the firmware fails the firmware-signalling module does a cleanup for which it needs pointer to struct brcmf_pub, which it gets from struct brcmf_fws_info::drvr. Assign this field before doing the tlv iovar. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
2af15580f5f3bb814b80d0616cafd7646644ef7e |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: avoid error output in receive path Parsing the tlv upon receiving frames can fail. Instead of printing an error message, just count the parse failure. On some devices we receive a lot of invalid tlv signals. this commit will be squashed. Signed-off-by: Arend van Spriel <arend@broadcom.com> Change-Id: I08e0f62c55e5028f9aa70c396d291679abd273c9 Reviewed-on: http://lb-bun-88.bun.broadcom.com:8080/72 Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
0f8b5cc5214b0c8c772d9ba0a41f5b1f07aff274 |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: fix handling sk_buff cleanup upon bus tx failure When firmware-signalling is active the brcmf_txcomplete() does a free of the sk_buff when transfer to firmware fails in the bus-specific driver code. However, it should also cleanup the packet from the hanger. This patch fixes that. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
3edc1cff02a40a76ad6a5e2b9cb00a29584f33ad |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: enable tx status signalling Enabling the tx status signalling, which requires packet tagging before sending to the firmware and handling the tx status signal. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
c7f34a69a2e32b139a6b66c8599252c46f37abba |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: add flow-control mode to firmware signalling Upcoming patches will add firmware signalled flow control. Prepare by adding the mode, which defaults to disable it. The mode can be queried by brcmf_fws_fc_active() and set by a module parameter. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
e2432b6787a15e0b3c255a017d16033ba30204c0 |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: add optional bus callback definition for tx queue cleanup Add a callback to obtain packet queue from the bus-specific code used to cleanup packet buffers from firmware-signalling code. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
6971280aefe437262f6d52339b0b2d5d64ab4e15 |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: add firmware-signalling hanger functions The hanger for firmware-signalling is used to retain information for outstanding transmit packets that await tx status. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
a3e993c78631b918f26db38605678889e3a5e964 |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: perform filtered firmware-signalling cleanup upon DEL_IF When an interface is deleted make sure to cleanup all packet buffers related to that interface. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
ebb93883cf4c4ea0b44abab254ad35fd6236177b |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: add definitions for handling sk_buff control buffer data The sk_buff structure contains a control buffer that can be used by different layers in the networking stack for holding packet associated information. In brcmfmac it is used to hold firmware signalling related information. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
fba1400a9b8149b3c7ee02be3b1ea0429912372e |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: add firmware-signalling cleanup function Add a cleanup function releasing any queued packet buffers in the mac descriptor entries. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Piotr Haber <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
43fa635e16c0674c9248b7feb271084c2874bb0a |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: add handler for credit map firmware events The firmware signalling functionality needs the credit map firmware events. This patch adds registration of a handler for this event. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
ce814c1bb484f0efd221a05c936eb942657cebb5 |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: handle firmware signal for updating mac descriptor info Firmware can signal the driver to allocate descriptor info for a given mac address, which will be used for flow control and host queueing. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
bb8c8063f82ce3eb7b44772202ca944f92ac39f5 |
|
03-Apr-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: hookup firmware signalling to firmware interface events Firmware signalling needs to handle resources upon interface events. This patch add calls in the interface event handling routine. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
349e7104ff662eeacca1fffbb480c287562c45a1 |
|
03-Mar-2013 |
Arend van Spriel <arend@broadcom.com> |
brcmfmac: add support for TLV based firmware signalling The firmware and host can exchange signals which are carried within the data packets. These are TLV based signals that are inserted before the actual data, ie. ethernet frame. This commit adds the new source module for this feature and enables RSSI signals from firmware. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
|