[AMD Official Use Only - General] > -----Original Message----- > From: Simon Horman <ho...@kernel.org> > Sent: Sunday, August 27, 2023 11:43 PM > To: Quan, Evan <evan.q...@amd.com> > Cc: l...@kernel.org; johan...@sipsolutions.net; da...@davemloft.net; > eduma...@google.com; k...@kernel.org; pab...@redhat.com; Deucher, > Alexander <alexander.deuc...@amd.com>; raf...@kernel.org; Lazar, Lijo > <lijo.la...@amd.com>; Limonciello, Mario <mario.limoncie...@amd.com>; > linux-ker...@vger.kernel.org; linux-a...@vger.kernel.org; amd- > g...@lists.freedesktop.org; dri-devel@lists.freedesktop.org; linux- > wirel...@vger.kernel.org; net...@vger.kernel.org > Subject: Re: [V10 1/8] ACPI: Add support for AMD ACPI based Wifi band RFI > mitigation feature > > On Fri, Aug 25, 2023 at 04:38:39PM +0800, Evan Quan 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 this, AMD has introduced a mechanism that devices can use > > to notify active use of particular frequencies so that other devices > > can make relative internal adjustments as necessary to avoid this resonance. > > > > Signed-off-by: Evan Quan <evan.q...@amd.com> > > ... > > > diff --git a/drivers/acpi/amd_wbrf.c b/drivers/acpi/amd_wbrf.c > > ... > > > +/** > > + * acpi_amd_wbrf_add_exclusion - broadcast the frequency band the > device > > + * is using > > + * > > + * @dev: device pointer > > + * @in: input structure containing the frequency band the device is > > +using > > + * > > + * Broadcast to other consumers the frequency band the device starts > > + * to use. Underneath the surface the information is cached into an > > + * internal buffer first. Then a notification is sent to all those > > + * registered consumers. So then they can retrieve that buffer to > > + * know the latest active frequency bands. The benifit with such > > +design > > nit: ./checkpatch.pl --codespell suggests benifit -> benefit. Thanks, will fix that.
Evan > > > + * is for those consumers which have not been registered yet, they > > +can > > + * still have a chance to retrieve such information later. > > + */ > > +int acpi_amd_wbrf_add_exclusion(struct device *dev, > > + struct wbrf_ranges_in_out *in) > > +{ > > + struct acpi_device *adev = ACPI_COMPANION(dev); > > + int ret; > > + > > + if (!adev) > > + return -ENODEV; > > + > > + ret = wbrf_record(adev, WBRF_RECORD_ADD, in); > > + if (ret) > > + return ret; > > + > > + blocking_notifier_call_chain(&wbrf_chain_head, > > + WBRF_CHANGED, > > + NULL); > > + > > + return 0; > > +} > > +EXPORT_SYMBOL_GPL(acpi_amd_wbrf_add_exclusion); > > ...