Skip to content

Commit e69fbf3

Browse files
committed
Merge tag 'wireless-drivers-next-for-davem-2018-12-20' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next
Kalle Valo says: ==================== wireless-drivers-next patches for 4.21 Last set of patches for 4.21. mt76 is still in very active development and having some refactoring as well as new features. But also other drivers got few new features and fixes. Major changes: ath10k * add amsdu support for QCA6174 monitor mode * report tx rate using the new ieee80211_tx_rate_update() API * wcn3990 support is not experimental anymore iwlwifi * support for FW version 43 for 9000 and 22000 series brcmfmac * add support for CYW43012 SDIO chipset * add the raw 4354 PCIe device ID for unprogrammed Cypress boards mwifiex * add NL80211_STA_INFO_RX_BITRATE support mt76 * use the same firmware for mt76x2e and mt76x2u * mt76x0e survey support * more unification between mt76x2 and mt76x0 * mt76x0e AP mode support * mt76x0e DFS support * rework and fix tx status handling for mt76x0 and mt76x2 ==================== Signed-off-by: David S. Miller <[email protected]>
2 parents aa9d6e0 + fbbae71 commit e69fbf3

File tree

146 files changed

+5028
-4325
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+5028
-4325
lines changed

Documentation/devicetree/bindings/net/wireless/qcom,ath10k.txt

Lines changed: 49 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,22 @@ can be provided per device.
2121

2222
SNOC based devices (i.e. wcn3990) uses compatible string "qcom,wcn3990-wifi".
2323

24-
Optional properties:
2524
- reg: Address and length of the register set for the device.
2625
- reg-names: Must include the list of following reg names,
2726
"membase"
27+
- interrupts: reference to the list of 17 interrupt numbers for "qcom,ipq4019-wifi"
28+
compatible target.
29+
reference to the list of 12 interrupt numbers for "qcom,wcn3990-wifi"
30+
compatible target.
31+
Must contain interrupt-names property per entry for
32+
"qcom,ath10k", "qcom,ipq4019-wifi" compatible targets.
33+
34+
- interrupt-names: Must include the entries for MSI interrupt
35+
names ("msi0" to "msi15") and legacy interrupt
36+
name ("legacy") for "qcom,ath10k", "qcom,ipq4019-wifi"
37+
compatible targets.
38+
39+
Optional properties:
2840
- resets: Must contain an entry for each entry in reset-names.
2941
See ../reset/reseti.txt for details.
3042
- reset-names: Must include the list of following reset names,
@@ -37,12 +49,9 @@ Optional properties:
3749
- clocks: List of clock specifiers, must contain an entry for each required
3850
entry in clock-names.
3951
- clock-names: Should contain the clock names "wifi_wcss_cmd", "wifi_wcss_ref",
40-
"wifi_wcss_rtc".
41-
- interrupts: List of interrupt lines. Must contain an entry
42-
for each entry in the interrupt-names property.
43-
- interrupt-names: Must include the entries for MSI interrupt
44-
names ("msi0" to "msi15") and legacy interrupt
45-
name ("legacy"),
52+
"wifi_wcss_rtc" for "qcom,ipq4019-wifi" compatible target and
53+
"cxo_ref_clk_pin" for "qcom,wcn3990-wifi"
54+
compatible target.
4655
- qcom,msi_addr: MSI interrupt address.
4756
- qcom,msi_base: Base value to add before writing MSI data into
4857
MSI address register.
@@ -55,14 +64,25 @@ Optional properties:
5564
- qcom,ath10k-pre-calibration-data : pre calibration data as an array,
5665
the length can vary between hw versions.
5766
- <supply-name>-supply: handle to the regulator device tree node
58-
optional "supply-name" is "vdd-0.8-cx-mx".
67+
optional "supply-name" are "vdd-0.8-cx-mx",
68+
"vdd-1.8-xo", "vdd-1.3-rfa" and "vdd-3.3-ch0".
5969
- memory-region:
6070
Usage: optional
6171
Value type: <phandle>
6272
Definition: reference to the reserved-memory for the msa region
6373
used by the wifi firmware running in Q6.
74+
- iommus:
75+
Usage: optional
76+
Value type: <prop-encoded-array>
77+
Definition: A list of phandle and IOMMU specifier pairs.
78+
- ext-fem-name:
79+
Usage: Optional
80+
Value type: string
81+
Definition: Name of external front end module used. Some valid FEM names
82+
for example: "microsemi-lx5586", "sky85703-11"
83+
and "sky85803" etc.
6484

