Commit 80ab5445 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge tag 'wireless-next-2024-07-11' of...

Merge tag 'wireless-next-2024-07-11' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next

Kalle Valo says:

====================
wireless-next patches for v6.11

Most likely the last "new features" pull request for v6.11 with
changes both in stack and in drivers. The big thing is the multiple
radios for wiphy feature which makes it possible to better advertise
radio capabilities to user space. mt76 enabled MLO and iwlwifi
re-enabled MLO, ath12k and rtw89 Wi-Fi 6 devices got WoWLAN support.

Major changes:

cfg80211/mac80211
 * remove DEAUTH_NEED_MGD_TX_PREP flag
 * multiple radios per wiphy support

mac80211_hwsim
 * multi-radio wiphy support

ath12k
 * DebugFS support for datapath statistics
 * WCN7850: support for WoW (Wake on WLAN)
 * WCN7850: device-tree bindings

ath11k
 * QCA6390: device-tree bindings

iwlwifi
 * mvm: re-enable Multi-Link Operation (MLO)
 * aggregation (A-MSDU) optimisations

rtw89
 * preparation for RTL8852BE-VT support
 * WoWLAN support for WiFi 6 chips
 * 36-bit PCI DMA support

mt76
 * mt7925 Multi-Link Operation (MLO) support

* tag 'wireless-next-2024-07-11' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next: (204 commits)
  wifi: mac80211: fix AP chandef capturing in CSA
  wifi: iwlwifi: correctly reference TSO page information
  wifi: mt76: mt792x: fix scheduler interference in drv own process
  wifi: mt76: mt7925: enabling MLO when the firmware supports it
  wifi: mt76: mt7925: remove the unused mt7925_mcu_set_chan_info
  wifi: mt76: mt7925: update mt7925_mac_link_bss_add for MLO
  wifi: mt76: mt7925: update mt7925_mcu_bss_basic_tlv for MLO
  wifi: mt76: mt7925: update mt7925_mcu_set_timing for MLO
  wifi: mt76: mt7925: update mt7925_mcu_sta_phy_tlv for MLO
  wifi: mt76: mt7925: update mt7925_mcu_sta_rate_ctrl_tlv for MLO
  wifi: mt76: mt7925: add mt7925_mcu_sta_eht_mld_tlv for MLO
  wifi: mt76: mt7925: update mt7925_mcu_sta_update for MLO
  wifi: mt76: mt7925: update mt7925_mcu_add_bss_info for MLO
  wifi: mt76: mt7925: update mt7925_mcu_bss_mld_tlv for MLO
  wifi: mt76: mt7925: update mt7925_mcu_sta_mld_tlv for MLO
  wifi: mt76: mt7925: add mt7925_[assign,unassign]_vif_chanctx
  wifi: mt76: add def_wcid to struct mt76_wcid
  wifi: mt76: mt7925: report link information in rx status
  wifi: mt76: mt7925: update rate index according to link id
  wifi: mt76: mt7925: add link handling in the mt7925_ipv6_addr_change
  ...
====================

Link: https://patch.msgid.link/20240711102353.0C849C116B1@smtp.kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents cef4902b dabcfd5e
Loading
Loading
Loading
Loading
+46 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ description: |
properties:
  compatible:
    enum:
      - pci17cb,1101  # QCA6390
      - pci17cb,1103  # WCN6855

  reg:
@@ -28,10 +29,55 @@ properties:
      string to uniquely identify variant of the calibration data for designs
      with colliding bus and device ids

  vddrfacmn-supply:
    description: VDD_RFA_CMN supply regulator handle

  vddaon-supply:
    description: VDD_AON supply regulator handle

  vddwlcx-supply:
    description: VDD_WL_CX supply regulator handle

  vddwlmx-supply:
    description: VDD_WL_MX supply regulator handle

  vddrfa0p8-supply:
    description: VDD_RFA_0P8 supply regulator handle

  vddrfa1p2-supply:
    description: VDD_RFA_1P2 supply regulator handle

  vddrfa1p7-supply:
    description: VDD_RFA_1P7 supply regulator handle

  vddpcie0p9-supply:
    description: VDD_PCIE_0P9 supply regulator handle

  vddpcie1p8-supply:
    description: VDD_PCIE_1P8 supply regulator handle

required:
  - compatible
  - reg

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: pci17cb,1101
    then:
      required:
        - vddrfacmn-supply
        - vddaon-supply
        - vddwlcx-supply
        - vddwlmx-supply
        - vddrfa0p8-supply
        - vddrfa1p2-supply
        - vddrfa1p7-supply
        - vddpcie0p9-supply
        - vddpcie1p8-supply

additionalProperties: false

examples:
+99 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (c) 2024 Linaro Limited
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/wireless/qcom,ath12k.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Technologies ath12k wireless devices (PCIe)

maintainers:
  - Jeff Johnson <quic_jjohnson@quicinc.com>
  - Kalle Valo <kvalo@kernel.org>

description:
  Qualcomm Technologies IEEE 802.11be PCIe devices.

