Message ID | 20231017025358.1773598-2-Jun.Ma2@amd.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Enable Wifi RFI interference mitigation feature support | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Guessing tree name failed - patch did not apply |
On Tue, 17 Oct 2023, Ma Jun wrote: > Add documentation about AMD's Wifi band RFI mitigation (WBRF) mechanism > explaining the theory and how it is used. > > Signed-off-by: Ma Jun <Jun.Ma2@amd.com> > --- > Documentation/driver-api/wbrf.rst | 73 +++++++++++++++++++++++++++++++ > 1 file changed, 73 insertions(+) > create mode 100644 Documentation/driver-api/wbrf.rst > > diff --git a/Documentation/driver-api/wbrf.rst b/Documentation/driver-api/wbrf.rst > new file mode 100644 > index 000000000000..8561840263b3 > --- /dev/null > +++ b/Documentation/driver-api/wbrf.rst > @@ -0,0 +1,73 @@ > +.. SPDX-License-Identifier: GPL-2.0-or-later > + > +================================= > +WBRF - Wifi Band RFI Mitigations > +================================= > +Due to electrical and mechanical constraints in certain platform designs Add empty line before starting the content of a section. > +there may be likely interference of relatively high-powered harmonics of > +the GPU memory clocks with local radio module frequency bands used by > +certain Wifi bands. > + > +To mitigate possible RFI interference producers can advertise the > +frequencies in use and consumers can use this information to avoid using > +these frequencies for sensitive features. > + > +When a platform is known to have this issue with any contained devices, > +the platform designer will advertise the availability of this feature via > +ACPI devices with a device specific method (_DSM). > +* Producers with this _DSM will be able to advertise the frequencies in use. > +* Consumers with this _DSM will be able to register for notifications of > +frequencies in use. > + > +Some general terms > +================== > +Producer: such component who can produce high-powered radio frequency > +Consumer: such component who can adjust its in-use frequency in > + response to the radio frequencies of other components to > + mitigate the possible RFI. > + > +To make the mechanism function, those producers should notify active use > +of their particular frequencies so that other consumers can make relative > +internal adjustments as necessary to avoid this resonance. > + > +ACPI interface > +============== > +Although initially used by for wifi + dGPU use cases, the ACPI interface > +can be scaled to any type of device that a platform designer discovers > +can cause interference. > + > +The GUID used for the _DSM is 7B7656CF-DC3D-4C1C-83E9-66E721DE3070. > + > +3 functions are available in this _DSM: > + > +* 0: discover # of functions available > +* 1: record RF bands in use > +* 2: retrieve RF bands in use > + > +Driver programming interface > +============================ > +.. kernel-doc:: drivers/platform/x86/amd/wbrf.c > + > +Sample Usage > +============= > +The expected flow for the producers: > +1) During probe, call `acpi_amd_wbrf_supported_producer` to check if WBRF > +can be enabled for the device. > +2) On using some frequency band, call `acpi_amd_wbrf_add_remove` with 'add' > +param to get other consumers properly notified. > +3) Or on stopping using some frequency band, call > +`acpi_amd_wbrf_add_remove` with 'remove' param to get other consumers notified. > + > +The expected flow for the consumers: > +1) During probe, call `acpi_amd_wbrf_supported_consumer` to check if WBRF > +can be enabled for the device. > +2) Call `amd_wbrf_register_notifier` to register for notification > +of frequency band change(add or remove) from other producers. > +3) Call the `amd_wbrf_retrieve_freq_band` intentionally to retrieve > +current active frequency bands considering some producers may broadcast > +such information before the consumer is up. > +4) On receiving a notification for frequency band change, run > +`amd_wbrf_retrieve_freq_band` again to retrieve the latest > +active frequency bands. > +5) During driver cleanup, call `amd_wbrf_unregister_notifier` to > +unregister the notifier. Align these so that only the numbers start from first column. I think the proper markup for numbered lists is 1. not 1).
Hi llpo, Thanks for these comments on format issues, I'll fix it in the next version. Regards, Ma Jun On 10/17/2023 5:20 PM, Ilpo Järvinen wrote: > On Tue, 17 Oct 2023, Ma Jun wrote: > >> Add documentation about AMD's Wifi band RFI mitigation (WBRF) mechanism >> explaining the theory and how it is used. >> >> Signed-off-by: Ma Jun <Jun.Ma2@amd.com> >> --- >> Documentation/driver-api/wbrf.rst | 73 +++++++++++++++++++++++++++++++ >> 1 file changed, 73 insertions(+) >> create mode 100644 Documentation/driver-api/wbrf.rst >> >> diff --git a/Documentation/driver-api/wbrf.rst b/Documentation/driver-api/wbrf.rst >> new file mode 100644 >> index 000000000000..8561840263b3 >> --- /dev/null >> +++ b/Documentation/driver-api/wbrf.rst >> @@ -0,0 +1,73 @@ >> +.. SPDX-License-Identifier: GPL-2.0-or-later >> + >> +================================= >> +WBRF - Wifi Band RFI Mitigations >> +================================= >> +Due to electrical and mechanical constraints in certain platform designs > > Add empty line before starting the content of a section. > >> +there may be likely interference of relatively high-powered harmonics of >> +the GPU memory clocks with local radio module frequency bands used by >> +certain Wifi bands. >> + >> +To mitigate possible RFI interference producers can advertise the >> +frequencies in use and consumers can use this information to avoid using >> +these frequencies for sensitive features. >> + >> +When a platform is known to have this issue with any contained devices, >> +the platform designer will advertise the availability of this feature via >> +ACPI devices with a device specific method (_DSM). >> +* Producers with this _DSM will be able to advertise the frequencies in use. >> +* Consumers with this _DSM will be able to register for notifications of >> +frequencies in use. >> + >> +Some general terms >> +================== >> +Producer: such component who can produce high-powered radio frequency >> +Consumer: such component who can adjust its in-use frequency in >> + response to the radio frequencies of other components to >> + mitigate the possible RFI. >> + >> +To make the mechanism function, those producers should notify active use >> +of their particular frequencies so that other consumers can make relative >> +internal adjustments as necessary to avoid this resonance. >> + >> +ACPI interface >> +============== >> +Although initially used by for wifi + dGPU use cases, the ACPI interface >> +can be scaled to any type of device that a platform designer discovers >> +can cause interference. >> + >> +The GUID used for the _DSM is 7B7656CF-DC3D-4C1C-83E9-66E721DE3070. >> + >> +3 functions are available in this _DSM: >> + >> +* 0: discover # of functions available >> +* 1: record RF bands in use >> +* 2: retrieve RF bands in use >> + >> +Driver programming interface >> +============================ >> +.. kernel-doc:: drivers/platform/x86/amd/wbrf.c >> + >> +Sample Usage >> +============= >> +The expected flow for the producers: >> +1) During probe, call `acpi_amd_wbrf_supported_producer` to check if WBRF >> +can be enabled for the device. >> +2) On using some frequency band, call `acpi_amd_wbrf_add_remove` with 'add' >> +param to get other consumers properly notified. >> +3) Or on stopping using some frequency band, call >> +`acpi_amd_wbrf_add_remove` with 'remove' param to get other consumers notified. >> + >> +The expected flow for the consumers: >> +1) During probe, call `acpi_amd_wbrf_supported_consumer` to check if WBRF >> +can be enabled for the device. >> +2) Call `amd_wbrf_register_notifier` to register for notification >> +of frequency band change(add or remove) from other producers. >> +3) Call the `amd_wbrf_retrieve_freq_band` intentionally to retrieve >> +current active frequency bands considering some producers may broadcast >> +such information before the consumer is up. >> +4) On receiving a notification for frequency band change, run >> +`amd_wbrf_retrieve_freq_band` again to retrieve the latest >> +active frequency bands. >> +5) During driver cleanup, call `amd_wbrf_unregister_notifier` to >> +unregister the notifier. > > Align these so that only the numbers start from first column. I think the > proper markup for numbered lists is 1. not 1). > >
Hi, On 10/17/23 04:53, Ma Jun wrote: > Add documentation about AMD's Wifi band RFI mitigation (WBRF) mechanism > explaining the theory and how it is used. > > Signed-off-by: Ma Jun <Jun.Ma2@amd.com> > --- > Documentation/driver-api/wbrf.rst | 73 +++++++++++++++++++++++++++++++ > 1 file changed, 73 insertions(+) > create mode 100644 Documentation/driver-api/wbrf.rst > > diff --git a/Documentation/driver-api/wbrf.rst b/Documentation/driver-api/wbrf.rst > new file mode 100644 > index 000000000000..8561840263b3 > --- /dev/null > +++ b/Documentation/driver-api/wbrf.rst > @@ -0,0 +1,73 @@ > +.. SPDX-License-Identifier: GPL-2.0-or-later > + > +================================= > +WBRF - Wifi Band RFI Mitigations > +================================= > +Due to electrical and mechanical constraints in certain platform designs > +there may be likely interference of relatively high-powered harmonics of > +the GPU memory clocks with local radio module frequency bands used by > +certain Wifi bands. > + > +To mitigate possible RFI interference producers can advertise the > +frequencies in use and consumers can use this information to avoid using > +these frequencies for sensitive features. > + > +When a platform is known to have this issue with any contained devices, > +the platform designer will advertise the availability of this feature via > +ACPI devices with a device specific method (_DSM). > +* Producers with this _DSM will be able to advertise the frequencies in use. > +* Consumers with this _DSM will be able to register for notifications of > +frequencies in use. > + > +Some general terms > +================== > +Producer: such component who can produce high-powered radio frequency > +Consumer: such component who can adjust its in-use frequency in > + response to the radio frequencies of other components to > + mitigate the possible RFI. > + > +To make the mechanism function, those producers should notify active use > +of their particular frequencies so that other consumers can make relative > +internal adjustments as necessary to avoid this resonance. > + > +ACPI interface > +============== > +Although initially used by for wifi + dGPU use cases, the ACPI interface > +can be scaled to any type of device that a platform designer discovers > +can cause interference. > + > +The GUID used for the _DSM is 7B7656CF-DC3D-4C1C-83E9-66E721DE3070. > + > +3 functions are available in this _DSM: > + > +* 0: discover # of functions available > +* 1: record RF bands in use > +* 2: retrieve RF bands in use > + > +Driver programming interface > +============================ > +.. kernel-doc:: drivers/platform/x86/amd/wbrf.c > + > +Sample Usage > +============= > +The expected flow for the producers: > +1) During probe, call `acpi_amd_wbrf_supported_producer` to check if WBRF > +can be enabled for the device. > +2) On using some frequency band, call `acpi_amd_wbrf_add_remove` with 'add' > +param to get other consumers properly notified. > +3) Or on stopping using some frequency band, call > +`acpi_amd_wbrf_add_remove` with 'remove' param to get other consumers notified. > + > +The expected flow for the consumers: > +1) During probe, call `acpi_amd_wbrf_supported_consumer` to check if WBRF > +can be enabled for the device. > +2) Call `amd_wbrf_register_notifier` to register for notification > +of frequency band change(add or remove) from other producers. > +3) Call the `amd_wbrf_retrieve_freq_band` intentionally to retrieve > +current active frequency bands considering some producers may broadcast > +such information before the consumer is up. "intentionally" in this sentence should be "initially" (I presume). With that fixed and Ilpo's review comments addressed you may add my: Reviewed-by: Hans de Goede <hdegoede@redhat.com> to this patch. Regards, Hans > +4) On receiving a notification for frequency band change, run > +`amd_wbrf_retrieve_freq_band` again to retrieve the latest > +active frequency bands. > +5) During driver cleanup, call `amd_wbrf_unregister_notifier` to > +unregister the notifier.
diff --git a/Documentation/driver-api/wbrf.rst b/Documentation/driver-api/wbrf.rst new file mode 100644 index 000000000000..8561840263b3 --- /dev/null +++ b/Documentation/driver-api/wbrf.rst @@ -0,0 +1,73 @@ +.. SPDX-License-Identifier: GPL-2.0-or-later + +================================= +WBRF - Wifi Band RFI Mitigations +================================= +Due to electrical and mechanical constraints in certain platform designs +there may be likely interference of relatively high-powered harmonics of +the GPU memory clocks with local radio module frequency bands used by +certain Wifi bands. + +To mitigate possible RFI interference producers can advertise the +frequencies in use and consumers can use this information to avoid using +these frequencies for sensitive features. + +When a platform is known to have this issue with any contained devices, +the platform designer will advertise the availability of this feature via +ACPI devices with a device specific method (_DSM). +* Producers with this _DSM will be able to advertise the frequencies in use. +* Consumers with this _DSM will be able to register for notifications of +frequencies in use. + +Some general terms +================== +Producer: such component who can produce high-powered radio frequency +Consumer: such component who can adjust its in-use frequency in + response to the radio frequencies of other components to + mitigate the possible RFI. + +To make the mechanism function, those producers should notify active use +of their particular frequencies so that other consumers can make relative +internal adjustments as necessary to avoid this resonance. + +ACPI interface +============== +Although initially used by for wifi + dGPU use cases, the ACPI interface +can be scaled to any type of device that a platform designer discovers +can cause interference. + +The GUID used for the _DSM is 7B7656CF-DC3D-4C1C-83E9-66E721DE3070. + +3 functions are available in this _DSM: + +* 0: discover # of functions available +* 1: record RF bands in use +* 2: retrieve RF bands in use + +Driver programming interface +============================ +.. kernel-doc:: drivers/platform/x86/amd/wbrf.c + +Sample Usage +============= +The expected flow for the producers: +1) During probe, call `acpi_amd_wbrf_supported_producer` to check if WBRF +can be enabled for the device. +2) On using some frequency band, call `acpi_amd_wbrf_add_remove` with 'add' +param to get other consumers properly notified. +3) Or on stopping using some frequency band, call +`acpi_amd_wbrf_add_remove` with 'remove' param to get other consumers notified. + +The expected flow for the consumers: +1) During probe, call `acpi_amd_wbrf_supported_consumer` to check if WBRF +can be enabled for the device. +2) Call `amd_wbrf_register_notifier` to register for notification +of frequency band change(add or remove) from other producers. +3) Call the `amd_wbrf_retrieve_freq_band` intentionally to retrieve +current active frequency bands considering some producers may broadcast +such information before the consumer is up. +4) On receiving a notification for frequency band change, run +`amd_wbrf_retrieve_freq_band` again to retrieve the latest +active frequency bands. +5) During driver cleanup, call `amd_wbrf_unregister_notifier` to +unregister the notifier.
Add documentation about AMD's Wifi band RFI mitigation (WBRF) mechanism explaining the theory and how it is used. Signed-off-by: Ma Jun <Jun.Ma2@amd.com> --- Documentation/driver-api/wbrf.rst | 73 +++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Documentation/driver-api/wbrf.rst