[AMD Official Use Only - General]
> -----Original Message----- > From: Simon Horman <[email protected]> > Sent: Friday, August 11, 2023 5:35 PM > To: Quan, Evan <[email protected]> > Cc: [email protected]; [email protected]; Deucher, Alexander > <[email protected]>; Koenig, Christian > <[email protected]>; Pan, Xinhui <[email protected]>; > [email protected]; [email protected]; [email protected]; > [email protected]; [email protected]; [email protected]; > [email protected]; Limonciello, Mario <[email protected]>; > [email protected]; [email protected]; > [email protected]; [email protected]; [email protected]; > Lazar, Lijo <[email protected]>; [email protected]; > [email protected]; [email protected]; [email protected]; > [email protected]; [email protected]; [email protected]; linux- > [email protected]; [email protected]; amd- > [email protected]; [email protected]; linux- > [email protected]; [email protected] > Subject: Re: [PATCH V8 6/9] drm/amd/pm: setup the framework to support > Wifi RFI mitigation feature > > On Thu, Aug 10, 2023 at 03:38:00PM +0800, Evan Quan wrote: > > With WBRF feature supported, as a driver responding to the frequencies, > > amdgpu driver is able to do shadow pstate switching to mitigate possible > > interference(between its (G-)DDR memory clocks and local radio module > > frequency bands used by Wifi 6/6e/7). > > > > Signed-off-by: Evan Quan <[email protected]> > > Reviewed-by: Mario Limonciello <[email protected]> > > ... > > > +/** > > + * smu_wbrf_event_handler - handle notify events > > + * > > + * @nb: notifier block > > + * @action: event type > > + * @data: event data > > Hi Evan, > > a minor nit from my side: although it is documented here, > smu_wbrf_event_handler has no @data parameter, while > it does have an undocumented _arg parameter. Thanks for pointing this out. I will fix this. Evan > > > + * > > + * Calls relevant amdgpu function in response to wbrf event > > + * notification from kernel. > > + */ > > +static int smu_wbrf_event_handler(struct notifier_block *nb, > > + unsigned long action, void *_arg) > > +{ > > + struct smu_context *smu = container_of(nb, struct smu_context, > > + wbrf_notifier); > > + > > + switch (action) { > > + case WBRF_CHANGED: > > + smu_wbrf_handle_exclusion_ranges(smu); > > + break; > > + default: > > + return NOTIFY_DONE; > > + }; > > + > > + return NOTIFY_OK; > > +} > > ...
