Commit Graph

54 Commits

Author SHA1 Message Date
Carlos Garces
f8fe43f625 Delete unused code and empty functions after cleanup 2021-10-24 13:26:10 +02:00
Carlos Garces
2c4c2e5a98 Remove PLATFORM_LINUX definition
Clean up source code for other platforms
2021-10-24 12:32:18 +02:00
Carlos Garces
c88ff5dce4 Remove code due if (1) and #if 1 2021-10-23 14:51:04 +02:00
Carlos Garces
473f47e2dd Remove dead code
Remove code with if (0) and #if 0 clauses
2021-10-23 14:11:56 +02:00
Carlos Garces
97bac22d5b Remove duplicate names for rtw_read[n] and rtw_write[n]
rtw_read[n]() is redefined as _rtw_read[n]() and PlatformEFIORead[n]Byte
Same for rtw_write[n]() furntions

Link: https://lore.kernel.org/r/9880c86c2aad7d95a714d8b03b28b83634f98c1e.1621361919.git-series.hello@bryanbrattlof.com
Link: https://lore.kernel.org/r/11458342572f21d9df58b3969ad1f16fdff157f4.1621361919.git-series.hello@bryanbrattlof.com
Link: https://lore.kernel.org/r/15956707341f76de683245c392063b8121a805ea.1621361919.git-series.hello@bryanbrattlof.com
Link: https://lore.kernel.org/r/35ffc9cd5af7009b317361033a6ca5263307d61a.1621361919.git-series.hello@bryanbrattlof.com
Link: https://lore.kernel.org/r/7d53fb295f67f01c72640045afb88150391bce35.1621361919.git-series.hello@bryanbrattlof.com
Link: https://lore.kernel.org/r/43917aee34e85139e613578cf6f14938211c8835.1621361919.git-series.hello@bryanbrattlof.com

Port of
51d4aa6d6bf35d85d318831df60a34bad27cdb9e
8ff74e4307b42302c89023faf8fd37dbde4c4666
16b1b3c8221a40bf899dfeebdb3d5245ecb65515
7f06caf9a40bb3c08fe86c8355ace25b7ce69ba9
1c42d72e4747fb546eba53821ae56ecf827202a7
4d6bfc6f62705ec5baee9c572d4ca03bc9e36c00
2021-10-23 11:09:24 +02:00
Carlos Garces
4799326c6f switch to common ieee80211 headers
This patch switches to <linux/ieee80211.h> and <net/cfg80211.h> and
deletes a lot of duplicate definitions plus many unused ones.

rtw_ieee80211_hdr_3addr_qos is duplicate of ieee80211_qos_hdr.
rtw_ieee80211_spectrum_mgmt_actioncode is a duplication of ieee80211_spectrum_mgmt_actioncode
rtw_ieee80211_hdr_3addr is duplicate of ieee80211_hdr_3addr.
rtw_ieee80211_hdr is duplicate of ieee80211_hdr
rtw_ieee80211s_hdr is duplicate of ieee80211s_hdr
rtw_ieee80211_rann_ie is duplicate of ieee80211_rann_ie
from include/linux/ieee80211.h.

Link: https://lore.kernel.org/r/20200906133236.556427-1-insafonov@gmail.com
Link: https://lore.kernel.org/r/20200609194848.166130-1-pterjan@google.com
Also port
5cd8396540b5f7ef7c3ac499e967dd4deb8e9930
bbfe286b07d8282f4957dee692e85b3bd60de770
d87f574d6923c546e7d0f75ce0581436376b98a6
36eb7d108e8de3097f373eb8629d8739d4fa3e74
1b9e6df5169b36b3242e2e28c39f9bbfc01863e8
d94971aa97670d400371baef5d9d5cf6dc8ea2b5
2021-10-22 16:46:01 +02:00
Carlos Garces
6b480dfa8e include/ieee80211.h cleaup.
Remove empty functions from ieee80211.h
Use values from linux/ieee80211.h

