Message ID | 20231013114434.81648-1-quic_lingbok@quicinc.com |
---|---|
Headers | show |
Series | wifi: ath12k: implement some functionalities through reading ACPI Table | expand |
On 10/13/2023 4:44 AM, Lingbo Kong wrote: > Currently, ath12k does not support BIOS SAR for WCN7850. In order to enable > BIOS SAR for WCN7850, ath12k gets BIOS SAR table and GEO offset table in > ath12k_acpi_dsm_get_data() function, then sets pdev_id, length of data, and > finally sends these data and WMI_PDEV_SET_BIOS_SAR_TABLE_CMDID and > WMI_PDEV_SET_BIOS_GEO_TABLE_CMDID to firmware to implement BIOS SAR during > the initialization phase. Besides, ath12k registers an ACPI event callback > so that ACPI can notify ath12k to get the updated BIOS SAR table and sends > it to firmware when the device state is changed. > > Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 > > Signed-off-by: Lingbo Kong <quic_lingbok@quicinc.com> Verified ath12k-check Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Lingbo Kong <quic_lingbok@quicinc.com> writes: > Through reading ACPI table, implement Time-Average-SAR(TAS), BIOS SAR, > configuration of CCA threshold and band edge channel power functionalities. The coding style felt more like for a vendor driver style than upstream driver so I made quite a lot of changes, too many to list. But for example I did changes in naming, code compiled only if CONFIG_ACPI is enabled and whitespace cleanup. The updated patches are here: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=98dbc0c37b480117959221cafa6326e54667a53a https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=c3d84c46ff4029fdfe15036be4f0a0d1839d31c6 https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=04ec37eb823d9d9cba01531a938c53e8a142486f https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=fdd99edcb8ce2433fd243b5ae1b57668eab48ef0 I still have at least few things to do which I'll try to do soon: o find a correct place to call register()&unregister() o move wmi functions up in wmi.c o consolidate wmi functions into two functions? (duplicated code) I'll let you know once I'm done. As I don't have any device with these ACPI settings I would need help with testing.