Commit 9daaf197 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge tag 'wireless-next-2025-05-06' of...

Merge tag 'wireless-next-2025-05-06' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next

Johannes Berg says:

====================
wireless features, notably

 * stack
   - free SKBTX_WIFI_STATUS flag
   - fixes for VLAN multicast in multi-link
   - improve codel parameters (revert some old twiddling)
 * ath12k
   - Enable AHB support for IPQ5332.
   - Add monitor interface support to QCN9274.
   - Add MLO support to WCN7850.
   - Add 802.11d scan offload support to WCN7850.
 * ath11k
   - Restore hibernation support
 * iwlwifi
   - EMLSR on two 5 GHz links
 * mwifiex
   - cleanups/refactoring

along with many other small features/cleanups

* tag 'wireless-next-2025-05-06' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next: (177 commits)
  Revert "wifi: iwlwifi: clean up config macro"
  wifi: iwlwifi: move phy_filters to fw_runtime
  wifi: iwlwifi: pcie: make sure to lock rxq->read
  wifi: iwlwifi: add definitions for iwl_mac_power_cmd version 2
  wifi: iwlwifi: clean up config macro
  wifi: iwlwifi: mld: simplify iwl_mld_rx_fill_status()
  wifi: iwlwifi: mld: rx: simplify channel handling
  wifi: iwlwifi: clean up band in RX metadata
  wifi: iwlwifi: mld: skip unknown FW channel load values
  wifi: iwlwifi: define API for external FSEQ images
  wifi: iwlwifi: mld: allow EMLSR on separated 5 GHz subbands
  wifi: iwlwifi: mld: use cfg80211_chandef_get_width()
  wifi: iwlwifi: mld: fix iwl_mld_emlsr_disallowed_with_link() return
  wifi: iwlwifi: mld: clarify variable type
  wifi: iwlwifi: pcie: add support for the reset handshake in MSI
  wifi: mac80211_hwsim: Prevent tsf from setting if beacon is disabled
  wifi: mac80211: restructure tx profile retrieval for MLO MBSSID
  wifi: nl80211: add link id of transmitted profile for MLO MBSSID
  wifi: ieee80211: Add helpers to fetch EMLSR delay and timeout values
  wifi: mac80211: update ML STA with EML capabilities
  ...

====================

Link: https://patch.msgid.link/20250506174656.119970-3-johannes@sipsolutions.net


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents a7371be8 885e5cba
Loading
Loading
Loading
Loading
+1 −24
Original line number Diff line number Diff line
@@ -16,30 +16,6 @@ properties:
  label:
    description: Human readable label on a port of a box.

  local-mac-address:
    description:
      Specifies the MAC address that was assigned to the network device.
    $ref: /schemas/types.yaml#/definitions/uint8-array
    minItems: 6
    maxItems: 6

  mac-address:
    description:
      Specifies the MAC address that was last used by the boot
      program; should be used in cases where the MAC address assigned
      to the device by the boot program is different from the
      local-mac-address property.
    $ref: /schemas/types.yaml#/definitions/uint8-array
    minItems: 6
    maxItems: 6

  max-frame-size:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Maximum transfer unit (IEEE defined MTU), rather than the
      maximum frame size (there\'s contradiction in the Devicetree
      Specification).

  max-speed:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
@@ -262,6 +238,7 @@ dependencies:
  pcs-handle-names: [pcs-handle]

allOf:
  - $ref: /schemas/net/network-class.yaml#
  - if:
      properties:
        phy-mode:
+46 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/network-class.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Network Class Common Properties

maintainers:
  - Devicetree Specification Mailing List <devicetree-spec@vger.kernel.org>

properties:
  address-bits:
    description:
      Specifies number of address bits required to address the device
      described by this node, e.g. size of the MAC address.
    default: 48
    const: 48

  local-mac-address:
    description:
      Specifies MAC address that was assigned to the network device described by
      the node containing this property.
    $ref: /schemas/types.yaml#/definitions/uint8-array
    minItems: 6
    maxItems: 6

  mac-address:
    description:
      Specifies the MAC address that was last used by the boot program. This
      property should be used in cases where the MAC address assigned to the
      device by the boot program is different from the
      local-mac-address property. This property shall be used only if the value
      differs from local-mac-address property value.
    $ref: /schemas/types.yaml#/definitions/uint8-array
    minItems: 6
    maxItems: 6

  max-frame-size:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Maximum transfer unit (IEEE defined MTU), rather than the
      maximum frame size (there\'s contradiction in the Devicetree
      Specification).

additionalProperties: true
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ description:
  binding.

allOf:
  - $ref: ieee80211.yaml#
  - $ref: /schemas/net/wireless/wireless-controller.yaml#

properties:
  compatible:
+315 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (c) 2024-2025 Qualcomm Innovation Center, Inc. All rights reserved.
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/wireless/qcom,ipq5332-wifi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Technologies ath12k wireless devices (AHB)

maintainers:
  - Jeff Johnson <jjohnson@kernel.org>

