On Wed, Mar 06, 2024 at 11:29:52PM -0700, Theo de Raadt wrote:
> You can try booting with:
>
> boot -c
>
> > disable amdgpu0
> > quit
>
> That will probably put you into boring vga graphics, you can compile, and
> test quickly.
>
>
> Avon Robertson <[email protected]> wrote:
>
> > On Thu, Mar 07, 2024 at 03:50:15PM +1100, Jonathan Gray wrote:
> > > Thanks for the detailed report.
> > >
> > > smu7_powergate_uvd+0x23
> > > pp_set_powergating_by_smu+0x15a
> > > amdgpu_dpm_enable_uvd+0xc1
> > > taskq_thread
> > >
> > > POLARIS10 has UVD 6.3
... snip ...
> > > but your trace must occur before that gets cleaned up
> > >
> > > smu7_powergate_uvd+0x23 is
> > > /sys/dev/pci/drm/amd/pm/powerplay/hwmgr/smu7_clockpowergating.c:118
> > >
> > > 114 void smu7_powergate_uvd(struct pp_hwmgr *hwmgr, bool bgate)
> > > 115 {
> > > 116 struct smu7_hwmgr *data = (struct smu7_hwmgr
> > > *)(hwmgr->backend);
> > > 117
> > > 118 data->uvd_power_gated = bgate;
> > >
> > > Try the following revert of
> > > 'drm/amd/pm/smu7: fix a memleak in smu7_hwmgr_backend_init'
> > > https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.6.y&id=ae7cbf935b9a1b41f65fe6443e7cd0c401500b20
> > >
> > > The matching OpenBSD commit was rev 1.9
> > > date: 2024/01/29 01:51:19; author: jsg; state: Exp; lines: +5 -1;
> > > commitid: cUHNbtd9MymExldJ;
> > >
> > > Index: sys/dev/pci/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c
> > > ===================================================================
> > > RCS file: /cvs/src/sys/dev/pci/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c,v
> > > diff -u -p -r1.10 smu7_hwmgr.c
> > > --- sys/dev/pci/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c 6 Feb 2024
> > > 03:55:02 -0000 1.10
> > > +++ sys/dev/pci/drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c 7 Mar 2024
> > > 02:43:27 -0000
> > > @@ -2974,8 +2974,6 @@ static int smu7_hwmgr_backend_init(struc
> > > result = smu7_get_evv_voltages(hwmgr);
> > > if (result) {
> > > pr_info("Get EVV Voltage Failed. Abort Driver
> > > loading!\n");
> > > - kfree(hwmgr->backend);
> > > - hwmgr->backend = NULL;
> > > return -EINVAL;
> > > }
> > > } else {
> > > @@ -3021,10 +3019,8 @@ static int smu7_hwmgr_backend_init(struc
> > > }
> > >
> > > result = smu7_update_edc_leakage_table(hwmgr);
> > > - if (result) {
> > > - smu7_hwmgr_backend_fini(hwmgr);
> > > + if (result)
> > > return result;
> > > - }
> > >
> > > return 0;
> > > }
> > >
> >
> > Thank you for your response Jonathon.
> >
> > I will do as you have suggested and inform bugs@ of the result.
> >
... snip ...
Thank you Theo. I will try your suggested method first.
--
aer