1. 04 Jul, 2024 1 commit
  2. 03 Jul, 2024 1 commit
    • Kalle Valo's avatar
      Merge tag 'ath-next-20240702' of git://git.kernel.org/pub/scm/linux/kernel/git/ath/ath · c1cacb01
      Kalle Valo authored
      ath.git patches for v6.11
      
      We have moved to a new group-managed repo, and this is the first pull
      request from that repo, and from me. Fingers crossed...
      
      We have some new features in ath12k along with some cleanups in ath11k
      and ath12k. Also notable are some device-tree changes to allow certain
      ath11k and ath12k devices to work with a new power sequencing
      subsystem.
      
      Major changes:
      
      ath12k
      
      * DebugFS support for datapath statistics
      * WCN7850: support for WoW (Wake on WLAN)
      * WCN7850: device-tree bindings
      
      ath11k
      
      * QCA6390: device-tree bindings
      c1cacb01
  3. 01 Jul, 2024 7 commits
    • Dinesh Karthikeyan's avatar
      wifi: ath12k: Support TQM stats · 5344fc76
      Dinesh Karthikeyan authored
      Add support to request pdev TQM stats from firmware through HTT stats
      type 6. This stat type gives information such as TQM error, MPDU
      related information and TQM pdev stats.
      
      Sample output:
      -------------
      echo 6 > /sys/kernel/debug/ath12k/pci-0000\:06\:00.0/mac0/htt_stats_type
      cat /sys/kernel/debug/ath12k/pci-0000\:06\:00.0/mac0/htt_stats
      
      HTT_TX_TQM_ERROR_STATS_TLV:
      q_empty_failure = 0
      q_not_empty_failure = 0
      add_msdu_failure = 0
      
      TQM_ERROR_RESET_STATS:
      tqm_cache_ctl_err = 0
      tqm_soft_reset = 0
      tqm_reset_total_num_in_use_link_descs = 0
      .....
      
      HTT_TX_TQM_GEN_MPDU_STATS_TLV:
      gen_mpdu_end_reason =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0,
      10:0, 11:0, 12:0, 13:0, 14:0, 15:0, 16:0
      
      HTT_TX_TQM_LIST_MPDU_STATS_TLV:
      list_mpdu_end_reason =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0,
      10:0, 11:0, 12:0
      
      HTT_TX_TQM_LIST_MPDU_CNT_TLV_V:
      list_mpdu_cnt_hist =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0
      
      HTT_TX_TQM_PDEV_STATS_TLV_V:
      msdu_count = 0
      mpdu_count = 0
      remove_msdu = 0
      
      Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
      Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4
      Signed-off-by: default avatarDinesh Karthikeyan <quic_dinek@quicinc.com>
      Signed-off-by: default avatarRoopni Devanathan <quic_rdevanat@quicinc.com>
      Acked-by: default avatarJeff Johnson <quic_jjohnson@quicinc.com>
      Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
      Link: https://patch.msgid.link/20240625042217.1303332-4-quic_rdevanat@quicinc.com
      5344fc76
    • Dinesh Karthikeyan's avatar
      wifi: ath12k: Support pdev error stats · cf1187b3
      Dinesh Karthikeyan authored
      Add support to request pdev error stats from firmware through HTT stats
      type 5. This stats type gives information such as list of pdev errors,
      reasons for reset, logging information about recovery, drain and war
      stats. etc.
      
      Sample output:
      -------------
      echo 5 > /sys/kernel/debug/ath12k/pci-0000\:06\:00.0/mac0/htt_stats_type
      cat /sys/kernel/debug/ath12k/pci-0000\:06\:00.0/mac0/htt_stats
      
      HTT_HW_STATS_PDEV_ERRS_TLV:
      mac_id = 0
      tx_abort = 0
      tx_abort_fail_count = 0
      rx_abort = 53
      .....
      
      PDEV_PHY_WARM_RESET_REASONS:
      phy_warm_reset_reason_phy_m3 = 0
      phy_warm_reset_reason_tx_hw_stuck = 0
      phy_warm_reset_reason_num_cca_rx_frame_stuck = 0
      .....
      
      WAL_RX_RECOVERY_STATS:
      wal_rx_recovery_rst_mac_hang_count = 0
      wal_rx_recovery_rst_known_sig_count = 0
      wal_rx_recovery_rst_no_rx_count = 0
      .....
      
      HTT_RX_DEST_DRAIN_STATS:
      rx_dest_drain_rx_descs_leak_prevention_done = 0
      rx_dest_drain_rx_descs_saved_cnt = 0
      rx_dest_drain_rxdma2reo_leak_detected = 0
      .....
      
      HTT_HW_STATS_INTR_MISC_TLV:
      hw_intr_name = AMPI
      mask = 0
      count = 2
      
      HTT_HW_STATS_WHAL_TX_TLV:
      mac_id = 0
      last_unpause_ppdu_id = 0
      hwsch_unpause_wait_tqm_write = 0
      .....
      
      HTT_HW_WAR_STATS_TLV:
      mac_id = 0
      hw_war 0 = 0
      hw_war 1 = 0
      .....
      
      Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
      Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4
      Signed-off-by: default avatarDinesh Karthikeyan <quic_dinek@quicinc.com>
      Signed-off-by: default avatarRoopni Devanathan <quic_rdevanat@quicinc.com>
      Acked-by: default avatarJeff Johnson <quic_jjohnson@quicinc.com>
      Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
      Link: https://patch.msgid.link/20240625042217.1303332-3-quic_rdevanat@quicinc.com
      cf1187b3
    • Dinesh Karthikeyan's avatar
      wifi: ath12k: Support Transmit Scheduler stats · 4b6dfc75
      Dinesh Karthikeyan authored
      Add support to request transmission scheduler stats from firmware through
      HTT stats type 4. This stat gives information such as pdev stats
      scheduled per transmission queue, transmission queue command posted and
      reaped, scheduler order, scheduler ineligibility and supercycle triggers.
      
      Sample output:
      -------------
      echo 4 > /sys/kernel/debug/ath12k/pci-0000\:06\:00.0/mac0/htt_stats_type
      cat /sys/kernel/debug/ath12k/pci-0000\:06\:00.0/mac0/htt_stats
      HTT_STATS_TX_SCHED_CMN_TLV:
      mac_id = 0
      current_timestamp = 952546828
      
      HTT_TX_PDEV_STATS_SCHED_PER_TXQ_TLV:
      mac_id = 0
      txq_id = 14
      sched_policy = 2
      .....
      
      HTT_SCHED_TXQ_CMD_POSTED_TLV:
      sched_cmd_posted =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0,
      10:0, 11:0, 12:0
      
      HTT_SCHED_TXQ_CMD_REAPED_TLV:
      sched_cmd_reaped =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0,
      10:0, 11:0, 12:0
      
      HTT_SCHED_TXQ_SCHED_ORDER_SU_TLV:
      sched_order_su =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0, 10:0,
      11:0, 12:0, 13:0, 14:0, 15:0, 16:0, 17:0, 18:0, 19:0
      
      HTT_SCHED_TXQ_SCHED_INELIGIBILITY:
      sched_ineligibility =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0,
      10:0, 11:0, 12:0, 13:0, 14:0, 15:0, 16:0, 17:0, 18:0, 19:0, 20:0, 21:0,
      22:0, 23:0, 24:0, 25:0, 26:0, 27:0, 28:0, 29:0, 30:0, 31:0, 32:0, 33:0,
      34:0, 35:0
      
      HTT_SCHED_TXQ_SUPERCYCLE_TRIGGER:
      supercycle_triggers =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0
      
      Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
      Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4
      Signed-off-by: default avatarDinesh Karthikeyan <quic_dinek@quicinc.com>
      Signed-off-by: default avatarRoopni Devanathan <quic_rdevanat@quicinc.com>
      Acked-by: default avatarJeff Johnson <quic_jjohnson@quicinc.com>
      Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
      Link: https://patch.msgid.link/20240625042217.1303332-2-quic_rdevanat@quicinc.com
      4b6dfc75
    • Ramya Gnanasekar's avatar
      wifi: ath12k: Dump additional Tx PDEV HTT stats · a9f2976f
      Ramya Gnanasekar authored
      Support to dump additional Tx PDEV stats through HTT stats debugfs.
      Following stats dump are supported:
              1. PDEV control path stat to dump Tx management frame count
              2. Tx PDEV SIFS histogram stats
              3. Tx MU MIMO PPDU stats for 802.11ac, 802.11ax and 802.11be
      
      Sample Output:
      ---------------
      echo 1 > /sys/kernel/debug/ath12k/pci-0000\:06\:00.0/mac0/htt_stats_type
      cat /sys/kernel/debug/ath12k/pci-0000\:06\:00.0/mac0/htt_stats
      
      HTT_TX_PDEV_STATS_CMN_TLV:
      mac_id = 0
      comp_delivered = 0
      self_triggers = 13
      ......
      ......
      HTT_TX_PDEV_STATS_CTRL_PATH_TX_STATS:
      fw_tx_mgmt_subtype =  0:1, 1:0, 2:0, 3:0, 4:38, 5:0, 6:0, 7:0, 8:0, 9:0, 10:0, 11:1, 12:0, 13:7, 14:0, 15:0
      
      HTT_TX_PDEV_STATS_SIFS_HIST_TLV:
      sifs_hist_status =  0:237, 1:185, 2:1, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0
      
      HTT_TX_PDEV_AC_MU_PPDU_DISTRIBUTION_STATS:
      ac_mu_mimo_num_seq_posted_nr4 = 0
      ac_mu_mimo_num_ppdu_posted_per_burst_nr4 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0
      ac_mu_mimo_num_ppdu_completed_per_burst_nr4 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0
      ac_mu_mimo_num_seq_term_status_nr4 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0
      
      ac_mu_mimo_num_seq_posted_nr8 = 0
      ac_mu_mimo_num_ppdu_posted_per_burst_nr8 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0
      ac_mu_mimo_num_ppdu_completed_per_burst_nr8 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0
      ac_mu_mimo_num_seq_term_status_nr8 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0
      
      HTT_TX_PDEV_AX_MU_PPDU_DISTRIBUTION_STATS:
      ax_mu_mimo_num_seq_posted_nr4 = 0
      ax_mu_mimo_num_ppdu_posted_per_burst_nr4 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0
      ax_mu_mimo_num_ppdu_completed_per_burst_nr4 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0
      ax_mu_mimo_num_seq_term_status_nr4 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0
      
      ax_mu_mimo_num_seq_posted_nr8 = 0
      ax_mu_mimo_num_ppdu_posted_per_burst_nr8 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0
      ax_mu_mimo_num_ppdu_completed_per_burst_nr8 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0
      ax_mu_mimo_num_seq_term_status_nr8 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0
      
      HTT_TX_PDEV_BE_MU_PPDU_DISTRIBUTION_STATS:
      be_mu_mimo_num_seq_posted_nr4 = 0
      be_mu_mimo_num_ppdu_posted_per_burst_nr4 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0
      be_mu_mimo_num_ppdu_completed_per_burst_nr4 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0
      be_mu_mimo_num_seq_term_status_nr4 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0
      
      be_mu_mimo_num_seq_posted_nr8 = 0
      be_mu_mimo_num_ppdu_posted_per_burst_nr8 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0
      be_mu_mimo_num_ppdu_completed_per_burst_nr8 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0
      be_mu_mimo_num_seq_term_status_nr8 =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0
      
      Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
      Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
      Signed-off-by: default avatarRamya Gnanasekar <quic_rgnanase@quicinc.com>
      Acked-by: default avatarJeff Johnson <quic_jjohnson@quicinc.com>
      Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
      Link: https://patch.msgid.link/20240626085854.2500681-5-quic_rgnanase@quicinc.com
      a9f2976f
    • Dinesh Karthikeyan's avatar
      wifi: ath12k: Add support to parse requested stats_type · adf6df96
      Dinesh Karthikeyan authored
      Add extended htt stats parser and print the corresponding TLVs associated
      with the requested htt_stats_type.
      Add support for TX PDEV related htt stats.
      
      Sample output:
      --------------
      echo 1 > /sys/kernel/debug/ath12k/pci-0000\:06\:00.0/mac0/htt_stats_type
      cat /sys/kernel/debug/ath12k/pci-0000\:06\:00.0/mac0/htt_stats
      
      HTT_TX_PDEV_STATS_CMN_TLV:
      mac_id = 0
      comp_delivered = 0
      self_triggers = 256
      hw_queued = 275
      hw_reaped = 275
      underrun = 241
      hw_paused = 0
      hw_flush = 0
      hw_filt = 1
      tx_abort = 0
      ppdu_ok = 246
      mpdu_requeued = 0
      tx_xretry = 0
      data_rc = 3
      mpdu_dropped_xretry = 0
      illegal_rate_phy_err = 0
      cont_xretry = 0
      tx_timeout = 0
      tx_time_dur_data = 0
      pdev_resets = 0
      phy_underrun = 0
      txop_ovf = 0
      seq_posted = 247
      seq_failed_queueing = 0
      seq_completed = 247
      seq_restarted = 0
      seq_txop_repost_stop = 0
      next_seq_cancel = 0
      dl_mu_mimo_seq_posted = 0
      dl_mu_ofdma_seq_posted = 0
      ul_mu_mimo_seq_posted = 0
      ul_mu_ofdma_seq_posted = 0
      mu_mimo_peer_blacklisted = 0
      seq_qdepth_repost_stop = 0
      seq_min_msdu_repost_stop = 0
      mu_seq_min_msdu_repost_stop = 0
      seq_switch_hw_paused = 0
      next_seq_posted_dsr = 0
      seq_posted_isr = 0
      seq_ctrl_cached = 0
      mpdu_count_tqm = 0
      msdu_count_tqm = 0
      mpdu_removed_tqm = 0
      msdu_removed_tqm = 0
      remove_mpdus_max_retries = 0
      mpdus_sw_flush = 0
      mpdus_hw_filter = 0
      mpdus_truncated = 0
      mpdus_ack_failed = 0
      mpdus_expired = 0
      mpdus_seq_hw_retry = 0
      ack_tlv_proc = 0
      coex_abort_mpdu_cnt_valid = 0
      coex_abort_mpdu_cnt = 5
      num_total_ppdus_tried_ota = 5
      num_data_ppdus_tried_ota = 0
      local_ctrl_mgmt_enqued = 247
      local_ctrl_mgmt_freed = 247
      local_data_enqued = 0
      local_data_freed = 0
      mpdu_tried = 0
      isr_wait_seq_posted = 0
      tx_active_dur_us_low = 0
      tx_active_dur_us_high = 0
      fes_offsets_err_cnt = 0
      
      HTT_TX_PDEV_STATS_URRN_TLV:
      urrn_stats =  0:0, 1:241, 2:0
      
      HTT_TX_PDEV_STATS_SIFS_TLV:
      sifs_status =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0
      
      HTT_TX_PDEV_STATS_FLUSH_TLV:
      flush_errs =  0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:0, 7:0, 8:0, 9:0, 10:0,
      11:0, 12:0, 13:0, 14:0, 15:0, 16:0, 17:0, 18:0, 19:0, 20:0, 21:0, 22:0,
      23:0, 24:0, 25:0, 26:0, 27:0, 28:0, 29:0, 30:0, 31:0, 32:0, 33:0, 34:0,
      35:0, 36:0, 37:0, 38:0, 39:0, 40:0, 41:0, 42:0, 43:0, 44:0, 45:0, 46:0,
      47:0, 48:0, 49:0, 50:0, 51:0, 52:0, 53:0, 54:0, 55:0, 56:0, 57:0, 58:0,
      59:0, 60:0, 61:0, 62:0, 63:0, 64:0, 65:0, 66:0, 67:0, 68:0, 69:0, 70:0,
      71:0, 72:0, 73:0, 74:0, 75:0, 76:0, 77:0, 78:0, 79:0, 80:0, 81:0, 82:0,
      83:0, 84:0, 85:0, 86:0, 87:0, 88:0, 89:0, 90:0, 91:0, 92:0, 93:0, 94:0,
      95:0, 96:0, 97:0, 98:0, 99:0, 100:0, 101:0, 102:0, 103:0, 104:0, 105:0,
      106:0, 107:0, 108:0, 109:0, 110:0, 111:0, 112:0, 113:0, 114:0, 115:0,
      116:0, 117:0, 118:0, 119:0, 120:0, 121:0, 122:0, 123:0, 124:0, 125:0,
      126:0, 127:0
      
      Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
      Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
      Signed-off-by: default avatarDinesh Karthikeyan <quic_dinek@quicinc.com>
      Co-developed-by: default avatarRamya Gnanasekar <quic_rgnanase@quicinc.com>
      Signed-off-by: default avatarRamya Gnanasekar <quic_rgnanase@quicinc.com>
      Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
      Link: https://patch.msgid.link/20240626085854.2500681-4-quic_rgnanase@quicinc.com
      adf6df96
    • Dinesh Karthikeyan's avatar
      wifi: ath12k: Add htt_stats_dump file ops support · ad201b35
      Dinesh Karthikeyan authored
      Add dump_htt_stats file operation to dump the stats value requested
      for the requested stats_type.
      Stats sent from firmware will be cumulative. Hence add debugfs to reset
      the requested stats type.
      
      Example with one ath12k device:
      
      ath12k
      `-- pci-0000:06:00.0
          |-- mac0
              `-- htt_stats
              |-- htt_stats_type
              |-- htt_stats_reset
      
      Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
      Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
      Signed-off-by: default avatarDinesh Karthikeyan <quic_dinek@quicinc.com>
      Co-developed-by: default avatarRamya Gnanasekar <quic_rgnanase@quicinc.com>
      Signed-off-by: default avatarRamya Gnanasekar <quic_rgnanase@quicinc.com>
      Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
      Link: https://patch.msgid.link/20240626085854.2500681-3-quic_rgnanase@quicinc.com
      ad201b35
    • Dinesh Karthikeyan's avatar
      wifi: ath12k: Add support to enable debugfs_htt_stats · 3f73c24f
      Dinesh Karthikeyan authored
      Create debugfs_htt_stats file when ath12k debugfs support is enabled.
      Add basic ath12k_debugfs_htt_stats_register and handle htt_stats_type
      file operations.
      
      Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
      Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
      Signed-off-by: default avatarDinesh Karthikeyan <quic_dinek@quicinc.com>
      Co-developed-by: default avatarRamya Gnanasekar <quic_rgnanase@quicinc.com>
      Signed-off-by: default avatarRamya Gnanasekar <quic_rgnanase@quicinc.com>
      Acked-by: default avatarJeff Johnson <quic_jjohnson@quicinc.com>
      Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
      Link: https://patch.msgid.link/20240626085854.2500681-2-quic_rgnanase@quicinc.com
      3f73c24f
  4. 28 Jun, 2024 5 commits
  5. 27 Jun, 2024 26 commits