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 <avo...@xtra.co.nz> 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

Reply via email to