Am 28.04.2017 um 10:47 schrieb Michel Dänzer: > From: Michel Dänzer <michel.daenzer at amd.com> > > Some of these paths probably cannot be interrupted by a signal anyway. > Those that can would fail to clean up things if they actually got > interrupted. > > Signed-off-by: Michel Dänzer <michel.daenzer at amd.com> Reviewed-by: Christian König <christian.koenig at amd.com> Alex X: Just a reminder: amdgpu_unpin_work_func is called by work queue. Signal is blocked already. un-interruptible waiting might slow thing down very slightly. > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 2 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 2 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 2 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | 2 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c | 2 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 +- > drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 6 +++--- > drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 6 +++--- > drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 6 +++--- > drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 6 +++--- > drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 2 +- > drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 6 +++--- > drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 10 +++++----- > drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 8 ++++---- > drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 8 ++++---- > 16 files changed, 36 insertions(+), 36 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c > index 771a6aae58d6..af64448a565c 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c > @@ -123,7 +123,7 @@ static void amdgpu_unpin_work_func(struct work_struct *__work) > int r; > > /* unpin of the old buffer */ > - r = amdgpu_bo_reserve(work->old_abo, false); > + r = amdgpu_bo_reserve(work->old_abo, true); > if (likely(r == 0)) { > r = amdgpu_bo_unpin(work->old_abo); > if (unlikely(r != 0)) { > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c > index 9dea2f661f1d..e869e60994ce 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c > @@ -113,7 +113,7 @@ static void amdgpufb_destroy_pinned_object(struct drm_gem_object *gobj) > struct amdgpu_bo *abo = gem_to_amdgpu_bo(gobj); > int ret; > > - ret = amdgpu_bo_reserve(abo, false); > + ret = amdgpu_bo_reserve(abo, true); > if (likely(ret == 0)) { > amdgpu_bo_kunmap(abo); > amdgpu_bo_unpin(abo); > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c > index 6d691abe889c..e7406ce7093c 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c > @@ -183,7 +183,7 @@ void amdgpu_gart_table_vram_unpin(struct amdgpu_device *adev) > if (adev->gart.robj == NULL) { > return; > } > - r = amdgpu_bo_reserve(adev->gart.robj, false); > + r = amdgpu_bo_reserve(adev->gart.robj, true); > if (likely(r == 0)) { > amdgpu_bo_kunmap(adev->gart.robj); > amdgpu_bo_unpin(adev->gart.robj); > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c > index ec5b1bc0e428..d40b8ac745cd 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c > @@ -819,7 +819,7 @@ void amdgpu_driver_postclose_kms(struct drm_device *dev, > > if (amdgpu_sriov_vf(adev)) { > /* TODO: how to handle reserve failure */ > - BUG_ON(amdgpu_bo_reserve(adev->virt.csa_obj, false)); > + BUG_ON(amdgpu_bo_reserve(adev->virt.csa_obj, true)); > amdgpu_vm_bo_rmv(adev, fpriv->vm.csa_bo_va); > fpriv->vm.csa_bo_va = NULL; > amdgpu_bo_unreserve(adev->virt.csa_obj); > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c > index 3826d5aea0a6..6bdc866570ab 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c > @@ -113,7 +113,7 @@ void amdgpu_gem_prime_unpin(struct drm_gem_object *obj) > struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); > int ret = 0; > > - ret = amdgpu_bo_reserve(bo, false); > + ret = amdgpu_bo_reserve(bo, true); > if (unlikely(ret != 0)) > return; > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c > index 7b56d9988aba..de4ebcf4ac2c 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c > @@ -130,7 +130,7 @@ int amdgpu_sa_bo_manager_suspend(struct amdgpu_device *adev, > return -EINVAL; > } > > - r = amdgpu_bo_reserve(sa_manager->bo, false); > + r = amdgpu_bo_reserve(sa_manager->bo, true); > if (!r) { > amdgpu_bo_kunmap(sa_manager->bo); > amdgpu_bo_unpin(sa_manager->bo); > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > index 58873cf027e8..11c6c4494e0a 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > @@ -1198,7 +1198,7 @@ void amdgpu_ttm_fini(struct amdgpu_device *adev) > return; > amdgpu_ttm_debugfs_fini(adev); > if (adev->stollen_vga_memory) { > - r = amdgpu_bo_reserve(adev->stollen_vga_memory, false); > + r = amdgpu_bo_reserve(adev->stollen_vga_memory, true); > if (r == 0) { > amdgpu_bo_unpin(adev->stollen_vga_memory); > amdgpu_bo_unreserve(adev->stollen_vga_memory); > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c > index 7d86ba42efc9..d618f92ae46c 100644 > --- a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c > @@ -2231,7 +2231,7 @@ static int dce_v10_0_crtc_do_set_base(struct drm_crtc *crtc, > if (!atomic && fb && fb != crtc->primary->fb) { > amdgpu_fb = to_amdgpu_framebuffer(fb); > abo = gem_to_amdgpu_bo(amdgpu_fb->obj); > - r = amdgpu_bo_reserve(abo, false); > + r = amdgpu_bo_reserve(abo, true); > if (unlikely(r != 0)) > return r; > amdgpu_bo_unpin(abo); > @@ -2590,7 +2590,7 @@ static int dce_v10_0_crtc_cursor_set2(struct drm_crtc *crtc, > unpin: > if (amdgpu_crtc->cursor_bo) { > struct amdgpu_bo *aobj = gem_to_amdgpu_bo(amdgpu_crtc->cursor_bo); > - ret = amdgpu_bo_reserve(aobj, false); > + ret = amdgpu_bo_reserve(aobj, true); > if (likely(ret == 0)) { > amdgpu_bo_unpin(aobj); > amdgpu_bo_unreserve(aobj); > @@ -2720,7 +2720,7 @@ static void dce_v10_0_crtc_disable(struct drm_crtc *crtc) > > amdgpu_fb = to_amdgpu_framebuffer(crtc->primary->fb); > abo = gem_to_amdgpu_bo(amdgpu_fb->obj); > - r = amdgpu_bo_reserve(abo, false); > + r = amdgpu_bo_reserve(abo, true); > if (unlikely(r)) > DRM_ERROR("failed to reserve abo before unpin\n"); > else { > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c > index 3d82181baffe..ea634158ae7a 100644 > --- a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c > @@ -2215,7 +2215,7 @@ static int dce_v11_0_crtc_do_set_base(struct drm_crtc *crtc, > if (!atomic && fb && fb != crtc->primary->fb) { > amdgpu_fb = to_amdgpu_framebuffer(fb); > abo = gem_to_amdgpu_bo(amdgpu_fb->obj); > - r = amdgpu_bo_reserve(abo, false); > + r = amdgpu_bo_reserve(abo, true); > if (unlikely(r != 0)) > return r; > amdgpu_bo_unpin(abo); > @@ -2610,7 +2610,7 @@ static int dce_v11_0_crtc_cursor_set2(struct drm_crtc *crtc, > unpin: > if (amdgpu_crtc->cursor_bo) { > struct amdgpu_bo *aobj = gem_to_amdgpu_bo(amdgpu_crtc->cursor_bo); > - ret = amdgpu_bo_reserve(aobj, false); > + ret = amdgpu_bo_reserve(aobj, true); > if (likely(ret == 0)) { > amdgpu_bo_unpin(aobj); > amdgpu_bo_unreserve(aobj); > @@ -2740,7 +2740,7 @@ static void dce_v11_0_crtc_disable(struct drm_crtc *crtc) > > amdgpu_fb = to_amdgpu_framebuffer(crtc->primary->fb); > abo = gem_to_amdgpu_bo(amdgpu_fb->obj); > - r = amdgpu_bo_reserve(abo, false); > + r = amdgpu_bo_reserve(abo, true); > if (unlikely(r)) > DRM_ERROR("failed to reserve abo before unpin\n"); > else { > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c > index 59f6993af0b6..d68c1eabd0ce 100644 > --- a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c > @@ -2150,7 +2150,7 @@ static int dce_v6_0_crtc_do_set_base(struct drm_crtc *crtc, > if (!atomic && fb && fb != crtc->primary->fb) { > amdgpu_fb = to_amdgpu_framebuffer(fb); > abo = gem_to_amdgpu_bo(amdgpu_fb->obj); > - r = amdgpu_bo_reserve(abo, false); > + r = amdgpu_bo_reserve(abo, true); > if (unlikely(r != 0)) > return r; > amdgpu_bo_unpin(abo); > @@ -2467,7 +2467,7 @@ static int dce_v6_0_crtc_cursor_set2(struct drm_crtc *crtc, > unpin: > if (amdgpu_crtc->cursor_bo) { > struct amdgpu_bo *aobj = gem_to_amdgpu_bo(amdgpu_crtc->cursor_bo); > - ret = amdgpu_bo_reserve(aobj, false); > + ret = amdgpu_bo_reserve(aobj, true); > if (likely(ret == 0)) { > amdgpu_bo_unpin(aobj); > amdgpu_bo_unreserve(aobj); > @@ -2592,7 +2592,7 @@ static void dce_v6_0_crtc_disable(struct drm_crtc *crtc) > > amdgpu_fb = to_amdgpu_framebuffer(crtc->primary->fb); > abo = gem_to_amdgpu_bo(amdgpu_fb->obj); > - r = amdgpu_bo_reserve(abo, false); > + r = amdgpu_bo_reserve(abo, true); > if (unlikely(r)) > DRM_ERROR("failed to reserve abo before unpin\n"); > else { > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c > index 1629ff9c3949..1e6c40e32cfd 100644 > --- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c > @@ -2090,7 +2090,7 @@ static int dce_v8_0_crtc_do_set_base(struct drm_crtc *crtc, > if (!atomic && fb && fb != crtc->primary->fb) { > amdgpu_fb = to_amdgpu_framebuffer(fb); > abo = gem_to_amdgpu_bo(amdgpu_fb->obj); > - r = amdgpu_bo_reserve(abo, false); > + r = amdgpu_bo_reserve(abo, true); > if (unlikely(r != 0)) > return r; > amdgpu_bo_unpin(abo); > @@ -2441,7 +2441,7 @@ static int dce_v8_0_crtc_cursor_set2(struct drm_crtc *crtc, > unpin: > if (amdgpu_crtc->cursor_bo) { > struct amdgpu_bo *aobj = gem_to_amdgpu_bo(amdgpu_crtc->cursor_bo); > - ret = amdgpu_bo_reserve(aobj, false); > + ret = amdgpu_bo_reserve(aobj, true); > if (likely(ret == 0)) { > amdgpu_bo_unpin(aobj); > amdgpu_bo_unreserve(aobj); > @@ -2571,7 +2571,7 @@ static void dce_v8_0_crtc_disable(struct drm_crtc *crtc) > > amdgpu_fb = to_amdgpu_framebuffer(crtc->primary->fb); > abo = gem_to_amdgpu_bo(amdgpu_fb->obj); > - r = amdgpu_bo_reserve(abo, false); > + r = amdgpu_bo_reserve(abo, true); > if (unlikely(r)) > DRM_ERROR("failed to reserve abo before unpin\n"); > else { > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c > index 8bb9cfde508d..084518301f4b 100644 > --- a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c > +++ b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c > @@ -247,7 +247,7 @@ static void dce_virtual_crtc_disable(struct drm_crtc *crtc) > > amdgpu_fb = to_amdgpu_framebuffer(crtc->primary->fb); > abo = gem_to_amdgpu_bo(amdgpu_fb->obj); > - r = amdgpu_bo_reserve(abo, false); > + r = amdgpu_bo_reserve(abo, true); > if (unlikely(r)) > DRM_ERROR("failed to reserve abo before unpin\n"); > else { > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c > index 25c3703f838b..03d2a0a2e523 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c > @@ -2437,7 +2437,7 @@ static void gfx_v6_0_rlc_fini(struct amdgpu_device *adev) > int r; > > if (adev->gfx.rlc.save_restore_obj) { > - r = amdgpu_bo_reserve(adev->gfx.rlc.save_restore_obj, false); > + r = amdgpu_bo_reserve(adev->gfx.rlc.save_restore_obj, true); > if (unlikely(r != 0)) > dev_warn(adev->dev, "(%d) reserve RLC sr bo failed\n", r); > amdgpu_bo_unpin(adev->gfx.rlc.save_restore_obj); > @@ -2448,7 +2448,7 @@ static void gfx_v6_0_rlc_fini(struct amdgpu_device *adev) > } > > if (adev->gfx.rlc.clear_state_obj) { > - r = amdgpu_bo_reserve(adev->gfx.rlc.clear_state_obj, false); > + r = amdgpu_bo_reserve(adev->gfx.rlc.clear_state_obj, true); > if (unlikely(r != 0)) > dev_warn(adev->dev, "(%d) reserve RLC c bo failed\n", r); > amdgpu_bo_unpin(adev->gfx.rlc.clear_state_obj); > @@ -2459,7 +2459,7 @@ static void gfx_v6_0_rlc_fini(struct amdgpu_device *adev) > } > > if (adev->gfx.rlc.cp_table_obj) { > - r = amdgpu_bo_reserve(adev->gfx.rlc.cp_table_obj, false); > + r = amdgpu_bo_reserve(adev->gfx.rlc.cp_table_obj, true); > if (unlikely(r != 0)) > dev_warn(adev->dev, "(%d) reserve RLC cp table bo failed\n", r); > amdgpu_bo_unpin(adev->gfx.rlc.cp_table_obj); > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c > index 75cca54fa216..b2df8e814abb 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c > @@ -2792,7 +2792,7 @@ static void gfx_v7_0_cp_compute_fini(struct amdgpu_device *adev) > struct amdgpu_ring *ring = &adev->gfx.compute_ring[i]; > > if (ring->mqd_obj) { > - r = amdgpu_bo_reserve(ring->mqd_obj, false); > + r = amdgpu_bo_reserve(ring->mqd_obj, true); > if (unlikely(r != 0)) > dev_warn(adev->dev, "(%d) reserve MQD bo failed\n", r); > > @@ -2810,7 +2810,7 @@ static void gfx_v7_0_mec_fini(struct amdgpu_device *adev) > int r; > > if (adev->gfx.mec.hpd_eop_obj) { > - r = amdgpu_bo_reserve(adev->gfx.mec.hpd_eop_obj, false); > + r = amdgpu_bo_reserve(adev->gfx.mec.hpd_eop_obj, true); > if (unlikely(r != 0)) > dev_warn(adev->dev, "(%d) reserve HPD EOP bo failed\n", r); > amdgpu_bo_unpin(adev->gfx.mec.hpd_eop_obj); > @@ -3359,7 +3359,7 @@ static void gfx_v7_0_rlc_fini(struct amdgpu_device *adev) > > /* save restore block */ > if (adev->gfx.rlc.save_restore_obj) { > - r = amdgpu_bo_reserve(adev->gfx.rlc.save_restore_obj, false); > + r = amdgpu_bo_reserve(adev->gfx.rlc.save_restore_obj, true); > if (unlikely(r != 0)) > dev_warn(adev->dev, "(%d) reserve RLC sr bo failed\n", r); > amdgpu_bo_unpin(adev->gfx.rlc.save_restore_obj); > @@ -3371,7 +3371,7 @@ static void gfx_v7_0_rlc_fini(struct amdgpu_device *adev) > > /* clear state block */ > if (adev->gfx.rlc.clear_state_obj) { > - r = amdgpu_bo_reserve(adev->gfx.rlc.clear_state_obj, false); > + r = amdgpu_bo_reserve(adev->gfx.rlc.clear_state_obj, true); > if (unlikely(r != 0)) > dev_warn(adev->dev, "(%d) reserve RLC c bo failed\n", r); > amdgpu_bo_unpin(adev->gfx.rlc.clear_state_obj); > @@ -3383,7 +3383,7 @@ static void gfx_v7_0_rlc_fini(struct amdgpu_device *adev) > > /* clear state block */ > if (adev->gfx.rlc.cp_table_obj) { > - r = amdgpu_bo_reserve(adev->gfx.rlc.cp_table_obj, false); > + r = amdgpu_bo_reserve(adev->gfx.rlc.cp_table_obj, true); > if (unlikely(r != 0)) > dev_warn(adev->dev, "(%d) reserve RLC cp table bo failed\n", r); > amdgpu_bo_unpin(adev->gfx.rlc.cp_table_obj); > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c > index 2a5b20920ea6..ac64e01c6938 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c > @@ -1244,7 +1244,7 @@ static void gfx_v8_0_rlc_fini(struct amdgpu_device *adev) > > /* clear state block */ > if (adev->gfx.rlc.clear_state_obj) { > - r = amdgpu_bo_reserve(adev->gfx.rlc.clear_state_obj, false); > + r = amdgpu_bo_reserve(adev->gfx.rlc.clear_state_obj, true); > if (unlikely(r != 0)) > dev_warn(adev->dev, "(%d) reserve RLC cbs bo failed\n", r); > amdgpu_bo_unpin(adev->gfx.rlc.clear_state_obj); > @@ -1255,7 +1255,7 @@ static void gfx_v8_0_rlc_fini(struct amdgpu_device *adev) > > /* jump table block */ > if (adev->gfx.rlc.cp_table_obj) { > - r = amdgpu_bo_reserve(adev->gfx.rlc.cp_table_obj, false); > + r = amdgpu_bo_reserve(adev->gfx.rlc.cp_table_obj, true); > if (unlikely(r != 0)) > dev_warn(adev->dev, "(%d) reserve RLC cp table bo failed\n", r); > amdgpu_bo_unpin(adev->gfx.rlc.cp_table_obj); > @@ -1368,7 +1368,7 @@ static void gfx_v8_0_mec_fini(struct amdgpu_device *adev) > int r; > > if (adev->gfx.mec.hpd_eop_obj) { > - r = amdgpu_bo_reserve(adev->gfx.mec.hpd_eop_obj, false); > + r = amdgpu_bo_reserve(adev->gfx.mec.hpd_eop_obj, true); > if (unlikely(r != 0)) > dev_warn(adev->dev, "(%d) reserve HPD EOP bo failed\n", r); > amdgpu_bo_unpin(adev->gfx.mec.hpd_eop_obj); > @@ -1496,7 +1496,7 @@ static int gfx_v8_0_kiq_init(struct amdgpu_device *adev) > > memset(hpd, 0, MEC_HPD_SIZE); > > - r = amdgpu_bo_reserve(kiq->eop_obj, false); > + r = amdgpu_bo_reserve(kiq->eop_obj, true); > if (unlikely(r != 0)) > dev_warn(adev->dev, "(%d) reserve kiq eop bo failed\n", r); > amdgpu_bo_kunmap(kiq->eop_obj); > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > index 5249bc7964fb..08daa3fd687b 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c > @@ -453,7 +453,7 @@ static void gfx_v9_0_mec_fini(struct amdgpu_device *adev) > int r; > > if (adev->gfx.mec.hpd_eop_obj) { > - r = amdgpu_bo_reserve(adev->gfx.mec.hpd_eop_obj, false); > + r = amdgpu_bo_reserve(adev->gfx.mec.hpd_eop_obj, true); > if (unlikely(r != 0)) > dev_warn(adev->dev, "(%d) reserve HPD EOP bo failed\n", r); > amdgpu_bo_unpin(adev->gfx.mec.hpd_eop_obj); > @@ -463,7 +463,7 @@ static void gfx_v9_0_mec_fini(struct amdgpu_device *adev) > adev->gfx.mec.hpd_eop_obj = NULL; > } > if (adev->gfx.mec.mec_fw_obj) { > - r = amdgpu_bo_reserve(adev->gfx.mec.mec_fw_obj, false); > + r = amdgpu_bo_reserve(adev->gfx.mec.mec_fw_obj, true); > if (unlikely(r != 0)) > dev_warn(adev->dev, "(%d) reserve mec firmware bo failed\n", r); > amdgpu_bo_unpin(adev->gfx.mec.mec_fw_obj); > @@ -599,7 +599,7 @@ static int gfx_v9_0_kiq_init(struct amdgpu_device *adev) > > memset(hpd, 0, MEC_HPD_SIZE); > > - r = amdgpu_bo_reserve(kiq->eop_obj, false); > + r = amdgpu_bo_reserve(kiq->eop_obj, true); > if (unlikely(r != 0)) > dev_warn(adev->dev, "(%d) reserve kiq eop bo failed\n", r); > amdgpu_bo_kunmap(kiq->eop_obj); > @@ -1786,7 +1786,7 @@ static void gfx_v9_0_cp_compute_fini(struct amdgpu_device *adev) > struct amdgpu_ring *ring = &adev->gfx.compute_ring[i]; > > if (ring->mqd_obj) { > - r = amdgpu_bo_reserve(ring->mqd_obj, false); > + r = amdgpu_bo_reserve(ring->mqd_obj, true); > if (unlikely(r != 0)) > dev_warn(adev->dev, "(%d) reserve MQD bo failed\n", r); > ------------------------------ Subject: Digest Footer _______________________________________________ amd-gfx mailing list amd-gfx at lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx amd-gfx Info Page - freedesktop.org<https://lists.freedesktop.org/mailman/listinfo/amd-gfx> lists.freedesktop.org Subscribing to amd-gfx: Subscribe to amd-gfx by filling out the following form. Use of all freedesktop.org lists is subject to our Code of ... ------------------------------ End of amd-gfx Digest, Vol 11, Issue 407 **************************************** -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20170428/bd03e44e/attachment-0001.html>