mbox series

[v8,0/4] wifi: ath12k: ACPI support

Message ID 20240418162019.1246749-1-kvalo@kernel.org
Headers show
Series wifi: ath12k: ACPI support | expand

Message

Kalle Valo April 18, 2024, 4:20 p.m. UTC
From: Kalle Valo <quic_kvalo@quicinc.com>

Through reading ACPI tables, implement Time-Average-SAR(TAS), BIOS SAR,
configuration of CCA threshold and band edge channel power functionalities.
This is enabled only on WCN7850.

TODO:

* test with ACPI support in hardware (I don't have such hardware), especially
  suspend and hibernation

v8:

* rebase to ath-202404181528
* rewrite commit messages
* cleanup and improvements all over to match the ath12k style, including
  error handling, naming and so on
* locate new place to call ath12k_acpi_[start|stop]()
* move wmi functions up in wmi.c file
* consolidate WMI functions using WMI_PDEV_SET_BIOS_INTERFACE_CMDID into ath12k_wmi_set_bios_cmd()
* ath12k_acpi_stop(): don't call acpi_remove_notify_handler() if we never installed the handler

v7: https://patchwork.kernel.org/project/linux-wireless/cover/20231013114434.81648-1-quic_lingbok@quicinc.com/

* adjust the length of line
* add cpu_to_le32()

v6:

* remove code that is not called

v5:

* rebase to the latest tag

v4:

* revise commit log using imperative voice
* delete guid_is_null()

v3:

* remove unnecessary cpu_to_le32()
* adjust the order of the macros
* apply jeff's advice

v2:

* put <linux/acpi.h> in the include guard

Lingbo Kong (4):
  wifi: ath12k: ACPI TAS support
  wifi: ath12k: ACPI SAR support
  wifi: ath12k: ACPI CCA threshold support
  wifi: ath12k: ACPI band edge channel power support

 drivers/net/wireless/ath/ath12k/Makefile |   1 +
 drivers/net/wireless/ath/ath12k/acpi.c   | 394 +++++++++++++++++++++++
 drivers/net/wireless/ath/ath12k/acpi.h   |  76 +++++
 drivers/net/wireless/ath/ath12k/core.c   |   7 +
 drivers/net/wireless/ath/ath12k/core.h   |  18 ++
 drivers/net/wireless/ath/ath12k/hw.c     |  10 +
 drivers/net/wireless/ath/ath12k/hw.h     |   3 +
 drivers/net/wireless/ath/ath12k/wmi.c    | 143 ++++++++
 drivers/net/wireless/ath/ath12k/wmi.h    |  41 +++
 9 files changed, 693 insertions(+)
 create mode 100644 drivers/net/wireless/ath/ath12k/acpi.c
 create mode 100644 drivers/net/wireless/ath/ath12k/acpi.h


base-commit: c416602943dd36fbd13af7496430723935c867a3

Comments

Jeff Johnson April 18, 2024, 10:23 p.m. UTC | #1
On 4/18/2024 9:20 AM, Kalle Valo wrote:
> From: Kalle Valo <quic_kvalo@quicinc.com>
> 
> Through reading ACPI tables, implement Time-Average-SAR(TAS), BIOS SAR,
> configuration of CCA threshold and band edge channel power functionalities.
> This is enabled only on WCN7850.
> 
> TODO:
> 
> * test with ACPI support in hardware (I don't have such hardware), especially
>   suspend and hibernation
> 
> v8:
> 
> * rebase to ath-202404181528
> * rewrite commit messages
> * cleanup and improvements all over to match the ath12k style, including
>   error handling, naming and so on
> * locate new place to call ath12k_acpi_[start|stop]()
> * move wmi functions up in wmi.c file
> * consolidate WMI functions using WMI_PDEV_SET_BIOS_INTERFACE_CMDID into ath12k_wmi_set_bios_cmd()
> * ath12k_acpi_stop(): don't call acpi_remove_notify_handler() if we never installed the handler
> 
> v7: https://patchwork.kernel.org/project/linux-wireless/cover/20231013114434.81648-1-quic_lingbok@quicinc.com/
> 
> * adjust the length of line
> * add cpu_to_le32()
> 
> v6:
> 
> * remove code that is not called
> 
> v5:
> 
> * rebase to the latest tag
> 
> v4:
> 
> * revise commit log using imperative voice
> * delete guid_is_null()
> 
> v3:
> 
> * remove unnecessary cpu_to_le32()
> * adjust the order of the macros
> * apply jeff's advice
> 
> v2:
> 
> * put <linux/acpi.h> in the include guard
> 
> Lingbo Kong (4):
>   wifi: ath12k: ACPI TAS support
>   wifi: ath12k: ACPI SAR support
>   wifi: ath12k: ACPI CCA threshold support
>   wifi: ath12k: ACPI band edge channel power support
> 
>  drivers/net/wireless/ath/ath12k/Makefile |   1 +
>  drivers/net/wireless/ath/ath12k/acpi.c   | 394 +++++++++++++++++++++++
>  drivers/net/wireless/ath/ath12k/acpi.h   |  76 +++++
>  drivers/net/wireless/ath/ath12k/core.c   |   7 +
>  drivers/net/wireless/ath/ath12k/core.h   |  18 ++
>  drivers/net/wireless/ath/ath12k/hw.c     |  10 +
>  drivers/net/wireless/ath/ath12k/hw.h     |   3 +
>  drivers/net/wireless/ath/ath12k/wmi.c    | 143 ++++++++
>  drivers/net/wireless/ath/ath12k/wmi.h    |  41 +++
>  9 files changed, 693 insertions(+)
>  create mode 100644 drivers/net/wireless/ath/ath12k/acpi.c
>  create mode 100644 drivers/net/wireless/ath/ath12k/acpi.h
> 
> 
> base-commit: c416602943dd36fbd13af7496430723935c867a3

I can verify this doesn't crash my system, but apparently my ACPI doesn't have
the underlying settings, so cannot verify actual functionality

Apr 18 15:13:59 qca-HP-ZBook-14-G2 kernel: ath12k_pci 0000:03:00.0: acpi_evaluate_dsm() failed
Apr 18 15:13:59 qca-HP-ZBook-14-G2 kernel: ath12k_pci 0000:03:00.0: failed to get ACPI DSM data: -2
Apr 18 15:13:59 qca-HP-ZBook-14-G2 kernel: ath12k_pci 0000:03:00.0: acpi failed: -2

/jeff
Kalle Valo April 19, 2024, 4:16 a.m. UTC | #2
Jeff Johnson <quic_jjohnson@quicinc.com> writes:

> On 4/18/2024 9:20 AM, Kalle Valo wrote:
>
>> From: Kalle Valo <quic_kvalo@quicinc.com>
>> 
>> Through reading ACPI tables, implement Time-Average-SAR(TAS), BIOS SAR,
>> configuration of CCA threshold and band edge channel power functionalities.
>> This is enabled only on WCN7850.
>> 
>> TODO:
>> 
>> * test with ACPI support in hardware (I don't have such hardware), especially
>>   suspend and hibernation

[...]

> I can verify this doesn't crash my system, but apparently my ACPI doesn't have
> the underlying settings, so cannot verify actual functionality

Thanks for testing. I hope Lingbo has a device with proper ACPI settings.

> Apr 18 15:13:59 qca-HP-ZBook-14-G2 kernel: ath12k_pci 0000:03:00.0: acpi_evaluate_dsm() failed
> Apr 18 15:13:59 qca-HP-ZBook-14-G2 kernel: ath12k_pci 0000:03:00.0: failed to get ACPI DSM data: -2
> Apr 18 15:13:59 qca-HP-ZBook-14-G2 kernel: ath12k_pci 0000:03:00.0: acpi failed: -2

I just want to verify that these are debug messages, right? Normal users
shouldn't see any ACPI errors if there are no ACPI settings in the system.
Jeff Johnson April 19, 2024, 2:51 p.m. UTC | #3
On 4/18/2024 9:16 PM, Kalle Valo wrote:
> Jeff Johnson <quic_jjohnson@quicinc.com> writes:
>> I can verify this doesn't crash my system, but apparently my ACPI doesn't have
>> the underlying settings, so cannot verify actual functionality
> 
> Thanks for testing. I hope Lingbo has a device with proper ACPI settings.
> 
>> Apr 18 15:13:59 qca-HP-ZBook-14-G2 kernel: ath12k_pci 0000:03:00.0: acpi_evaluate_dsm() failed
>> Apr 18 15:13:59 qca-HP-ZBook-14-G2 kernel: ath12k_pci 0000:03:00.0: failed to get ACPI DSM data: -2
>> Apr 18 15:13:59 qca-HP-ZBook-14-G2 kernel: ath12k_pci 0000:03:00.0: acpi failed: -2
> 
> I just want to verify that these are debug messages, right? Normal users
> shouldn't see any ACPI errors if there are no ACPI settings in the system.

Yes, those were debug messages (I've added ath12k.debug_mask=0xffffeffa to my
boot command)

Also note my Qualcomm Innovation Center copyright checker reports that the two
new files are missing 2024 copyright, so please update

/jeff
Lingbo Kong April 19, 2024, 2:57 p.m. UTC | #4
On 2024/4/19 22:51, Jeff Johnson wrote:
> On 4/18/2024 9:16 PM, Kalle Valo wrote:
>> Jeff Johnson <quic_jjohnson@quicinc.com> writes:
>>> I can verify this doesn't crash my system, but apparently my ACPI doesn't have
>>> the underlying settings, so cannot verify actual functionality
>>
>> Thanks for testing. I hope Lingbo has a device with proper ACPI settings.
>>
>>> Apr 18 15:13:59 qca-HP-ZBook-14-G2 kernel: ath12k_pci 0000:03:00.0: acpi_evaluate_dsm() failed
>>> Apr 18 15:13:59 qca-HP-ZBook-14-G2 kernel: ath12k_pci 0000:03:00.0: failed to get ACPI DSM data: -2
>>> Apr 18 15:13:59 qca-HP-ZBook-14-G2 kernel: ath12k_pci 0000:03:00.0: acpi failed: -2
>>
>> I just want to verify that these are debug messages, right? Normal users
>> shouldn't see any ACPI errors if there are no ACPI settings in the system.
> 
> Yes, those were debug messages (I've added ath12k.debug_mask=0xffffeffa to my
> boot command)
> 
> Also note my Qualcomm Innovation Center copyright checker reports that the two
> new files are missing 2024 copyright, so please update
> 
> /jeff
> 

thx jeff, i'll update the copyright.

best regards
Lingbo Kong