port 12a17d72f7948148b80c0dfa72ea983da33464ba
port a9d8763889737b7e0f83956e093bd48190876044
port 872cfb096d3a009709b56f23f5280a359bbe58e2
port a4bc0fa9ec51008bb494943ec98b4ad836e3a216
port 13e00f8ebded278a7887d98ad65ceabc24f3776a
2021-10-21 22:33:41 +02:00
Carlos Garces
539ec6269e remove HAL_{BB,MAC,RF,FW}_ENABLE macros
remove HAL_{BB,MAC,RF,FW}_ENABLE macros.
They are used to turn on/off by hand some core
capabilities we want to be always 'on'.

port bb1c456d7f88b60b28b9f51e28031fc67cdb8d7b
port b4e1882d750facd317ac2572d6bf36a05b0b0c36

Link: https://lore.kernel.org/r/04248acbd22f9be30d21891926e134490b34036a.1623756906.git.fabioaiuto83@gmail.com
2021-10-20 20:13:32 +02:00
Carlos Garces
27246f4eb5 use eth_broadcast_addr() to assign broadcast address
Using eth_broadcast_addr() to assign broadcast address instead
of copying from an array that contains the all-ones broadcast
address

Port 78adf574c969c14a470b686af8d6bd7e1dcf142b
Port 3b0a4a1bdb0f6348dba797a0fa1cf161f5639ded
Port 44c26bec861476f89ac5aee0bb19df128a42543b

Link: https://lore.kernel.org/r/20210616081243.2511663-4-yangyingliang@huawei.com
2021-10-20 20:13:18 +02:00
Carlos Garces
51d0819382 Use cpu_to_le16() insted of RTW_PUT_LE16()
Port 83a9b6694d1e300ca8240fdf654650dcc096c86f
2021-10-20 16:42:09 +02:00
Carlos Garces
04a730b326 replace rtw_ieee80211_ht_cap with ieee80211_ht_cap
port 042ca34b9ab19d0a52c3b01862a6c07fcb032e86
2021-10-18 17:09:47 +02:00
Carlos Garces
3acac3288c Replace AMPDU emun structures with kernel provided
Port 98b32c71a455ff289442779fee02ad60a6217006
2021-10-18 16:28:25 +02:00
Carlos Garces
c5f30cb5cc remove enum WIFI_FRAME_SUBTYPE
The values defined in enum WIFI_FRAME_SUBTYPE are the same the #define
IEEE80211_STYPE_xxx from <linux/ieee80211.h>.

Port 33ed2b7079f6c38abce6abbaf1e6be4edad919d8
2021-10-18 16:05:53 +02:00
Carlos Garces
3555bdb258 Replace custom definitions with existing
ones at linux/ieee80211.h.

port 69fea2b4e59c52844cf5196c9c81157792d194fb
port 6ee9e6ee5c486f68e424185e133984d0a6ae662c
port f179515da9780c4cd37bee76c3cbb6f7364451d6
port aaa0bc19facf31426ca57267edc681a42dbd1ee1
port 99bb776980eeb231558a6ede0a1dd8d1a6e8ec0c
port 00f0b682841337c4d2e7dd2e75d86acb6b7ce2d8
port fc41e9618fc65bea5d615d487ca7de3b0e1110bc
port 3359e2927b321c635d9529bab1f087ac39c82227
port 38caee0abe9db1db387e7bea60a980eda22e9fa6
port b05cc3a9156b6b674904016d9c213e71c149f4c2
2021-10-15 17:42:20 +02:00
Carlos Garces
355a2df5ab Remove function rtw_end_of_queue_search()
Port of 84660700807cbcd649c58ff8ce7f65021765b15c
2021-10-14 22:37:57 +02:00
Carlos Garces
bb871e7167 Remove wrappers
Port of 788253860c21f4e40add556d7ed715fefb2bafb3
Port of ace050139cee44d06b06b4c78074b4eb80fb7c0a
2021-10-14 22:19:09 +02:00
Carlos Garces
7a5f134424 Replace rtw_get_current_time() with jiffies
Port of c01fb49636b65ceea513c00966c58b8bdb095c8f
2021-10-14 22:03:09 +02:00
Carlos Garces
9e36a8086e Remove code related to PLATFORM_FREEBSD 2021-10-14 20:09:07 +02:00
Carlos Garces
9d13b33a29 Remove code related to PLATFORM_WINDOWS 2021-10-14 19:32:27 +02:00
Martin Kaiser
507d1c07e0 ctrl vendor req index is not used
The index for r8188eu's vendor-specific control requests is not used.
Remove the index parameter from usbctrl_vendorreq and pass index 0 to
usb_control_msg.

