On Fri, Jun 23, 2023 at 5:57 PM Limonciello, Mario
<mario.limonciello@xxxxxxx> wrote:
The mitigation mechanism might be the same, but the AML interface very
On 6/23/2023 9:52 AM, Rafael J. Wysocki wrote:
On Wed, Jun 21, 2023 at 7:47 AM Evan Quan <evan.quan@xxxxxxx> wrote:I guess if we end up with an intermediary library approach
From: Mario Limonciello <mario.limonciello@xxxxxxx>The prefix should be acpi_wbrf_ or acpi_amd_wbrf_ even, so it is clear
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 an ACPI based mechanism that
devices can use to notify active use of particular frequencies so
that devices can make relative internal adjustments as necessary
to avoid this resonance.
In order for a device to support this, the expected flow for device
driver or subsystems:
Drivers/subsystems contributing frequencies:
1) During probe, check `wbrf_supported_producer` to see if WBRF supported
that this uses ACPI and is AMD-specific.
wbrf_supported_producer makes sense and that could call acpi_wbrf_*.
But with no intermediate library your suggestion makes sense.
I would prefer not to make it acpi_amd as there is no reason that
this exact same problem couldn't happen on an
Wifi 6e + Intel SOC + AMD dGPU design too and OEMs could use the
same mitigation mechanism as Wifi6e + AMD SOC + AMD dGPU too.
well may be different.
My point is that this particular interface is AMD-specific ATM and I'm
not aware of any plans to make it "standard" in some way.
Also if the given interface is specified somewhere, it would be good
to have a pointer to that place.
IMO individual drivers should not be expected to use this interfaceWhether or not there needs to be an intermediate library wrapped
around this is a different matter.
directly, as that would add to boilerplate code and overall bloat.
Also whoever uses it, would first need to check if the device in
question has an ACPI companion.