Re: New staging repos for ath1*k firmware

2024-09-11 Thread Jeff Johnson
On 9/10/2024 4:39 AM, Sven Eckelmann wrote:
...
> For the completely missing ones, I've submitted following list to QCA:
> 
> * ath11k/IPQ5018_QCN6122 (that might be rather complicated due to the way how 
>   QCA designed this)
> * ath11k/IPQ5018_QCN6122_QCN6122 (that might be rather complicated due to the 
>   way how QCA designed this)
> * ath11k/IPQ9574
> * ath12k/IPQ5322
> * ath12k/IPQ5322_QCN6432_QCN6432 (sounds a little bit like the QCN6122 
>   situation)

I'm looking into the above. For the ath12k ones I suspect we are actually
waiting for the platform support to land in the upstream kernel, which has
some dependencies. See the current IPQ5322 RFC:

https://lore.kernel.org/all/20240814094323.3927603-1-quic_rajkb...@quicinc.com/

> * ath12k/QCN9274

Does this help:
https://git.codelinaro.org/clo/ath-firmware/ath12k-firmware/-/commit/5d154d1a7f1059bf96b1127573e5b87f68538df8

/jeff



Re: [PATCH] wifi: ath10k: add hw_params for Atheros QCA9377-7

2024-09-05 Thread Jeff Johnson
On 9/5/2024 5:03 AM, Tomas Paukrt wrote:
> Add hw_params for modules based on Atheros QCA9377-7 chipset like
> 8devices BLUE bean or SparkLAN WUBQ-159ACN.
> 
> Tested-on: QCA9377 hw1.1 USB 0.0.0.111
> 
> Signed-off-by: Tomas Paukrt 
Acked-by: Jeff Johnson 




Re: [PATCH v2] wifi: ath10k: add USB device ID for Atheros QCA9377-7

2024-09-05 Thread Jeff Johnson
On 9/4/2024 11:59 PM, Tomas Paukrt wrote:
> Add USB device ID for modules based of Atheros QCA9377-7 chipset like
> 8devices BLUE bean or SparkLAN WUBQ-159ACN.
> 
> Tested-on: QCA9377 hw1.1 USB 0.0.0.111
> 
> Signed-off-by: Tomas Paukrt 
Acked-by: Jeff Johnson 




Re: [PATCH] wifi: ath10k: add USB device ID for Atheros QCA9377-7

2024-09-04 Thread Jeff Johnson
On 9/4/2024 11:28 AM, Tomas Paukrt wrote:
>> Also the Tested-on tag should include the firmware version information as 
>> well.
> 
> Hi Jeff,
> 
> I tested it with manually converted firmware from 
> https://github.com/8devices/qcacld-2.0/tree/CNSS.LEA.NRT_3.0/firmware_bin/usb 
> which does not include any explicit version.
> 
> What version should I write in the Tested-on tag in this case?

Ah, my good friend qcacld-2.0.

I'd expect to see something written to kmsg, but not sure it is there for USB.

for QMI there is: 
ath10k_info(ar, "qmi fw_version 0x%x fw_build_timestamp %s 
fw_build_id %s",
qmi->fw_version, qmi->fw_build_timestamp, 
qmi->fw_build_id);

but looking at past ath10k USB changes I only see:
Tested-on: QCA9377 hw1.0 USB 1.0.0.299

So I guess what you have is OK since this just allows you to be probed anyway
so that is actually independent of firmware version.




Re: ath10k "failed to install key for vdev 0 peer : -110"

2024-09-04 Thread Jeff Johnson
On 8/16/2024 5:04 AM, James Prestwood wrote:
> Hi Baochen,
> 
> On 8/16/24 3:19 AM, Baochen Qiang wrote:
>>
>> On 7/12/2024 9:11 PM, James Prestwood wrote:
>>> Hi,
>>>
>>> I've seen this error mentioned on random forum posts, but its always 
>>> associated with a kernel crash/warning or some very obvious negative 
>>> behavior. I've noticed this occasionally and at one location very 
>>> frequently during FT roaming, specifically just after CMD_ASSOCIATE is 
>>> issued. For our company run networks I'm not seeing any negative behavior 
>>> apart from a 3 second delay in sending the re-association frame since the 
>>> kernel waits for this timeout. But we have some networks our clients run on 
>>> that we do not own (different vendor), and we are seeing association 
>>> timeouts after this error occurs and in some cases the AP is sending a 
>>> deauthentication with reason code 8 instead of replying with a 
>>> reassociation reply and an error status, which is quite odd.
>>>
>>> We are chasing down this with the vendor of these APs as well, but the 
>>> behavior always happens after we see this key removal failure/timeout on 
>>> the client side. So it would appear there is potentially a problem on both 
>>> the client and AP. My guess is _something_ about the re-association frame 
>>> changes when this error is encountered, but I cannot see how that would be 
>>> the case. We are working to get PCAPs now, but its through a 3rd party, so 
>>> that timing is out of my control.
>>>
>>>  From the kernel code this error would appear innocuous, the old key is 
>>> failing to be removed but it gets immediately replaced by the new key. And 
>>> we don't see that addition failing. Am I understanding that logic 
>>> correctly? I.e. this logic:
>>>
>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/net/mac80211/key.c#n503
>>>
>>> Below are a few kernel logs of the issue happening, some with the deauth 
>>> being sent by the AP, some with just timeouts:
>>>
>>> --- No deauth frame sent, just association timeouts after the error ---
>>>
>>> Jul 11 00:05:30 kernel: wlan0: disconnect from AP  for new 
>>> assoc to 
>>> Jul 11 00:05:33 kernel: ath10k_pci :02:00.0: failed to install key for 
>>> vdev 0 peer : -110
>>> Jul 11 00:05:33 kernel: wlan0: failed to remove key (0, ) 
>>> from hardware (-110)
>>> Jul 11 00:05:33 kernel: wlan0: associate with  (try 1/3)
>>> Jul 11 00:05:33 kernel: wlan0: associate with  (try 2/3)
>>> Jul 11 00:05:33 kernel: wlan0: associate with  (try 3/3)
>>> Jul 11 00:05:33 kernel: wlan0: association with  timed out
>>> Jul 11 00:05:36 kernel: wlan0: authenticate with 
>>> Jul 11 00:05:36 kernel: wlan0: send auth to a (try 1/3)
>>> Jul 11 00:05:36 kernel: wlan0: authenticated
>>> Jul 11 00:05:36 kernel: wlan0: associate with  (try 1/3)
>>> Jul 11 00:05:36 kernel: wlan0: RX AssocResp from  (capab=0x 
>>> status=0 aid=16)
>>> Jul 11 00:05:36 kernel: wlan0: associated
>>>
>>> --- Deauth frame sent amidst the association timeouts ---
>>>
>>> Jul 11 00:43:18 kernel: wlan0: disconnect from AP  for new 
>>> assoc to 
>>> Jul 11 00:43:21 kernel: ath10k_pci :02:00.0: failed to install key for 
>>> vdev 0 peer : -110
>>> Jul 11 00:43:21 kernel: wlan0: failed to remove key (0, ) 
>>> from hardware (-110)
>>> Jul 11 00:43:21 kernel: wlan0: associate with  (try 1/3)
>>> Jul 11 00:43:21 kernel: wlan0: deauthenticated from  while 
>>> associating (Reason: 8=DISASSOC_STA_HAS_LEFT)
>>> Jul 11 00:43:24 kernel: wlan0: authenticate with 
>>> Jul 11 00:43:24 kernel: wlan0: send auth to  (try 1/3)
>>> Jul 11 00:43:24 kernel: wlan0: authenticated
>>> Jul 11 00:43:24 kernel: wlan0: associate with  (try 1/3)
>>> Jul 11 00:43:24 kernel: wlan0: RX AssocResp from  (capab=0x 
>>> status=0 aid=101)
>>> Jul 11 00:43:24 kernel: wlan0: associated
>>>
>> Hi James, this is QCA6174, right? could you also share firmware version?
> 
> Yep, using:
> 
> qca6174 hw3.2 target 0x0503 chip_id 0x00340aff sub 1dac:0261
> firmware ver WLAN.RM.4.4.1-00288- api 6 features wowlan,ignore-otp,mfp 
> crc32 bf907c7c
> 
> I did try in one instance the latest firmware, 309, and still saw the 
> same behavior but 288 is what all our devices are running.
> 
> Thanks,
> 
> James

Baochen, are you looking more into this? Would prefer to fix the root cause
rather than take "[RFC 0/1] wifi: ath10k: improvement on key removal failure"



Re: [PATCH] wifi: ath10k: add USB device ID for Atheros QCA9377-7

2024-09-04 Thread Jeff Johnson
On 8/30/2024 4:28 AM, Tomas Paukrt wrote:
> Add USB device ID for modules based on Atheros QCA9377-7 chipset like
> 8devices BLUE bean or SparkLAN WUBQ-159ACN.
> 
> Tested-on: QCA9377 hw1.1 USB
Since Tested-on is not an official upstream tag there should be a blank line
between it and the official tags.

Also the Tested-on tag should include the firmware version information as well.

See


> Signed-off-by: Tomas Paukrt 
> ---
>  drivers/net/wireless/ath/ath10k/usb.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/wireless/ath/ath10k/usb.c 
> b/drivers/net/wireless/ath/ath10k/usb.c
> index 3b51b7f..60441ff 100644
> --- a/drivers/net/wireless/ath/ath10k/usb.c
> +++ b/drivers/net/wireless/ath/ath10k/usb.c
> @@ -1106,6 +1106,7 @@ static int ath10k_usb_pm_resume(struct usb_interface 
> *interface)
>  
>  /* table of devices that work with this driver */
>  static struct usb_device_id ath10k_usb_ids[] = {
> + {USB_DEVICE(0x0cf3, 0x9378)}, /* Atheros QCA9377-7 */
>   {USB_DEVICE(0x13b1, 0x0042)}, /* Linksys WUSB6100M */
>   { /* Terminating entry */ },
>  };




Re: [PATCH] wifi: ath10k: fix the stack frame size warning in ath10k_hw_scan

2024-09-04 Thread Jeff Johnson
On 8/29/2024 6:56 PM, Miaoqing Pan wrote:
> Fix the following W=1 kernel build warning:
> 
> drivers/net/wireless/ath/ath10k/mac.c: In function ‘ath10k_hw_scan’:
> drivers/net/wireless/ath/ath10k/mac.c:6468:1: warning: the frame size of 1064 
> bytes is larger than 1024 bytes [-Wframe-larger-than=]
> 
> Compile tested only.
> 
> Signed-off-by: Miaoqing Pan 
Acked-by: Jeff Johnson 




Re: [PATCH] wifi: ath10k: fix the stack frame size warning in ath10k_remain_on_channel

2024-09-04 Thread Jeff Johnson
On 8/29/2024 6:53 PM, Miaoqing Pan wrote:
> Fix the following W=1 kernel build warning:
> 
> drivers/net/wireless/ath/ath10k/mac.c: In function ‘ath10k_remain_on_channel’:
> drivers/net/wireless/ath/ath10k/mac.c:7980:1: warning: the frame size of 1064 
> bytes is larger than 1024 bytes [-Wframe-larger-than=]
> 
> Compile tested only.
> 
> Signed-off-by: Miaoqing Pan 
Acked-by: Jeff Johnson 




pull-request: ath-current-20240903

2024-09-03 Thread Jeff Johnson
The following changes since commit 38055789d15155109b41602ad719d770af507030:

  wifi: ath12k: use 128 bytes aligned iova in transmit path for WCN7850 
(2024-08-05 12:28:07 +0300)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/ath/ath.git 
tags/ath-current-20240903

for you to fetch changes up to 2f833e8948d6c88a3a257d4e426c9897b4907d5a:

  Revert "wifi: ath11k: support hibernation" (2024-09-02 19:33:00 +0300)


ath.git patches for v6.11-rc7

We have three patch which address two issues in the ath11k driver
which should be addressed for 6.11-rc7:

One patch fixes a NULL pointer dereference while parsing transmit
power envelope (TPE) information, and the other two patches revert the
hibernation support since it is interfering with suspend on some
platforms. Note the cause of the suspend wakeups is still being
investigated, and it is hoped this can be addressed and hibernation
support can be restored in the near future.


Baochen Qiang (3):
  wifi: ath11k: fix NULL pointer dereference in ath11k_mac_get_eirp_power()
  Revert "wifi: ath11k: restore country code during resume"
  Revert "wifi: ath11k: support hibernation"

 drivers/net/wireless/ath/ath11k/ahb.c  |   4 +-
 drivers/net/wireless/ath/ath11k/core.c | 115 +
 drivers/net/wireless/ath/ath11k/core.h |   4 --
 drivers/net/wireless/ath/ath11k/hif.h  |  12 +---
 drivers/net/wireless/ath/ath11k/mac.c  |   1 +
 drivers/net/wireless/ath/ath11k/mhi.c  |  12 +---
 drivers/net/wireless/ath/ath11k/mhi.h  |   3 +-
 drivers/net/wireless/ath/ath11k/pci.c  |  44 ++---
 drivers/net/wireless/ath/ath11k/qmi.c  |   2 +-
 9 files changed, 49 insertions(+), 148 deletions(-)



pull-request: ath-next-20240812

2024-08-12 Thread Jeff Johnson
The following changes since commit c1cacb01f35589bd41360cdb7535afc792c08a7c:

  Merge tag 'ath-next-20240702' of 
git://git.kernel.org/pub/scm/linux/kernel/git/ath/ath (2024-07-03 16:57:16 
+0300)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/ath/ath.git 
tags/ath-next-20240812

for you to fetch changes up to 89fbe672bd0e5e5c39600fcc7a3bca0b8a212d23:

  Revert "wifi: ath9k: use devm for request_irq()" (2024-08-10 10:21:58 +0300)


ath.git patches for v6.12

This is a fairly light pull request since ath12k is still working on
MLO-related changes, and the other drivers are mostly in maintenance
mode with a few cleanups and bug fixes.

Major changes:

ath12k

* DebugFS support for transmit DE stats
* Make ASPM support hardware-dependent
* Align BSS Channel information command and message with firmware

ath11k

* Use work queue for beacon tx events

ath9k

* Use devm for gpio_request_one
* Use unmanaged PCI functions in ath9k_pci_owl_loader()


Aditya Kumar Singh (1):
  wifi: ath12k: restore ASPM for supported hardwares only

Baochen Qiang (1):
  wifi: ath12k: fix invalid AMPDU factor calculation in 
ath12k_peer_assoc_h_he()

Dinesh Karthikeyan (1):
  wifi: ath12k: Support Transmit DE stats

Dmitry Kandybka (1):
  wifi: ath9k: fix possible integer overflow in ath9k_get_et_stats()

Heiner Kallweit (1):
  wifi: ath9k: use unmanaged PCI functions in ath9k_pci_owl_loader

Kang Yang (1):
  wifi: ath11k: use work queue to process beacon tx event

Karthikeyan Periyasamy (2):
  wifi: ath12k: fix array out-of-bound access in SoC stats
  wifi: ath11k: fix array out-of-bound access in SoC stats

P Praneesh (2):
  wifi: ath12k: fix BSS chan info request WMI command
  wifi: ath12k: match WMI BSS chan info structure with firmware definition

Rosen Penev (2):
  wifi: ath9k: use devm for request_irq()
  wifi: ath9k: use devm for gpio_request_one()

Thorsten Blum (1):
  wifi: ath9k: Use swap() to improve ath9k_hw_get_nf_hist_mid()

Toke Høiland-Jørgensen (2):
  wifi: ath9k: Remove error checks when creating debugfs entries
  Revert "wifi: ath9k: use devm for request_irq()"

 drivers/net/wireless/ath/ath11k/core.h |   1 +
 drivers/net/wireless/ath/ath11k/dp_rx.c|   2 +-
 drivers/net/wireless/ath/ath11k/mac.c  |  12 +
 drivers/net/wireless/ath/ath11k/wmi.c  |   4 +-
 .../net/wireless/ath/ath12k/debugfs_htt_stats.c| 354 +
 .../net/wireless/ath/ath12k/debugfs_htt_stats.h| 126 
 drivers/net/wireless/ath/ath12k/dp_rx.c|   2 +-
 drivers/net/wireless/ath/ath12k/hw.c   |   6 +
 drivers/net/wireless/ath/ath12k/hw.h   |   1 +
 drivers/net/wireless/ath/ath12k/mac.c  |   5 +-
 drivers/net/wireless/ath/ath12k/pci.c  |   3 +-
 drivers/net/wireless/ath/ath12k/wmi.c  |   1 +
 drivers/net/wireless/ath/ath12k/wmi.h  |   3 +-
 .../net/wireless/ath/ath9k/ath9k_pci_owl_loader.c  |   8 +-
 drivers/net/wireless/ath/ath9k/calib.c |   7 +-
 drivers/net/wireless/ath/ath9k/debug.c |   6 +-
 drivers/net/wireless/ath/ath9k/htc_drv_debug.c |   2 -
 drivers/net/wireless/ath/ath9k/hw.c|   6 +-
 18 files changed, 521 insertions(+), 28 deletions(-)



pull-request: ath-current-20240812