This patch is an adaptation of commit 3d0be94f62fd ("staging: rtl8188eu:
ctrl vendor req index is not used") for the new r8188eu driver.

Link: https://lore.kernel.org/r/20210818200041.10870-2-martin@kaiser.cx
2021-10-14 16:30:39 +02:00
Carlos Garces
4ddd7165fb use actual request type as parameter
At the moment, usbctrl_vendorreq's requesttype parameter must be set to
1 for reading and 0 for writing. It's then converted to the actual
bmRequestType for the USB control request. We can simplify the code and
avoid this conversion if the caller passes the actual bmRequestType.

This patch is an adaptation of commit 788fde031027 ("staging: rtl8188eu:
use actual request type as parameter") for the new r8188eu driver.

Link: https://lore.kernel.org/r/20210821164859.4351-3-martin@kaiser.cx
2021-10-14 16:30:39 +02:00
Michael Straube
60aa279428 Use is_multicast_ether_addr instead of custom macro IS_MCAST, the
buffer is properly aligned.

Link: https://lore.kernel.org/r/20210823120106.9633-3-straube.linux@gmail.com
Link: https://lore.kernel.org/r/20210823120106.9633-4-straube.linux@gmail.com
Link: https://lore.kernel.org/r/20210823120106.9633-5-straube.linux@gmail.com
Link: https://lore.kernel.org/r/20210823120106.9633-6-straube.linux@gmail.com
Link: https://lore.kernel.org/r/20210823120106.9633-7-straube.linux@gmail.com
Link: https://lore.kernel.org/r/20210823120106.9633-8-straube.linux@gmail.com
Link: https://lore.kernel.org/r/20210823120106.9633-9-straube.linux@gmail.com
2021-10-14 16:30:30 +02:00
Carlos Garces
bb3dc5ca12 Replace _rtw_memmove with memmove 2021-10-12 17:09:01 +02:00
Carlos Garces
71d5c54af2 Replace _rtw_memcpy with memcpy 2021-10-12 17:03:53 +02:00
Carlos Garces
1c50f4c603 Removed unused and empty functions 2021-10-12 16:02:19 +02:00
Martin Kaiser
d4dcb38048 clean up the usb_writeN
Remove unnecessary variables, check the length.

Link: https://lore.kernel.org/r/20210821164859.4351-8-martin@kaiser.cx
2021-10-11 16:56:09 +02:00
Martin Kaiser
fe504c75a2 clean up the usb_writeXY functions
Remove unnecessary variables, summarize declarations and assignments.

Link: https://lore.kernel.org/r/20210821164859.4351-7-martin@kaiser.cx
2021-10-11 16:51:54 +02:00
Martin Kaiser
ba036a3e14 clean up the usb_readXY functions
Remove unnecessary variables, summarize declarations and assignments.

Link: https://lore.kernel.org/r/20210821164859.4351-6-martin@kaiser.cx
2021-10-11 16:44:22 +02:00
Martin Kaiser
28e0bba794 ctrl vendor req value is always 0x05
The bRequest value for the vendor specific control requests sent by this
driver is always 0x05. Replace the function parameter with the define from
usb_ops.h.

This patch is an adaptation of commit eeb4661560ff ("staging: rtl8188eu:
ctrl vendor req value is always 0x05") for the new r8188eu driver.

Link: https://lore.kernel.org/r/20210818200041.10870-1-martin@kaiser.cx
2021-10-11 16:36:03 +02:00
Martin Kaiser
64831e6777 staging: r8188eu: remove unused define
_HCI_OPS_OS_C_ is not used in the r8188eu driver. Remove it.

Link: https://lore.kernel.org/r/20210821164859.4351-2-martin@kaiser.cx
2021-10-11 16:19:10 +02:00
Phillip Potter
2a467a7923 convert all rtw_zvmalloc calls to vzalloc calls
Convert all rtw_zvmalloc calls within the driver to use the existing
kernel vzalloc function, which has the same semantics. Also rewrite the
two places where it is mentioned in comments to say vzalloc, and remove
the redundant cast to struct adapter * in ./os_dep/usb_intf.c as vzalloc
returns void *.

The reason for the conversion is that rtw_zvmalloc is just a
preprocessor definition for _rtw_zvmalloc which itself is just an inline
wrapper around vmalloc which then zeroes the memory out. As vzalloc does
the same thing via usage of __GFP_ZERO, this code is redundant and can
subsequently be removed.

Link: https://lore.kernel.org/r/20210818234853.208448-5-phil@philpotter.co.uk
2021-10-11 15:59:59 +02:00
Michael Straube
03af80bee9 replace custom macros with is_broadcast_ether_addr
Replace usage of custom macros with is_broadcast_ether_addr. All buffers
are properly aligned. Remove the now unsued macros MacAddr_isBcst and
IS_MAC_ADDRESS_BROADCAST.

Link: https://lore.kernel.org/r/20210805205010.31192-1-straube.linux@gmail.com
2021-10-11 13:29:13 +02:00
Martin Kaiser
2965c273c9 remove the RT_TRACE macro
We've deleted all RT_TRACE calls. The macro itself can now be removed
as well.

Link: https://lore.kernel.org/r/20210807153636.11712-13-martin@kaiser.cx
2021-10-11 13:18:29 +02:00
Larry Finger
a5adfa895b Remove wrapper rtw_udelay_os()
This wrapper is a simple call to udelay(). Remove it.

Link: https://lore.kernel.org/r/20210805192644.15978-4-Larry.Finger@lwfinger.net
2021-10-11 13:00:27 +02:00
Larry Finger
7f8451a86e Remove wrapper rtw_mdelay_os()
This wrapper just calls mdelay(). Remove it.

Link: https://lore.kernel.org/r/20210805192644.15978-3-Larry.Finger@lwfinger.net
2021-10-11 12:57:06 +02:00
Carlos Garcés
cf246719f1 Remove wrapper for memset()
Link: 545d963a9e (diff-16d649c4743131c1aae5f812af5596dae6423bb63eaaf2990b8c89c9a681a913)
2021-10-11 12:09:34 +02:00
Larry Finger
fdbea81f08 Remove wrapper routine rtw_msleep_os()
The effect of this macro is to call msleep(). Remove the wrapper.

Link: https://lore.kernel.org/r/20210805192644.15978-2-Larry.Finger@lwfinger.net
2021-10-11 10:44:02 +02:00
Larry Finger
1fcfef2e07 Remove rtw_yield_os()
This wrapper is just a call to yield().

Link: https://lore.kernel.org/r/20210805192644.15978-1-Larry.Finger@lwfinger.net
2021-10-11 10:44:02 +02:00
Larry Finger
51e1f13a91 Remove all calls to _rtw_spinlock_free()
This routine is empty, thus all calls to it can be removed.

Link: https://lore.kernel.org/r/20210805183717.23007-4-Larry.Finger@lwfinger.net
2021-10-11 10:44:02 +02:00
Larry Finger
34ec238387 Remove wrapper around vfree
This call is so simple that there is no need, or use, for a wrapper.

Link: https://lore.kernel.org/r/20210805183717.23007-3-Larry.Finger@lwfinger.net
2021-10-11 10:44:02 +02:00
Larry Finger
4d3d23dd24 Remove wrapper around do_div
Wrapper routine rtw_modular64() contains only a call to do_div() and
is used once in the code. Remove the wrapper.

Link: https://lore.kernel.org/r/20210803135223.12543-9-Larry.Finger@lwfinger.net
2021-10-11 10:44:02 +02:00
Larry Finger
d7c3737cd5 Remove wrappers for atomic operations
These wrappers were useful when this driver had the hooks for Windows,
but are no longer needed.

Link: https://lore.kernel.org/r/20210802192721.23110-4-Larry.Finger@lwfinger.net
2021-10-11 10:44:02 +02:00
Greg Kroah-Hartman
ac1790da7c remove rtw_mfree2d() function
It is just a wrapper around kfree(), so remove it and just call kfree()
instead.

Adaptation of: https://lore.kernel.org/r/20210730092417.1014392-7-gregkh@linuxfoundation.org
2021-10-11 10:44:01 +02:00
Carlos Garcés
59fd03940c Fix for kernel 5.15
Fixed compilation warnings with GCC 11
Fix libc6 dependency 2.34
2021-10-09 13:33:01 +02:00
Carlos Garces
326965ada9 Fix fallthrough errors 2020-10-31 18:39:03 +01:00
yagoplx
e527c271c9 Fix typo in MTPC 2020-06-19 15:16:02 -03:00
yagoplx/y
666bfeb0f0 Add AP info, Add Compile-Time Transmit Power Fixing & Boost
Turns out these devices can serve as really decent access points.
Adding txpower control info as well. See my other PR.

This is in a separate PR because the readme instructed to do so.

Update README.md

Move my lines more to the bottom

 Implement simple transmit power boost and fixed setting

Source: 80b9bc47b3

Turns out the "higher levels" of this driver are not actually able to affect the device's physical power output, like via cfg80211, yet.
After some extensive testing I finally found the code responsible for setting the device's power and added some compile-time
tunables to influence it. For example here we give the transmit power index a tiny boost of two, which can be changed by the user via the source.

This is as far as my skills go so if you want to try and make this accessible to iw and iwconfig please give it a go.
Note that this will take an index between 1 (min power the device can put out) and 63 (max power the device can put out). I have no idea what these values actually translate to in dBm, but setting the override to max, 63, on my rtl card really gave range a boost.

Add AP and TXPOWER CONTROL info

Turns out these devices can serve as really decent access points.
Adding txpower control info as well. See my other PR.

This is in a separate PR because the readme instructed to do so.

Update README.md

Move my lines more to the bottom

 Implement simple transmit power boost and fixed setting

Source: 80b9bc47b3

Turns out the "higher levels" of this driver are not actually able to affect the device's physical power output, like via cfg80211, yet.
After some extensive testing I finally found the code responsible for setting the device's power and added some compile-time
tunables to influence it. For example here we give the transmit power index a tiny boost of two, which can be changed by the user via the source.

This is as far as my skills go so if you want to try and make this accessible to iw and iwconfig please give it a go.
Note that this will take an index between 1 (min power the device can put out) and 63 (max power the device can put out). I have no idea what these values actually translate to in dBm, but setting the override to max, 63, on my rtl card really gave range a boost.

Add AP and TXPOWER CONTROL info

Turns out these devices can serve as really decent access points.
Adding txpower control info as well. See my other PR.

This is in a separate PR because the readme instructed to do so.

Update README.md

Move my lines more to the bottom

 Implement simple transmit power boost and fixed setting

Source: 80b9bc47b3

Turns out the "higher levels" of this driver are not actually able to affect the device's physical power output, like via cfg80211, yet.
After some extensive testing I finally found the code responsible for setting the device's power and added some compile-time
tunables to influence it. For example here we give the transmit power index a tiny boost of two, which can be changed by the user via the source.

This is as far as my skills go so if you want to try and make this accessible to iw and iwconfig please give it a go.
Note that this will take an index between 1 (min power the device can put out) and 63 (max power the device can put out). I have no idea what these values actually translate to in dBm, but setting the override to max, 63, on my rtl card really gave range a boost.
2020-06-18 18:04:01 -03:00
Carlos Garces
1d807f14d8 Add version v5.6.4 2019-11-13 22:12:20 +01:00
Maxim Buzdalov
30ba4de6ef Enable power management (hopefully).
I mean, it does not crash, but I have no hardware to tell
whether the output power actually changes.
2019-08-22 02:02:40 +03:00
Carlos Garces
80a0cb2c1a Update for kernel 4.15
This commit adds support for kernel 4.15, which changed the timer interface.

Fetch from 8c3acf9275
2018-01-04 00:49:20 +01:00