Re: [PATCH v12 0/9] Enable Wifi RFI interference mitigation feature support

From: Ma, Jun
Date: Wed Nov 22 2023 - 03:39:40 EST


Hi Hans,

Thanks for review and your suggestion.
I'll check and fix the _DSM calling issue in the next version.

Regards,
Ma Jun

On 11/20/2023 6:54 PM, Hans de Goede wrote:
> Hi,
>
> On 10/19/23 08:17, Ma, Jun wrote:
>> ping...
>> Any other comments?
>
> Patches 1/9 and 2/9 look reasonable, once the questions about
> use of the _DSM vs directly calling the WBRF ACPI method are
> resolved I can merge patches 1/9 and 2/9 and create an immutable
> feature branch based on 6.7-rc1 + these 2 patches.
>
> I'll then also send a pull-request to the wifi /resp amdgpu
> maintainers from this branch.
>
> I see no acks / reviews from the wifi folks yet,
> so once that immutable feature branch is ready the first
> thing to do is try to get the wifi folks to review + merge WBRF
> support.
>
> Note I plan to not actually merge the feature branch
> into for-next until the wifi folks are happy with the code.
>
> This way if changes are necessary I can do a v2 feature branch
> and the wifi folks can merge that instead.
>
> Regards,
>
> Hans
>
>
>
>
>> On 10/17/2023 10:53 AM, Ma Jun wrote:
>>> Due to electrical and mechanical constraints in certain platform designs there
>>> may be likely interference of relatively high-powered harmonics of the (G-)DDR
>>> memory clocks with local radio module frequency bands used by Wifi 6/6e/7. To
>>> mitigate possible RFI interference we introuduced WBRF(Wifi Band RFI mitigation Feature).
>>> Producers can advertise the frequencies in use and consumers can use this information
>>> to avoid using these frequencies for sensitive features.
>>>
>>> The whole patch set is based on Linux 6.5.0. With some brief introductions
>>> as below:
>>> Patch1: Document about WBRF
>>> Patch2: Core functionality setup for WBRF feature support
>>> Patch3 - 4: Bring WBRF support to wifi subsystem.
>>> Patch5 - 9: Bring WBRF support to AMD graphics driver.
>>>
>>> Evan Quan (7):
>>> cfg80211: expose nl80211_chan_width_to_mhz for wide sharing
>>> wifi: mac80211: Add support for WBRF features
>>> drm/amd/pm: update driver_if and ppsmc headers for coming wbrf feature
>>> drm/amd/pm: setup the framework to support Wifi RFI mitigation feature
>>> drm/amd/pm: add flood detection for wbrf events
>>> drm/amd/pm: enable Wifi RFI mitigation feature support for SMU13.0.0
>>> drm/amd/pm: enable Wifi RFI mitigation feature support for SMU13.0.7
>>>
>>> Ma Jun (2):
>>> Documentation/driver-api: Add document about WBRF mechanism
>>> platform/x86/amd: Add support for AMD ACPI based Wifi band RFI
>>> mitigation feature
>>>
>>> Documentation/driver-api/wbrf.rst | 71 +++
>>> drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 +
>>> drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 17 +
>>> drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 214 +++++++++
>>> drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h | 33 ++
>>> .../inc/pmfw_if/smu13_driver_if_v13_0_0.h | 14 +-
>>> .../inc/pmfw_if/smu13_driver_if_v13_0_7.h | 14 +-
>>> .../pm/swsmu/inc/pmfw_if/smu_v13_0_0_ppsmc.h | 3 +-
>>> .../pm/swsmu/inc/pmfw_if/smu_v13_0_7_ppsmc.h | 3 +-
>>> drivers/gpu/drm/amd/pm/swsmu/inc/smu_types.h | 3 +-
>>> drivers/gpu/drm/amd/pm/swsmu/inc/smu_v13_0.h | 3 +
>>> .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c | 9 +
>>> .../drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 60 +++
>>> .../drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 59 +++
>>> drivers/gpu/drm/amd/pm/swsmu/smu_internal.h | 3 +
>>> drivers/platform/x86/amd/Kconfig | 15 +
>>> drivers/platform/x86/amd/Makefile | 1 +
>>> drivers/platform/x86/amd/wbrf.c | 422 ++++++++++++++++++
>>> include/linux/acpi_amd_wbrf.h | 101 +++++
>>> include/linux/ieee80211.h | 1 +
>>> include/net/cfg80211.h | 8 +
>>> net/mac80211/Makefile | 2 +
>>> net/mac80211/chan.c | 9 +
>>> net/mac80211/ieee80211_i.h | 9 +
>>> net/mac80211/main.c | 2 +
>>> net/mac80211/wbrf.c | 105 +++++
>>> net/wireless/chan.c | 3 +-
>>> 27 files changed, 1180 insertions(+), 6 deletions(-)
>>> create mode 100644 Documentation/driver-api/wbrf.rst
>>> create mode 100644 drivers/platform/x86/amd/wbrf.c
>>> create mode 100644 include/linux/acpi_amd_wbrf.h
>>> create mode 100644 net/mac80211/wbrf.c
>>>
>>
>