2024-08-12 Thread Jeff Johnson
The following changes since commit de9c2c66ad8e787abec7c9d7eff4f8c3cdd28aed:

  Linux 6.11-rc2 (2024-08-04 13:50:53 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/ath/ath.git
tags/ath-current-20240812

for you to fetch changes up to 38055789d15155109b41602ad719d770af507030:

  wifi: ath12k: use 128 bytes aligned iova in transmit path for WCN7850
(2024-08-05 12:28:07 +0300)


ath.git patch for v6.11

We have a single patch for the next 6.11-rc which introduces a
workaround to ath12k which addresses a WCN7850 hardware issue that
prevents proper operation with unaligned transmit buffers.


Baochen Qiang (1):
  wifi: ath12k: use 128 bytes aligned iova in transmit path for WCN7850

 drivers/net/wireless/ath/ath12k/dp_tx.c | 72 +
 drivers/net/wireless/ath/ath12k/hw.c|  6 +++
 drivers/net/wireless/ath/ath12k/hw.h|  4 ++
 drivers/net/wireless/ath/ath12k/mac.c   |  1 +
 4 files changed, 83 insertions(+)



Re: [PATCH 2/2] wifi: ath10k: fix invalid VHT parameters in supported_vht_mcs_rate_nss2

2024-07-22 Thread Jeff Johnson
On 7/10/2024 7:03 PM, Baochen Qiang wrote:
> In supported_vht_mcs_rate_nss2, the rate for MCS9 & VHT20 is defined as
> {1560, 1733}, this does not align with firmware's definition and therefore
> fails the verification in ath10k_mac_get_rate_flags_vht():
> 
>   invalid vht params rate 1730 100kbps nss 2 mcs 9
> and:
>   invalid vht params rate 1920 100kbps nss 2 mcs 9
> 
> Change it to {1730,  1920} to align with firmware, so this issue could be
> fixed.
> 
> Since ath10k_hw_params::supports_peer_stats_info is enabled only for
> QCA6174, this change does not affect other chips.
> 
> Tested-on: QCA6174 hw3.2 PCI WLAN.RM.4.4.1-00309-QCARMSWPZ-1
> 
> Fixes: 3344b99d69ab ("ath10k: add bitrate parse for peer stats info")
> Reported-by: Paul Menzel 
> Closes: 
> https://lore.kernel.org/lkml/fba24cd3-4a1e-4072-8585-840227278...@molgen.mpg.de/
> Signed-off-by: Baochen Qiang 
Acked-by: Jeff Johnson 




Re: [PATCH 1/2] wifi: ath10k: fix invalid VHT parameters in supported_vht_mcs_rate_nss1

2024-07-22 Thread Jeff Johnson
On 7/10/2024 7:03 PM, Baochen Qiang wrote:
> In supported_vht_mcs_rate_nss1, the rate for MCS9 & VHT20 is defined as
> {780,  867}, this does not align with firmware's definition and therefore
> fails the verification in ath10k_mac_get_rate_flags_vht():
> 
>   invalid vht params rate 960 100kbps nss 1 mcs 9
> 
> Change it to {865,  960} to align with firmware, so this issue could be
> fixed.
> 
> Since ath10k_hw_params::supports_peer_stats_info is enabled only for
> QCA6174, this change does not affect other chips.
> 
> Tested-on: QCA6174 hw3.2 PCI WLAN.RM.4.4.1-00309-QCARMSWPZ-1
> 
> Fixes: 3344b99d69ab ("ath10k: add bitrate parse for peer stats info")
> Reported-by: Paul Menzel 
> Closes: 
> https://lore.kernel.org/lkml/fba24cd3-4a1e-4072-8585-840227278...@molgen.mpg.de/
> Signed-off-by: Baochen Qiang 
Acked-by: Jeff Johnson 





Re: pull-request: ath-next-20240702

2024-07-03 Thread Jeff Johnson
On 7/3/2024 12:14 AM, Kalle Valo wrote:
> Kalle Valo  writes:
>> I see a weird warning from gpg which I have never seen before:
>>
>> merged tag 'ath-next-20240702'
>> gpg: Signature made Tue 02 Jul 2024 05:55:42 PM EEST
>> gpg:using EDDSA key 3F9AD487CCF522D7A21F0C492C15BBA0898CCB7B
>> gpg:issuer "jjohn...@kernel.org"
>> gpg: Good signature from "Jeff Johnson " [full]
>> gpg: WARNING: We do NOT trust this key!
>> gpg:  The signature is probably a FORGERY.
>>
>> It first says that the signature is good and then claims it's a forgery,
>> odd. Is this a problem between using different email addresses or what?
> 
> I did 'gpg --refresh-keys', now your key contains your kernel.org
> address and I don't see the warning anymore.
> 

There had to be at least one issue with my first PR. Glad you sorted it out.
Key management is still a mystery to me...

/jeff



pull-request: ath-next-20240702

2024-07-02 Thread Jeff Johnson
The following changes since commit bb678f01804ccaa861b012b2b9426d69673d8a84:

  Merge branch 'intel-wired-lan-driver-updates-2024-06-03' (2024-06-10 19:52:50 
-0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/ath/ath.git 
tags/ath-next-20240702

for you to fetch changes up to 5344fc76f8944249026884157f846f88489edfc0:

  wifi: ath12k: Support TQM stats (2024-07-01 21:57:28 +0300)


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


Aaradhana Sahu (3):
  wifi: ath12k: Fix WARN_ON during firmware crash in split-phy
  wifi: ath12k: fix NULL pointer access in ath12k_mac_op_get_survey()
  wifi: ath12k: fix uninitialize symbol error on ath12k_peer_assoc_h_he()

Aditya Kumar Singh (3):
  wifi: ath12k: fix per pdev debugfs registration
  wifi: ath12k: unregister per pdev debugfs
  wifi: ath12k: handle symlink cleanup for per pdev debugfs dentry

Ajith C (1):
  wifi: ath12k: fix firmware crash due to invalid peer nss

Baochen Qiang (11):
  wifi: ath12k: fix ACPI warning when resume
  wifi: ath11k: fix RCU documentation in ath11k_mac_op_ipv6_changed()
  wifi: ath11k: fix wrong handling of CCMP256 and GCMP ciphers
  wifi: ath12k: add ATH12K_DBG_WOW log level
  wifi: ath12k: implement WoW enable and wakeup commands
  wifi: ath12k: add basic WoW functionalities
  wifi: ath12k: add WoW net-detect functionality
  wifi: ath12k: implement hardware data filter
  wifi: ath12k: support ARP and NS offload
  wifi: ath12k: support GTK rekey offload
  wifi: ath12k: handle keepalive during WoWLAN suspend and resume

Bartosz Golaszewski (2):
  dt-bindings: net: wireless: qcom,ath11k: describe the ath11k on QCA6390
  dt-bindings: net: wireless: describe the ath12k PCI module

Dinesh Karthikeyan (6):
  wifi: ath12k: Add support to enable debugfs_htt_stats
  wifi: ath12k: Add htt_stats_dump file ops support
  wifi: ath12k: Add support to parse requested stats_type
  wifi: ath12k: Support Transmit Scheduler stats
  wifi: ath12k: Support pdev error stats
  wifi: ath12k: Support TQM stats

Harshitha Prem (1):
  wifi: ath12k: Remove unused ath12k_base from ath12k_hw

Karthikeyan Periyasamy (3):
  wifi: ath12k: avoid unnecessary MSDU drop in the Rx error process
  wifi: ath12k: fix mbssid max interface advertisement
  wifi: ath12k: fix peer metadata parsing

Lingbo Kong (3):
  wifi: ath11k: fix ack signal strength calculation
  wifi: ath11k: modify the calculation of the average signal strength in 
station mode
  wifi: ath12k: Fix pdev id sent to firmware for single phy devices

Pradeep Kumar Chitrapu (1):
  wifi: ath12k: fix legacy peer association due to missing HT or 6 GHz 
capabilities

Rameshkumar Sundaram (2):
  wifi: ath12k: modify remain on channel for single wiphy
  wifi: ath12k: fix driver initialization for WoW unsupported devices

Ramya Gnanasekar (1):
  wifi: ath12k: Dump additional Tx PDEV HTT stats

Wolfram Sang (1):
  wifi: ath11k: use 'time_left' variable with wait_event_timeout()

 .../bindings/net/wireless/qcom,ath11k-pci.yaml |   46 +
 .../bindings/net/wireless/qcom,ath12k.yaml |   99 ++
 drivers/net/wireless/ath/ath11k/dp_rx.c|3 +-
 drivers/net/wireless/ath/ath11k/dp_rx.h|3 +
 drivers/net/wireless/ath/ath11k/dp_tx.c|   16 +-
 drivers/net/wireless/ath/ath11k/dp_tx.h|4 +-
 drivers/net/wireless/ath/ath11k/hal_tx.h   |4 +-
 drivers/net/wireless/ath/ath11k/mac.c  |   29 +-
 drivers/net/wireless/ath/ath11k/qmi.c  |   20 +-
 drivers/net/wireless/ath/ath12k/Makefile   |3 +-
 drivers/net/wireless/ath/ath12k/acpi.c |2 +
 drivers/net/wireless/ath/ath12k/core.c |   71 +-
 drivers/net/wireless/ath/ath12k/core.h |   34 +-
 drivers/net/wireless/ath/ath12k/debug.h|3 +-
 drivers/net/wireless/ath/ath12k/debugfs.c  |   19 +-
 drivers/net/wireless/ath/ath12k/debugfs.h  |6 +-
 .../net/wireless/ath/ath12k/debugfs_htt_stats.c| 1540 
 .../net/wireless/ath/ath12k/debugfs_htt_stats.h|  567 +++
 drivers/net/wireless/ath/ath12k/dp.h   |1 +
 drivers/net/wireless/ath/ath12k/dp_rx.c|   

Re: ieee80211.h virtual_map splat

2024-06-26 Thread Jeff Johnson
On 6/25/2024 8:02 AM, Jakub Kicinski wrote:
> On Tue, 25 Jun 2024 09:56:35 +0300 Kalle Valo wrote:
>>> Adding netdev to the initial message in the thread.
>>> https://lore.kernel.org/all/CAPh3n83zb1PwFBFijJKChBqY95zzpYh=2iPf8tmh=yts6e3...@mail.gmail.com/
>>>
>>> There was some discussion in the thread, with the observation that the 
>>> splat 
>>> is fixed by:
>>> 2ae5c9248e06 ("wifi: mac80211: Use flexible array in struct 
>>> ieee80211_tim_ie")
>>>
>>> Followed by discussion if this should be backported.
>>>
>>> Kees said that "netdev [...] maintainers have asked that contributors not 
>>> include "Cc: stable" tags, as they want to evaluate for themselves whether 
>>> patches should go to stable or not"  
>>
>> BTW this rule doesn't apply to wireless subsystem. For wireless patches
>> it's ok to "Cc: stable" in patches or anyone can send a request to
>> stable maintainers to pick a patch.
> 
> It's an old rule. Quoting documentation:
> 
>   Stable tree
>   ~~~
>   
>   While it used to be the case that netdev submissions were not supposed
>   to carry explicit ``CC: sta...@vger.kernel.org`` tags that is no longer
>   the case today. Please follow the standard stable rules in
>   :ref:`Documentation/process/stable-kernel-rules.rst `,
>   and make sure you include appropriate Fixes tags!
>   
> See: 
> https://www.kernel.org/doc/html/next/process/maintainer-netdev.html#stable-tree

Thanks for the pointer.

I've now followed option 2 to notify the stable team to backport this patch



Re: [PATCH wireless] MAINTAINERS: wifi: update ath.git location

2024-06-26 Thread Jeff Johnson
On 6/26/2024 3:26 AM, Kalle Valo wrote:
> ath.git tree has moved to a new location. The old location will be an alias to
> the new location and will work at least until end of 2024, but best to update
> git trees already now.
> 
> Signed-off-by: Kalle Valo 
Acked-by: Jeff Johnson 




Re: ieee80211.h virtual_map splat

2024-06-24 Thread Jeff Johnson
On 6/21/2024 1:04 AM, Koen Vandeputte wrote:
> Hi all,
> 
> Within OpenWRT, we switched to kernel 6.6 some time ago.
> 
> During testing on a WiFi WDS setup (ath10k), I noticed an old standing
> bug which now prints a lot more data due to the kernel upgrade:
> 
> - All WDS stations are connected
> - The splat occurs
> - All WDS station seem to go in timeout and disconnect
> - The behavior is fixed after a reboot
> 
> Yes, we use ath10k-ct over here, but this part of the code is
> identical to upstream ath10k.
> 
> The main issue:
> 
> memcpy: detected field-spanning write (size 64) of single field
> "tim->virtual_map" at
> ../ath10k-ct-smallbuffers/ath10k-ct-2024.03.02~eb3f488a/ath10k-6.7/wmi.c:4043
> (size 1)
> 
> 
> looks like virtual_map is defined as  "u8 virtual_map[1]", triggering
> that error within "include/linux/ieee80211.h"
> 
> /**
>  * struct ieee80211_tim_ie - Traffic Indication Map information element
>  * @dtim_count: DTIM Count
>  * @dtim_period: DTIM Period
>  * @bitmap_ctrl: Bitmap Control
>  * @virtual_map: Partial Virtual Bitmap
>  *
>  * This structure represents the payload of the "TIM element" as
>  * described in IEEE Std 802.11-2020 section 9.4.2.5.
>  */
> struct ieee80211_tim_ie {
> u8 dtim_count;
> u8 dtim_period;
> u8 bitmap_ctrl;
> /* variable size: 1 - 251 bytes */
> u8 virtual_map[1];
> } __packed;
> 
> 
> According to this page, defining it this way is actually deprecated:
> https://www.kernel.org/doc/html/latest/process/deprecated.html
> 
> What is the correct way to fix this?
> Converting it to "u8 virtual_map[];"  ?

Adding netdev to the initial message in the thread.
https://lore.kernel.org/all/CAPh3n83zb1PwFBFijJKChBqY95zzpYh=2iPf8tmh=yts6e3...@mail.gmail.com/

There was some discussion in the thread, with the observation that the splat 
is fixed by:
2ae5c9248e06 ("wifi: mac80211: Use flexible array in struct ieee80211_tim_ie")

Followed by discussion if this should be backported.

Kees said that "netdev [...] maintainers have asked that contributors not 
include "Cc: stable" tags, as they want to evaluate for themselves whether 
patches should go to stable or not"

So the purpose of this message is to notify the netdev maintainers that this 
issue has been observed on a LTS kernel with the popular OpenWrt package so 
that the maintainers can make a backporting decision.

/jeff


> [29009.581820] [ cut here ]
> [29009.581898] WARNING: CPU: 0 PID: 0 at
> ../ath10k-ct-smallbuffers/ath10k-ct-2024.03.02~eb3f488a/ath10k-6.7/wmi.c:4043
> ath10k_wmi_event_host_swba+0x7c4/0x824 [ath10k_core]
> [29009.585574] memcpy: detected field-spanning write (size 64) of
> single field "tim->virtual_map" at
> ../ath10k-ct-smallbuffers/ath10k-ct-2024.03.02~eb3f488a/ath10k-6.7/wmi.c:4043
> (size 1)
> [29009.712626]  unwind_backtrace from show_stack+0x10/0x14
> [29009.717217]  show_stack from dump_stack_lvl+0x40/0x4c
> [29009.722337]  dump_stack_lvl from __warn+0x94/0xbc
> [29009.727546]  __warn from warn_slowpath_fmt+0xf8/0x15c
> [29009.732233]  warn_slowpath_fmt from
> ath10k_wmi_event_host_swba+0x7c4/0x824 [ath10k_core]
> [29009.737309]  ath10k_wmi_event_host_swba [ath10k_core] from
> ath10k_wmi_10_4_op_rx+0x444/0x6a4 [ath10k_core]
> [29009.745437]  ath10k_wmi_10_4_op_rx [ath10k_core] from
> ath10k_htc_rx_completion_handler+0xa8/0x210 [ath10k_core]
> [29009.754899]  ath10k_htc_rx_completion_handler [ath10k_core] from
> ath10k_pci_fw_dump_work+0xf28/0xf94 [ath10k_pci]
> [29009.764894]  ath10k_pci_fw_dump_work [ath10k_pci] from
> ath10k_ce_per_engine_service+0x64/0x84 [ath10k_core]
> [29009.775299]  ath10k_ce_per_engine_service [ath10k_core] from
> ath10k_ce_per_engine_service_any+0x74/0x194 [ath10k_core]
> [29009.784848]  ath10k_ce_per_engine_service_any [ath10k_core] from
> ath10k_pci_napi_poll+0x44/0x138 [ath10k_pci]
> [29009.795611]  ath10k_pci_napi_poll [ath10k_pci] from
> __napi_poll.constprop.0+0x2c/0x180
> [29009.805589]  __napi_poll.constprop.0 from net_rx_action+0x140/0x2e8
> [29009.813400]  net_rx_action from __do_softirq+0x100/0x270
> [29009.819561]  __do_softirq from irq_exit+0x88/0xb4
> [29009.825117]  irq_exit from call_with_stack+0x18/0x20
> [29009.829715]  call_with_stack from __irq_svc+0x80/0x98
> [29009.834751] Exception stack(0xc0d01f28 to 0xc0d01f70)
> [29009.839706] 1f20:   0003 0001 1d2e2e44
> 4000  c0d04f68
> [29009.844745] 1f40: c0d084c0 c0d04fa0   c0d04f08
>  001f c0d01f78
> [29009.852898] 1f60: c09deaf8 c09df260 6013 
> [29009.861055]  __irq_svc from default_idle_call+0x2c/0x30
> [29009.866089]  default_idle_call from do_idle+0x1d8/0x228
> [29009.871124]  do_idle from cpu_startup_entry+0x28/0x2c
> [29009.876328]  cpu_startup_entry from kernel_init+0x0/0x12c
> [29009.881537]  kernel_init from arch_post_acpi_subsys_init+0x0/0x8
> [29009.886973] ---[ end trace  ]---




Re: ieee80211.h virtual_map splat

2024-06-21 Thread Jeff Johnson
On 6/21/2024 3:31 AM, Koen Vandeputte wrote:
> On Fri, Jun 21, 2024 at 11:30 AM Johannes Berg
>  wrote:
>>
>>
>>> will this one get backported also?
>>
>> Why? It's not even a bug.
>>
>> johannes
> 
> Because without this patch, it produces a splat on kernel 6.6 (which
> is an LTS) at least ? :-)

@Kees, have you been backporting all your flexible array changes?
Or are you suggesting folks disable FORTIFY_SOURCE (is that the controlling
config?)

thread starts with:
https://lore.kernel.org/all/CAPh3n83zb1PwFBFijJKChBqY95zzpYh=2iPf8tmh=yts6e3...@mail.gmail.com/

/jeff



Re: [PATCH v2 11/22] ath10k: Use iommu_paging_domain_alloc()

2024-06-04 Thread Jeff Johnson

+ath10k list for viibility

On 6/3/24 18:51, Lu Baolu wrote:

An iommu domain is allocated in ath10k_fw_init() and is attached to
ar_snoc->fw.dev in the same function. Use iommu_paging_domain_alloc() to
make it explicit.

Signed-off-by: Lu Baolu 
---
  drivers/net/wireless/ath/ath10k/snoc.c | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/snoc.c 
b/drivers/net/wireless/ath/ath10k/snoc.c
index 8530550cf5df..0fe47d51013c 100644
--- a/drivers/net/wireless/ath/ath10k/snoc.c
+++ b/drivers/net/wireless/ath/ath10k/snoc.c
@@ -1635,10 +1635,10 @@ static int ath10k_fw_init(struct ath10k *ar)
  
  	ar_snoc->fw.dev = &pdev->dev;
  
-	iommu_dom = iommu_domain_alloc(&platform_bus_type);

-   if (!iommu_dom) {
+   iommu_dom = iommu_paging_domain_alloc(ar_snoc->fw.dev);
+   if (IS_ERR(iommu_dom)) {
ath10k_err(ar, "failed to allocate iommu domain\n");
-   ret = -ENOMEM;
+   ret = PTR_ERR(iommu_dom);
goto err_unregister;
}
  





Re: New staging repos for ath1*k firmware

2024-06-03 Thread Jeff Johnson
On 6/3/2024 1:21 PM, pgu...@hindutool.com wrote:
> The manufacturer of my wifi7 modules (Compex) suggested I use the following 
> repository:
> 
> https://github.com/quic/upstream-wifi-fw/tree/main/ath12k-firmware/QCN9274/hw2.0/1.3/WLAN.WBE.1.3-03253-QCAHKSWPL_SILICONZ-1
> 
> Is this part of the ath12k project?  I have seen it online but have not used 
> it.

That (unfortunately misnamed) repository exists only for the benefit of the
QSDK project, which is a fork of OpenWRT. The firmware releases in that
project have only been validated with drivers that are part of the QSDK --
they have not been validated with upstream kernel.org drivers.

Note that the firmware move from Kalle's personal Github account to CodeLinaro
is just one step in what we hope to be a consolidation effort that is also
intended to include firmware from github.com/quic/upstream-wifi-fw as well as
independent projects containing board files.

/jeff



Re: [PATCH] wifi: ath10k: fix QCOM_RPROC_COMMON dependency

2024-05-15 Thread Jeff Johnson
On 5/14/2024 9:10 PM, Masahiro Yamada wrote:
> On Wed, May 15, 2024 at 3:14 AM Jeff Johnson  
> wrote:
>>
>> On 5/14/2024 10:45 AM, Masahiro Yamada wrote:
>>> On Tue, May 14, 2024 at 11:43 PM Jeff Johnson  
>>> wrote:
>>>>
>>>> On 5/11/2024 3:49 AM, Dmitry Baryshkov wrote:
>>>>> If ath10k_snoc is built-in, while Qualcomm remoteprocs are built as
>>>>> modules, compilation fails with:
>>>>>
>>>>> /usr/bin/aarch64-linux-gnu-ld: drivers/net/wireless/ath/ath10k/snoc.o: in 
>>>>> function `ath10k_modem_init':
>>>>> drivers/net/wireless/ath/ath10k/snoc.c:1534: undefined reference to 
>>>>> `qcom_register_ssr_notifier'
>>>>> /usr/bin/aarch64-linux-gnu-ld: drivers/net/wireless/ath/ath10k/snoc.o: in 
>>>>> function `ath10k_modem_deinit':
>>>>> drivers/net/wireless/ath/ath10k/snoc.c:1551: undefined reference to 
>>>>> `qcom_unregister_ssr_notifier'
>>>>>
>>>>> Add corresponding dependency to ATH10K_SNOC Kconfig entry so that it's
>>>>> built as module if QCOM_RPROC_COMMON is built as module too.
>>>>>
>>>>> Fixes: 747ff7d3d742 ("ath10k: Don't always treat modem stop events as 
>>>>> crashes")
>>>>> Cc: sta...@vger.kernel.org
>>>>> Signed-off-by: Dmitry Baryshkov 
>>>>> ---
>>>>>  drivers/net/wireless/ath/ath10k/Kconfig | 1 +
>>>>>  1 file changed, 1 insertion(+)
>>>>>
>>>>> diff --git a/drivers/net/wireless/ath/ath10k/Kconfig 
>>>>> b/drivers/net/wireless/ath/ath10k/Kconfig
>>>>> index e6ea884cafc1..4f385f4a8cef 100644
>>>>> --- a/drivers/net/wireless/ath/ath10k/Kconfig
>>>>> +++ b/drivers/net/wireless/ath/ath10k/Kconfig
>>>>> @@ -45,6 +45,7 @@ config ATH10K_SNOC
>>>>>   depends on ATH10K
>>>>>   depends on ARCH_QCOM || COMPILE_TEST
>>>>>   depends on QCOM_SMEM
>>>>> + depends on QCOM_RPROC_COMMON || QCOM_RPROC_COMMON=n
>>>>>   select QCOM_SCM
>>>>>   select QCOM_QMI_HELPERS
>>>>>   help
>>>>>
>>>>> ---
>>>>> base-commit: 75fa778d74b786a1608d55d655d42b480a6fa8bd
>>>>> change-id: 20240511-ath10k-snoc-dep-862a9da2e6bb
>>>>
>>>> I see how this fixes the problem, but this doesn't seem like an ideal
>>>> solution. The fact that the *_ssr_notifier() functions are correctly 
>>>> protected
>>>> by conditional compilation ideally should mean that clients don't need to 
>>>> call
>>>> call out this as a dependency. Otherwise, it would mean we'd need to do 
>>>> this
>>>> for all feature flags.
>>>
>>>
>>> It depends on if qcom_common.c is optional for ath10k_snoc.
>>>
>>> If it is optional, this patch is correct.
>>
>> At least from a build perspective it is optional
> 
> 
> 
> You need to make a decision from a run-time perspective
> (that is, whether you are fine with having
> ar_snoc->notifier == NULL)
> 
> 
> If you are able to build the kernel successfully
> but you get a run-time error (e.g. NULL pointer dereference),
> it is even worse because run-time debugging is generally more
> difficult than compile-time debugging.

The current patch maintains the existing logic, so that is my preference.




Re: [PATCH] wifi: ath10k: fix QCOM_RPROC_COMMON dependency

2024-05-14 Thread Jeff Johnson
On 5/14/2024 10:45 AM, Masahiro Yamada wrote:
> On Tue, May 14, 2024 at 11:43 PM Jeff Johnson  
> wrote:
>>
>> On 5/11/2024 3:49 AM, Dmitry Baryshkov wrote:
>>> If ath10k_snoc is built-in, while Qualcomm remoteprocs are built as
>>> modules, compilation fails with:
>>>
>>> /usr/bin/aarch64-linux-gnu-ld: drivers/net/wireless/ath/ath10k/snoc.o: in 
>>> function `ath10k_modem_init':
>>> drivers/net/wireless/ath/ath10k/snoc.c:1534: undefined reference to 
>>> `qcom_register_ssr_notifier'
>>> /usr/bin/aarch64-linux-gnu-ld: drivers/net/wireless/ath/ath10k/snoc.o: in 
>>> function `ath10k_modem_deinit':
>>> drivers/net/wireless/ath/ath10k/snoc.c:1551: undefined reference to 
>>> `qcom_unregister_ssr_notifier'
>>>
>>> Add corresponding dependency to ATH10K_SNOC Kconfig entry so that it's
>>> built as module if QCOM_RPROC_COMMON is built as module too.
>>>
>>> Fixes: 747ff7d3d742 ("ath10k: Don't always treat modem stop events as 
>>> crashes")
>>> Cc: sta...@vger.kernel.org
>>> Signed-off-by: Dmitry Baryshkov 
>>> ---
>>>  drivers/net/wireless/ath/ath10k/Kconfig | 1 +
>>>  1 file changed, 1 insertion(+)
>>>
>>> diff --git a/drivers/net/wireless/ath/ath10k/Kconfig 
>>> b/drivers/net/wireless/ath/ath10k/Kconfig
>>> index e6ea884cafc1..4f385f4a8cef 100644
>>> --- a/drivers/net/wireless/ath/ath10k/Kconfig
>>> +++ b/drivers/net/wireless/ath/ath10k/Kconfig
>>> @@ -45,6 +45,7 @@ config ATH10K_SNOC
>>>   depends on ATH10K
>>>   depends on ARCH_QCOM || COMPILE_TEST
>>>   depends on QCOM_SMEM
>>> + depends on QCOM_RPROC_COMMON || QCOM_RPROC_COMMON=n
>>>   select QCOM_SCM
>>>   select QCOM_QMI_HELPERS
>>>   help
>>>
>>> ---
>>> base-commit: 75fa778d74b786a1608d55d655d42b480a6fa8bd
>>> change-id: 20240511-ath10k-snoc-dep-862a9da2e6bb
>>
>> I see how this fixes the problem, but this doesn't seem like an ideal
>> solution. The fact that the *_ssr_notifier() functions are correctly 
>> protected
>> by conditional compilation ideally should mean that clients don't need to 
>> call
>> call out this as a dependency. Otherwise, it would mean we'd need to do this
>> for all feature flags.
> 
> 
> It depends on if qcom_common.c is optional for ath10k_snoc.
> 
> If it is optional, this patch is correct.

At least from a build perspective it is optional

> 
> 
> If it is mandatory
> depends on QCOM_RPROC_COMMON
> 
> 
>>
>> +linux-kbuild just to make sure there isn't a better approach.
> 
> 
> Commit 28d49e171676afb7df7f47798391364af9abed7f suggested
> 
>   depends on BAR || !BAR
> 
> but
> 
>   depends on BAR || BAR=n
> 
> works equivalently.

Thanks for the information.

I'll let Kalle decide if he wants to change this in 'pending' to:
depends on QCOM_RPROC_COMMON || !QCOM_RPROC_COMMON

Acked-by: Jeff Johnson 




Re: [PATCH] wifi: ath10k: fix QCOM_RPROC_COMMON dependency

2024-05-14 Thread Jeff Johnson
On 5/11/2024 3:49 AM, Dmitry Baryshkov wrote:
> If ath10k_snoc is built-in, while Qualcomm remoteprocs are built as
> modules, compilation fails with:
> 
> /usr/bin/aarch64-linux-gnu-ld: drivers/net/wireless/ath/ath10k/snoc.o: in 
> function `ath10k_modem_init':
> drivers/net/wireless/ath/ath10k/snoc.c:1534: undefined reference to 
> `qcom_register_ssr_notifier'
> /usr/bin/aarch64-linux-gnu-ld: drivers/net/wireless/ath/ath10k/snoc.o: in 
> function `ath10k_modem_deinit':
> drivers/net/wireless/ath/ath10k/snoc.c:1551: undefined reference to 
> `qcom_unregister_ssr_notifier'
> 
> Add corresponding dependency to ATH10K_SNOC Kconfig entry so that it's
> built as module if QCOM_RPROC_COMMON is built as module too.
> 
> Fixes: 747ff7d3d742 ("ath10k: Don't always treat modem stop events as 
> crashes")
> Cc: sta...@vger.kernel.org
> Signed-off-by: Dmitry Baryshkov 
> ---
>  drivers/net/wireless/ath/ath10k/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/wireless/ath/ath10k/Kconfig 
> b/drivers/net/wireless/ath/ath10k/Kconfig
> index e6ea884cafc1..4f385f4a8cef 100644
> --- a/drivers/net/wireless/ath/ath10k/Kconfig
> +++ b/drivers/net/wireless/ath/ath10k/Kconfig
> @@ -45,6 +45,7 @@ config ATH10K_SNOC
>   depends on ATH10K
>   depends on ARCH_QCOM || COMPILE_TEST
>   depends on QCOM_SMEM
> + depends on QCOM_RPROC_COMMON || QCOM_RPROC_COMMON=n
>   select QCOM_SCM
>   select QCOM_QMI_HELPERS
>   help
> 
> ---
> base-commit: 75fa778d74b786a1608d55d655d42b480a6fa8bd
> change-id: 20240511-ath10k-snoc-dep-862a9da2e6bb

I see how this fixes the problem, but this doesn't seem like an ideal
solution. The fact that the *_ssr_notifier() functions are correctly protected
by conditional compilation ideally should mean that clients don't need to call
call out this as a dependency. Otherwise, it would mean we'd need to do this
for all feature flags.

+linux-kbuild just to make sure there isn't a better approach.

/jeff




Re: [PATCH v14] ath10k: add LED and GPIO controlling support for various chipsets

2024-05-13 Thread Jeff Johnson
On 5/11/2024 7:17 AM, Kalle Valo wrote:
> Jeff Johnson  writes:
> 
>> On 5/10/2024 7:14 AM, Christian Marangi wrote:
>>
>>> On Thu, May 09, 2024 at 09:48:08AM -0700, Jeff Johnson wrote:
>>>> On 5/9/2024 9:37 AM, Jeff Johnson wrote:
>>>>> On 5/8/2024 9:50 PM, Kalle Valo wrote:
>>>>>> Sorry for the delay but finally I looked at this again. I decided to
>>>>>> just remove the fixme and otherwise it looks good for me. Please check
>>>>>> my changes:
>>>>>>
>>>>>> https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=688130a66ed49f20ca0ce02c3987f6a474f7c93a
>>>>>>
>>>>>
>>>>> I have a question about the copyrights in the two new files:
>>>>> + * Copyright (c) 2018-2023, The Linux Foundation. All rights reserved.
>>>>>
>>>>> My understanding is that Qualcomm's affiliation with Linux Foundation via 
>>>>> Code
>>>>> Aurora ended in December 2021, and hence any contributions in 2022-2023 
>>>>> should
>>>>> be the copyright of Qualcomm Innovation Center, Inc.
>>>>>
>>>>>
>>>>
>>>> ok it seems like Kalle's v13 had:
>>>>  + * Copyright (c) 2018, The Linux Foundation. All rights reserved.
>>>>
>>>> and Ansuel's v14 has:
>>>>  + * Copyright (c) 2018-2023, The Linux Foundation. All rights reserved.
>>>>
>>>> So Ansuel, is your work on behalf of The Linux Foundation?
>>>>
>>>
>>> When I resubmitted this at times, I just updated the copyright to the
>>> current year so I guess it was wrong doing that?
>>>
>>> As you can see from the copyright header this patch went all around and
>>> I think at the end (around 2018) the Linux copyright was added as it was
>>> submitted upstream. (can't remember if maintainers were asking that)
>>>
>>> So me watching the old year and resubmitting it, just updated the date.
>>>
>>> Soo I think we should revert to 2018?
>>>
>>
>> Yes, in this case changing the Linux Foundation copyright back to 2018 is 
>> correct.
> 
> I changed it now back to 2018, please check:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=5eff06bef76b6d4e1553c2d4978025c329d8db35
> 
LGTM, thanks!



Re: [PATCH v14] ath10k: add LED and GPIO controlling support for various chipsets

2024-05-10 Thread Jeff Johnson
On 5/10/2024 7:14 AM, Christian Marangi wrote:
> On Thu, May 09, 2024 at 09:48:08AM -0700, Jeff Johnson wrote:
>> On 5/9/2024 9:37 AM, Jeff Johnson wrote:
>>> On 5/8/2024 9:50 PM, Kalle Valo wrote:
>>>> Sorry for the delay but finally I looked at this again. I decided to
>>>> just remove the fixme and otherwise it looks good for me. Please check
>>>> my changes:
>>>>
>>>> https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=688130a66ed49f20ca0ce02c3987f6a474f7c93a
>>>>
>>>
>>> I have a question about the copyrights in the two new files:
>>> + * Copyright (c) 2018-2023, The Linux Foundation. All rights reserved.
>>>
>>> My understanding is that Qualcomm's affiliation with Linux Foundation via 
>>> Code
>>> Aurora ended in December 2021, and hence any contributions in 2022-2023 
>>> should
>>> be the copyright of Qualcomm Innovation Center, Inc.
>>>
>>>
>>
>> ok it seems like Kalle's v13 had:
>>  + * Copyright (c) 2018, The Linux Foundation. All rights reserved.
>>
>> and Ansuel's v14 has:
>>  + * Copyright (c) 2018-2023, The Linux Foundation. All rights reserved.
>>
>> So Ansuel, is your work on behalf of The Linux Foundation?
>>
> 
> When I resubmitted this at times, I just updated the copyright to the
> current year so I guess it was wrong doing that?
> 
> As you can see from the copyright header this patch went all around and
> I think at the end (around 2018) the Linux copyright was added as it was
> submitted upstream. (can't remember if maintainers were asking that)
> 
> So me watching the old year and resubmitting it, just updated the date.
> 
> Soo I think we should revert to 2018?
> 

Yes, in this case changing the Linux Foundation copyright back to 2018 is 
correct.

/jeff



Re: [PATCH v14] ath10k: add LED and GPIO controlling support for various chipsets

2024-05-09 Thread Jeff Johnson
On 5/9/2024 9:37 AM, Jeff Johnson wrote:
> On 5/8/2024 9:50 PM, Kalle Valo wrote:
>> Sorry for the delay but finally I looked at this again. I decided to
>> just remove the fixme and otherwise it looks good for me. Please check
>> my changes:
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=688130a66ed49f20ca0ce02c3987f6a474f7c93a
>>
> 
> I have a question about the copyrights in the two new files:
> + * Copyright (c) 2018-2023, The Linux Foundation. All rights reserved.
> 
> My understanding is that Qualcomm's affiliation with Linux Foundation via Code
> Aurora ended in December 2021, and hence any contributions in 2022-2023 should
> be the copyright of Qualcomm Innovation Center, Inc.
> 
> 

ok it seems like Kalle's v13 had:
 + * Copyright (c) 2018, The Linux Foundation. All rights reserved.

and Ansuel's v14 has:
 + * Copyright (c) 2018-2023, The Linux Foundation. All rights reserved.

So Ansuel, is your work on behalf of The Linux Foundation?




Re: [PATCH v14] ath10k: add LED and GPIO controlling support for various chipsets

2024-05-09 Thread Jeff Johnson
On 5/8/2024 9:50 PM, Kalle Valo wrote:
> Sorry for the delay but finally I looked at this again. I decided to
> just remove the fixme and otherwise it looks good for me. Please check
> my changes:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=688130a66ed49f20ca0ce02c3987f6a474f7c93a
> 

I have a question about the copyrights in the two new files:
+ * Copyright (c) 2018-2023, The Linux Foundation. All rights reserved.

My understanding is that Qualcomm's affiliation with Linux Foundation via Code
Aurora ended in December 2021, and hence any contributions in 2022-2023 should
be the copyright of Qualcomm Innovation Center, Inc.




Re: [PATCH v3 3/3] arm64: dts: qcom: msm8998: set qcom,no-msa-ready-indicator for wifi

2024-04-30 Thread Jeff Johnson
On 4/29/2024 7:07 AM, Marc Gonzalez wrote:
> The ath10k driver waits for an "MSA_READY" indicator
> to complete initialization. If the indicator is not
> received, then the device remains unusable.
> 
> cf. ath10k_qmi_driver_event_work()
> 
> Several msm8998-based devices are affected by this issue.
> Oddly, it seems safe to NOT wait for the indicator, and
> proceed immediately when QMI_EVENT_SERVER_ARRIVE.
> 
> Jeff Johnson wrote:
> 
>   The feedback I received was "it might be ok to change all ath10k qmi
>   to skip waiting for msa_ready", and it was pointed out that ath11k
>   (and ath12k) do not wait for it.
> 
>   However with so many deployed devices, "might be ok" isn't a strong
>   argument for changing the default behavior.
> 
> cf. also
> https://wiki.postmarketos.org/wiki/Qualcomm_Snapdragon_835_(MSM8998)#WLAN
> 
> Signed-off-by: Marc Gonzalez 
Acked-by: Jeff Johnson 




Re: [PATCH v3 2/3] wifi: ath10k: do not always wait for MSA_READY indicator

2024-04-30 Thread Jeff Johnson
On 4/29/2024 7:06 AM, Marc Gonzalez wrote:
> The ath10k driver waits for an "MSA_READY" indicator
> to complete initialization. If the indicator is not
> received, then the device remains unusable.
> 
> Several msm8998-based devices are affected by this issue.
> Oddly, it seems safe to NOT wait for the indicator, and
> proceed immediately when QMI_EVENT_SERVER_ARRIVE.
> 
> fw_version 0x100204b2
> fw_build_timestamp 2019-09-04 03:01
> fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HL.1.0-01202-QCAHLSWMTPLZ-1.221523.2
> 
> Jeff Johnson wrote:
> 
>   The feedback I received was "it might be ok to change all ath10k qmi
>   to skip waiting for msa_ready", and it was pointed out that ath11k
>   (and ath12k) do not wait for it.
> 
>   However with so many deployed devices, "might be ok" isn't a strong
>   argument for changing the default behavior.
> 
> Signed-off-by: Pierre-Hugues Husson 
> Signed-off-by: Marc Gonzalez 
> ---
with SOB cleaned up:
Acked-by: Jeff Johnson 




Re: [PATCH v3 1/3] dt-bindings: net: wireless: ath10k: add qcom,no-msa-ready-indicator prop

2024-04-30 Thread Jeff Johnson
On 4/29/2024 7:04 AM, Marc Gonzalez wrote:
> The ath10k driver waits for an "MSA_READY" indicator
> to complete initialization. If the indicator is not
> received, then the device remains unusable.
> 
> cf. ath10k_qmi_driver_event_work()
> 
> Several msm8998-based devices are affected by this issue.
> Oddly, it seems safe to NOT wait for the indicator, and
> proceed immediately when QMI_EVENT_SERVER_ARRIVE.
> 
> Jeff Johnson wrote:
> 
>   The feedback I received was "it might be ok to change all ath10k qmi
>   to skip waiting for msa_ready", and it was pointed out that ath11k
>   (and ath12k) do not wait for it.
> 
>   However with so many deployed devices, "might be ok" isn't a strong
>   argument for changing the default behavior.
> 
> Kalle Valo first suggested setting a bit in firmware-5.bin to trigger
> work-around in the driver. However, firmware-5.bin is parsed too late.
> So we are stuck with a DT property.
> 
> Signed-off-by: Pierre-Hugues Husson 
> Signed-off-by: Marc Gonzalez 
> ---
>  Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml | 5 +
>  1 file changed, 5 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml 
> b/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml
> index 9b3ef4bc37325..9070a41f7fc07 100644
> --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml
> +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml
> @@ -122,6 +122,11 @@ properties:
>Whether to skip executing an SCM call that reassigns the memory
>region ownership.
>  
> +  qcom,no-msa-ready-indicator:
> +type: boolean
> +description:
> +  Don't wait for MSA_READY indicator to complete init.
> +
>qcom,smem-states:
>  $ref: /schemas/types.yaml#/definitions/phandle-array
>  description: State bits used by the AP to signal the WLAN Q6.
with SOB cleaned up:
Acked-by: Jeff Johnson 




Re: [PATCH wireless v2] wifi: ath10k: Fix an error code problem in ath10k_dbg_sta_write_peer_debug_trigger()

2024-04-22 Thread Jeff Johnson
On 4/21/2024 8:42 PM, Su Hui wrote:
> Clang Static Checker (scan-build) Warning:
> drivers/net/wireless/ath/ath10k/debugfs_sta.c:line 429, column 3
> Value stored to 'ret' is never read.
> 
> Return 'ret' rather than 'count' when 'ret' stores an error code.
> By the way, remove some useless code.
> 
> Fixes: ee8b08a1be82 ("ath10k: add debugfs support to get per peer tids log 
> via tracing")
> Signed-off-by: Su Hui 

(try that again)
Acked-by: Jeff Johnson 




Re: [PATCH wireless v2] wifi: ath10k: Fix an error code problem in ath10k_dbg_sta_write_peer_debug_trigger()

2024-04-22 Thread Jeff Johnson
On 4/21/2024 8:42 PM, Su Hui wrote:
> Clang Static Checker (scan-build) Warning:
> drivers/net/wireless/ath/ath10k/debugfs_sta.c:line 429, column 3
> Value stored to 'ret' is never read.
> 
> Return 'ret' rather than 'count' when 'ret' stores an error code.
> By the way, remove some useless code.
> 
> Fixes: ee8b08a1be82 ("ath10k: add debugfs support to get per peer tids log 
> via tracing")
> Signed-off-by: Su Hui Acked-by: Jeff Johnson 
> 




Re: [PATCH wireless] wifi: ath10k: Fix an error code problem in ath10k_dbg_sta_write_peer_debug_trigger()

2024-04-19 Thread Jeff Johnson
On 4/17/2024 1:17 AM, Su Hui wrote:
> Clang Static Checker (scan-build) Warning:
> drivers/net/wireless/ath/ath10k/debugfs_sta.c:line 429, column 3
> Value stored to 'ret' is never read.
> 
> Return 'ret' rather than 'count' when 'ret' stores an error code.
> By the way, remove some useless code.
> 
> Fixes: ee8b08a1be82 ("ath10k: add debugfs support to get per peer tids log 
> via tracing")
> Signed-off-by: Su Hui 
> ---
>  drivers/net/wireless/ath/ath10k/debugfs_sta.c | 8 +++-
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/ath10k/debugfs_sta.c 
> b/drivers/net/wireless/ath/ath10k/debugfs_sta.c
> index 394bf3c32abf..5525dabe390a 100644
> --- a/drivers/net/wireless/ath/ath10k/debugfs_sta.c
> +++ b/drivers/net/wireless/ath/ath10k/debugfs_sta.c
> @@ -415,7 +415,7 @@ ath10k_dbg_sta_write_peer_debug_trigger(struct file *file,
>   struct ath10k_sta *arsta = (struct ath10k_sta *)sta->drv_priv;
>   struct ath10k *ar = arsta->arvif->ar;
>   u8 peer_debug_trigger;
> - int ret;
> + int ret = 0;

this is unnecessary since this will be written in all paths that lead to the
return that reads it

>  
>   if (kstrtou8_from_user(user_buf, count, 0, &peer_debug_trigger))
>   return -EINVAL;
> @@ -432,14 +432,12 @@ ath10k_dbg_sta_write_peer_debug_trigger(struct file 
> *file,
>  
>   ret = ath10k_wmi_peer_set_param(ar, arsta->arvif->vdev_id, sta->addr,
>   ar->wmi.peer_param->debug, 
> peer_debug_trigger);
> - if (ret) {
> + if (ret)
>   ath10k_warn(ar, "failed to set param to trigger peer tid logs 
> for station ret: %d\n",
>   ret);
> - goto out;
> - }
>  out:
>   mutex_unlock(&ar->conf_mutex);
> - return count;
> + return ret ?: count;
>  }
>  
>  static const struct file_operations fops_peer_debug_trigger = {

I'd suggest as an alternate solution that this function is a good candidate
for the the cleanup.h functionality. By scoping the mutex_lock() you can
simply return at each error location, and remove the explicit mutex_unlock().

But I'd accept this with the initializer change removed as well since I don't
think ath10k has any cleanup.h usages yet.

/jeff



Re: [PATCH 0/3] wifi: ath10k: fix board file loading for wcn3990 devices

2024-04-02 Thread Jeff Johnson
On 3/29/2024 9:48 PM, Dmitry Baryshkov wrote:
> On Tue, 30 Jan 2024 at 08:47, Dmitry Baryshkov
>  wrote:
>>
>> The ath10k driver fails to properly handle fallback from board-2.bin to
>> board.bin for WCN3990 cards. This happens because the
>> ath10k_hw_params_list doesn't include .fw.board* parameters for the
>> WCN3990 platform.
>>
>> Add board data configuration for WCN3990. While we are at it, merge
>> common pieces of BDF support: drop .board and .eboard names from struct
>> ath10k_hw_params_fw and use the common name instead.
>>
>> Signed-off-by: Dmitry Baryshkov 
>> ---
>> Dmitry Baryshkov (3):
>>   wifi: ath10k: populate board data for WCN3990
>>   wifi: ath10k: drop chip-specific board data file name
>>   wifi: ath10k: drop fw.eboard file name
>>
>>  drivers/net/wireless/ath/ath10k/core.c  | 32 
>> -
>>  drivers/net/wireless/ath/ath10k/hw.h| 14 ++---
>>  drivers/net/wireless/ath/ath10k/pci.c   | 10 -
>>  drivers/net/wireless/ath/ath10k/targaddrs.h |  3 +++
>>  4 files changed, 14 insertions(+), 45 deletions(-)
>> ---
>> base-commit: 596764183be8ebb13352b281a442a1f1151c9b06
>> change-id: 20240129-wcn3990-board-fw-a2d97507a712
> 
> Kalle, Jeff, is there anything pending on me on this series?
> 
Nothing from me -- this is outside my area of expertise so I'm deferring to 
Kalle.

Kalle?




Re: [PATCH RFC v2 0/4] wifi: ath10k: support board-specific firmware overrides

2024-04-02 Thread Jeff Johnson
On 3/29/2024 9:47 PM, Dmitry Baryshkov wrote:
> On Wed, 6 Mar 2024 at 10:16, Dmitry Baryshkov
>  wrote:
>>
>> On WCN3990 platforms actual firmware, wlanmdsp.mbn, is sideloaded to the
>> modem DSP via the TQFTPserv. These MBN files are signed by the device
>> vendor, can only be used with the particular SoC or device.
>>
>> Unfortunately different firmware versions come with different features.
>> For example firmware for SDM845 doesn't use single-chan-info-per-channel
>> feature, while firmware for QRB2210 / QRB4210 requires that feature.
>>
>> Allow board DT files to override the subdir of the fw dir used to lookup
>> the firmware-N.bin file decribing corresponding WiFi firmware.
>> For example, adding firmware-name = "qrb4210" property will make the
>> driver look for the firmware-N.bin first in ath10k/WCN3990/hw1.0/qrb4210
>> directory and then fallback to the default ath10k/WCN3990/hw1.0 dir.
>>
>> Signed-off-by: Dmitry Baryshkov 
>> ---
>> Changes in v2:
>> - Fixed the comment about the default board name being NULL (Kalle)
>> - Expanded commit message to provide examples for firmware paths (Kalle)
>> - Added a note regarding board-2.bin to the commit message (Kalle)
>> - Link to v1: 
>> https://lore.kernel.org/r/20240130-wcn3990-firmware-path-v1-0-826b93202...@linaro.org
>>
>> ---
>> Dmitry Baryshkov (4):
>>   dt-bindings: net: wireless: ath10k: describe firmware-name property
>>   wifi: ath10k: support board-specific firmware overrides
>>   arm64: dts: qcom: qrb2210-rb1: add firmware-name qualifier to WiFi node
>>   arm64: dts: qcom: qrb4210-rb1: add firmware-name qualifier to WiFi node
> 
> Kalle, Jeff, is there anything pending on me on this series?
> 
Nothing from me -- this is outside my area of expertise so I'm deferring to 
Kalle.

Kalle?




Re: [PATCH v2 3/3] arm64: dts: qcom: msm8998: set qcom,no-msa-ready-indicator for wifi

2024-04-02 Thread Jeff Johnson
On 4/2/2024 11:25 AM, Alexey Minnekhanov wrote:
> 
> 
> On 02.04.2024 18:55, Dmitry Baryshkov wrote:
>> I'd say, we should take a step back and actually verify how this was
>> handled in the vendor kernel.
> 
> 
> AFAIK there is no such thing in vendor kernel driver for this, as
> this startup procedure is likely handled entirely in userspace in
> cnss_daemon.
> 

So now I'm looking at the cnss-daemon, and there it appears that MSA READY is
always expected to be received.

There is target-specific logic to set the flags sent to firmware:
if (gdata->instance_id == ADRASTEA_ID) {
req.msa_ready_enable_valid = 1;
req.msa_ready_enable = 1;
} else { /* All targets other than Adrastea */
req.fw_mem_ready_enable_valid = 1;
req.fw_mem_ready_enable = 1;
}

Logic to set an internal flag if the message is received:
case QMI_WLFW_MSA_READY_IND_V01:
gdata->state |= CNSS_MSA_READY;

And Adrastea-specific logic to set that flag if it is set in a separate status
indicator:
static int wlfw_adrastea_init(struct wlfw_client_data *gdata)
[...]
if (fw_status & QMI_WLFW_MSA_READY_V01) {
wsvc_printf_dbg("MSA is ready");
gdata->state |= CNSS_MSA_READY;
}

So that flag is only set by receiving the QMI_WLFW_MSA_READY_IND_V01 message
or, only for Adrastea, if the response to wlfw_send_ind_register_req()
indicates MSA_READY

Later there is a wait for MSA_READY that has no conditions:
while (!CNSS_IS_MSA_READY(gdata->state))

Truthfully this is code I've never had to deal with before, and I've struggled
to find developers who have the necessary background. The least disruptive
paths seem to either be the DT item or adding a new item for this in struct
ath10k_hw_params.

Kalle, do you have any different guidance?



Re: [PATCH v2 3/3] arm64: dts: qcom: msm8998: set qcom,no-msa-ready-indicator for wifi

2024-04-02 Thread Jeff Johnson
On 4/2/2024 8:55 AM, Dmitry Baryshkov wrote:
> I'd say, we should take a step back and actually verify how this was
> handled in the vendor kernel.

(error handling and other non-QMI code removed from the following for 
readability)

In ath10k we unconditionally call the following in
ath10k_qmi_event_server_arrive():
ret = ath10k_qmi_host_cap_send_sync(qmi);
ret = ath10k_qmi_msa_mem_info_send_sync_msg(qmi);
ret = ath10k_qmi_setup_msa_permissions(qmi);
ret = ath10k_qmi_msa_ready_send_sync_msg(qmi);
ret = ath10k_qmi_cap_send_sync_msg(qmi);

In vendor icnss2 there is conditional logic in 
icnss_driver_event_server_arrive():
if (priv->device_id == WCN6750_DEVICE_ID ||
priv->device_id == WCN6450_DEVICE_ID) {
ret = wlfw_host_cap_send_sync(priv);
}

if (priv->device_id == ADRASTEA_DEVICE_ID) {
ret = wlfw_msa_mem_info_send_sync_msg(priv);
ret = wlfw_msa_ready_send_sync_msg(priv);
}

ret = wlfw_cap_send_sync_msg(priv);

reference:
https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/platform/-/blob/wlan-platform.lnx.1.0.r1-rel/icnss2/main.c?ref_type=heads#L890

/jeff



Re: [PATCH 4/7] wifi: ath10k: sdio: drop driver owner initialization

2024-03-29 Thread Jeff Johnson
On 3/29/2024 10:24 AM, Krzysztof Kozlowski wrote:
> Core in sdio_register_driver() already sets the .owner, so driver does
> not need to.
> 
> Signed-off-by: Krzysztof Kozlowski 

Acked-by: Jeff Johnson 

> 
> ---
> 
> Depends on the first patch.
> ---
>  drivers/net/wireless/ath/ath10k/sdio.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/ath/ath10k/sdio.c 
> b/drivers/net/wireless/ath/ath10k/sdio.c
> index 1acb9fba9a8e..cddd9e3010ee 100644
> --- a/drivers/net/wireless/ath/ath10k/sdio.c
> +++ b/drivers/net/wireless/ath/ath10k/sdio.c
> @@ -2667,7 +2667,6 @@ static struct sdio_driver ath10k_sdio_driver = {
>   .probe = ath10k_sdio_probe,
>   .remove = ath10k_sdio_remove,
>   .drv = {
> - .owner = THIS_MODULE,
>   .pm = ATH10K_SDIO_PM_OPS,
>   },
>  };
> 




Re: [PATCH 1/6] wifi: ath10k: sdio: simplify module initialization

2024-03-29 Thread Jeff Johnson
On 3/29/2024 10:10 AM, Krzysztof Kozlowski wrote:
> This driver's initialization functions do not perform any custom code,
> except printing messages.  Printing messages on modules
> loading/unloading is discouraged because it pollutes the dmesg
> regardless whether user actually has this device.  Core kernel code
> already gives tools to investigate whether module was loaded or not.
> 
> Drop the printing messages which allows to replace open-coded
> module_sdio_driver().
> 
> Signed-off-by: Krzysztof Kozlowski 

Acked-by: Jeff Johnson 

> 
> ---
> 
> FYI:
> I have ongoing patchset touching few lines above this patch chunk
> (sdio_driver) which might go via different tree. If that patchset is
> applied via different tree, it might result in a trivial conflict, but
> there is no dependency. They can go via separate trees (except that
> trivial conflict).

I'll let Kalle respond if he'll take this through the ath tree vs letting you
take it through your tree



Re: [PATCH] ath10k: allocate dummy net_device dynamically

2024-03-27 Thread Jeff Johnson
On 3/27/2024 7:45 AM, Jakub Kicinski wrote:
> On Wed, 27 Mar 2024 07:38:05 -0700 Breno Leitao wrote:
>>   -void init_dummy_netdev(struct net_device *dev)
>>   +void init_dummy_netdev_core(struct net_device *dev)
> 
> Can init_dummy_netdev_core() be a static function (and no export)?
> alloc_netdev_dummy() is probably going to be the only user.
> 
> I'd also lean towards squashing the two commits into one.

And once all of the conversions are complete, won't init_dummy_netdev() no
longer be used and can be removed?






Re: [PATCH 1/2] dt-bindings: net: wireless: ath10k: add qcom,no-msa-ready-indicator prop

2024-03-26 Thread Jeff Johnson
On 3/26/2024 10:51 AM, Dmitry Baryshkov wrote:
> On Tue, 26 Mar 2024 at 19:45, Marc Gonzalez  wrote:
>>
>> [ It has been pointed out to me that the previous message was unclear. ]
>> [ Below is my 2nd attempt at a clearer message. ]
>>
>> Problem: firmware-5.bin has not been parsed yet when we have to handle
>> the ATH10K_QMI_EVENT_SERVER_ARRIVE case, so we can't rely on feature bits
>> to work around the lack of MSA_READY indicator.
> 
> Then, I'd say, we have to resort to the DT property, unless Kalle or
> Jeff have other proposals.

Another option is to follow the downstream driver model and only expect this
based upon static configuration within the driver.

Downstream driver has:
if (priv->device_id == ADRASTEA_DEVICE_ID) {
ret = wlfw_msa_mem_info_send_sync_msg(priv);
ret = wlfw_msa_ready_send_sync_msg(priv);
}

https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/platform/-/blob/wlan-platform.lnx.1.0.r4-rel/icnss2/main.c?ref_type=heads#L968

The downstream MSA logic (including some other code that populates MSA-related
fields in the QMI messages) is only invoked for ADRASTEA_DEVICE_ID.

We could introduce a new hw_params parameter to have the same semantics.

But I'm OK with the DT option as well.

Kalle?

/jeff



Re: [PATCH] ath10k: allocate dummy net_device dynamically

2024-03-21 Thread Jeff Johnson
On 3/21/2024 7:28 AM, Jakub Kicinski wrote:
> On Wed, 20 Mar 2024 08:12:46 -0700 Jeff Johnson wrote:
>> NAK this based upon the ath11k patch results.
> 
> The ath11 patch is much more complex, I'd wager this one is fine.
> 
>> As suggested there we should just use kmalloc/kfree to match the existing 
>> logic.
> 
> Please no. There is no magic here. alloc + free must match whether
> you're using magic object alloc wrapper (alloc_netdev()) or straight
> up kzalloc().

Based upon the ath11k patch there must be something going on with
alloc_netdev()/free_netdev() that doesn't occur when these aren't used.

So I'm just suggesting that instead we use kmalloc() and kfree(), which are
matching functions, and which, like the existing code, are not subject to
whatever is happening in alloc_netdev()/free_netdev().

I don't understand your objection.

/jeff



Re: [PATCH] ath10k: allocate dummy net_device dynamically

2024-03-20 Thread Jeff Johnson
On 3/19/2024 3:47 AM, Breno Leitao wrote:
> Embedding net_device into structures prohibits the usage of flexible
> arrays in the net_device structure. For more details, see the discussion
> at [1].
> 
> Un-embed the net_device from struct ath10k by converting it
> into a pointer. Then use the leverage alloc_netdev() to allocate the
> net_device object at ath10k_core_create(). The free of the device occurs
> at ath10k_core_destroy().
> 
> [1] https://lore.kernel.org/all/20240229225910.79e22...@kernel.org/
> 
> Signed-off-by: Breno Leitao 

NAK this based upon the ath11k patch results.

As suggested there we should just use kmalloc/kfree to match the existing logic.

/jeff



Re: [PATCH] ath10k: allocate dummy net_device dynamically

2024-03-19 Thread Jeff Johnson
On 3/19/2024 10:15 AM, Breno Leitao wrote:
> On Tue, Mar 19, 2024 at 09:05:24AM -0700, Jeff Johnson wrote:
>> On 3/19/2024 3:47 AM, Breno Leitao wrote:
>>> @@ -3687,6 +3690,8 @@ struct ath10k *ath10k_core_create(size_t priv_size, 
>>> struct device *dev,
>>>  
>>>  err_free_coredump:
>>> ath10k_coredump_destroy(ar);
>>> +err_free_netdev:
>>> +   free_netdev(ar->napi_dev);
>>>  err_free_tx_complete:
>>> destroy_workqueue(ar->workqueue_tx_complete);
>>>  err_free_aux_wq:
>>> @@ -3708,6 +3713,7 @@ void ath10k_core_destroy(struct ath10k *ar)
>>>  
>>> destroy_workqueue(ar->workqueue_tx_complete);
>>>  
>>> +   free_netdev(ar->napi_dev);
>>> ath10k_debug_destroy(ar);
>>> ath10k_coredump_destroy(ar);
>>> ath10k_htt_tx_destroy(&ar->htt);
>>
>> looks like there is a pre-existing issue that the order of operations in
>> _destroy() doesn't match the order of operations in the _create() error path.
> 
> Right. I found it weird as well. Basically "ath10k_coredump" and
> "ath10k_debug" operations are swapped between ath10k_core_create() and
> ath10k_core_destroy().
> 
> If you wish, I can submit a patch ordering it properly.

Don't bother. I'll queue that up to fix separately myself

/jeff



Re: [PATCH] ath10k: allocate dummy net_device dynamically

2024-03-19 Thread Jeff Johnson
On 3/19/2024 3:47 AM, Breno Leitao wrote:
> Embedding net_device into structures prohibits the usage of flexible
> arrays in the net_device structure. For more details, see the discussion
> at [1].
> 
> Un-embed the net_device from struct ath10k by converting it
> into a pointer. Then use the leverage alloc_netdev() to allocate the
> net_device object at ath10k_core_create(). The free of the device occurs
> at ath10k_core_destroy().
> 
> [1] https://lore.kernel.org/all/20240229225910.79e22...@kernel.org/
> 
> Signed-off-by: Breno Leitao 
> ---
>  drivers/net/wireless/ath/ath10k/core.c | 10 --
>  drivers/net/wireless/ath/ath10k/core.h |  2 +-
>  drivers/net/wireless/ath/ath10k/pci.c  |  2 +-
>  drivers/net/wireless/ath/ath10k/sdio.c |  2 +-
>  drivers/net/wireless/ath/ath10k/snoc.c |  4 ++--
>  drivers/net/wireless/ath/ath10k/usb.c  |  2 +-
>  6 files changed, 14 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/ath10k/core.c 
> b/drivers/net/wireless/ath/ath10k/core.c
> index 9ce6f49ab261..3736517002f6 100644
> --- a/drivers/net/wireless/ath/ath10k/core.c
> +++ b/drivers/net/wireless/ath/ath10k/core.c
> @@ -3673,11 +3673,14 @@ struct ath10k *ath10k_core_create(size_t priv_size, 
> struct device *dev,
>   INIT_WORK(&ar->set_coverage_class_work,
> ath10k_core_set_coverage_class_work);
>  
> - init_dummy_netdev(&ar->napi_dev);
> + ar->napi_dev = alloc_netdev(0, "dummy", NET_NAME_UNKNOWN,
> + init_dummy_netdev);
> + if (!ar->napi_dev)
> + goto err_free_tx_complete;
>  
>   ret = ath10k_coredump_create(ar);
>   if (ret)
> - goto err_free_tx_complete;
> + goto err_free_netdev;
>  
>   ret = ath10k_debug_create(ar);
>   if (ret)
> @@ -3687,6 +3690,8 @@ struct ath10k *ath10k_core_create(size_t priv_size, 
> struct device *dev,
>  
>  err_free_coredump:
>   ath10k_coredump_destroy(ar);
> +err_free_netdev:
> + free_netdev(ar->napi_dev);
>  err_free_tx_complete:
>   destroy_workqueue(ar->workqueue_tx_complete);
>  err_free_aux_wq:
> @@ -3708,6 +3713,7 @@ void ath10k_core_destroy(struct ath10k *ar)
>  
>   destroy_workqueue(ar->workqueue_tx_complete);
>  
> + free_netdev(ar->napi_dev);
>   ath10k_debug_destroy(ar);
>   ath10k_coredump_destroy(ar);
>   ath10k_htt_tx_destroy(&ar->htt);

looks like there is a pre-existing issue that the order of operations in
_destroy() doesn't match the order of operations in the _create() error path.

but the placement of your changes looks ok to me


> diff --git a/drivers/net/wireless/ath/ath10k/core.h 
> b/drivers/net/wireless/ath/ath10k/core.h
> index c110d15528bd..26003b519574 100644
> --- a/drivers/net/wireless/ath/ath10k/core.h
> +++ b/drivers/net/wireless/ath/ath10k/core.h
> @@ -1269,7 +1269,7 @@ struct ath10k {
>   struct ath10k_per_peer_tx_stats peer_tx_stats;
>  
>   /* NAPI */
> - struct net_device napi_dev;
> + struct net_device *napi_dev;
>   struct napi_struct napi;
>  
>   struct work_struct set_coverage_class_work;
> diff --git a/drivers/net/wireless/ath/ath10k/pci.c 
> b/drivers/net/wireless/ath/ath10k/pci.c
> index 5c34b156b4ff..558bec96ae40 100644
> --- a/drivers/net/wireless/ath/ath10k/pci.c
> +++ b/drivers/net/wireless/ath/ath10k/pci.c
> @@ -3217,7 +3217,7 @@ static void ath10k_pci_free_irq(struct ath10k *ar)
>  
>  void ath10k_pci_init_napi(struct ath10k *ar)
>  {
> - netif_napi_add(&ar->napi_dev, &ar->napi, ath10k_pci_napi_poll);
> + netif_napi_add(ar->napi_dev, &ar->napi, ath10k_pci_napi_poll);
>  }
>  
>  static int ath10k_pci_init_irq(struct ath10k *ar)
> diff --git a/drivers/net/wireless/ath/ath10k/sdio.c 
> b/drivers/net/wireless/ath/ath10k/sdio.c
> index 0ab5433f6cf6..e28f2fe1101b 100644
> --- a/drivers/net/wireless/ath/ath10k/sdio.c
> +++ b/drivers/net/wireless/ath/ath10k/sdio.c
> @@ -2532,7 +2532,7 @@ static int ath10k_sdio_probe(struct sdio_func *func,
>   return -ENOMEM;
>   }
>  
> - netif_napi_add(&ar->napi_dev, &ar->napi, ath10k_sdio_napi_poll);
> + netif_napi_add(ar->napi_dev, &ar->napi, ath10k_sdio_napi_poll);
>  
>   ath10k_dbg(ar, ATH10K_DBG_BOOT,
>  "sdio new func %d vendor 0x%x device 0x%x block 0x%x/0x%x\n",
> diff --git a/drivers/net/wireless/ath/ath10k/snoc.c 
> b/drivers/net/wireless/ath/ath10k/snoc.c
> index 2c39bad7ebfb..0449b9ffc32d 100644
> --- a/drivers/net/wireless/ath/ath10k/snoc.c
> +++ b/drivers/net/wireless/ath/ath10k/snoc.c
> @@ -935,7 +935,7 @@ static int ath10k_snoc_hif_start(struct ath10k *ar)
>  
>   bitmap_clear(ar_snoc->pending_ce_irqs, 0, CE_COUNT_MAX);
>  
> - dev_set_threaded(&ar->napi_dev, true);
> + dev_set_threaded(ar->napi_dev, true);
>   ath10k_core_napi_enable(ar);
>   ath10k_snoc_irq_enable(ar);
>   ath10k_snoc_rx_post(ar);
> @@ -1253,7 +1253,7 @@ static int ath10k_snoc_napi_poll(struct napi_struct 
> *ctx, int budget)
>  
>  static void a

Re: [PATCH 1/2] dt-bindings: net: wireless: ath10k: add qcom,no-msa-ready-indicator prop

2024-03-14 Thread Jeff Johnson
On 3/14/2024 10:52 AM, Marc Gonzalez wrote:
> Is this the line you're after:
> [   32.367011] ath10k_snoc 1880.wifi: qmi fw_version 0x100204b2 
> fw_build_timestamp 2019-09-04 03:01 fw_build_id 
> QC_IMAGE_VERSION_STRING=WLAN.HL.1.0-01202-QCAHLSWMTPLZ-1.221523.2

perfect

> Is it legal for my company to publish our versions of qcom firmwares on 
> linux-firmware?
> (Perhaps a generic set of FWs would work; but AFAIU, there is some kind
> of signature verification at some point)

I'll let Kalle respond to that since he has more expertise.




Re: [PATCH 1/2] dt-bindings: net: wireless: ath10k: add qcom,no-msa-ready-indicator prop

2024-03-14 Thread Jeff Johnson
On 3/7/2024 8:46 AM, Jeff Johnson wrote:
> On 3/7/2024 7:29 AM, Marc Gonzalez wrote:
>> Have you heard back from the dev team?
>>
>> Do they confirm that an issue involving missing MSA_READY notifications
>> was ever noticed?
>>
>> What devices were affected? (All msm8998? A subset of msm8998?)
>>
>> Was the issue eventually fixed?
>> (Probably fixed, otherwise newer devices would be affected)
> 
> The feedback I received was "it might be ok to change all ath10k qmi to
> skip waiting for msa_ready", and it was pointed out that ath11k (and
> ath12k) do not wait for it.
> 
> However with so many deployed devices, "might be ok" isn't a strong
> argument for changing the default behavior.
> 
> So my preference would be to use the firmware capability in the board
> file that Kalle has recommended.

Marc,
I finally have an engineer who wants to research this further.
Can you provide the kernel log that shows the firmware version being used?

/jeff




Re: New staging repos for ath1*k firmware

2024-03-13 Thread Jeff Johnson
On 3/9/2024 9:58 AM, Sebastian Gottschall wrote:
> 
> Am 07.03.2024 um 17:49 schrieb Kalle Valo:
>> Robert Marko  writes:
>>
>>> On Wed, Mar 6, 2024 at 8:23 PM Jeff Johnson  
>>> wrote:
>>>
>>>> Historically, prior to being incorporated into the linux-firmware
>>>> project, firmware for kernel.org ath1*k drivers has been first published
>>>> to Kalle's GitHub:
>>>> https://github.com/kvalo/ath10k-firmware
>>>> https://github.com/kvalo/ath11k-firmware
>>>> (ath12k firmware was pushed to the ath11k-firmware repo on a temporary
>>>> basis in anticipation of this move)
>>>>
>>>> But in order to have repos with multiple maintainers, as well as to have
>>>> a hosting platform with more control, we have moved to CodeLinaro:
>>>> https://git.codelinaro.org/clo/ath-firmware/ath10k-firmware
>>>> https://git.codelinaro.org/clo/ath-firmware/ath11k-firmware
>>>> https://git.codelinaro.org/clo/ath-firmware/ath12k-firmware
>>>>
>>>> Note that most people should not care about this -- normally you should
>>>> use the firmware that is in the official linux-firmware repo:
>>>> https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
>>>>
>>>> You should only need to access the staging repos if you need a previous
>>>> version to work around an issue, or if you are testing new firmware that
>>>> is supposed to fix a problem that you've reported.
>>>>
>>>> Please let Kalle & I know if you have any issues with these new repos!
>>> Can I please ask for IPQ6018 firmware to be updated to 2.9.0.1 as well?
>>>
>>> We have added IPQ6018 support to OpenWrt but we are forced to use the old 
>>> 2.4
>>> firmware since anything newer is crashing on IPQ6018, we had the same issue 
>>> on
>>> IPQ8074 but it was fixed with 2.9.0.1 firmware.
>>>
>>> Even for IPQ8074, there is newer 2.9.0.1 firmware that is only
>>> available as part of
>>> QSDK and the community would benefit from being able to use it.
>> We are working on getting the AP chipset firmwares updated but
>> unfortunately no news yet.
> why isnt qca releasing the latest firmwares at all. i mean we all know 
> that the qca networking tree contains way newer firmwares for all 
> chipsets since a long time

Kalle & I are just the conduit, but I've relayed this thread to the folks
responsible for feeding us the firmware releases.

/jeff





Re: [PATCH 1/2] dt-bindings: net: wireless: ath10k: add qcom,no-msa-ready-indicator prop

2024-03-07 Thread Jeff Johnson
On 3/7/2024 7:29 AM, Marc Gonzalez wrote:
> Have you heard back from the dev team?
> 
> Do they confirm that an issue involving missing MSA_READY notifications
> was ever noticed?
> 
> What devices were affected? (All msm8998? A subset of msm8998?)
> 
> Was the issue eventually fixed?
> (Probably fixed, otherwise newer devices would be affected)

The feedback I received was "it might be ok to change all ath10k qmi to
skip waiting for msa_ready", and it was pointed out that ath11k (and
ath12k) do not wait for it.

However with so many deployed devices, "might be ok" isn't a strong
argument for changing the default behavior.

So my preference would be to use the firmware capability in the board
file that Kalle has recommended.

/jeff



Re: [PATCH RFC v2 0/4] wifi: ath10k: support board-specific firmware overrides

2024-03-06 Thread Jeff Johnson
On 3/6/2024 6:23 AM, Dmitry Baryshkov wrote:
> After some thought, I'd suggest to follow approach taken by the rest
> of qcom firmware:
> put a default (accepted by non-secured hardware) firmware to SoC dir
> and then put a vendor-specific firmware into subdir. If any of such
> vendors appear, we might even implement structural fallback: first
> look into sdm845/Google/blueline, then in sdm845/Google, sdm845/ and
> finally just under hw1.0.

are there existing examples in linux-firmware?

or is the whole point being only the default firmware is in
linux-firmware and vendors would follow this pattern if they add their
own firmware?




New staging repos for ath1*k firmware

2024-03-06 Thread Jeff Johnson
Historically, prior to being incorporated into the linux-firmware
project, firmware for kernel.org ath1*k drivers has been first published
to Kalle's GitHub:
https://github.com/kvalo/ath10k-firmware
https://github.com/kvalo/ath11k-firmware
(ath12k firmware was pushed to the ath11k-firmware repo on a temporary
basis in anticipation of this move)

But in order to have repos with multiple maintainers, as well as to have
a hosting platform with more control, we have moved to CodeLinaro:
https://git.codelinaro.org/clo/ath-firmware/ath10k-firmware
https://git.codelinaro.org/clo/ath-firmware/ath11k-firmware
https://git.codelinaro.org/clo/ath-firmware/ath12k-firmware

Note that most people should not care about this -- normally you should
use the firmware that is in the official linux-firmware repo:
https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/

You should only need to access the staging repos if you need a previous
version to work around an issue, or if you are testing new firmware that
is supposed to fix a problem that you've reported.

Please let Kalle & I know if you have any issues with these new repos!

/jeff



Re: [PATCH 1/2] dt-bindings: net: wireless: ath10k: add qcom,no-msa-ready-indicator prop

2024-02-29 Thread Jeff Johnson
On 2/29/2024 10:40 AM, Conor Dooley wrote:
> On Wed, Feb 28, 2024 at 06:37:08PM +0200, Kalle Valo wrote:
>> Marc Gonzalez  writes:
> 
>>> As mentioned in my other reply, there are several msm8998-based
>>> devices affected by this issue. Is it not appropriate to consider
>>> a kernel-based work-around?
>>
>> Sorry, not following you here. But I'll try to answer anyway:
>>
>> I have understood that Device Tree is supposed to describe hardware, not
>> software. This is why having this property in DT does not look right
>> place for this. For example, if the ath10k firmware is fixed then DT
>> would have to be changed even though nothing changed in hardware. But of
>> course DT maintainers have the final say.
> 
> I dunno, if the firmware affects the functionality of the hardware in a
> way that cannot be detected from the operating system at runtime how
> else is it supposed to deal with that?
> The devicetree is supposed to describe hardware, yes, but at a certain
> point the line between firmware and hardware is invisible :)
> Not describing software is mostly about not using it to determine
> software policy in the operating system.

FWIW I've compared ath10k to the out-of-tree Android driver and there
are discrepancies in this area. I've asked the development team that
supports ath10k to provide a recommendation.

/jeff



Re: [PATCH] wifi: ath10k: poll service ready message before failing

2024-02-28 Thread Jeff Johnson
On 2/28/2024 10:46 AM, James Prestwood wrote:
> This does appear to have fixed it! For reference this was my test:
> 
>   for i in $(seq 1 10); do sudo ip link set wlan0 down; sudo ip link 
> set wlan0 up; echo $?; done
> 
> I never saw the up command fail, and after a while I noticed one of the 
> iterations took a bit longer to complete. Checked dmesg and saw:
> 
> [ 1006.017198] ath10k_pci :02:00.0: failed to receive service ready 
> completion, polling..
> [ 1006.017295] ath10k_pci :02:00.0: service ready completion 
> received, continuing normally
> 
> I then started IWD and it was able to connect fine (data frames were 
> being passed). I was able to trigger this 3 times relatively quickly, 
> each time IWD connected afterwards. So from my end this appears fixed.
> 
> You can add tested-by me if you like:
> 
> Tested-By: James Prestwood  # on QCA6174 hw3.2

Thanks for the initial report and the testing :)

/jeff



Re: [PATCH 1/2] dt-bindings: net: wireless: ath10k: add qcom,no-msa-ready-indicator prop

2024-02-28 Thread Jeff Johnson
On 2/28/2024 5:24 AM, Marc Gonzalez wrote:
> The driver waits for this indicator before proceeding,
> yet some WCNSS firmwares apparently do not send it.
> On those devices, it seems safe to ignore the indicator,
> and continue loading the firmware.

Can you list the product/hardware/firmware where this is observed?
Would prefer to fix the firmware if the issue is there




Re: [PATCH v2] wifi: ath10k: poll service ready message before failing

2024-02-26 Thread Jeff Johnson
On 2/26/2024 7:04 PM, Baochen Qiang wrote:
> Currently host relies on CE interrupts to get notified that
> the service ready message is ready. This results in timeout
> issue if the interrupt is not fired, due to some unknown
> reasons. See below logs:
> 
> [76321.937866] ath10k_pci :02:00.0: wmi service ready event not received
> ...
> [76322.016738] ath10k_pci :02:00.0: Could not init core: -110
> 
> And finally it causes WLAN interface bring up failure.
> 
> Change to give it one more chance here by polling CE rings,
> before failing directly.
> 
> Tested-on: QCA6174 hw3.2 PCI WLAN.RM.4.4.1-00157-QCARMSWPZ-1
> 
> Fixes: 5e3dd157d7e7 ("ath10k: mac80211 driver for Qualcomm Atheros 802.11ac 
> CQA98xx devices")
> Reported-by: James Prestwood 
> Link: 
> https://lore.kernel.org/linux-wireless/304ce305-fbe6-420e-ac2a-d61ae5e6c...@gmail.com/
> Signed-off-by: Baochen Qiang 
Acked-by: Jeff Johnson 




Re: [FYI][PATCH] tracing/treewide: Remove second parameter of __assign_str()

2024-02-23 Thread Jeff Johnson
On 2/23/2024 9:56 AM, Steven Rostedt wrote:
> From: "Steven Rostedt (Google)" 
> 
> [
>This is a treewide change. I will likely re-create this patch again in
>the second week of the merge window of v6.9 and submit it then. Hoping
>to keep the conflicts that it will cause to a minimum.
> ]
> 
> With the rework of how the __string() handles dynamic strings where it
> saves off the source string in field in the helper structure[1], the
> assignment of that value to the trace event field is stored in the helper
> value and does not need to be passed in again.

Just curious if this could be done piecemeal by first changing the
macros to be variadic macros which allows you to ignore the extra
argument. The callers could then be modified in their separate trees.
And then once all the callers have be merged, the macros could be
changed to no longer be variadic.



[PATCH] dt-bindings: net: wireless: qcom: Update maintainers

2024-02-17 Thread Jeff Johnson
Add Jeff Johnson as a maintainer of the qcom,ath1*k.yaml files.

Signed-off-by: Jeff Johnson 
---
 Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml | 1 +
 Documentation/devicetree/bindings/net/wireless/qcom,ath11k-pci.yaml | 1 +
 Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml | 1 +
 3 files changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml 
b/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml
index 7758a55dd328..9b3ef4bc3732 100644
--- a/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml
+++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml
@@ -8,6 +8,7 @@ title: Qualcomm Technologies ath10k wireless devices
 
 maintainers:
   - Kalle Valo 
+  - Jeff Johnson 
 
 description:
   Qualcomm Technologies, Inc. IEEE 802.11ac devices.
diff --git 
a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k-pci.yaml 
b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k-pci.yaml
index 817f02a8b481..41d023797d7d 100644
--- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k-pci.yaml
+++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k-pci.yaml
@@ -9,6 +9,7 @@ title: Qualcomm Technologies ath11k wireless devices (PCIe)
 
 maintainers:
   - Kalle Valo 
+  - Jeff Johnson 
 
 description: |
   Qualcomm Technologies IEEE 802.11ax PCIe devices
diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml 
b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
index 7d5f982a3d09..672282cdfc2f 100644
--- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
+++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
@@ -9,6 +9,7 @@ title: Qualcomm Technologies ath11k wireless devices
 
 maintainers:
   - Kalle Valo 
+  - Jeff Johnson 
 
 description: |
   These are dt entries for Qualcomm Technologies, Inc. IEEE 802.11ax

---
base-commit: 3ab6aff5793c3c7bdf6535d9b0024544a4abbdd5
change-id: 20240217-ath1xk-maintainer-69fcaf781fd9




[PATCH 1/2] MAINTAINERS: update Jeff Johnson e-mail address

2024-02-17 Thread Jeff Johnson
I now have a @kernel.org e-mail address, so use that for my
maintenance activities.

Signed-off-by: Jeff Johnson 
---
 MAINTAINERS | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 92152ac346c8..77289fef78d9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -17974,7 +17974,7 @@ F:  drivers/media/tuners/qt1010*
 
 QUALCOMM ATH12K WIRELESS DRIVER
 M: Kalle Valo 
-M: Jeff Johnson 
+M: Jeff Johnson 
 L: ath...@lists.infradead.org
 S: Supported
 W: https://wireless.wiki.kernel.org/en/users/Drivers/ath12k
@@ -17983,7 +17983,7 @@ F:  drivers/net/wireless/ath/ath12k/
 
 QUALCOMM ATHEROS ATH10K WIRELESS DRIVER
 M: Kalle Valo 
-M: Jeff Johnson 
+M: Jeff Johnson 
 L: ath10k@lists.infradead.org
 S: Supported
 W: https://wireless.wiki.kernel.org/en/users/Drivers/ath10k
@@ -17993,7 +17993,7 @@ F:  drivers/net/wireless/ath/ath10k/
 
 QUALCOMM ATHEROS ATH11K WIRELESS DRIVER
 M: Kalle Valo 
-M: Jeff Johnson 
+M: Jeff Johnson 
 L: ath...@lists.infradead.org
 S: Supported
 W: https://wireless.wiki.kernel.org/en/users/Drivers/ath11k

-- 
2.42.0




[PATCH 0/2] wifi: make several MAINTAINERS updates for ath10k/ath11k/ath12k

2024-02-17 Thread Jeff Johnson


---
Jeff Johnson (2):
  MAINTAINERS: update Jeff Johnson e-mail address
  MAINTAINERS: Add N: ath1*k entries to match .yaml files

 MAINTAINERS | 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)
---
base-commit: 3ab6aff5793c3c7bdf6535d9b0024544a4abbdd5
change-id: 20240217-update-maintainer-9f93b989067a




[PATCH 2/2] MAINTAINERS: Add N: ath1*k entries to match .yaml files

2024-02-17 Thread Jeff Johnson
In [1] it was observed that the ath12k maintainers were not added to
the review of a new ath12k YAML file. Bartosz suggested "adding an N:
ath12k entry to MAINTAINERS" to prevent this in the future. In the
process it was noticed that one of the ath11k YAML files was also not
explicitly referenced, so add N: entries to ath10k, ath11k, and
ath12k, and remove the explicit F: entries.

Link: 
https://lore.kernel.org/linux-wireless/20240216203215.40870-7-b...@bgdev.pl/ [1]
Suggested-by: Bartosz Golaszewski 
Signed-off-by: Jeff Johnson 
---
 MAINTAINERS | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 77289fef78d9..b96c991252ee 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -17980,6 +17980,7 @@ S:  Supported
 W: https://wireless.wiki.kernel.org/en/users/Drivers/ath12k
 T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
 F: drivers/net/wireless/ath/ath12k/
+N: ath12k
 
 QUALCOMM ATHEROS ATH10K WIRELESS DRIVER
 M: Kalle Valo 
@@ -17988,8 +17989,8 @@ L:  ath10k@lists.infradead.org
 S: Supported
 W: https://wireless.wiki.kernel.org/en/users/Drivers/ath10k
 T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
-F: Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml
 F: drivers/net/wireless/ath/ath10k/
+N: ath10k
 
 QUALCOMM ATHEROS ATH11K WIRELESS DRIVER
 M: Kalle Valo 
@@ -17999,8 +18000,8 @@ S:  Supported
 W: https://wireless.wiki.kernel.org/en/users/Drivers/ath11k
 B: https://wireless.wiki.kernel.org/en/users/Drivers/ath11k/bugreport
 T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
-F: Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml
 F: drivers/net/wireless/ath/ath11k/
+N: ath11k
 
 QUALCOMM ATHEROS ATH9K WIRELESS DRIVER
 M: Toke Høiland-Jørgensen 

-- 
2.42.0




Re: [PATCH RFC 0/4] wifi: ath10k: support board-specific firmware overrides

2024-02-12 Thread Jeff Johnson
On 1/30/2024 8:38 AM, Dmitry Baryshkov wrote:
> On WCN3990 platforms actual firmware, wlanmdsp.mbn, is sideloaded to the
> modem DSP via the TQFTPserv. These MBN files are signed by the device
> vendor, can only be used with the particular SoC or device.
> 
> Unfortunately different firmware versions come with different features.
> For example firmware for SDM845 doesn't use single-chan-info-per-channel
> feature, while firmware for QRB2210 / QRB4210 requires that feature.
> 
> Allow board DT files to override the subdir of the fw dir used to lookup
> the firmware-N.bin file decribing corresponding WiFi firmware.
> For example, adding firmware-name = "qrb4210" property will make the
> driver look for the firmware-N.bin first in ath10k/WCN3990/hw1.0/qrb4210
> directory and then fallback to the default ath10k/WCN3990/hw1.0 dir.
> 
> Signed-off-by: Dmitry Baryshkov 
> ---
> Dmitry Baryshkov (4):
>   dt-bindings: net: wireless: ath10k: describe firmware-name property
>   wifi: ath10k: support board-specific firmware overrides
>   arm64: dts: qcom: qrb2210-rb1: add firmware-name qualifier to WiFi node
>   arm64: dts: qcom: qrb4210-rb1: add firmware-name qualifier to WiFi node
> 
>  .../devicetree/bindings/net/wireless/qcom,ath10k.yaml |  6 ++
>  arch/arm64/boot/dts/qcom/qrb2210-rb1.dts  |  1 +
>  arch/arm64/boot/dts/qcom/qrb4210-rb2.dts  |  1 +
>  drivers/net/wireless/ath/ath10k/core.c| 11 
> ++-
>  drivers/net/wireless/ath/ath10k/core.h|  2 ++
>  drivers/net/wireless/ath/ath10k/snoc.c|  3 +++
>  6 files changed, 23 insertions(+), 1 deletion(-)
> ---
> base-commit: 596764183be8ebb13352b281a442a1f1151c9b06
> change-id: 20240130-wcn3990-firmware-path-7a05a0cf8107
> 
> Best regards,
This series looks OK to me, but would like Kalle to review as well



Re: [PATCH 0/3] wifi: ath10k: fix board file loading for wcn3990 devices

2024-02-12 Thread Jeff Johnson
On 1/29/2024 10:47 PM, Dmitry Baryshkov wrote:
> The ath10k driver fails to properly handle fallback from board-2.bin to
> board.bin for WCN3990 cards. This happens because the
> ath10k_hw_params_list doesn't include .fw.board* parameters for the
> WCN3990 platform.
> 
> Add board data configuration for WCN3990. While we are at it, merge
> common pieces of BDF support: drop .board and .eboard names from struct
> ath10k_hw_params_fw and use the common name instead.
> 
> Signed-off-by: Dmitry Baryshkov 
> ---
> Dmitry Baryshkov (3):
>   wifi: ath10k: populate board data for WCN3990
>   wifi: ath10k: drop chip-specific board data file name
>   wifi: ath10k: drop fw.eboard file name
> 
>  drivers/net/wireless/ath/ath10k/core.c  | 32 
> -
>  drivers/net/wireless/ath/ath10k/hw.h| 14 ++---
>  drivers/net/wireless/ath/ath10k/pci.c   | 10 -
>  drivers/net/wireless/ath/ath10k/targaddrs.h |  3 +++
>  4 files changed, 14 insertions(+), 45 deletions(-)
> ---
> base-commit: 596764183be8ebb13352b281a442a1f1151c9b06
> change-id: 20240129-wcn3990-board-fw-a2d97507a712
> 
> Best regards,

This series looks OK to me, but would like Kalle to review as well



[PATCH 2/5] wifi: ath10k: correctly document enum wmi_tlv_tx_pause_id

2024-01-18 Thread Jeff Johnson
Currently kernel-doc reports the issue:
drivers/net/wireless/ath/ath10k/wmi-tlv.h:2363: warning: cannot understand 
function prototype: 'enum wmi_tlv_tx_pause_id '

Update the enum wmi_tlv_tx_pause_id documentation to fix this issue.

No functional changes, compile tested only.

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath10k/wmi-tlv.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.h 
b/drivers/net/wireless/ath/ath10k/wmi-tlv.h
index 83a8f07a687f..8a2f87d0a3a3 100644
--- a/drivers/net/wireless/ath/ath10k/wmi-tlv.h
+++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.h
@@ -3,7 +3,7 @@
  * Copyright (c) 2005-2011 Atheros Communications Inc.
  * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
  * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
- * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022, 2024 Qualcomm Innovation Center, Inc. All rights 
reserved.
  */
 #ifndef _WMI_TLV_H
 #define _WMI_TLV_H
@@ -2343,7 +2343,7 @@ struct wmi_tlv_adaptive_qcs {
 } __packed;
 
 /**
- * wmi_tlv_tx_pause_id - firmware tx queue pause reason types
+ * enum wmi_tlv_tx_pause_id - firmware tx queue pause reason types
  *
  * @WMI_TLV_TX_PAUSE_ID_MCC: used for by multi-channel firmware scheduler.
  * Only vdev_map is valid.

-- 
2.42.0




[PATCH 5/5] wifi: ath10k: Fix enum ath10k_fw_crash_dump_type kernel-doc

2024-01-18 Thread Jeff Johnson
The kernel-doc script currently reports:
drivers/net/wireless/ath/ath10k/coredump.h:27: warning: Enum value 
'ATH10K_FW_CRASH_DUMP_REGISTERS' not described in enum 
'ath10k_fw_crash_dump_type'
drivers/net/wireless/ath/ath10k/coredump.h:27: warning: Enum value 
'ATH10K_FW_CRASH_DUMP_CE_DATA' not described in enum 'ath10k_fw_crash_dump_type'
drivers/net/wireless/ath/ath10k/coredump.h:27: warning: Enum value 
'ATH10K_FW_CRASH_DUMP_RAM_DATA' not described in enum 
'ath10k_fw_crash_dump_type'
drivers/net/wireless/ath/ath10k/coredump.h:27: warning: Enum value 
'ATH10K_FW_CRASH_DUMP_MAX' not described in enum 'ath10k_fw_crash_dump_type'
drivers/net/wireless/ath/ath10k/coredump.h:27: warning: Excess enum value 
'ATH10K_FW_CRASH_DUMP_REGDUMP' description in 'ath10k_fw_crash_dump_type'

Fix these issues with the enum ath10k_fw_crash_dump_type kernel-doc.

No functional changes, compile tested only.

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath10k/coredump.h | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/coredump.h 
b/drivers/net/wireless/ath/ath10k/coredump.h
index e5ef0352e319..8d274e0f374b 100644
--- a/drivers/net/wireless/ath/ath10k/coredump.h
+++ b/drivers/net/wireless/ath/ath10k/coredump.h
@@ -1,7 +1,7 @@
 /* SPDX-License-Identifier: ISC */
 /*
  * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
- * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022, 2024 Qualcomm Innovation Center, Inc. All rights 
reserved.
  */
 
 #ifndef _COREDUMP_H_
@@ -13,7 +13,11 @@
 
 /**
  * enum ath10k_fw_crash_dump_type - types of data in the dump file
- * @ATH10K_FW_CRASH_DUMP_REGDUMP: Register crash dump in binary format
+ * @ATH10K_FW_CRASH_DUMP_REGISTERS: Register crash dump in binary format
+ * @ATH10K_FW_CRASH_DUMP_CE_DATA: Copy Engine crash dump data
+ * @ATH10K_FW_CRASH_DUMP_RAM_DATA: RAM crash dump data, contains multiple
+ *struct ath10k_dump_ram_data_hdr
+ * @ATH10K_FW_CRASH_DUMP_MAX: Maximum enumeration
  */
 enum ath10k_fw_crash_dump_type {
ATH10K_FW_CRASH_DUMP_REGISTERS = 0,

-- 
2.42.0




[PATCH 1/5] wifi: ath10k: add missing wmi_10_4_feature_mask documentation

2024-01-18 Thread Jeff Johnson
Currently kernel-doc reports the following issues:
drivers/net/wireless/ath/ath10k/wmi.h:3033: warning: Enum value 
'WMI_10_4_EXT_PEER_TID_CONFIGS_SUPPORT' not described in enum 
'wmi_10_4_feature_mask'
drivers/net/wireless/ath/ath10k/wmi.h:3033: warning: Enum value 
'WMI_10_4_REPORT_AIRTIME' not described in enum 'wmi_10_4_feature_mask'

Update the kernel-doc for enum wmi_10_4_feature_mask to add the
missing documentation.

No functional changes, compile tested only.

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath10k/wmi.h | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/wmi.h 
b/drivers/net/wireless/ath/ath10k/wmi.h
index b64b6e214bae..2379501225a4 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -3,7 +3,7 @@
  * Copyright (c) 2005-2011 Atheros Communications Inc.
  * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
  * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights 
reserved.
+ * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights 
reserved.
  */
 
 #ifndef _WMI_H_
@@ -3008,8 +3008,11 @@ enum wmi_coex_version {
  * @WMI_10_4_TDLS_UAPSD_SLEEP_STA: TDLS sleep sta support enable/disable
  * @WMI_10_4_TDLS_CONN_TRACKER_IN_HOST_MODE: TDLS connection tracker in host
  * enable/disable
- * @WMI_10_4_TDLS_EXPLICIT_MODE_ONLY:Explicit TDLS mode enable/disable
+ * @WMI_10_4_TDLS_EXPLICIT_MODE_ONLY: Explicit TDLS mode enable/disable
  * @WMI_10_4_TX_DATA_ACK_RSSI: Enable DATA ACK RSSI if firmware is capable
+ * @WMI_10_4_EXT_PEER_TID_CONFIGS_SUPPORT:  Firmware supports Extended Peer
+ * TID configuration for QoS related settings
+ * @WMI_10_4_REPORT_AIRTIME: Firmware supports transmit airtime reporting
  */
 enum wmi_10_4_feature_mask {
WMI_10_4_LTEU_SUPPORT   = BIT(0),

-- 
2.42.0




[PATCH 4/5] wifi: ath10k: Fix htt_data_tx_completion kernel-doc warning

2024-01-18 Thread Jeff Johnson
Currently kernel-doc reports:
drivers/net/wireless/ath/ath10k/htt.h:911: warning: Cannot understand  * @brief 
target -> host TX completion indication message definition
 on line 911 - I thought it was a doc line

This is because even though struct htt_data_tx_completion uses the
kernel-doc marker "/**", it doesn't actual use kernel-doc syntax for
the documentation. Rather than try to update this legacy driver
documentation to use kernel-doc style, just replace the comment
marker.

No functional changes, compile tested only.

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath10k/htt.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/htt.h 
b/drivers/net/wireless/ath/ath10k/htt.h
index eb0ce2f49315..603f6de62b0a 100644
--- a/drivers/net/wireless/ath/ath10k/htt.h
+++ b/drivers/net/wireless/ath/ath10k/htt.h
@@ -906,7 +906,7 @@ struct htt_data_tx_completion_ext {
__le16 msdus_rssi[];
 } __packed;
 
-/**
+/*
  * @brief target -> host TX completion indication message definition
  *
  * @details

-- 
2.42.0




[PATCH 3/5] wifi: ath10k: fix htt_q_state_conf & htt_q_state kernel-doc

2024-01-18 Thread Jeff Johnson
Currently kernel-doc reports:
drivers/net/wireless/ath/ath10k/htt.h:1488: warning: cannot understand function 
prototype: 'struct htt_q_state_conf '
drivers/net/wireless/ath/ath10k/htt.h:1542: warning: cannot understand function 
prototype: 'struct htt_q_state '

Update the kernel-doc for these two structs to resolve the warnings.

No functional changes, compile tested only.

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath10k/htt.h | 10 +++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/htt.h 
b/drivers/net/wireless/ath/ath10k/htt.h
index 4a9270e2a4c8..eb0ce2f49315 100644
--- a/drivers/net/wireless/ath/ath10k/htt.h
+++ b/drivers/net/wireless/ath/ath10k/htt.h
@@ -3,7 +3,7 @@
  * Copyright (c) 2005-2011 Atheros Communications Inc.
  * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
  * Copyright (c) 2018, The Linux Foundation. All rights reserved.
- * Copyright (c) 2021, 2023 Qualcomm Innovation Center, Inc. All rights 
reserved.
+ * Copyright (c) 2021, 2023-2024 Qualcomm Innovation Center, Inc. All rights 
reserved.
  */
 
 #ifndef _HTT_H_
@@ -1474,15 +1474,19 @@ enum htt_q_depth_type {
 #define HTT_TX_Q_STATE_ENTRY_MULTIPLIER0
 
 /**
- * htt_q_state_conf - part of htt_frag_desc_bank_cfg for host q state config
+ * struct htt_q_state_conf - part of htt_frag_desc_bank_cfg for host q state 
config
  *
  * Defines host q state format and behavior. See htt_q_state.
  *
+ * @paddr: Queue physical address
+ * @num_peers: Number of supported peers
+ * @num_tids: Number of supported TIDs
  * @record_size: Defines the size of each host q entry in bytes. In practice
  * however firmware (at least 10.4.3-00191) ignores this host
  * configuration value and uses hardcoded value of 1.
  * @record_multiplier: This is valid only when q depth type is MSDUs. It
  * defines the exponent for the power of 2 multiplication.
+ * @pad: struct padding for 32-bit alignment
  */
 struct htt_q_state_conf {
__le32 paddr;
@@ -1518,7 +1522,7 @@ struct htt_frag_desc_bank_cfg64 {
 #define HTT_TX_Q_STATE_ENTRY_EXP_LSB   6
 
 /**
- * htt_q_state - shared between host and firmware via DMA
+ * struct htt_q_state - shared between host and firmware via DMA
  *
  * This structure is used for the host to expose it's software queue state to
  * firmware so that its rate control can schedule fetch requests for optimized

-- 
2.42.0




[PATCH 0/5] wifi: ath10k: fix ath10k kerneldoc issues

2024-01-18 Thread Jeff Johnson
With this series applied there are no kernel-doc issues in ath10k
(ath11k and ath12k have already been previously fixed).

---
Jeff Johnson (5):
  wifi: ath10k: add missing wmi_10_4_feature_mask documentation
  wifi: ath10k: correctly document enum wmi_tlv_tx_pause_id
  wifi: ath10k: fix htt_q_state_conf & htt_q_state kernel-doc
  wifi: ath10k: Fix htt_data_tx_completion kernel-doc warning
  wifi: ath10k: Fix enum ath10k_fw_crash_dump_type kernel-doc

 drivers/net/wireless/ath/ath10k/coredump.h |  8 ++--
 drivers/net/wireless/ath/ath10k/htt.h  | 12 
 drivers/net/wireless/ath/ath10k/wmi-tlv.h  |  4 ++--
 drivers/net/wireless/ath/ath10k/wmi.h  |  7 +--
 4 files changed, 21 insertions(+), 10 deletions(-)
---
base-commit: c1938548bbeed6fcce8fa6e4de9f694994efcc42
change-id: 20240116-ath10k-kerneldoc-61d36e4b1c04




Re: [PATCH v2 3/3] wifi: ath10k: replace ENOTSUPP with EOPNOTSUPP

2024-01-04 Thread Jeff Johnson
On 1/3/2024 7:15 PM, Karthikeyan Periyasamy wrote:
> ENOTSUPP is not a standard error code, don't use it. Replace with
> EOPNOTSUPP instead.
> 
> No functional changes, compile tested only.
> 
> Signed-off-by: Karthikeyan Periyasamy 
Acked-by: Jeff Johnson 




Re: [PATCH v2 0/3] wifi: ath: replace ENOTSUPP with EOPNOTSUPP

2024-01-04 Thread Jeff Johnson
On 1/3/2024 7:15 PM, Karthikeyan Periyasamy wrote:
> ENOTSUPP is not a standard error code, don't use it. Replace with
> EOPNOTSUPP instead.
> 
> No functional changes, compile tested only.
> 

I would have expected a changelog for v2

But no need to resend as a result of the missing changelog since it is
trivial

> Karthikeyan Periyasamy (3):
>   wifi: ath12k: replace ENOTSUPP with EOPNOTSUPP
>   wifi: ath11k: replace ENOTSUPP with EOPNOTSUPP
>   wifi: ath10k: replace ENOTSUPP with EOPNOTSUPP
> 
>  drivers/net/wireless/ath/ath10k/core.c|  4 ++--
>  drivers/net/wireless/ath/ath10k/htt.c |  3 ++-
>  drivers/net/wireless/ath/ath10k/mac.c |  6 +++---
>  drivers/net/wireless/ath/ath10k/pci.c | 10 +-
>  drivers/net/wireless/ath/ath10k/wmi-tlv.c |  7 ---
>  drivers/net/wireless/ath/ath10k/wmi.c | 12 ++--
>  drivers/net/wireless/ath/ath11k/dp_tx.c   |  6 +++---
>  drivers/net/wireless/ath/ath11k/hal_rx.c  |  4 ++--
>  drivers/net/wireless/ath/ath12k/dp_tx.c   |  6 +++---
>  drivers/net/wireless/ath/ath12k/hal_rx.c  |  4 ++--
>  drivers/net/wireless/ath/ath12k/mac.c | 10 +-
>  11 files changed, 37 insertions(+), 35 deletions(-)
> 
> 
> base-commit: 2cd4e3f91f264926a6b11df948417b74d52ca9b9




Re: [PATCH 3/3] wifi: ath10k: replace ENOTSUPP with EOPNOTSUPP

2024-01-03 Thread Jeff Johnson
On 1/2/2024 8:12 PM, Karthikeyan Periyasamy wrote:
> ENOTSUPP is not a standard error code, don't use it. Replace with
> EOPNOTSUPP instead.
> 
> No functional changes, compile tested only.
> 
> Signed-off-by: Karthikeyan Periyasamy 
> ---

> diff --git a/drivers/net/wireless/ath/ath10k/htt.c 
> b/drivers/net/wireless/ath/ath10k/htt.c
> index 907e1e13871a..3835c5cc07f9 100644
> --- a/drivers/net/wireless/ath/ath10k/htt.c
> +++ b/drivers/net/wireless/ath/ath10k/htt.c
> @@ -2,6 +2,8 @@
>  /*
>   * Copyright (c) 2005-2011 Atheros Communications Inc.
>   * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
> + * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.

You are not working on behalf of The Linux Foundation so you should not
be adding or modifying Linux Foundation copyrights

> + * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights 
> reserved.

And this should only have 2024 since there were not any Qualcomm changes
in 2021-2023

> diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.c 
> b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
> index 0ce08e9a0a3d..9a1889599729 100644
> --- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c
> +++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
> @@ -3,6 +3,7 @@
>   * Copyright (c) 2005-2011 Atheros Communications Inc.
>   * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
>   * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
> + * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights 
> reserved.

Again this should only have 2024





Re: [PATCH 2/3] wifi: ath11k: replace ENOTSUPP with EOPNOTSUPP

2024-01-03 Thread Jeff Johnson
On 1/2/2024 8:12 PM, Karthikeyan Periyasamy wrote:
> ENOTSUPP is not a standard error code, don't use it. Replace with
> EOPNOTSUPP instead.
> 
> No functional changes, compile tested only.
> 
> Signed-off-by: Karthikeyan Periyasamy 
Acked-by: Jeff Johnson 




Re: [PATCH 1/3] wifi: ath12k: replace ENOTSUPP with EOPNOTSUPP

2024-01-03 Thread Jeff Johnson
On 1/2/2024 8:12 PM, Karthikeyan Periyasamy wrote:
> ENOTSUPP is not a standard error code, don't use it. Replace with
> EOPNOTSUPP instead.
> 
> No functional changes, compile tested only.
> 
> Signed-off-by: Karthikeyan Periyasamy 
Acked-by: Jeff Johnson 




Re: [PATCH 6/6] wifi: ath10k: remove duplicate memset() in 10.4 TDLS peer update

2023-12-13 Thread Jeff Johnson
On 12/13/2023 11:16 AM, Kees Cook wrote:
> On Wed, Dec 13, 2023 at 09:06:44AM -0800, Jeff Johnson wrote:
>> In [1] it was identified that in ath10k_wmi_10_4_gen_tdls_peer_update()
>> the memset(skb->data, 0, sizeof(*cmd)) is unnecessary since function
>> ath10k_wmi_alloc_skb() already zeroes skb->data, so remove it.
> 
> Is .gen_tdls_peer_update only ever called after a fresh allocation? It
> wasn't obvious to me as I tried to follow the call paths. Is there harm
> in leaving this?

The only harm is a slight increase in code size and cpu cycles.

However note the skb allocation is done within
ath10k_wmi_10_4_gen_tdls_peer_update() itself, just before the code
being removed:
skb = ath10k_wmi_alloc_skb(ar, len);
if (!skb)
return ERR_PTR(-ENOMEM);

And in ath10k_wmi_alloc_skb() we have:
memset(skb->data, 0, round_len);

So the memset() being removed is always redundant.

/jeff



[PATCH 2/6] wifi: ath10k: use flexible arrays for WMI start scan TLVs

2023-12-13 Thread Jeff Johnson
Currently ath10k defines the following struct:
struct wmi_start_scan_tlvs {
u8 tlvs[0];
} __packed;

Per the guidance in [1] this should be a flexible array. However, a
direct replace to u8 tlvs[] results in the compilation error:
   flexible array member in a struct with no named members

This is because C99 6.7.2.1 (16) requires that a structure containing
a flexible array member must have more than one named member.

So rather than defining a separate struct wmi_start_scan_tlvs which
contains the flexible tlvs[] array, just define the tlvs[] array where
struct wmi_start_scan_tlvs is being used.

No functional changes, compile tested only.

[1] 
https://docs.kernel.org/process/deprecated.html#zero-length-and-one-element-arrays

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath10k/wmi.c |  8 
 drivers/net/wireless/ath/ath10k/wmi.h | 11 ++-
 2 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/wmi.c 
b/drivers/net/wireless/ath/ath10k/wmi.c
index 88befe92f95d..4d5aadbc7159 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.c
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
@@ -6927,14 +6927,14 @@ void ath10k_wmi_put_start_scan_common(struct 
wmi_start_scan_common *cmn,
 }
 
 static void
-ath10k_wmi_put_start_scan_tlvs(struct wmi_start_scan_tlvs *tlvs,
+ath10k_wmi_put_start_scan_tlvs(u8 *tlvs,
   const struct wmi_start_scan_arg *arg)
 {
struct wmi_ie_data *ie;
struct wmi_chan_list *channels;
struct wmi_ssid_list *ssids;
struct wmi_bssid_list *bssids;
-   void *ptr = tlvs->tlvs;
+   void *ptr = tlvs;
int i;
 
if (arg->n_channels) {
@@ -7012,7 +7012,7 @@ ath10k_wmi_op_gen_start_scan(struct ath10k *ar,
cmd = (struct wmi_start_scan_cmd *)skb->data;
 
ath10k_wmi_put_start_scan_common(&cmd->common, arg);
-   ath10k_wmi_put_start_scan_tlvs(&cmd->tlvs, arg);
+   ath10k_wmi_put_start_scan_tlvs(cmd->tlvs, arg);
 
cmd->burst_duration_ms = __cpu_to_le32(0);
 
@@ -7041,7 +7041,7 @@ ath10k_wmi_10x_op_gen_start_scan(struct ath10k *ar,
cmd = (struct wmi_10x_start_scan_cmd *)skb->data;
 
ath10k_wmi_put_start_scan_common(&cmd->common, arg);
-   ath10k_wmi_put_start_scan_tlvs(&cmd->tlvs, arg);
+   ath10k_wmi_put_start_scan_tlvs(cmd->tlvs, arg);
 
ath10k_dbg(ar, ATH10K_DBG_WMI, "wmi 10x start scan\n");
return skb;
diff --git a/drivers/net/wireless/ath/ath10k/wmi.h 
b/drivers/net/wireless/ath/ath10k/wmi.h
index 833ce0251a2c..52a409ff94e7 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -3218,23 +3218,16 @@ struct wmi_start_scan_common {
__le32 scan_ctrl_flags;
 } __packed;
 
-struct wmi_start_scan_tlvs {
-   /* TLV parameters. These includes channel list, ssid list, bssid list,
-* extra ies.
-*/
-   u8 tlvs[0];
-} __packed;
-
 struct wmi_start_scan_cmd {
struct wmi_start_scan_common common;
__le32 burst_duration_ms;
-   struct wmi_start_scan_tlvs tlvs;
+   u8 tlvs[];
 } __packed;
 
 /* This is the definition from 10.X firmware branch */
 struct wmi_10x_start_scan_cmd {
struct wmi_start_scan_common common;
-   struct wmi_start_scan_tlvs tlvs;
+   u8 tlvs[];
 } __packed;
 
 struct wmi_ssid_arg {

-- 
2.42.0




[PATCH 4/6] wifi: ath10k: remove unused template structs

2023-12-13 Thread Jeff Johnson
Currently both the wmi_bcn_tmpl_cmd and wmi_prb_tmpl_cmd structs
define:
  u8 data[1];

Per the guidance in [1] both instances of this should be flexible
arrays. However during conversion it was discovered that neither of
these structs are actually used, so just remove them.

No functional changes, compile tested only.

[1] 
https://docs.kernel.org/process/deprecated.html#zero-length-and-one-element-arrays

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath10k/wmi.h | 24 
 1 file changed, 24 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/wmi.h 
b/drivers/net/wireless/ath/ath10k/wmi.h
index 37a7d421bd86..e16410e348ca 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -5782,30 +5782,6 @@ struct wmi_bcn_prb_info {
/* app IE */
 } __packed;
 
-struct wmi_bcn_tmpl_cmd {
-   /* unique id identifying the VDEV, generated by the caller */
-   __le32 vdev_id;
-   /* TIM IE offset from the beginning of the template. */
-   __le32 tim_ie_offset;
-   /* beacon probe capabilities and IEs */
-   struct wmi_bcn_prb_info bcn_prb_info;
-   /* beacon buffer length */
-   __le32 buf_len;
-   /* variable length data */
-   u8 data[1];
-} __packed;
-
-struct wmi_prb_tmpl_cmd {
-   /* unique id identifying the VDEV, generated by the caller */
-   __le32 vdev_id;
-   /* beacon probe capabilities and IEs */
-   struct wmi_bcn_prb_info bcn_prb_info;
-   /* beacon buffer length */
-   __le32 buf_len;
-   /* Variable length data */
-   u8 data[1];
-} __packed;
-
 enum wmi_sta_ps_mode {
/* enable power save for the given STA VDEV */
WMI_STA_PS_MODE_DISABLED = 0,

-- 
2.42.0




[PATCH 6/6] wifi: ath10k: remove duplicate memset() in 10.4 TDLS peer update

2023-12-13 Thread Jeff Johnson
In [1] it was identified that in ath10k_wmi_10_4_gen_tdls_peer_update()
the memset(skb->data, 0, sizeof(*cmd)) is unnecessary since function
ath10k_wmi_alloc_skb() already zeroes skb->data, so remove it.

No functional changes, compile tested only.

[1] 
https://lore.kernel.org/linux-wireless/626ae2e7-66f8-423b-b17f-e75c1a6d2...@embeddedor.com/

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath10k/wmi.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/wmi.c 
b/drivers/net/wireless/ath/ath10k/wmi.c
index 4d5aadbc7159..0cfd9484c45e 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.c
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
@@ -8918,8 +8918,6 @@ ath10k_wmi_10_4_gen_tdls_peer_update(struct ath10k *ar,
if (!skb)
return ERR_PTR(-ENOMEM);
 
-   memset(skb->data, 0, sizeof(*cmd));
-
cmd = (struct wmi_10_4_tdls_peer_update_cmd *)skb->data;
cmd->vdev_id = __cpu_to_le32(arg->vdev_id);
ether_addr_copy(cmd->peer_macaddr.addr, arg->addr);

-- 
2.42.0




[PATCH 1/6] wifi: ath10k: use flexible array in struct wmi_host_mem_chunks

2023-12-13 Thread Jeff Johnson
Currently struct wmi_host_mem_chunks defines:
struct host_memory_chunk items[1];

Per the guidance in [1] this should be a flexible array. However there
is a documented requirement:
some fw revisions require at least 1 chunk regardless of count

To satisfy this requirement, follow the guidance from [2] and wrap the
array in a union which contains both the flexible array and a single
instance of the underlying struct. Since the footprint of the struct
is unchanged, no additional driver changes are required.

No functional changes, compile tested only.

[1] 
https://docs.kernel.org/process/deprecated.html#zero-length-and-one-element-arrays
[2] https://lore.kernel.org/linux-wireless/202308301529.AC90A9EF98@keescook/

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath10k/wmi.h | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/wmi.h 
b/drivers/net/wireless/ath/ath10k/wmi.h
index 9146df98fcee..833ce0251a2c 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -3069,7 +3069,10 @@ struct host_memory_chunk {
 struct wmi_host_mem_chunks {
__le32 count;
/* some fw revisions require at least 1 chunk regardless of count */
-   struct host_memory_chunk items[1];
+   union {
+   struct host_memory_chunk item;
+   DECLARE_FLEX_ARRAY(struct host_memory_chunk, items);
+   };
 } __packed;
 
 struct wmi_init_cmd {

-- 
2.42.0




[PATCH 5/6] wifi: ath10k: use flexible array in struct wmi_tdls_peer_capabilities

2023-12-13 Thread Jeff Johnson
Currently struct wmi_tdls_peer_capabilities defines:
struct wmi_channel peer_chan_list[1];

Per the guidance in [1] this should be a flexible array, and at one
point Gustavo was trying to fix this [2], but had questions about the
correct behavior when the associated peer_chan_len is 0.

I have been unable to determine if firmware requires that at least one
record be present even if peer_chan_len is 0. But since that is the
current behavior, follow the example from [3] and replace the
one-element array with a union that contains both a flexible array and
a single instance of the array element. This results in a struct that
has the same footprint as the original, so no other driver changes are
required.

No functional changes, compile tested only.

[1] 
https://docs.kernel.org/process/deprecated.html#zero-length-and-one-element-arrays
[2] 
https://lore.kernel.org/linux-wireless/626ae2e7-66f8-423b-b17f-e75c1a6d2...@embeddedor.com/
[3] https://lore.kernel.org/linux-wireless/202308301529.AC90A9EF98@keescook/

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath10k/wmi.h | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/wmi.h 
b/drivers/net/wireless/ath/ath10k/wmi.h
index e16410e348ca..b64b6e214bae 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -7162,7 +7162,13 @@ struct wmi_tdls_peer_capabilities {
__le32 is_peer_responder;
__le32 pref_offchan_num;
__le32 pref_offchan_bw;
-   struct wmi_channel peer_chan_list[1];
+   union {
+   /* to match legacy implementation allocate room for
+* at least one record even if peer_chan_len is 0
+*/
+   struct wmi_channel peer_chan_min_allocation;
+   DECLARE_FLEX_ARRAY(struct wmi_channel, peer_chan_list);
+   };
 } __packed;
 
 struct wmi_10_4_tdls_peer_update_cmd {

-- 
2.42.0




[PATCH 3/6] wifi: ath10k: remove struct wmi_pdev_chanlist_update_event

2023-12-13 Thread Jeff Johnson
Currently struct wmi_pdev_chanlist_update_event defines:
  struct wmi_channel channel_list[1];

Per the guidance in [1] this should be a flexible array. However
during conversion it was discovered that this struct is not used, so
just remove the entire struct.

No functional changes, compile tested only.

[1] 
https://docs.kernel.org/process/deprecated.html#zero-length-and-one-element-arrays

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath10k/wmi.h | 7 ---
 1 file changed, 7 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/wmi.h 
b/drivers/net/wireless/ath/ath10k/wmi.h
index 52a409ff94e7..37a7d421bd86 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.h
+++ b/drivers/net/wireless/ath/ath10k/wmi.h
@@ -4256,13 +4256,6 @@ struct wmi_peer_sta_ps_state_chg_event {
__le32 peer_ps_state;
 } __packed;
 
-struct wmi_pdev_chanlist_update_event {
-   /* number of channels */
-   __le32 num_chan;
-   /* array of channels */
-   struct wmi_channel channel_list[1];
-} __packed;
-
 #define WMI_MAX_DEBUG_MESG (sizeof(u32) * 32)
 
 struct wmi_debug_mesg_event {

-- 
2.42.0




[PATCH 0/6] wifi: ath10k: use flexible arrays

2023-12-13 Thread Jeff Johnson
Clean up the last remaining zero-length and one-element arrays in
ath10k to comply with:
https://docs.kernel.org/process/deprecated.html#zero-length-and-one-element-arrays

With these cleanups done the ath10k-check script no longer reports any
issues.

---
Jeff Johnson (6):
  wifi: ath10k: use flexible array in struct wmi_host_mem_chunks
  wifi: ath10k: use flexible arrays for WMI start scan TLVs
  wifi: ath10k: remove struct wmi_pdev_chanlist_update_event
  wifi: ath10k: remove unused template structs
  wifi: ath10k: use flexible array in struct wmi_tdls_peer_capabilities
  wifi: ath10k: remove duplicate memset() in 10.4 TDLS peer update

 drivers/net/wireless/ath/ath10k/wmi.c | 10 +++
 drivers/net/wireless/ath/ath10k/wmi.h | 55 +--
 2 files changed, 17 insertions(+), 48 deletions(-)
---
base-commit: 7133b072dfbfac8763ffb017642c9c894894c50d
change-id: 20231212-wmi_host_mem_chunks_flexarray-78264e146731




Re: [RFC - is this a bug?] wifi: ath10k: Asking for some light on this, please :)

2023-12-12 Thread Jeff Johnson
On 10/25/2023 8:52 AM, Jeff Johnson wrote:
> On 10/24/2023 7:37 PM, Gustavo A. R. Silva wrote:
>>
>>
>> On 10/24/23 14:49, Johannes Berg wrote:
>>> On Tue, 2023-10-24 at 14:41 -0600, Gustavo A. R. Silva wrote:
>>>>
>>>> It seems we run into the same issue in the function below, even in the
>>>> case this `memset()` is unnecessary (which it seems it's not):
>>>>
>>>> 8920 memset(skb->data, 0, sizeof(*cmd));
>>>>
>>>> Notice that if `cap->peer_chan_len == 0` or `cap->peer_chan_len == 1`,
>>>> in the original code, we have `len == sizeof(*cmd) == 128`:
>>>
>>> Right.
>>>
>>>> -   /* tdls peer update cmd has place holder for one channel*/
>>>> -   chan_len = cap->peer_chan_len ? (cap->peer_chan_len - 1) : 0;
>>>> -
>>>> -   len = sizeof(*cmd) + chan_len * sizeof(*chan);
>>>> +   len = struct_size(cmd, peer_capab.peer_chan_list, 
>>>> cap->peer_chan_len);
>>>>
>>>>   skb = ath10k_wmi_alloc_skb(ar, len);
>>>>   if (!skb)
>>>>
>>>> which makes `round_len == roundup(len, 4) == struct_size(cmd,...,...) 
>>>> == 104`
>>>> when `cap->peer_chan_len == 0`
>>>
>>> And yeah, that's really the issue, it only matters for ==0. For a moment
>>> there I thought that doesn't even make sense, but it looks like it never
>>> even becomes non-zero.
>>>
>>> No idea then, sorry. You'd hope firmware doesn't care about the actual
>>> message size if the inner data says "0 entries", but who knows? And how
>>> many firmware versions are there? :)
>>>
>>> So I guess you'd want to stay compatible, even if it means having a
>>>
>>> chan_len = min(cap->peer_chan_len, 1);
>>>
>>> for the struct_size()?
>>
>> Yeah, that's an alternative.
>>
>> I'll wait for the maintainers to chime in and see if they have a different
>> opinion.
> 
> I'm seeing clarification from the development team.
> 
> /jeff
> 

I was not able to get a response from the firmware team.

I have gone ahead and created a series of patches to fix the remaining
flexible array issues in ath10k including the one discussed here. I
should be able to post those sometime this week.

/jeff



Re: [PATCH v2] wifi: ath10k: fix NULL pointer dereference in ath10k_wmi_tlv_op_pull_mgmt_tx_compl_ev()

2023-12-11 Thread Jeff Johnson
On 12/7/2023 8:34 PM, Xingyuan Mo wrote:
> We should check whether the WMI_TLV_TAG_STRUCT_MGMT_TX_COMPL_EVENT tlv is
> present before accessing it, otherwise a null pointer deference error will
> occur.
> 
> Fixes: dc405152bb64 ("ath10k: handle mgmt tx completion event")
> Signed-off-by: Xingyuan Mo 
Acked-by: Jeff Johnson 




[PATCH 2/3] wifi: ath11k: Update Qualcomm Innovation Center, Inc. copyrights

2023-11-28 Thread Jeff Johnson
Update the copyright for all ath11k files modified on behalf of
Qualcomm Innovation Center, Inc. in 2021 through 2023.

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath11k/ce.c| 2 +-
 drivers/net/wireless/ath/ath11k/ce.h| 1 +
 drivers/net/wireless/ath/ath11k/dbring.c| 1 +
 drivers/net/wireless/ath/ath11k/dbring.h| 1 +
 drivers/net/wireless/ath/ath11k/debug.c | 1 +
 drivers/net/wireless/ath/ath11k/debug.h | 2 +-
 drivers/net/wireless/ath/ath11k/debugfs.c   | 1 +
 drivers/net/wireless/ath/ath11k/debugfs.h   | 1 +
 drivers/net/wireless/ath/ath11k/debugfs_htt_stats.c | 2 +-
 drivers/net/wireless/ath/ath11k/debugfs_htt_stats.h | 2 +-
 drivers/net/wireless/ath/ath11k/debugfs_sta.c   | 1 +
 drivers/net/wireless/ath/ath11k/debugfs_sta.h   | 1 +
 drivers/net/wireless/ath/ath11k/dp.c| 2 +-
 drivers/net/wireless/ath/ath11k/dp.h| 2 +-
 drivers/net/wireless/ath/ath11k/dp_rx.c | 1 +
 drivers/net/wireless/ath/ath11k/dp_tx.c | 2 +-
 drivers/net/wireless/ath/ath11k/dp_tx.h | 1 +
 drivers/net/wireless/ath/ath11k/hal.c   | 2 +-
 drivers/net/wireless/ath/ath11k/hal.h   | 2 +-
 drivers/net/wireless/ath/ath11k/hal_desc.h  | 1 +
 drivers/net/wireless/ath/ath11k/hal_rx.c| 1 +
 drivers/net/wireless/ath/ath11k/hal_rx.h| 1 +
 drivers/net/wireless/ath/ath11k/hif.h   | 1 +
 drivers/net/wireless/ath/ath11k/htc.c   | 1 +
 drivers/net/wireless/ath/ath11k/htc.h   | 1 +
 drivers/net/wireless/ath/ath11k/hw.c| 2 +-
 drivers/net/wireless/ath/ath11k/hw.h| 2 +-
 drivers/net/wireless/ath/ath11k/mac.h   | 1 +
 drivers/net/wireless/ath/ath11k/mhi.c   | 2 +-
 drivers/net/wireless/ath/ath11k/mhi.h   | 1 +
 drivers/net/wireless/ath/ath11k/pcic.c  | 2 +-
 drivers/net/wireless/ath/ath11k/peer.c  | 2 +-
 drivers/net/wireless/ath/ath11k/peer.h  | 2 +-
 drivers/net/wireless/ath/ath11k/qmi.c   | 2 +-
 drivers/net/wireless/ath/ath11k/qmi.h   | 2 +-
 drivers/net/wireless/ath/ath11k/reg.c   | 1 +
 drivers/net/wireless/ath/ath11k/reg.h   | 1 +
 drivers/net/wireless/ath/ath11k/rx_desc.h   | 1 +
 drivers/net/wireless/ath/ath11k/spectral.c  | 1 +
 drivers/net/wireless/ath/ath11k/spectral.h  | 1 +
 drivers/net/wireless/ath/ath11k/thermal.c   | 1 +
 drivers/net/wireless/ath/ath11k/thermal.h   | 1 +
 drivers/net/wireless/ath/ath11k/trace.h | 1 +
 drivers/net/wireless/ath/ath11k/wmi.c   | 2 +-
 drivers/net/wireless/ath/ath11k/wmi.h   | 2 +-
 drivers/net/wireless/ath/ath11k/wow.h   | 1 +
 46 files changed, 46 insertions(+), 19 deletions(-)

diff --git a/drivers/net/wireless/ath/ath11k/ce.c 
b/drivers/net/wireless/ath/ath11k/ce.c
index 289d47ae92af..e66e86bdec20 100644
--- a/drivers/net/wireless/ath/ath11k/ce.c
+++ b/drivers/net/wireless/ath/ath11k/ce.c
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: BSD-3-Clause-Clear
 /*
  * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021, Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights 
reserved.
  */
 
 #include "dp_rx.h"
diff --git a/drivers/net/wireless/ath/ath11k/ce.h 
b/drivers/net/wireless/ath/ath11k/ce.h
index c0f6a0ba86df..69946fc70077 100644
--- a/drivers/net/wireless/ath/ath11k/ce.h
+++ b/drivers/net/wireless/ath/ath11k/ce.h
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: BSD-3-Clause-Clear */
 /*
  * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #ifndef ATH11K_CE_H
diff --git a/drivers/net/wireless/ath/ath11k/dbring.c 
b/drivers/net/wireless/ath/ath11k/dbring.c
index 5536e8642331..fbb6e8d8a476 100644
--- a/drivers/net/wireless/ath/ath11k/dbring.c
+++ b/drivers/net/wireless/ath/ath11k/dbring.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: BSD-3-Clause-Clear
 /*
  * Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights 
reserved.
  */
 
 #include "core.h"
diff --git a/drivers/net/wireless/ath/ath11k/dbring.h 
b/drivers/net/wireless/ath/ath11k/dbring.h
index ef906c687b8c..2f93b78a50df 100644
--- a/drivers/net/wireless/ath/ath11k/dbring.h
+++ b/drivers/net/wireless/ath/ath11k/dbring.h
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: BSD-3-Clause-Clear */
 /*
  * Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #ifndef ATH11K_DBRING_H
diff --git a/drivers/net/wireless/ath/ath11k/debug.c 
b/drivers/net

[PATCH 0/3] wifi: ath: Update Qualcomm Innovation Center, Inc. copyrights

2023-11-28 Thread Jeff Johnson
Update the copyright for all ath10k, ath11k, and ath12k files modified
on behalf of Qualcomm Innovation Center, Inc. in 2021 through 2023.

---
Jeff Johnson (3):
  wifi: ath12k: Update Qualcomm Innovation Center, Inc. copyrights
  wifi: ath11k: Update Qualcomm Innovation Center, Inc. copyrights
  wifi: ath10k: Update Qualcomm Innovation Center, Inc. copyrights

 drivers/net/wireless/ath/ath10k/bmi.c   | 1 +
 drivers/net/wireless/ath/ath10k/ce.c| 1 +
 drivers/net/wireless/ath/ath10k/core.c  | 1 +
 drivers/net/wireless/ath/ath10k/core.h  | 1 +
 drivers/net/wireless/ath/ath10k/coredump.c  | 1 +
 drivers/net/wireless/ath/ath10k/coredump.h  | 1 +
 drivers/net/wireless/ath/ath10k/debug.c | 1 +
 drivers/net/wireless/ath/ath10k/debugfs_sta.c   | 1 +
 drivers/net/wireless/ath/ath10k/htc.c   | 1 +
 drivers/net/wireless/ath/ath10k/htt.h   | 1 +
 drivers/net/wireless/ath/ath10k/htt_rx.c| 1 +
 drivers/net/wireless/ath/ath10k/htt_tx.c| 1 +
 drivers/net/wireless/ath/ath10k/hw.c| 1 +
 drivers/net/wireless/ath/ath10k/hw.h| 1 +
 drivers/net/wireless/ath/ath10k/mac.c   | 1 +
 drivers/net/wireless/ath/ath10k/pci.c   | 1 +
 drivers/net/wireless/ath/ath10k/pci.h   | 1 +
 drivers/net/wireless/ath/ath10k/qmi.c   | 1 +
 drivers/net/wireless/ath/ath10k/qmi_wlfw_v01.c  | 1 +
 drivers/net/wireless/ath/ath10k/qmi_wlfw_v01.h  | 1 +
 drivers/net/wireless/ath/ath10k/rx_desc.h   | 1 +
 drivers/net/wireless/ath/ath10k/sdio.c  | 1 +
 drivers/net/wireless/ath/ath10k/thermal.c   | 1 +
 drivers/net/wireless/ath/ath10k/usb.h   | 1 +
 drivers/net/wireless/ath/ath10k/wmi-tlv.h   | 1 +
 drivers/net/wireless/ath/ath10k/wmi.c   | 1 +
 drivers/net/wireless/ath/ath10k/wmi.h   | 1 +
 drivers/net/wireless/ath/ath10k/wow.c   | 1 +
 drivers/net/wireless/ath/ath11k/ce.c| 2 +-
 drivers/net/wireless/ath/ath11k/ce.h| 1 +
 drivers/net/wireless/ath/ath11k/dbring.c| 1 +
 drivers/net/wireless/ath/ath11k/dbring.h| 1 +
 drivers/net/wireless/ath/ath11k/debug.c | 1 +
 drivers/net/wireless/ath/ath11k/debug.h | 2 +-
 drivers/net/wireless/ath/ath11k/debugfs.c   | 1 +
 drivers/net/wireless/ath/ath11k/debugfs.h   | 1 +
 drivers/net/wireless/ath/ath11k/debugfs_htt_stats.c | 2 +-
 drivers/net/wireless/ath/ath11k/debugfs_htt_stats.h | 2 +-
 drivers/net/wireless/ath/ath11k/debugfs_sta.c   | 1 +
 drivers/net/wireless/ath/ath11k/debugfs_sta.h   | 1 +
 drivers/net/wireless/ath/ath11k/dp.c| 2 +-
 drivers/net/wireless/ath/ath11k/dp.h| 2 +-
 drivers/net/wireless/ath/ath11k/dp_rx.c | 1 +
 drivers/net/wireless/ath/ath11k/dp_tx.c | 2 +-
 drivers/net/wireless/ath/ath11k/dp_tx.h | 1 +
 drivers/net/wireless/ath/ath11k/hal.c   | 2 +-
 drivers/net/wireless/ath/ath11k/hal.h   | 2 +-
 drivers/net/wireless/ath/ath11k/hal_desc.h  | 1 +
 drivers/net/wireless/ath/ath11k/hal_rx.c| 1 +
 drivers/net/wireless/ath/ath11k/hal_rx.h| 1 +
 drivers/net/wireless/ath/ath11k/hif.h   | 1 +
 drivers/net/wireless/ath/ath11k/htc.c   | 1 +
 drivers/net/wireless/ath/ath11k/htc.h   | 1 +
 drivers/net/wireless/ath/ath11k/hw.c| 2 +-
 drivers/net/wireless/ath/ath11k/hw.h| 2 +-
 drivers/net/wireless/ath/ath11k/mac.h   | 1 +
 drivers/net/wireless/ath/ath11k/mhi.c   | 2 +-
 drivers/net/wireless/ath/ath11k/mhi.h   | 1 +
 drivers/net/wireless/ath/ath11k/pcic.c  | 2 +-
 drivers/net/wireless/ath/ath11k/peer.c  | 2 +-
 drivers/net/wireless/ath/ath11k/peer.h  | 2 +-
 drivers/net/wireless/ath/ath11k/qmi.c   | 2 +-
 drivers/net/wireless/ath/ath11k/qmi.h   | 2 +-
 drivers/net/wireless/ath/ath11k/reg.c   | 1 +
 drivers/net/wireless/ath/ath11k/reg.h   | 1 +
 drivers/net/wireless/ath/ath11k/rx_desc.h   | 1 +
 drivers/net/wireless/ath/ath11k/spectral.c  | 1 +
 drivers/net/wireless/ath/ath11k/spectral.h  | 1 +
 drivers/net/wireless/ath/ath11k/thermal.c   | 1 +
 drivers/net/wireless/ath/ath11k/thermal.h   | 1 +
 drivers/net/wireless/ath/ath11k/trace.h | 1 +
 drivers/net/wireless/ath/ath11k/wmi.c   | 2 +-
 drivers/net/wireless/ath/ath11k/wmi.h   | 2 +-
 drivers/net/wireless/ath/ath11k/wow.h   | 1 +
 drivers/net/wireless/ath/ath12k/core.c  | 2 +-
 drivers/net/wireless/ath/ath12k/core.h  | 2 +-
 drivers/net/wireless/ath/ath12k/dbring.c| 2 +-
 drivers/net/wireless/ath/ath12k/debug.c | 2

[PATCH 1/3] wifi: ath12k: Update Qualcomm Innovation Center, Inc. copyrights

2023-11-28 Thread Jeff Johnson
Update the copyright for all ath12k files modified on behalf of
Qualcomm Innovation Center, Inc. in 2023.

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath12k/core.c| 2 +-
 drivers/net/wireless/ath/ath12k/core.h| 2 +-
 drivers/net/wireless/ath/ath12k/dbring.c  | 2 +-
 drivers/net/wireless/ath/ath12k/debug.c   | 2 +-
 drivers/net/wireless/ath/ath12k/dp.c  | 2 +-
 drivers/net/wireless/ath/ath12k/dp.h  | 2 +-
 drivers/net/wireless/ath/ath12k/dp_mon.c  | 2 +-
 drivers/net/wireless/ath/ath12k/dp_rx.c   | 2 +-
 drivers/net/wireless/ath/ath12k/dp_tx.c   | 2 +-
 drivers/net/wireless/ath/ath12k/hal.c | 2 +-
 drivers/net/wireless/ath/ath12k/hal.h | 2 +-
 drivers/net/wireless/ath/ath12k/hal_rx.c  | 2 +-
 drivers/net/wireless/ath/ath12k/hif.h | 2 +-
 drivers/net/wireless/ath/ath12k/hw.c  | 2 +-
 drivers/net/wireless/ath/ath12k/hw.h  | 2 +-
 drivers/net/wireless/ath/ath12k/mac.c | 2 +-
 drivers/net/wireless/ath/ath12k/mac.h | 2 +-
 drivers/net/wireless/ath/ath12k/mhi.c | 2 +-
 drivers/net/wireless/ath/ath12k/pci.c | 2 +-
 drivers/net/wireless/ath/ath12k/pci.h | 2 +-
 drivers/net/wireless/ath/ath12k/peer.h| 2 +-
 drivers/net/wireless/ath/ath12k/qmi.c | 2 +-
 drivers/net/wireless/ath/ath12k/qmi.h | 2 +-
 drivers/net/wireless/ath/ath12k/reg.c | 2 +-
 drivers/net/wireless/ath/ath12k/reg.h | 2 +-
 drivers/net/wireless/ath/ath12k/rx_desc.h | 2 +-
 drivers/net/wireless/ath/ath12k/wmi.c | 2 +-
 drivers/net/wireless/ath/ath12k/wmi.h | 2 +-
 28 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/drivers/net/wireless/ath/ath12k/core.c 
b/drivers/net/wireless/ath/ath12k/core.c
index b936760b5140..fa456fb62f5e 100644
--- a/drivers/net/wireless/ath/ath12k/core.c
+++ b/drivers/net/wireless/ath/ath12k/core.c
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: BSD-3-Clause-Clear
 /*
  * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights 
reserved.
+ * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights 
reserved.
  */
 
 #include 
diff --git a/drivers/net/wireless/ath/ath12k/core.h 
b/drivers/net/wireless/ath/ath12k/core.h
index 68c42ca44fcb..bd8700ecded3 100644
--- a/drivers/net/wireless/ath/ath12k/core.h
+++ b/drivers/net/wireless/ath/ath12k/core.h
@@ -1,7 +1,7 @@
 /* SPDX-License-Identifier: BSD-3-Clause-Clear */
 /*
  * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights 
reserved.
+ * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights 
reserved.
  */
 
 #ifndef ATH12K_CORE_H
diff --git a/drivers/net/wireless/ath/ath12k/dbring.c 
b/drivers/net/wireless/ath/ath12k/dbring.c
index 8fbf868e6f7e..788160c84c68 100644
--- a/drivers/net/wireless/ath/ath12k/dbring.c
+++ b/drivers/net/wireless/ath/ath12k/dbring.c
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: BSD-3-Clause-Clear
 /*
  * Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights 
reserved.
+ * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights 
reserved.
  */
 
 #include "core.h"
diff --git a/drivers/net/wireless/ath/ath12k/debug.c 
b/drivers/net/wireless/ath/ath12k/debug.c
index 45d33279e665..fe5a732ba9ec 100644
--- a/drivers/net/wireless/ath/ath12k/debug.c
+++ b/drivers/net/wireless/ath/ath12k/debug.c
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: BSD-3-Clause-Clear
 /*
  * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights 
reserved.
+ * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights 
reserved.
  */
 
 #include 
diff --git a/drivers/net/wireless/ath/ath12k/dp.c 
b/drivers/net/wireless/ath/ath12k/dp.c
index 6893466f61f0..a9137172d400 100644
--- a/drivers/net/wireless/ath/ath12k/dp.c
+++ b/drivers/net/wireless/ath/ath12k/dp.c
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: BSD-3-Clause-Clear
 /*
  * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights 
reserved.
+ * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights 
reserved.
  */
 
 #include 
diff --git a/drivers/net/wireless/ath/ath12k/dp.h 
b/drivers/net/wireless/ath/ath12k/dp.h
index 61f765432516..7a2f8091b81a 100644
--- a/drivers/net/wireless/ath/ath12k/dp.h
+++ b/drivers/net/wireless/ath/ath12k/dp.h
@@ -1,7 +1,7 @@
 /* SPDX-License-Identifier: BSD-3-Clause-Clear */
 /*
  * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights 
reserved.
+ * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights 
reserved.
  */
 
 #ifndef ATH12K_DP_H
diff --git a/drivers/net/wireless/ath/ath12k/dp_mon.c 
b/drivers/net/wireless/

[PATCH 3/3] wifi: ath10k: Update Qualcomm Innovation Center, Inc. copyrights

2023-11-28 Thread Jeff Johnson
Update the copyright for all ath10k files modified on behalf of
Qualcomm Innovation Center, Inc. in 2021 through 2023.

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath10k/bmi.c  | 1 +
 drivers/net/wireless/ath/ath10k/ce.c   | 1 +
 drivers/net/wireless/ath/ath10k/core.c | 1 +
 drivers/net/wireless/ath/ath10k/core.h | 1 +
 drivers/net/wireless/ath/ath10k/coredump.c | 1 +
 drivers/net/wireless/ath/ath10k/coredump.h | 1 +
 drivers/net/wireless/ath/ath10k/debug.c| 1 +
 drivers/net/wireless/ath/ath10k/debugfs_sta.c  | 1 +
 drivers/net/wireless/ath/ath10k/htc.c  | 1 +
 drivers/net/wireless/ath/ath10k/htt.h  | 1 +
 drivers/net/wireless/ath/ath10k/htt_rx.c   | 1 +
 drivers/net/wireless/ath/ath10k/htt_tx.c   | 1 +
 drivers/net/wireless/ath/ath10k/hw.c   | 1 +
 drivers/net/wireless/ath/ath10k/hw.h   | 1 +
 drivers/net/wireless/ath/ath10k/mac.c  | 1 +
 drivers/net/wireless/ath/ath10k/pci.c  | 1 +
 drivers/net/wireless/ath/ath10k/pci.h  | 1 +
 drivers/net/wireless/ath/ath10k/qmi.c  | 1 +
 drivers/net/wireless/ath/ath10k/qmi_wlfw_v01.c | 1 +
 drivers/net/wireless/ath/ath10k/qmi_wlfw_v01.h | 1 +
 drivers/net/wireless/ath/ath10k/rx_desc.h  | 1 +
 drivers/net/wireless/ath/ath10k/sdio.c | 1 +
 drivers/net/wireless/ath/ath10k/thermal.c  | 1 +
 drivers/net/wireless/ath/ath10k/usb.h  | 1 +
 drivers/net/wireless/ath/ath10k/wmi-tlv.h  | 1 +
 drivers/net/wireless/ath/ath10k/wmi.c  | 1 +
 drivers/net/wireless/ath/ath10k/wmi.h  | 1 +
 drivers/net/wireless/ath/ath10k/wow.c  | 1 +
 28 files changed, 28 insertions(+)

diff --git a/drivers/net/wireless/ath/ath10k/bmi.c 
b/drivers/net/wireless/ath/ath10k/bmi.c
index af6546572df2..9a4f8e815412 100644
--- a/drivers/net/wireless/ath/ath10k/bmi.c
+++ b/drivers/net/wireless/ath/ath10k/bmi.c
@@ -2,6 +2,7 @@
 /*
  * Copyright (c) 2005-2011 Atheros Communications Inc.
  * Copyright (c) 2011-2014,2016-2017 Qualcomm Atheros, Inc.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #include "bmi.h"
diff --git a/drivers/net/wireless/ath/ath10k/ce.c 
b/drivers/net/wireless/ath/ath10k/ce.c
index c27b8204718a..afae4a8027f8 100644
--- a/drivers/net/wireless/ath/ath10k/ce.c
+++ b/drivers/net/wireless/ath/ath10k/ce.c
@@ -3,6 +3,7 @@
  * Copyright (c) 2005-2011 Atheros Communications Inc.
  * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
  * Copyright (c) 2018 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #include "hif.h"
diff --git a/drivers/net/wireless/ath/ath10k/core.c 
b/drivers/net/wireless/ath/ath10k/core.c
index 6cdb225b7eac..e9a434f1eb42 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -3,6 +3,7 @@
  * Copyright (c) 2005-2011 Atheros Communications Inc.
  * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
  * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights 
reserved.
  */
 
 #include 
diff --git a/drivers/net/wireless/ath/ath10k/core.h 
b/drivers/net/wireless/ath/ath10k/core.h
index ba9795a8378a..c110d15528bd 100644
--- a/drivers/net/wireless/ath/ath10k/core.h
+++ b/drivers/net/wireless/ath/ath10k/core.h
@@ -3,6 +3,7 @@
  * Copyright (c) 2005-2011 Atheros Communications Inc.
  * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
  * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #ifndef _CORE_H_
diff --git a/drivers/net/wireless/ath/ath10k/coredump.c 
b/drivers/net/wireless/ath/ath10k/coredump.c
index 2d1634a890dd..bb3a276b7ed5 100644
--- a/drivers/net/wireless/ath/ath10k/coredump.c
+++ b/drivers/net/wireless/ath/ath10k/coredump.c
@@ -2,6 +2,7 @@
 /*
  * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
  * Copyright (c) 2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #include "coredump.h"
diff --git a/drivers/net/wireless/ath/ath10k/coredump.h 
b/drivers/net/wireless/ath/ath10k/coredump.h
index 437b9759f05d..e5ef0352e319 100644
--- a/drivers/net/wireless/ath/ath10k/coredump.h
+++ b/drivers/net/wireless/ath/ath10k/coredump.h
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: ISC */
 /*
  * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #ifndef _COREDUMP_H_
diff --git a/drivers/net/wireless/ath/ath10k/debug.c 
b/drivers/net/wireless/ath/ath10k/debug.c
index ad9cf953a2fc..b93a64bf8190 100644
--- a/drivers/net/wireless/ath/ath10k/debug.c
+++ b/drivers/net/wireless/ath/ath10k/debug.c
@@ -3,6 +3,7 @@
  * Copyright (c) 2005-2011 Atheros Communications Inc.
  * Copyright (c) 2

Re: [PATCH 4/4] wifi: ath11k: Use DECLARE_FLEX_ARRAY() for ath11k_htc_record

2023-11-27 Thread Jeff Johnson
On 11/27/2023 8:23 AM, Gustavo A. R. Silva wrote:
> 
> 
> On 11/27/23 10:14, Jeff Johnson wrote:
>> Transform the zero-length array in ath11k_htc_record into a proper
>> flexible array via the DECLARE_FLEX_ARRAY() macro. This helps with
>> ongoing efforts to globally enable -Warray-bounds.
>>
>> Signed-off-by: Jeff Johnson 
>> ---
>>   drivers/net/wireless/ath/ath11k/htc.h | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/wireless/ath/ath11k/htc.h 
>> b/drivers/net/wireless/ath/ath11k/htc.h
>> index 84971cc9251c..e0434b29df70 100644
>> --- a/drivers/net/wireless/ath/ath11k/htc.h
>> +++ b/drivers/net/wireless/ath/ath11k/htc.h
>> @@ -151,7 +151,7 @@ struct ath11k_htc_credit_report {
>>   struct ath11k_htc_record {
>>  struct ath11k_htc_record_hdr hdr;
>>  union {
>> -struct ath11k_htc_credit_report credit_report[0];
>> +DECLARE_FLEX_ARRAY(struct ath11k_htc_credit_report, 
>> credit_report);
>>  };
> 
> Why not removing the `union` and just do a direct transformation [0] -> [ ] ?

No reason other than staying consistent with ath10k.
Will see if Kalle has an opinion on this.

/jeff

___
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k


[PATCH 3/4] wifi: ath11k: remove ath11k_htc_record::pauload[]

2023-11-27 Thread Jeff Johnson
The misspelled pauload member of struct ath11k_htc_record is unused,
so remove it.

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath11k/htc.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath11k/htc.h 
b/drivers/net/wireless/ath/ath11k/htc.h
index d31e501c807c..84971cc9251c 100644
--- a/drivers/net/wireless/ath/ath11k/htc.h
+++ b/drivers/net/wireless/ath/ath11k/htc.h
@@ -152,7 +152,6 @@ struct ath11k_htc_record {
struct ath11k_htc_record_hdr hdr;
union {
struct ath11k_htc_credit_report credit_report[0];
-   u8 pauload[0];
};
 } __packed __aligned(4);
 

-- 
2.42.0


___
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k


[PATCH 2/4] wifi: ath10k: Use DECLARE_FLEX_ARRAY() for ath10k_htc_record

2023-11-27 Thread Jeff Johnson
Transform the zero-length arrays in ath10k_htc_record into proper
flexible arrays via the DECLARE_FLEX_ARRAY() macro. This helps with
ongoing efforts to globally enable -Warray-bounds.

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath10k/htc.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/htc.h 
b/drivers/net/wireless/ath/ath10k/htc.h
index 9cbb901d35e5..c6c392f8630c 100644
--- a/drivers/net/wireless/ath/ath10k/htc.h
+++ b/drivers/net/wireless/ath/ath10k/htc.h
@@ -246,9 +246,9 @@ struct ath10k_htc_lookahead_bundle {
 struct ath10k_htc_record {
struct ath10k_ath10k_htc_record_hdr hdr;
union {
-   struct ath10k_htc_credit_report credit_report[0];
-   struct ath10k_htc_lookahead_report lookahead_report[0];
-   struct ath10k_htc_lookahead_bundle lookahead_bundle[0];
+   DECLARE_FLEX_ARRAY(struct ath10k_htc_credit_report, 
credit_report);
+   DECLARE_FLEX_ARRAY(struct ath10k_htc_lookahead_report, 
lookahead_report);
+   DECLARE_FLEX_ARRAY(struct ath10k_htc_lookahead_bundle, 
lookahead_bundle);
};
 } __packed __aligned(4);
 

-- 
2.42.0


___
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k


[PATCH 1/4] wifi: ath10k: remove ath10k_htc_record::pauload[]

2023-11-27 Thread Jeff Johnson
The misspelled pauload member of struct ath10k_htc_record is unused,
so remove it.

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath10k/htc.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/htc.h 
b/drivers/net/wireless/ath/ath10k/htc.h
index 0d180faf3b77..9cbb901d35e5 100644
--- a/drivers/net/wireless/ath/ath10k/htc.h
+++ b/drivers/net/wireless/ath/ath10k/htc.h
@@ -249,7 +249,6 @@ struct ath10k_htc_record {
struct ath10k_htc_credit_report credit_report[0];
struct ath10k_htc_lookahead_report lookahead_report[0];
struct ath10k_htc_lookahead_bundle lookahead_bundle[0];
-   u8 pauload[0];
};
 } __packed __aligned(4);
 

-- 
2.42.0


___
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k


[PATCH 0/4] wifi: ath*: use DECLARE_FLEX_ARRAY() for ath*_htc_record

2023-11-27 Thread Jeff Johnson
Fix ath10k_htc_record and ath11k_htc_record to remove an unused (and
misspelled) pauload member and to correctly use DECLARE_FLEX_ARRAY()
for the remaining flexible arrays. This helps with ongoing efforts to
globally enable -Warray-bounds.

---
Jeff Johnson (4):
  wifi: ath10k: remove ath10k_htc_record::pauload[]
  wifi: ath10k: Use DECLARE_FLEX_ARRAY() for ath10k_htc_record
  wifi: ath11k: remove ath11k_htc_record::pauload[]
  wifi: ath11k: Use DECLARE_FLEX_ARRAY() for ath11k_htc_record

 drivers/net/wireless/ath/ath10k/htc.h | 7 +++
 drivers/net/wireless/ath/ath11k/htc.h | 3 +--
 2 files changed, 4 insertions(+), 6 deletions(-)
---
base-commit: 8f157593689fcffc2d9b18af9472fce764188b43
change-id: 20231116-flexarray-htc_record-ae46f039d4bf


___
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k


[PATCH 4/4] wifi: ath11k: Use DECLARE_FLEX_ARRAY() for ath11k_htc_record

2023-11-27 Thread Jeff Johnson
Transform the zero-length array in ath11k_htc_record into a proper
flexible array via the DECLARE_FLEX_ARRAY() macro. This helps with
ongoing efforts to globally enable -Warray-bounds.

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath11k/htc.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath11k/htc.h 
b/drivers/net/wireless/ath/ath11k/htc.h
index 84971cc9251c..e0434b29df70 100644
--- a/drivers/net/wireless/ath/ath11k/htc.h
+++ b/drivers/net/wireless/ath/ath11k/htc.h
@@ -151,7 +151,7 @@ struct ath11k_htc_credit_report {
 struct ath11k_htc_record {
struct ath11k_htc_record_hdr hdr;
union {
-   struct ath11k_htc_credit_report credit_report[0];
+   DECLARE_FLEX_ARRAY(struct ath11k_htc_credit_report, 
credit_report);
};
 } __packed __aligned(4);
 

-- 
2.42.0


___
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k


Re: [PATCH v2] wifi: ath10k: add support to allow broadcast action frame RX

2023-11-16 Thread Jeff Johnson
On 11/16/2023 9:32 AM, James Prestwood wrote:
> Broadcast action frames are needed for the Device Provisioning
> Protocol (DPP) for Presence and PKEX Exchange requests. Currently
> just ath9k has this capability so this is being enabled for
> ath10k (for at least one hardware variant).
> 
> Add a new capability flag in ath10k_hw_params to indicate support
> for receiving multicast action frames. This bit is then checked
> when configuring the RX filter and (if set) multicast action frame
> registration is enabled.
> 
> Until more hardware can be tested only the "qca6174 hw3.2" variant
> is enabling this feature.
> 
> Note: I went ahead and removed the 'changed_flags' mask operation
> since it had no effect, that parameter was not being used anywhere.
> 
> Tested-on: QCA6174 hw3.2 WLAN.RM.4.4.1-00288-
> 
> Signed-off-by: James Prestwood 
> ---
>  drivers/net/wireless/ath/ath10k/core.c |  1 +
>  drivers/net/wireless/ath/ath10k/hw.h   |  3 +++
>  drivers/net/wireless/ath/ath10k/mac.c  | 14 +++---
>  3 files changed, 15 insertions(+), 3 deletions(-)
> 
> v2:
>  * Add flag in ath10k_hw_params and only set FIF_MCAST_ACTION
>if that hardware allows it.
> 
> diff --git a/drivers/net/wireless/ath/ath10k/core.c 
> b/drivers/net/wireless/ath/ath10k/core.c
> index 5eb131ab916f..f2077756ffdf 100644
> --- a/drivers/net/wireless/ath/ath10k/core.c
> +++ b/drivers/net/wireless/ath/ath10k/core.c
> @@ -381,6 +381,7 @@ static const struct ath10k_hw_params 
> ath10k_hw_params_list[] = {
>   .hw_restart_disconnect = false,
>   .use_fw_tx_credits = true,
>   .delay_unmap_buffer = false,
> + .mcast_frame_registration = true,
>   },
>   {
>   .id = QCA99X0_HW_2_0_DEV_VERSION,
> diff --git a/drivers/net/wireless/ath/ath10k/hw.h 
> b/drivers/net/wireless/ath/ath10k/hw.h
> index 9643031a4427..2aeb52c7f189 100644
> --- a/drivers/net/wireless/ath/ath10k/hw.h
> +++ b/drivers/net/wireless/ath/ath10k/hw.h
> @@ -639,6 +639,9 @@ struct ath10k_hw_params {
>   bool use_fw_tx_credits;
>  
>   bool delay_unmap_buffer;
> +
> + /* The hardware support multicast frame registrations */
> + bool mcast_frame_registration;
>  };
>  
>  struct htt_resp;
> diff --git a/drivers/net/wireless/ath/ath10k/mac.c 
> b/drivers/net/wireless/ath/ath10k/mac.c
> index ec8d5b29bc72..0d0de3646d31 100644
> --- a/drivers/net/wireless/ath/ath10k/mac.c
> +++ b/drivers/net/wireless/ath/ath10k/mac.c
> @@ -1249,7 +1249,7 @@ static bool ath10k_mac_monitor_vdev_is_needed(struct 
> ath10k *ar)
>   return ar->monitor ||
>  (!test_bit(ATH10K_FW_FEATURE_ALLOWS_MESH_BCAST,
> ar->running_fw->fw_file.fw_features) &&
> - (ar->filter_flags & FIF_OTHER_BSS)) ||
> + (ar->filter_flags & (FIF_OTHER_BSS | FIF_MCAST_ACTION))) ||
>  test_bit(ATH10K_CAC_RUNNING, &ar->dev_flags);
>  }
>  
> @@ -6027,11 +6027,15 @@ static void ath10k_configure_filter(struct 
> ieee80211_hw *hw,
>  {
>   struct ath10k *ar = hw->priv;
>   int ret;
> + unsigned int supported = SUPPORTED_FILTERS;
>  
>   mutex_lock(&ar->conf_mutex);
>  
> - changed_flags &= SUPPORTED_FILTERS;
> - *total_flags &= SUPPORTED_FILTERS;
> + if (ar->hw_params.mcast_frame_registration)
> + supported |= FIF_MCAST_ACTION;
> +
> + *total_flags &= supported;
> +
>   ar->filter_flags = *total_flags;
>  
>   ret = ath10k_monitor_recalc(ar);
> @@ -10114,6 +10118,10 @@ int ath10k_mac_register(struct ath10k *ar)
> NL80211_EXT_FEATURE_SET_SCAN_DWELL);
>   wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_AQL);
>  
> + if (ar->hw_params.mcast_frame_registration)
> + wiphy_ext_feature_set(ar->hw->wiphy,
> +   
> NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS);
> +
>   if (test_bit(WMI_SERVICE_TX_DATA_ACK_RSSI, ar->wmi.svc_map) ||
>   test_bit(WMI_SERVICE_HTT_MGMT_TX_COMP_VALID_FLAGS, ar->wmi.svc_map))
>   wiphy_ext_feature_set(ar->hw->wiphy,

Actually add the ath10k list this time.  Sigh.


___
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k


Re: [PATCH 5/5] ath10k: reduce invalid ht params rate message noise

2023-11-14 Thread Jeff Johnson
On 11/14/2023 11:31 AM, James Prestwood wrote:
> I hate to keep bringing this up, and if its a "won't fix" type of issue 
> you don't have to tell me twice and I can deal with it out of tree. Any 
> answer would be greatly appreciated so I know how to proceed, and if its 
> something I can wait for on upstream or handle on my own. Since its 
> apparently a firmware bug its not something I can fix, or I would try to 
> myself.

I've asked the development team for an update.

/jeff


___
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k


Re: ath10k_pci logs errors about missing pre-cal and cal firmware on a laptop

2023-11-14 Thread Jeff Johnson
On 11/14/2023 9:32 AM, Jeff Johnson wrote:
> On 11/12/2023 4:13 AM, Paul Menzel wrote:
>> Dear Linux folks,
>>
>>
>> Onn the Dell XPS 13 9360 with Debian sid/unstable, Linux 6.5.10 logs the 
>> error below:
>>
>>  $ sudo dmesg | grep -e "DMI:" -e "Linux version" -e microcode
>>  [0.00] microcode: updated early: 0xf0 -> 0xf4, date = 
>> 2023-02-22
>>  [0.00] Linux version 6.5.0-4-amd64 
>> (debian-ker...@lists.debian.org) (gcc-13 (Debian 13.2.0-6) 13.2.0, GNU 
>> ld (GNU Binutils for Debian) 2.41) #1 SMP PREEMPT_DYNAMIC Debian 
>> 6.5.10-1 (2023-11-03)
>>  [0.00] DMI: Dell Inc. XPS 13 9360/0596KF, BIOS 2.21.0 
>> 06/02/2022
>>  [0.580689] microcode: Microcode Update Driver: v2.2.
>>
>>  $ sudo dmesg --level alert,crit,err
>>  [0.053566] x86/cpu: SGX disabled by BIOS.
>>  [1.942183] psmouse serio1: synaptics: Unable to query device: -5
>>  [   14.401112] ath10k_pci :3a:00.0: firmware: failed to load 
>> ath10k/pre-cal-pci-:3a:00.0.bin (-2)
>>  [   14.401143] firmware_class: See https://wiki.debian.org/Firmware 
>> for information about missing firmware
>>  [   14.401185] ath10k_pci :3a:00.0: firmware: failed to load 
>> ath10k/pre-cal-pci-:3a:00.0.bin (-2)
>>  [   14.401233] ath10k_pci :3a:00.0: firmware: failed to load 
>> ath10k/cal-pci-:3a:00.0.bin (-2)
>>  [   14.401273] ath10k_pci :3a:00.0: firmware: failed to load 
>> ath10k/cal-pci-:3a:00.0.bin (-2)
>>
>> As it’s logged with error level, I’d like to address the ath10k_pci 
>> errors, but I am unable to find the firmware in the Linux firmware 
>> archive [1].
>>
>> What can I do about this?
>>
>>
>> Kind regards,
>>
>> Paul
>>
>>
>> [1]: 
>> https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/
> 
> Adding the ath10k list so this isn't lost in the noise

The calibration files are optional and you should not see any warnings
if they are not present.

Note ath10k explicitly calls firmware_request_nowarn() when it loads the
files since it doesn't want any warnings from the firmware loader if the
files aren't present.
<https://elixir.bootlin.com/linux/v6.5.10/source/drivers/net/wireless/ath/ath10k/core.c#L929>

And ath10k itself explicitly doesn't warn:
<https://elixir.bootlin.com/linux/v6.5.10/source/drivers/net/wireless/ath/ath10k/core.c#L1259>

So I'm confused where these warnings originate.

Based upon the message:
[   14.401143] firmware_class: See https://wiki.debian.org/Firmware
for information about missing firmware

it seems you are not running a stock kernel. So perhaps Debian has
modified the firmware loading such that it ignores the FW_OPT_NO_WARN
flag and warns even when told not to do so? This does not appear to be
an upstream kernel issue.

/jeff

___
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k


Re: ath10k_pci logs errors about missing pre-cal and cal firmware on a laptop

2023-11-14 Thread Jeff Johnson
On 11/12/2023 4:13 AM, Paul Menzel wrote:
> Dear Linux folks,
> 
> 
> Onn the Dell XPS 13 9360 with Debian sid/unstable, Linux 6.5.10 logs the 
> error below:
> 
>  $ sudo dmesg | grep -e "DMI:" -e "Linux version" -e microcode
>  [0.00] microcode: updated early: 0xf0 -> 0xf4, date = 
> 2023-02-22
>  [0.00] Linux version 6.5.0-4-amd64 
> (debian-ker...@lists.debian.org) (gcc-13 (Debian 13.2.0-6) 13.2.0, GNU 
> ld (GNU Binutils for Debian) 2.41) #1 SMP PREEMPT_DYNAMIC Debian 
> 6.5.10-1 (2023-11-03)
>  [0.00] DMI: Dell Inc. XPS 13 9360/0596KF, BIOS 2.21.0 
> 06/02/2022
>  [0.580689] microcode: Microcode Update Driver: v2.2.
> 
>  $ sudo dmesg --level alert,crit,err
>  [0.053566] x86/cpu: SGX disabled by BIOS.
>  [1.942183] psmouse serio1: synaptics: Unable to query device: -5
>  [   14.401112] ath10k_pci :3a:00.0: firmware: failed to load 
> ath10k/pre-cal-pci-:3a:00.0.bin (-2)
>  [   14.401143] firmware_class: See https://wiki.debian.org/Firmware 
> for information about missing firmware
>  [   14.401185] ath10k_pci :3a:00.0: firmware: failed to load 
> ath10k/pre-cal-pci-:3a:00.0.bin (-2)
>  [   14.401233] ath10k_pci :3a:00.0: firmware: failed to load 
> ath10k/cal-pci-:3a:00.0.bin (-2)
>  [   14.401273] ath10k_pci :3a:00.0: firmware: failed to load 
> ath10k/cal-pci-:3a:00.0.bin (-2)
> 
> As it’s logged with error level, I’d like to address the ath10k_pci 
> errors, but I am unable to find the firmware in the Linux firmware 
> archive [1].
> 
> What can I do about this?
> 
> 
> Kind regards,
> 
> Paul
> 
> 
> [1]: 
> https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/

Adding the ath10k list so this isn't lost in the noise

___
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k


[PATCH] wifi: ath10k: Remove unused struct ath10k_htc_frame

2023-11-03 Thread Jeff Johnson
struct ath10k_htc_frame is unused, and since it illogically contains
two consecutive flexible arrays, it could never be used, so remove it.

No functional changes, compile tested only.

Signed-off-by: Jeff Johnson 
---
 drivers/net/wireless/ath/ath10k/htc.h | 13 -
 1 file changed, 13 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/htc.h 
b/drivers/net/wireless/ath/ath10k/htc.h
index 0d180faf3b77..0eaa21ad86ac 100644
--- a/drivers/net/wireless/ath/ath10k/htc.h
+++ b/drivers/net/wireless/ath/ath10k/htc.h
@@ -253,19 +253,6 @@ struct ath10k_htc_record {
};
 } __packed __aligned(4);
 
-/*
- * note: the trailer offset is dynamic depending
- * on payload length. this is only a struct layout draft
- */
-struct ath10k_htc_frame {
-   struct ath10k_htc_hdr hdr;
-   union {
-   struct ath10k_htc_msg msg;
-   u8 payload[0];
-   };
-   struct ath10k_htc_record trailer[0];
-} __packed __aligned(4);
-
 /***/
 /* Host-side stuff */
 /***/

---
base-commit: ac2f43d3d34e52b0d388b4c573ff6bbac90235b9
change-id: 20231025-ath10k_htc_frame-16d8e43f796d


___
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k


Re: [PATCH] wifi: ath10k: simplify __ath10k_htt_tx_txq_recalc()

2023-11-02 Thread Jeff Johnson

On 11/2/2023 4:54 AM, Dmitry Antipov wrote:

Since 'ieee80211_txq_get_depth()' allows NULL for 2nd and
3rd arguments, simplify '__ath10k_htt_tx_txq_recalc()' by
dropping unused 'frame_cnt'. Compile tested only.

Signed-off-by: Dmitry Antipov 

Acked-by: Jeff Johnson 


___
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k


  1   2   >