Le lundi 02 octobre 2023 à 21:55 +1100, Jonathan Gray a écrit : > On Fri, Sep 29, 2023 at 10:09:17PM +0200, Solène Rapenne wrote: > > amdgpu_bar_sizes: RBCAP0 0x3f000 sizes: 256M 512M 1G 2G 4G 8G > > amdgpu_bar_sizes: RBCTRL0 0xd40 8G > > GMC real 0x1ff000000 vis 0x1ff000000, FB off 0x7c00000000 size > > 0x200000000, > > gart size 0x20000000 > > Does limiting to a 32-bit size help? > > Index: sys/dev/pci/drm/amd/amdgpu/amdgpu_ttm.c > =================================================================== > RCS file: /cvs/src/sys/dev/pci/drm/amd/amdgpu/amdgpu_ttm.c,v > retrieving revision 1.14 > diff -u -p -r1.14 amdgpu_ttm.c > --- sys/dev/pci/drm/amd/amdgpu/amdgpu_ttm.c 13 Aug 2023 10:36:26 - > 0000 1.14 > +++ sys/dev/pci/drm/amd/amdgpu/amdgpu_ttm.c 2 Oct 2023 10:48:45 - > 0000 > @@ -1791,6 +1791,13 @@ int amdgpu_ttm_init(struct amdgpu_device > return r; > } > > +#ifdef __OpenBSD__ > + if (amdgpu_vis_vram_limit == 0 && ((adev->flags & AMD_IS_APU) > == 0)) { > + if (amdgpu_vis_vram_limit > 4096) > + amdgpu_vis_vram_limit = 4096; > + } > +#endif > + > /* Reduce size of CPU-visible VRAM if requested */ > vis_vram_limit = (u64)amdgpu_vis_vram_limit * 1024 * 1024; > if (amdgpu_vis_vram_limit > 0 && > @@ -1810,11 +1817,13 @@ int amdgpu_ttm_init(struct amdgpu_device > adev->mman.aper_base_kaddr = ioremap_wc(adev- > >gmc.aper_base, > adev->gmc.visible_vram_size); > #else > - if (bus_space_map(adev->memt, adev->gmc.aper_base, > + r = bus_space_map(adev->memt, adev->gmc.aper_base, > adev->gmc.visible_vram_size, > BUS_SPACE_MAP_LINEAR | BUS_SPACE_MAP_PREFETCHABLE, > - &adev->mman.aper_bsh)) { > + &adev->mman.aper_bsh); > + if (r) { > adev->mman.aper_base_kaddr = NULL; > + printf("bus_space_map ret %d\n", r); > } else { > adev->mman.aper_base_kaddr = bus_space_vaddr(adev- > >memt, > adev->mman.aper_bsh); >
with this change, I see no behavior change, gnome/gdm still freeze while starting xenodm + cwm works fine. 3D works for the few video games I tried.