properties:
  compatible:
    enum:
      - pci17cb,1107  # WCN7850

  reg:
    maxItems: 1

  vddaon-supply:
    description: VDD_AON supply regulator handle

  vddwlcx-supply:
    description: VDD_WLCX supply regulator handle

  vddwlmx-supply:
    description: VDD_WLMX supply regulator handle

  vddrfacmn-supply:
    description: VDD_RFA_CMN supply regulator handle

  vddrfa0p8-supply:
    description: VDD_RFA_0P8 supply regulator handle

  vddrfa1p2-supply:
    description: VDD_RFA_1P2 supply regulator handle

  vddrfa1p8-supply:
    description: VDD_RFA_1P8 supply regulator handle

  vddpcie0p9-supply:
    description: VDD_PCIE_0P9 supply regulator handle

  vddpcie1p8-supply:
    description: VDD_PCIE_1P8 supply regulator handle

required:
  - compatible
  - reg
  - vddaon-supply
  - vddwlcx-supply
  - vddwlmx-supply
  - vddrfacmn-supply
  - vddrfa0p8-supply
  - vddrfa1p2-supply
  - vddrfa1p8-supply
  - vddpcie0p9-supply
  - vddpcie1p8-supply

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/qcom,rpmh.h>
    #include <dt-bindings/gpio/gpio.h>
    pcie {
        #address-cells = <3>;
        #size-cells = <2>;

        pcie@0 {
            device_type = "pci";
            reg = <0x0 0x0 0x0 0x0 0x0>;
            #address-cells = <3>;
            #size-cells = <2>;
            ranges;

            bus-range = <0x01 0xff>;

            wifi@0 {
                compatible = "pci17cb,1107";
                reg = <0x10000 0x0 0x0 0x0 0x0>;

                vddaon-supply = <&vreg_pmu_aon_0p59>;
                vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
                vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
                vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
                vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
                vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
                vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
                vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
                vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
            };
        };
    };
+1 −2
Original line number Diff line number Diff line
@@ -1877,8 +1877,7 @@ static void ath11k_dp_rx_h_csum_offload(struct ath11k *ar, struct sk_buff *msdu)
			  CHECKSUM_NONE : CHECKSUM_UNNECESSARY;
}

static int ath11k_dp_rx_crypto_mic_len(struct ath11k *ar,
				       enum hal_encrypt_type enctype)
int ath11k_dp_rx_crypto_mic_len(struct ath11k *ar, enum hal_encrypt_type enctype)
{
	switch (enctype) {
	case HAL_ENCRYPT_TYPE_OPEN:
+3 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: BSD-3-Clause-Clear */
/*
 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
 * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
 */
#ifndef ATH11K_DP_RX_H
#define ATH11K_DP_RX_H
@@ -95,4 +96,6 @@ int ath11k_peer_rx_frag_setup(struct ath11k *ar, const u8 *peer_mac, int vdev_id
int ath11k_dp_rx_pktlog_start(struct ath11k_base *ab);
int ath11k_dp_rx_pktlog_stop(struct ath11k_base *ab, bool stop_timer);

int ath11k_dp_rx_crypto_mic_len(struct ath11k *ar, enum hal_encrypt_type enctype);

#endif /* ATH11K_DP_RX_H */
+12 −4
Original line number Diff line number Diff line
@@ -353,8 +353,12 @@ ath11k_dp_tx_htt_tx_complete_buf(struct ath11k_base *ab,
	if (ts->acked) {
		if (!(info->flags & IEEE80211_TX_CTL_NO_ACK)) {
			info->flags |= IEEE80211_TX_STAT_ACK;
			info->status.ack_signal = ATH11K_DEFAULT_NOISE_FLOOR +
						  ts->ack_rssi;
			info->status.ack_signal = ts->ack_rssi;

			if (!test_bit(WMI_TLV_SERVICE_HW_DB2DBM_CONVERSION_SUPPORT,
				      ab->wmi_ab.svc_map))
				info->status.ack_signal += ATH11K_DEFAULT_NOISE_FLOOR;

			info->status.flags |=
				IEEE80211_TX_STATUS_ACK_SIGNAL_VALID;
		} else {
@@ -584,8 +588,12 @@ static void ath11k_dp_tx_complete_msdu(struct ath11k *ar,
	if (ts->status == HAL_WBM_TQM_REL_REASON_FRAME_ACKED &&
	    !(info->flags & IEEE80211_TX_CTL_NO_ACK)) {
		info->flags |= IEEE80211_TX_STAT_ACK;
		info->status.ack_signal = ATH11K_DEFAULT_NOISE_FLOOR +
					  ts->ack_rssi;
		info->status.ack_signal = ts->ack_rssi;

		if (!test_bit(WMI_TLV_SERVICE_HW_DB2DBM_CONVERSION_SUPPORT,
			      ab->wmi_ab.svc_map))
			info->status.ack_signal += ATH11K_DEFAULT_NOISE_FLOOR;

		info->status.flags |= IEEE80211_TX_STATUS_ACK_SIGNAL_VALID;
	}

Loading