Thread (15 messages) 15 messages, 3 authors, 2023-08-28

RE: [V10 1/8] ACPI: Add support for AMD ACPI based Wifi band RFI mitigation feature

From: Quan, Evan <hidden>
Date: 2023-08-28 02:13:51
Also in: amd-gfx, dri-devel, linux-acpi, lkml, netdev

[AMD Official Use Only - General]
-----Original Message-----
From: Simon Horman <horms@kernel.org>
Sent: Sunday, August 27, 2023 11:43 PM
To: Quan, Evan <redacted>
Cc: lenb@kernel.org; johannes@sipsolutions.net; davem@davemloft.net;
edumazet@google.com; kuba@kernel.org; pabeni@redhat.com; Deucher,
Alexander [off-list ref]; rafael@kernel.org; Lazar, Lijo
[off-list ref]; Limonciello, Mario [off-list ref];
linux-kernel@vger.kernel.org; linux-acpi@vger.kernel.org; amd-
gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org; linux-
wireless@vger.kernel.org; netdev@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:
quoted
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 <redacted>
...
quoted
diff --git a/drivers/acpi/amd_wbrf.c b/drivers/acpi/amd_wbrf.c
...
quoted
+/**
+ * acpi_amd_wbrf_add_exclusion - broadcast the frequency band the
device
quoted
+ *                               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
quoted
+ * 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);
...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help