description:
  Qualcomm Technologies IEEE 802.11be AHB devices.

properties:
  compatible:
    enum:
      - qcom,ipq5332-wifi

  reg:
    maxItems: 1

  clocks:
    items:
      - description: XO clock used for copy engine

  clock-names:
    items:
      - const: xo

  interrupts:
    items:
      - description: Fatal interrupt
      - description: Ready interrupt
      - description: Spawn acknowledge interrupt
      - description: Stop acknowledge interrupt
      - description: misc-pulse1 interrupt events
      - description: misc-latch interrupt events
      - description: sw exception interrupt events
      - description: interrupt event for ring CE0
      - description: interrupt event for ring CE1
      - description: interrupt event for ring CE2
      - description: interrupt event for ring CE3
      - description: interrupt event for ring CE4
      - description: interrupt event for ring CE5
      - description: interrupt event for ring CE6
      - description: interrupt event for ring CE7
      - description: interrupt event for ring CE8
      - description: interrupt event for ring CE9
      - description: interrupt event for ring CE10
      - description: interrupt event for ring CE11
      - description: interrupt event for ring host2wbm-desc-feed
      - description: interrupt event for ring host2reo-re-injection
      - description: interrupt event for ring host2reo-command
      - description: interrupt event for ring host2rxdma-monitor-ring1
      - description: interrupt event for ring reo2ost-exception
      - description: interrupt event for ring wbm2host-rx-release
      - description: interrupt event for ring reo2host-status
      - description: interrupt event for ring reo2host-destination-ring4
      - description: interrupt event for ring reo2host-destination-ring3
      - description: interrupt event for ring reo2host-destination-ring2
      - description: interrupt event for ring reo2host-destination-ring1
      - description: interrupt event for ring rxdma2host-monitor-destination-mac3
      - description: interrupt event for ring rxdma2host-monitor-destination-mac2
      - description: interrupt event for ring rxdma2host-monitor-destination-mac1
      - description: interrupt event for ring host2rxdma-host-buf-ring-mac3
      - description: interrupt event for ring host2rxdma-host-buf-ring-mac2
      - description: interrupt event for ring host2rxdma-host-buf-ring-mac1
      - description: interrupt event for ring host2tcl-input-ring4
      - description: interrupt event for ring host2tcl-input-ring3
      - description: interrupt event for ring host2tcl-input-ring2
      - description: interrupt event for ring host2tcl-input-ring1
      - description: interrupt event for ring wbm2host-tx-completions-ring4
      - description: interrupt event for ring wbm2host-tx-completions-ring3
      - description: interrupt event for ring wbm2host-tx-completions-ring2
      - description: interrupt event for ring wbm2host-tx-completions-ring1
      - description: interrupt event for ring host2tx-monitor-ring1
      - description: interrupt event for ring txmon2host-monitor-destination-mac3
      - description: interrupt event for ring txmon2host-monitor-destination-mac2
      - description: interrupt event for ring txmon2host-monitor-destination-mac1
      - description: interrupt event for umac-reset

  interrupt-names:
    items:
      - const: fatal
      - const: ready
      - const: spawn
      - const: stop-ack
      - const: misc-pulse1
      - const: misc-latch
      - const: sw-exception
      - const: ce0
      - const: ce1
      - const: ce2
      - const: ce3
      - const: ce4
      - const: ce5
      - const: ce6
      - const: ce7
      - const: ce8
      - const: ce9
      - const: ce10
      - const: ce11
      - const: host2wbm-desc-feed
      - const: host2reo-re-injection
      - const: host2reo-command
      - const: host2rxdma-monitor-ring1
      - const: reo2ost-exception
      - const: wbm2host-rx-release
      - const: reo2host-status
      - const: reo2host-destination-ring4
      - const: reo2host-destination-ring3
      - const: reo2host-destination-ring2
      - const: reo2host-destination-ring1
      - const: rxdma2host-monitor-destination-mac3
      - const: rxdma2host-monitor-destination-mac2
      - const: rxdma2host-monitor-destination-mac1
      - const: host2rxdma-host-buf-ring-mac3
      - const: host2rxdma-host-buf-ring-mac2
      - const: host2rxdma-host-buf-ring-mac1
      - const: host2tcl-input-ring4
      - const: host2tcl-input-ring3
      - const: host2tcl-input-ring2
      - const: host2tcl-input-ring1
      - const: wbm2host-tx-completions-ring4
      - const: wbm2host-tx-completions-ring3
      - const: wbm2host-tx-completions-ring2
      - const: wbm2host-tx-completions-ring1
      - const: host2tx-monitor-ring1
      - const: txmon2host-monitor-destination-mac3
      - const: txmon2host-monitor-destination-mac2
      - const: txmon2host-monitor-destination-mac1
      - const: umac-reset

  memory-region:
    description:
      Memory regions used by the ath12k firmware.
    items:
      - description: Q6 memory region
      - description: m3 dump memory region
      - description: Q6 caldata memory region
      - description: Multi Link Operation (MLO) Global memory region

  memory-region-names:
    items:
      - const: q6-region
      - const: m3-dump
      - const: q6-caldb
      - const: mlo-global-mem

  qcom,calibration-variant:
    $ref: /schemas/types.yaml#/definitions/string
    description:
      String to uniquely identify variant of the calibration data for designs
      with colliding bus and device ids

  qcom,rproc:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      Phandle to the Qualcomm Hexagon DSP(q6 remote processor), which is utilized
      for offloading WiFi processing tasks, this q6 remote processor operates in
      conjunction with WiFi.

  qcom,smem-states:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    description: States used by the AP to signal the remote processor
    items:
      - description: Shutdown WCSS pd
      - description: Stop WCSS pd
      - description: Spawn WCSS pd

  qcom,smem-state-names:
    description:
      Names of the states used by the AP to signal the remote processor
    items:
      - const: shutdown
      - const: stop
      - const: spawn

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - interrupts
  - interrupt-names
  - memory-region
  - memory-region-names
  - qcom,rproc
  - qcom,smem-states
  - qcom,smem-state-names

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/qcom,ipq5332-gcc.h>

    wifi0: wifi@c000000 {
        compatible = "qcom,ipq5332-wifi";
        reg = <0x0c000000 0x1000000>;
        clocks = <&gcc GCC_XO_CLK>;
        clock-names = "xo";
        interrupts-extended = <&wcss_smp2p_in 8 IRQ_TYPE_NONE>,
                              <&wcss_smp2p_in 9 IRQ_TYPE_NONE>,
                              <&wcss_smp2p_in 12 IRQ_TYPE_NONE>,
                              <&wcss_smp2p_in 11 IRQ_TYPE_NONE>,
                              <&intc GIC_SPI 559 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 560 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 561 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 422 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 423 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 424 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 425 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 426 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 427 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 428 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 429 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 430 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 431 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 432 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 433 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 491 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 495 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 493 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 544 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 457 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 466 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 497 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 454 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 453 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 452 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 451 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 488 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 488 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 484 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 554 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 554 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 549 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 507 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 500 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 499 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 498 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 450 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 449 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 448 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 447 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 543 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 486 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 486 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 482 IRQ_TYPE_EDGE_RISING>,
                              <&intc GIC_SPI 419 IRQ_TYPE_EDGE_RISING>;
        interrupt-names = "fatal",
                          "ready",
                          "spawn",
                          "stop-ack",
                          "misc-pulse1",
                          "misc-latch",
                          "sw-exception",
                          "ce0",
                          "ce1",
                          "ce2",
                          "ce3",
                          "ce4",
                          "ce5",
                          "ce6",
                          "ce7",
                          "ce8",
                          "ce9",
                          "ce10",
                          "ce11",
                          "host2wbm-desc-feed",
                          "host2reo-re-injection",
                          "host2reo-command",
                          "host2rxdma-monitor-ring1",
                          "reo2ost-exception",
                          "wbm2host-rx-release",
                          "reo2host-status",
                          "reo2host-destination-ring4",
                          "reo2host-destination-ring3",
                          "reo2host-destination-ring2",
                          "reo2host-destination-ring1",
                          "rxdma2host-monitor-destination-mac3",
                          "rxdma2host-monitor-destination-mac2",
                          "rxdma2host-monitor-destination-mac1",
                          "host2rxdma-host-buf-ring-mac3",
                          "host2rxdma-host-buf-ring-mac2",
                          "host2rxdma-host-buf-ring-mac1",
                          "host2tcl-input-ring4",
                          "host2tcl-input-ring3",
                          "host2tcl-input-ring2",
                          "host2tcl-input-ring1",
                          "wbm2host-tx-completions-ring4",
                          "wbm2host-tx-completions-ring3",
                          "wbm2host-tx-completions-ring2",
                          "wbm2host-tx-completions-ring1",
                          "host2tx-monitor-ring1",
                          "txmon2host-monitor-destination-mac3",
                          "txmon2host-monitor-destination-mac2",
                          "txmon2host-monitor-destination-mac1",
                          "umac-reset";

        memory-region = <&q6_region>, <&m3_dump>, <&q6_caldb>, <&mlo_mem>;
        memory-region-names = "q6-region", "m3-dump", "q6-caldb", "mlo-global-mem";
        qcom,calibration-variant = "RDP441_1";
        qcom,rproc = <&q6v5_wcss>;
        qcom,smem-states = <&wcss_smp2p_out 8>,
                           <&wcss_smp2p_out 9>,
                           <&wcss_smp2p_out 10>;
        qcom,smem-state-names = "shutdown",
                                "stop",
                                "spawn";
    };
+1 −4
Original line number Diff line number Diff line
@@ -71,15 +71,12 @@ properties:
      "Platform Data Set" in Silabs jargon). Default depends of "compatible"
      string. For "silabs,wf200", the default is 'wf200.pds'.

  local-mac-address: true

  mac-address: true

required:
  - compatible
  - reg

allOf:
  - $ref: /schemas/net/wireless/wireless-controller.yaml#
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

unevaluatedProperties: false
Loading