[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d2dba04d-36bf-4d07-bf2b-dd06671c45c6@lunn.ch>
Date: Wed, 21 Jun 2023 18:14:03 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Johannes Berg <johannes@...solutions.net>
Cc: Evan Quan <evan.quan@....com>, rafael@...nel.org, lenb@...nel.org,
alexander.deucher@....com, christian.koenig@....com,
Xinhui.Pan@....com, airlied@...il.com, daniel@...ll.ch,
davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, mario.limonciello@....com, mdaenzer@...hat.com,
maarten.lankhorst@...ux.intel.com, tzimmermann@...e.de,
hdegoede@...hat.com, jingyuwang_vip@....com, lijo.lazar@....com,
jim.cromie@...il.com, bellosilicio@...il.com,
andrealmeid@...lia.com, trix@...hat.com, jsg@....id.au,
arnd@...db.de, linux-kernel@...r.kernel.org,
linux-acpi@...r.kernel.org, amd-gfx@...ts.freedesktop.org,
dri-devel@...ts.freedesktop.org, linux-wireless@...r.kernel.org,
netdev@...r.kernel.org
Subject: Re: [PATCH V4 1/8] drivers/acpi: Add support for Wifi band RF
mitigations
> > Do only ACPI based systems have:
> >
> > interference of relatively high-powered harmonics of the (G-)DDR
> > memory clocks with local radio module frequency bands used by
> > Wifi 6/6e/7."
> >
> > Could Device Tree based systems not experience this problem?
>
> They could, of course, but they'd need some other driver to change
> _something_ in the system? I don't even know what this is doing
> precisely under the hood in the ACPI BIOS
If you don't know what it is actually doing, it suggests the API is
not very well defined. Is there even enough details that ARM64 ACPI
BIOS could implement this?
> > > +/**
> > > + * APIs needed by drivers/subsystems for contributing frequencies:
> > > + * During probe, check `wbrf_supported_producer` to see if WBRF is supported.
> > > + * If adding frequencies, then call `wbrf_add_exclusion` with the
> > > + * start and end points specified for the frequency ranges added.
> > > + * If removing frequencies, then call `wbrf_remove_exclusion` with
> > > + * start and end points specified for the frequency ranges added.
> > > + */
> > > +bool wbrf_supported_producer(struct acpi_device *adev);
> > > +int wbrf_add_exclusion(struct acpi_device *adev,
> > > + struct wbrf_ranges_in *in);
> > > +int wbrf_remove_exclusion(struct acpi_device *adev,
> > > + struct wbrf_ranges_in *in);
> >
> > Could struct device be used here, to make the API agnostic to where
> > the information is coming from? That would then allow somebody in the
> > future to implement a device tree based information provider.
>
> That does make sense, and it wouldn't even be that much harder if we
> assume in a given platform there's only one provider
That seems like a very reasonable assumption. It is theoretically
possible to build an ACPI + DT hybrid, but i've never seen it actually
done.
If an ARM64 ACPI BIOS could implement this, then i would guess the low
level bits would be solved, i guess jumping into the EL1
firmware. Putting DT on top instead should not be too hard.
Andrew
Powered by blists - more mailing lists