On Wed, Jan 24, 2024 at 09:46:41PM +1100, Jonathan Gray wrote:
> On Tue, Jan 23, 2024 at 10:55:26AM -0500, Josh Rickmar wrote:
> > Latest -current is unhappy with my amd64 desktop.  I'm assuming this
> > is due to the recent drm sync to newer Linux.  My GPU is a RX Vega 64.
> 
> An earlier snapshot worked?

Yes, however the monitor would briefly go into power saving mode from
not having a display signal for a short while, and when it displayed
again, the console had color stripes.  These would disappear once
xenodm was loaded, and switching back to the console would not show
the color striping again.

> 
> > 
> > It seems to kernel panic but I can't confirm this, the screen is black
> > and it doesn't bring up networking/respond to pings.
> > 
> > I see the following errors in the dmesg buffer before the most recent
> > boot:
> > 
> > amdgpu0: VEGA10 GC 9.0.1 64 CU rev 0x01
> > [drm] *ERROR* IB test failed on gfx_low (-60).
> > [drm] *ERROR* IB test failed on gfx_high (-60).
> > [drm] *ERROR* IB test failed on comp_1.0.0 (-60).
> > [drm] *ERROR* IB test failed on comp_1.1.0 (-60).
> > [drm] *ERROR* IB test failed on comp_1.2.0 (-60).
> > [drm] *ERROR* IB test failed on comp_1.3.0 (-60).
> > [drm] *ERROR* IB test failed on comp_1.0.1 (-60).
> > [drm] *ERROR* IB test failed on comp_1.1.1 (-60).
> > [drm] *ERROR* IB test failed on comp_1.2.1 (-60).
> 
> Does the following change this?
> 
> The framebuffer offset/size can cause tests to fail.
> 

Unfortunately not, I see the same behavior and errors in dmesg as
before.

> Index: sys/dev/pci/drm/amd/amdgpu/amdgpu_gmc.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/drm/amd/amdgpu/amdgpu_gmc.c,v
> diff -u -p -r1.11 amdgpu_gmc.c
> --- sys/dev/pci/drm/amd/amdgpu/amdgpu_gmc.c   16 Jan 2024 23:37:52 -0000      
> 1.11
> +++ sys/dev/pci/drm/amd/amdgpu/amdgpu_gmc.c   24 Jan 2024 10:07:49 -0000
> @@ -738,15 +738,6 @@ void amdgpu_gmc_get_vbios_allocations(st
>       } else {
>               size = amdgpu_gmc_get_vbios_fb_size(adev);
>  
> -#ifdef __amd64__
> -             /*
> -              * XXX Workaround for machines where the framebuffer
> -              * size reported by the hardware is incorrect.
> -              */
> -             extern psize_t efifb_stolen();
> -             size = max(size, efifb_stolen());
> -#endif
> -
>               if (adev->mman.keep_stolen_vga_memory)
>                       size = max(size, (unsigned)AMDGPU_VBIOS_VGA_ALLOCATION);
>       }

Reply via email to