[AMD Official Use Only - General] > -----Original Message----- > From: Simon Horman <horms@xxxxxxxxxx> > Sent: Friday, August 11, 2023 5:35 PM > To: Quan, Evan <Evan.Quan@xxxxxxx> > Cc: rafael@xxxxxxxxxx; lenb@xxxxxxxxxx; Deucher, Alexander > <Alexander.Deucher@xxxxxxx>; Koenig, Christian > <Christian.Koenig@xxxxxxx>; Pan, Xinhui <Xinhui.Pan@xxxxxxx>; > airlied@xxxxxxxxx; daniel@xxxxxxxx; johannes@xxxxxxxxxxxxxxxx; > davem@xxxxxxxxxxxxx; edumazet@xxxxxxxxxx; kuba@xxxxxxxxxx; > pabeni@xxxxxxxxxx; Limonciello, Mario <Mario.Limonciello@xxxxxxx>; > mdaenzer@xxxxxxxxxx; maarten.lankhorst@xxxxxxxxxxxxxxx; > tzimmermann@xxxxxxx; hdegoede@xxxxxxxxxx; jingyuwang_vip@xxxxxxx; > Lazar, Lijo <Lijo.Lazar@xxxxxxx>; jim.cromie@xxxxxxxxx; > bellosilicio@xxxxxxxxx; andrealmeid@xxxxxxxxxx; trix@xxxxxxxxxx; > jsg@xxxxxxxxx; arnd@xxxxxxxx; andrew@xxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx; linux-acpi@xxxxxxxxxxxxxxx; amd- > gfx@xxxxxxxxxxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx; linux- > wireless@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx > 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 <evan.quan@xxxxxxx> > > Reviewed-by: Mario Limonciello <mario.limonciello@xxxxxxx> > > ... > > > +/** > > + * 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; > > +} > > ...