65-
Example (to supply the calibration data alone):
85+
Example (to supply PCI based wifi block details):
6686

6787
In this example, the node is defined as child node of the PCI controller.
6888

@@ -74,10 +94,10 @@ pci {
7494
#address-cells = <3>;
7595
device_type = "pci";
7696

77-
ath10k@0,0 {
97+
wifi@0,0 {
7898
reg = <0 0 0 0 0>;
79-
device_type = "pci";
8099
qcom,ath10k-calibration-data = [ 01 02 03 ... ];
100+
ext-fem-name = "microsemi-lx5586";
81101
};
82102
};
83103
};
@@ -138,21 +158,25 @@ wifi@18000000 {
138158
compatible = "qcom,wcn3990-wifi";
139159
reg = <0x18800000 0x800000>;
140160
reg-names = "membase";
141-
clocks = <&clock_gcc clk_aggre2_noc_clk>;
142-
clock-names = "smmu_aggre2_noc_clk"
161+
clocks = <&clock_gcc clk_rf_clk2_pin>;
162+
clock-names = "cxo_ref_clk_pin";
143163
interrupts =
144-
<0 130 0 /* CE0 */ >,
145-
<0 131 0 /* CE1 */ >,
146-
<0 132 0 /* CE2 */ >,
147-
<0 133 0 /* CE3 */ >,
148-
<0 134 0 /* CE4 */ >,
149-
<0 135 0 /* CE5 */ >,
150-
<0 136 0 /* CE6 */ >,
151-
<0 137 0 /* CE7 */ >,
152-
<0 138 0 /* CE8 */ >,
153-
<0 139 0 /* CE9 */ >,
154-
<0 140 0 /* CE10 */ >,
155-
<0 141 0 /* CE11 */ >;
164+
<GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>,
165+
<GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>,
166+
<GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
167+
<GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
168+
<GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
169+
<GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
170+
<GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
171+
<GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
172+
<GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
173+
<GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
174+
<GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
175+
<GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;
156176
vdd-0.8-cx-mx-supply = <&pm8998_l5>;
177+
vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
178+
vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
179+
vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
157180
memory-region = <&wifi_msa_mem>;
181+
iommus = <&apps_smmu 0x0040 0x1>;
158182
};

drivers/net/wireless/ath/ath10k/Kconfig

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ config ATH10K_SNOC
4747
select QCOM_QMI_HELPERS
4848
---help---
4949
This module adds support for integrated WCN3990 chip connected
50-
to system NOC(SNOC). Currently work in progress and will not
51-
fully work.
50+
to system NOC(SNOC).
5251

5352
config ATH10K_DEBUG
5453
bool "Atheros ath10k debugging"

drivers/net/wireless/ath/ath10k/core.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,7 @@ struct ath10k_sta {
494494
u32 smps;
495495
u16 peer_id;
496496
struct rate_info txrate;
497+
struct ieee80211_tx_info tx_info;
497498

498499
struct work_struct update_wk;
499500
u64 rx_duration;

drivers/net/wireless/ath/ath10k/debugfs_sta.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ void ath10k_sta_update_rx_tid_stats_ampdu(struct ath10k *ar, u16 peer_id, u8 tid
7171
spin_lock_bh(&ar->data_lock);
7272

7373
peer = ath10k_peer_find_by_id(ar, peer_id);
74-
if (!peer)
74+
if (!peer || !peer->sta)
7575
goto out;
7676

7777
arsta = (struct ath10k_sta *)peer->sta->drv_priv;

0 commit comments

Comments
 (0)