1. 25 Oct, 2023 2 commits
    • Anilkumar Kolli's avatar
      wifi: ath11k: add firmware-2.bin support · 7db88b96
      Anilkumar Kolli authored
      Firmware IE containers can dynamically provide various information
      what firmware supports. Also it can embed more than one image so
      updating firmware is easy, user just needs to update one file in
      /lib/firmware/.
      
      The firmware API 2 or higher will use the IE container format, the
      current API 1 will not use the new format but it still is supported
      for some time. Firmware API 2 files are named as firmware-2.bin
      (which contains both amss.bin and m3.bin images) and API 1 files are
      amss.bin and m3.bin.
      
      Currently ath11k PCI driver provides firmware binary (amss.bin) path to
      MHI driver, MHI driver reads firmware from filesystem and boots it. Add
      provision to read firmware files from ath11k driver and provide the amss.bin
      firmware data and size to MHI using a pointer.
      
      Currently enum ath11k_fw_features is empty, the patches adding features will
      add the flags.
      
      With AHB devices there's no amss.bin or m3.bin, so no changes in how AHB
      firmware files are used. But AHB devices can use future additions to the meta
      data, for example in enum ath11k_fw_features.
      
      Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.9
      Co-developed-by: default avatarP Praneesh <quic_ppranees@quicinc.com>
      Signed-off-by: default avatarP Praneesh <quic_ppranees@quicinc.com>
      Signed-off-by: default avatarAnilkumar Kolli <quic_akolli@quicinc.com>
      Co-developed-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
      Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
      Link: https://lore.kernel.org/r/20230727100430.3603551-4-kvalo@kernel.org
      7db88b96
    • Kalle Valo's avatar
      wifi: ath11k: qmi: refactor ath11k_qmi_m3_load() · b49381d3
      Kalle Valo authored
      Simple refactoring to make it easier to add firmware-2.bin support in the
      following patch.
      
      Earlier ath11k_qmi_m3_load() supported changing m3.bin contents while ath11k is
      running. But that's not going to actually work, m3.bin is supposed to be the
      same during the lifetime of ath11k, for example we don't support changing the
      firmware capabilities on the fly. Due to this ath11k requests m3.bin firmware
      file first and only then checks m3_mem->vaddr, so we are basically requesting
      the firmware file even if it's not needed. Reverse the code so that m3_mem
      buffer is checked first, and only if it doesn't exist, then m3.bin is requested
      from user space.
      
      Checking for m3_mem->size is redundant when m3_mem->vaddr is NULL, we would
      not be able to use the buffer in that case. So remove the check for size.
      
      Simplify the exit handling and use 'goto out'.
      
      Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.9
      Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
      Reviewed-by: default avatarJeff Johnson <quic_jjohnson@quicinc.com>
      Link: https://lore.kernel.org/r/20230727100430.3603551-3-kvalo@kernel.org
      b49381d3
  2. 18 Oct, 2023 9 commits
  3. 12 Oct, 2023 8 commits
  4. 10 Oct, 2023 3 commits
  5. 09 Oct, 2023 17 commits
  6. 06 Oct, 2023 1 commit