From: Jérôme Pouiller
Provide an abstraction for HIF commands.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/hif_tx.c | 375 +++
drivers/staging/wfx/hif_tx.h | 33 +++
drivers/staging/wfx/hif_tx_mib.h | 281 +++
3 files changed,
From: Jérôme Pouiller
Three things make this task more complex than it should:
- Chip necessitate to associate a link-id to each station. It is same
thing than association ID but, using 8 bits only.
- Rate policy is sent separately from Tx frames
- Driver try to handle itself power savi
From: Jérôme Pouiller
Again, this task is more complex than it should since driver try to
handle itself power saving of stations.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/Makefile | 1 +
drivers/staging/wfx/data_rx.c | 182 ++
drivers/staging/wf
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/Makefile | 1 +
drivers/staging/wfx/key.c| 258 +++
drivers/staging/wfx/key.h| 22 +++
drivers/staging/wfx/main.c | 2 +
drivers/staging/wfx/sta.c| 4 +
drivers/stag
From: Jérôme Pouiller
Add traces when debug events happen and allow to ask internal
information to chip.
These features work independently from mac80211.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/debug.c | 105 +++
drivers/staging/wfx/hif_rx.c |
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/data_rx.c | 26 +
drivers/staging/wfx/data_tx.c | 16 +
drivers/staging/wfx/debug.c |2 +
drivers/staging/wfx/hif_rx.c | 53 ++
drivers/staging/wfx/hif_tx.c |1 +
drivers/staging/wfx/main.c| 133
From: Jérôme Pouiller
Chip has multiple input buffers and can handle multiple 802.11 frames
in parallel. However, other HIF command must be sent sequentially.
wsm_send_cmd() handles these requests.
This commit also add send_hif_cmd in debugfs. This file allows to send
arbitrary commands to chip.
From: Jérôme Pouiller
A few tasks remain to be done in order to finish chip initial
configuration:
- configure chip to use multi-tx confirmation (speed up data
transfer)
- configure chip to use wake-up feature (save power consumption
during runtime)
- set hardware configuration
From: Jérôme Pouiller
Once firmware is loaded, it send a first indication to host. This
indication signalize that host can start to communicate with firmware.
In add, it contains information about chip and firmware (MAC addresses,
firmware version, etc...).
Signed-off-by: Jérôme Pouiller
---
d
From: Jérôme Pouiller
Some tracepoints are useful for debugging.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/Makefile | 6 +-
drivers/staging/wfx/debug.c | 10 +++
drivers/staging/wfx/hwio.c | 11 +++
drivers/staging/wfx/traces.h | 149 +++
4 f
From: Jérôme Pouiller
Allocate a struct ieee80211_hw but do not yet register it.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/Makefile | 1 +
drivers/staging/wfx/debug.c | 12 ++
drivers/staging/wfx/debug.h | 15
drivers/staging/wfx/main.c | 41 +
From: Jérôme Pouiller
These tracepoints decode HIF headers and provide more human readable
results.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/bh.c | 5 +
drivers/staging/wfx/traces.h | 211 +++
2 files changed, 216 insertions(+)
diff --git a/
From: Jérôme Pouiller
bh_work() is in charge to schedule all HIF message from/to chip.
On normal operation, when an IRQ is received, driver can get size of
next message in control register. In order to save control register
access, when chip send a message, it also appends a copy of control
regi
From: Jérôme Pouiller
These files are shared with firmware sources. Only a subset of these
definitions are used by driver but, for now, it is easier to import all.
API defines 3 kinds of messages:
- Requests (req) are sent from host to chip
- Confirmations (cnf) are sent by chip and are al
From: Jérôme Pouiller
Chip support encryption of the link between host and chip. This feature
is called "secure link". Driver code on github[1] support it. However,
it relies on mbedtls for cryptographic functions. So, I decided to not
import this feature in current patch. However, in order to ke
From: Jérôme Pouiller
hwio.c provides an abstraction to access different types of register of
the chip.
Note that only data register (aka FRAME_OUT) and control register are
used normal communication. Other registers are only used during chip
start up.
Signed-off-by: Jérôme Pouiller
---
drive
From: Jérôme Pouiller
Hello all,
This series add support for Silicon Labs WiFi chip WF200 and further:
https://www.silabs.com/documents/public/data-sheets/wf200-datasheet.pdf
This driver is an export from:
https://github.com/SiliconLabs/wfx-linux-driver/
I squashed all commits from
From: Jérôme Pouiller
Chip support encryption of the link between host and chip. This feature
is called "secure link". Driver code on github[1] support it. However,
it relies on mbedtls for cryptographic functions. So, I decided to not
import this feature in current patch. However, in order to ke
From: Jérôme Pouiller
hwio.c provides an abstraction to access different types of register of
the chip.
Note that only data register (aka FRAME_OUT) and control register are
used normal communication. Other registers are only used during chip
start up.
Signed-off-by: Jérôme Pouiller
---
drive
From: Jérôme Pouiller
wfx_set_key() mostly copy bytes on correct offsets. A big piece of code
for a simple work. Unfortunately, I did not found any way to factorize
it.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/Makefile | 1 +
drivers/staging/wfx/key.c| 258 +
From: Jérôme Pouiller
Again, this task is more complex than it should since driver try to
handle itself power saving of stations.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/Makefile | 1 +
drivers/staging/wfx/data_rx.c | 182 ++
drivers/staging/wf
From: Jérôme Pouiller
These files are shared with firmware sources. Only a subset of these
definitions are used by driver but, for now, it is easier to import all.
API defines 3 kinds of messages:
- Requests (req) are sent from host to chip
- Confirmations (cnf) are sent by chip and are al
From: Jérôme Pouiller
Some tracepoints are useful for debugging.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/Makefile | 6 +-
drivers/staging/wfx/debug.c | 10 +++
drivers/staging/wfx/hwio.c | 11 +++
drivers/staging/wfx/traces.h | 149 +++
4 f
From: Jérôme Pouiller
Finish to fill struct ieee80211_ops with necessary callbacks. Driver is
now ready to be registered to mac80211.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/data_rx.c | 26 +
drivers/staging/wfx/data_tx.c | 16 +
drivers/staging/wfx/debug.c |2 +
drive
From: Jérôme Pouiller
Allocate a struct ieee80211_hw but do not yet register it.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/Makefile | 1 +
drivers/staging/wfx/debug.c | 12 ++
drivers/staging/wfx/debug.h | 15
drivers/staging/wfx/main.c | 41 +
From: Jérôme Pouiller
A firmware is necessary to run the chip. wfx_init_device() is in charge
of loading firmware on chip and doing low level initialization.
Firmwares for WF200 are available here:
https://github.com/SiliconLabs/wfx-firmware/
Note that firmware are encrypted. Driver checks t
From: Jérôme Pouiller
A few tasks remain to be done in order to finish chip initial
configuration:
- configure chip to use multi-tx confirmation (speed up data
transfer)
- configure chip to use wake-up feature (save power consumption
during runtime)
- set hardware configuration
From: Jérôme Pouiller
Chip can make foreground scan or background, but both can't be mixed in
same request. So, we need to split each mac80211 requests into multiple
HIF requests.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/Makefile | 1 +
drivers/staging/wfx/bh.c | 2 +-
dr
From: Jérôme Pouiller
Once firmware is loaded, it send a first indication to host. This
indication signalize that host can start to communicate with firmware.
In add, it contains information about chip and firmware (MAC addresses,
firmware version, etc...).
Signed-off-by: Jérôme Pouiller
---
d
From: Jérôme Pouiller
Three things make this task more complex than it should:
- Chip necessitate to associate a link-id to each station. It is same
thing than association ID but, using 8 bits only.
- Rate policy is sent separately from Tx frames
- Driver try to handle itself power savi
From: Jérôme Pouiller
Add traces when debug events happen and allow to ask internal
information to chip.
These features work independently from mac80211.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/debug.c | 105 +++
drivers/staging/wfx/hif_rx.c |
From: Jérôme Pouiller
These tracepoints decode HIF headers and provide more human readable
results.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/bh.c | 5 +
drivers/staging/wfx/traces.h | 211 +++
2 files changed, 216 insertions(+)
diff --git a/
From: Jérôme Pouiller
bh_work() is in charge to schedule all HIF message from/to chip.
On normal operation, when an IRQ is received, driver can get size of
next message in control register. In order to save control register
access, when chip send a message, it also appends a copy of control
regi
From: Jérôme Pouiller
Provide an abstraction for HIF commands.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/hif_tx.c | 375 +++
drivers/staging/wfx/hif_tx.h | 33 +++
drivers/staging/wfx/hif_tx_mib.h | 281 +++
3 files changed,
From: Jérôme Pouiller
Chip has multiple input buffers and can handle multiple 802.11 frames
in parallel. However, other HIF command must be sent sequentially.
wsm_send_cmd() handles these requests.
This commit also add send_hif_cmd in debugfs. This file allows to send
arbitrary commands to chip.
From: Jérôme Pouiller
Instantiate build infrastructure WFx driver. This driver provides support
for Wifi chipset Silicon Labs WF200 and further:
https://www.silabs.com/documents/public/data-sheets/wf200-datasheet.pdf
This chip support SPI and SDIO bus.
SDIO interface has two particularities
From: Jérôme Pouiller
Introduce bus level communication layer. At this level, 7 registers can
be addressed.
Notice that SPI driver is able to manage chip reset. SDIO mode relies
on an external driver (`mmc-pwrseq`) to reset chip.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/bus.h
On Wednesday 29 April 2020 22:34:56 CEST Arnd Bergmann wrote:
>
> On Wed, Apr 29, 2020 at 6:04 PM Jerome Pouiller
> wrote:
> > On Wednesday 29 April 2020 16:21:09 CEST Arnd Bergmann wrote:
> > >
> > > -static const struct of_device_id wfx_sdio_of_match[];
> &
On Friday 11 October 2019 06:26:16 CEST Greg KH wrote:
> CAUTION: This email originated from outside of the organization. Do not
click links or open attachments unless you recognize the sender and know the
content is safe.
>
>
> On Fri, Oct 11, 2019 at 11:02:19AM +0800, zhong jiang wrote:
> > I
From: Jérôme Pouiller
array_index_nospec() should be applied after a bound check.
Fixes: 9bca45f3d6924f19f29c0d019e961af3f41bdc9e ("staging: wfx: allow to send
802.11 frames")
Reported-by: kbuild test robot
Reported-by: Dan Carpenter
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/wf
From: Jérôme Pouiller
Since wfx_tx_get_raw_link_id() return an unsigned, it makes no sense to
return a negative value. "15" is a better value since it is used by
firmware for stations that have not yet associated link-ids.
Note that this should never happens since driver set max_ap_assoc_sta
to
From: Jérôme Pouiller
array_index_nospec() should be applied after a bound check.
Fixes: 9bca45f3d692 ("staging: wfx: allow to send 802.11 frames")
Reported-by: kbuild test robot
Reported-by: Dan Carpenter
Signed-off-by: Jérôme Pouiller
---
v2: cut down commit-id to 12 characters
drivers/st
On Friday 11 October 2019 14:10:35 CEST Greg Kroah-Hartman wrote:
> On Fri, Oct 11, 2019 at 10:15:54AM +0000, Jerome Pouiller wrote:
> > From: Jérôme Pouiller
> >
> > array_index_nospec() should be applied after a bound check.
> >
> > Fixes: 9bca45f3d6924f19f29c0d
On Friday 11 October 2019 17:51:29 CEST zhong jiang wrote:
[...]
> How about the following patch ?
>
> diff --git a/drivers/staging/wfx/Makefile b/drivers/staging/wfx/Makefile
> index 0d9c1ed..77d68b7 100644
> --- a/drivers/staging/wfx/Makefile
> +++ b/drivers/staging/wfx/Makefile
> @@ -19,6 +19,6
From: Jérôme Pouiller
array_index_nospec() should be applied after a bound check.
Fixes: 9bca45f3d692 ("staging: wfx: allow to send 802.11 frames")
Reported-by: kbuild test robot
Reported-by: Dan Carpenter
Signed-off-by: Jérôme Pouiller
---
v2: cut down commit-id to 12 characters
v3: fix miss
On Friday 11 October 2019 18:38:17 CEST zhong jiang wrote:
> I hit the following error when compile the kernel.
>
> drivers/staging/wfx/main.o: In function `wfx_core_init':
> /home/z00352263/linux-next/linux-next/drivers/staging/wfx/main.c:488:
> undefined reference to `sdio_register_driver'
> dr
On Wednesday 29 April 2020 16:21:09 CEST Arnd Bergmann wrote:
>
> When CONFIG_OF is disabled, gcc-9 produces a warning about the
> wfx_sdio_of_match[] array having a declaration without a dimension:
>
> drivers/staging/wfx/bus_sdio.c:159:34: error: array 'wfx_sdio_of_match'
> assumed to have one
On Saturday 12 October 2019 04:48:55 CEST zhong jiang wrote:
> On 2019/10/12 0:57, Jerome Pouiller wrote:
> > On Friday 11 October 2019 18:38:17 CEST zhong jiang wrote:
> >> I hit the following error when compile the kernel.
> >>
> >> drivers/staging/wf
On Monday 14 October 2019 11:53:19 CEST Jérôme Pouiller wrote:
[...]
> Hello Zhong,
>
> Now, I see the problem. It happens when CONFIG_MMC=m and CONFIG_WFX=y
> (if CONFIG_WFX=m, it works).
>
> I think the easiest way to solve problem is to disallow CONFIG_WFX=y if
> CONFIG_MMC=m.
>
> This solut
From: Jérôme Pouiller
Original API declares 16 tx_policies. But in fact, the 16th is used
internally by the firmware. So, only 15 tx_policies are available for
driver.
Reported-by: Alban Jeantheau
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/hif_api_mib.h | 2 +-
1 file changed, 1 i
From: Jérôme Pouiller
If CONFIG_MMC=m and CONFIG_WFX=y, compilation complains with undefined
references:
drivers/staging/wfx/main.o: In function `wfx_core_init':
/linux/drivers/staging/wfx/main.c:488: undefined reference to
`sdio_register_driver'
drivers/staging/wfx/main.o: In function
From: Jérôme Pouiller
MAC address read from chip is unconditionally used even if a MAC
address is configured in device tree.
Reported-by: Marc Dorval
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/main.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/sta
From: Jérôme Pouiller
"Secure link" feature is not available in in-tree driver (because it
depends on mbedtls). Thus, secure_link.h only empty functions.
Module parameter "slk_key" and associated function wfx_fill_sl_key() had
an unjustifiable place in main.c. This patch relocate them to
secure_
From: Jérôme Pouiller
wfx_version.h says that this code is same same than driver 2.3.1 hosted
on github:
https://github.com/siliconlabs/wfx-linux-driver/tree/2.3.1-public
However, it is inaccurate, driver in-tree contains multiple small
patches ahead 2.3.1.
I prefer to drop this confusing
From: Jérôme Pouiller
In most case, of_get_mac_address() return NULL in case of error.
However, if CONFIG_OF_NET is not set, it return -ENODEV.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/wfx/
From: Jérôme Pouiller
The items 'allOf' and 'properties' are indented with one space. This
change as been introduced in commit cdea0121ae80 ("docs:
writing-schema.md: convert from markdown to ReST") and it produces weird
results in Html and Pdf outputs.
Obviously, this extra indentation was unat
From: Jérôme Pouiller
As expected, when the device detect a MMIC error, it returns a specific
status. However, it also strip IV from the frame (don't ask me why).
So, with the current code, mac80211 detects a corrupted frame and it
drops it before it handle the MMIC error. The expected behavior
From: Jérôme Pouiller
I think the wfx driver is now mature enough to be accepted in the
drivers/net/wireless directory.
There is still one item on the TODO list. It is an idea to improve the rate
control in some particular cases[1]. However, the current performances of the
driver seem to satisfy
From: Jérôme Pouiller
Most of the files have been modified in 2020, so update the copyright
notices.
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/bh.c | 2 +-
drivers/staging/wfx/bh.h | 2 +-
drivers/staging/wfx/bus.h | 2 +-
drivers/staging/wfx/
From: Jérôme Pouiller
Commit e8d607ce0c81 ("staging: wfx: drop 'secure link' feature") had
removed the 'secure link' feature. However, a few lines of codes were
yet here.
Fixes: e8d607ce0c81 ("staging: wfx: drop 'secure link' feature")
Signed-off-by: Jérôme Pouiller
---
.../bindings/net/wirele
From: Jérôme Pouiller
Firmwares with API < 3.6 do not forward DELBA requests. Thus, when a
Block Ack session is restarted, the reordering buffer is not flushed and
the received sequence number is not contiguous. Therefore, mac80211
starts to wait some missing frames that it will never receive.
T
From: Jérôme Pouiller
The device is in charge of respecting the QoS constraints. The driver
have to ensure that all the queues contain data and the device choose
the right queue to send.
The things starts to be more difficult when the bandwidth of the bus is
lower than the bandwidth of the WiFi.
From: Jérôme Pouiller
The device can be connected on SPI or on SDIO. The original file
described the two options separately. So, most of the file had to be
rewritten in order to match with the Yaml requirements.
Some device requirements are still written in the comments since they
cannot been ex
From: Jérôme Pouiller
The wfx driver is now mature enough to leave the staging area.
Signed-off-by: Jérôme Pouiller
---
.../bindings/net/wireless/silabs,wfx.yaml | 0
MAINTAINERS | 2 +-
drivers/net/wireless/Kconfig| 1 +
drivers
From: Jérôme Pouiller
Fix the issues reported by Dan using Smatch[1].
[1] https://lore.kernel.org/lkml/20201008131320.GA1042@kadam/
Jérôme Pouiller (8):
staging: wfx: improve error handling of hif_join()
staging: wfx: check memory allocation
staging: wfx: standardize the error when vif do
From: Jérôme Pouiller
Smatch complains:
hif_tx.c:319 hif_join() error: we previously assumed 'channel' could be null
(see line 315)
311 if (!hif)
312 return -ENOMEM;
313 body->infrastructure_bss_mode = !conf->ibss_joined;
314 body->shor
From: Jérôme Pouiller
Smatch complains:
main.c:228 wfx_send_pdata_pds() warn: potential NULL parameter dereference
'tmp_buf'
227 tmp_buf = kmemdup(pds->data, pds->size, GFP_KERNEL);
228 ret = wfx_send_pds(wdev, tmp_buf, pds->size);
From: Jérôme Pouiller
Smatch complains:
bus_spi.c:228 wfx_spi_probe() warn: 'bus->core' could be an error pointer
bus_sdio.c:221 wfx_sdio_probe() warn: 'bus->core' could be an error pointer
bus->core contains the result of wfx_init_common(). With this patch,
wfx_init_common() returns a
From: Jérôme Pouiller
Smatch complains:
drivers/staging/wfx/hif_rx.c:26 hif_generic_confirm() warn: negative user
subtract: 0-u16max - 4
20 static int hif_generic_confirm(struct wfx_dev *wdev,
21 const struct hif_msg *hif, const void
*buf)
22 {
From: Jérôme Pouiller
Smatch complains:
hif_rx.c:98 hif_wakeup_indication() warn:
'gpiod_get_value(wdev->pdata.gpio_wakeup)' returns positive and negative
bh.c:24 device_wakeup() warn:
'gpiod_get_value_cansleep(wdev->pdata.gpio_wakeup)' returns positive and
negative
Reported-by: Dan
From: Jérôme Pouiller
Smatch complains:
hif_rx.c:235 hif_generic_indication() warn: format string contains non-ascii
character '\xc2'
hif_rx.c:235 hif_generic_indication() warn: format string contains non-ascii
character '\xb0'
234 if (!wfx_api_older_than(wdev, 1, 4))
From: Jérôme Pouiller
Smatch complains:
drivers/staging/wfx/hif_rx.c:177 hif_scan_complete_indication() warn:
potential NULL parameter dereference 'wvif'
drivers/staging/wfx/data_tx.c:576 wfx_flush() warn: potential NULL parameter
dereference 'wvif'
Indeed, if the vif id returned by the
From: Jérôme Pouiller
Smatch complains:
data_tx.c:37 wfx_get_hw_rate() warn: constraint '(struct
ieee80211_supported_band)->bitrates' overflow 'band->bitrates' 0 <= abs_rl
'0-127' user_rl '' required = '(struct ieee80211_supported_band)->n_bitrates'
23 struct ieee80211_support
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/Kconfig | 8
drivers/net/wireless/silabs/wfx/Makefile | 25
2 files changed, 33 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/Kconfig
create mode 100
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
.../bindings/net/wireless/silabs,wfx.yaml | 125 ++
1 file changed, 125 insertions(+)
create mode 100644
Documentation/devicetree/bindings/net/wireless/silabs,wfx.yaml
diff --git a/Documentation/devicetree/bindings/
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/wfx.h | 166 ++
1 file changed, 166 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/wfx.h
diff --git a/drivers/net/wireless/silabs/wfx/wfx.h
b/drivers/net/wireles
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/main.c | 489 +
drivers/net/wireless/silabs/wfx/main.h | 44 +++
2 files changed, 533 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/main.c
create mode 100644 dr
From: Jérôme Pouiller
I think the wfx driver is now mature enough to be accepted in the
drivers/net/wireless directory.
As requested by Kalle[1], I send one file per patch. At the end, all the
patches will be squashed (therefore, I didn't bother to write real commit
messages).
Here is a diagram
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/bus.h | 38 +++
1 file changed, 38 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/bus.h
diff --git a/drivers/net/wireless/silabs/wfx/bus.h
b/drivers/net/wireless
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/data_rx.c | 93 +++
drivers/net/wireless/silabs/wfx/data_rx.h | 18 +
2 files changed, 111 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/data_rx.c
create mode 10
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/bus_spi.c | 271 ++
1 file changed, 271 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/bus_spi.c
diff --git a/drivers/net/wireless/silabs/wfx/bus_spi.c
b/drivers/net
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/bus_sdio.c | 269 +
1 file changed, 269 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/bus_sdio.c
diff --git a/drivers/net/wireless/silabs/wfx/bus_sdio.c
b/drivers/n
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/fwio.c | 405 +
drivers/net/wireless/silabs/wfx/fwio.h | 15 +
2 files changed, 420 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/fwio.c
create mode 100644 driv
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/bh.c | 333 +++
drivers/net/wireless/silabs/wfx/bh.h | 33 +++
2 files changed, 366 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/bh.c
create mode 100644 driver
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/hwio.c | 352 +
drivers/net/wireless/silabs/wfx/hwio.h | 75 ++
2 files changed, 427 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/hwio.c
create mode 100644
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/hif_api_cmd.h | 553 ++
.../net/wireless/silabs/wfx/hif_api_general.h | 267 +
drivers/net/wireless/silabs/wfx/hif_api_mib.h | 343 +++
3 files changed, 1163 insertions(+)
c
From: Jérôme Pouiller
The wfx driver is now mature enough to leave the staging area.
Signed-off-by: Jérôme Pouiller
---
MAINTAINERS | 3 ++-
drivers/net/wireless/Kconfig | 1 +
drivers/net/wireless/Makefile| 1 +
drivers/net/wireless/silabs/Kconfig
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/data_tx.c | 585 ++
drivers/net/wireless/silabs/wfx/data_tx.h | 67 +++
2 files changed, 652 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/data_tx.c
create mode 100
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/queue.c | 304
drivers/net/wireless/silabs/wfx/queue.h | 45
2 files changed, 349 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/queue.c
create mode 100644
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/hif_rx.c | 415 +++
drivers/net/wireless/silabs/wfx/hif_rx.h | 18 +
2 files changed, 433 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/hif_rx.c
create mode 100644
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/hif_tx.c | 523 +++
drivers/net/wireless/silabs/wfx/hif_tx.h | 60 +++
drivers/net/wireless/silabs/wfx/hif_tx_mib.c | 324
drivers/net/wireless/silabs/wfx/hif_tx_mib.h
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/traces.h | 501 +++
1 file changed, 501 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/traces.h
diff --git a/drivers/net/wireless/silabs/wfx/traces.h
b/drivers/net/w
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/debug.c | 359
drivers/net/wireless/silabs/wfx/debug.h | 19 ++
2 files changed, 378 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/debug.c
create mode 100644 d
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/scan.c | 132 +
drivers/net/wireless/silabs/wfx/scan.h | 22 +
2 files changed, 154 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/scan.c
create mode 100644
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/key.c | 241 ++
drivers/net/wireless/silabs/wfx/key.h | 20 +++
2 files changed, 261 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/key.c
create mode 100644 driv
From: Jérôme Pouiller
Signed-off-by: Jérôme Pouiller
---
drivers/net/wireless/silabs/wfx/sta.c | 807 ++
drivers/net/wireless/silabs/wfx/sta.h | 73 +++
2 files changed, 880 insertions(+)
create mode 100644 drivers/net/wireless/silabs/wfx/sta.c
create mode 100644 driv
From: Jérôme Pouiller
The function hif_scan() return the timeout for the completion of the
scan request. It is the only function from hif_tx.c that return another
thing than just an error code. This behavior is not coherent with the
rest of file. Worse, if value returned is positive, the caller c
From: Jérôme Pouiller
It is guarantee that the loop will stop at first iteration. So drop the
loop.
Fixes: 6bf418c50f98a ("staging: wfx: change the way to choose frame to send")
Signed-off-by: Jérôme Pouiller
---
drivers/staging/wfx/queue.c | 19 ---
1 file changed, 8 insertion
From: Jérôme Pouiller
In order to work properly all the queues of the device must be filled (the
device chooses itself the queue to use depending of AC parameters and
other things). It is the job of wfx_tx_queues_get_skb() to choose which
queue must be filled. However, the sorting algorithm was i
From: Jérôme Pouiller
Hello,
This series introduces some nl80211 vendor extensions to the wfx driver.
This series may lead to some discussions:
1. Patch 7 allows to change the dynamic PS timeout. I have found
an API in wext (cfg80211_wext_siwpower()) that do more or less the
same t
101 - 200 of 391 matches
Mail list logo