On Wed, Apr 18, 2018 at 06:55:35PM +0200, Alexander Bluhm wrote:
> On Thu, Apr 19, 2018 at 12:10:04AM +1000, Jonathan Gray wrote:
> > That's with the big radeon update diff as well?
> 
> That was current.  Boots fine.
> 
> With ~jsg/radeon.diff.2 it still crashes.  I have checked, it is
> the diff with
> 
>         if (rdev->rio_mem_size > 0)
>                 bus_space_unmap(rdev->iot, rdev->rio_mem, rdev->rio_mem_size);
> 
> initializing kernel modesetting (RV100 0x1002:0x515E 0x1002:0x515E).
> radeon_cp: Failed to load firmware "radeon/R100_cp.bin"
> error: [drm:pid0:r100_cp_init] *ERROR* Failed to load firmware!
> drm:pid0:r100_startup *ERROR* failed initializing CP (-2).
> drm:pid0:r100_init *ERROR* Disabling GPU acceleration
> uvm_fault(0xd0cae21c, 0xd11e2000, 0, 1) -> e
> kernel: page fault trap, code=0
> Stopped at      pmap_page_remove_pae+0x18:      cmpl    $0,0x48(%edi)
> ddb{0}> trace
> pmap_page_remove_pae(d11e2768) at pmap_page_remove_pae+0x18
> ttm_tt_destroy(d5765a00) at ttm_tt_destroy+0x61
> ttm_bo_cleanup_refs_or_queue(d572eb28) at ttm_bo_cleanup_refs_or_queue+0x2b3
> ttm_bo_unref(d0f63ed8) at ttm_bo_unref+0x69
> radeon_bo_unref(d572eb28) at radeon_bo_unref+0x27
> radeon_wb_fini(d572d000) at radeon_wb_fini+0x49
> r100_init(d572d000) at r100_init+0x409
> radeon_device_init(d572d000,d5701400,d570143c,840001) at 
> radeon_device_init+0x7
> 97
> radeondrm_attachhook(d572d000) at radeondrm_attachhook+0x2b
> config_process_deferred_mountroot() at config_process_deferred_mountroot+0x2c
> main(0) at main+0x7bf

After spending some time trying to track this down I have come up with
the diff below and included it in ~jsg/radeon.diff.4 can you confirm
that it works for you as well?

diff --git sys/dev/pci/drm/ttm/ttm_bo_util.c sys/dev/pci/drm/ttm/ttm_bo_util.c
index 3b26d865be2..da6c459bd39 100644
--- sys/dev/pci/drm/ttm/ttm_bo_util.c
+++ sys/dev/pci/drm/ttm/ttm_bo_util.c
@@ -644,7 +644,7 @@ void ttm_bo_kunmap(struct ttm_bo_kmap_obj *map)
                vunmap(map->virtual, bo->mem.bus.size);
                break;
        case ttm_bo_map_kmap:
-               kunmap(map->page);
+               kunmap(map->virtual);
                break;
        case ttm_bo_map_premapped:
                break;

Reply via email to