diff options
| author | Dave Airlie <airlied@redhat.com> | 2019-03-21 20:39:27 -0400 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2019-03-21 20:39:35 -0400 |
| commit | cd845791125059d94de5b2e8921039bf21ea46f7 (patch) | |
| tree | 8a951d0a983ce81dec45466bff5434c882ea3224 | |
| parent | 8f3b487685b2acf71b42bb30d68fd9271bec8695 (diff) | |
| parent | 83857418073fda5e0d562e6639b45ae06c957131 (diff) | |
Merge branch 'linux-5.1' of git://github.com/skeggsb/linux into drm-fixes
Some minor nouveau dmem and other fixes.
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Ben Skeggs <bskeggs@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/CABDvA==kMkD6n-cS9KpQBcTU1E8p7Wc+H1ZuOhSfD7yTFJVvkw@mail.gmail.com
| -rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_debugfs.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_dmem.c | 12 |
2 files changed, 2 insertions, 12 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_debugfs.c b/drivers/gpu/drm/nouveau/nouveau_debugfs.c index 88a52f6b39fe..7dfbbbc1beea 100644 --- a/drivers/gpu/drm/nouveau/nouveau_debugfs.c +++ b/drivers/gpu/drm/nouveau/nouveau_debugfs.c | |||
| @@ -181,7 +181,7 @@ nouveau_debugfs_pstate_set(struct file *file, const char __user *ubuf, | |||
| 181 | } | 181 | } |
| 182 | 182 | ||
| 183 | ret = pm_runtime_get_sync(drm->dev); | 183 | ret = pm_runtime_get_sync(drm->dev); |
| 184 | if (IS_ERR_VALUE(ret) && ret != -EACCES) | 184 | if (ret < 0 && ret != -EACCES) |
| 185 | return ret; | 185 | return ret; |
| 186 | ret = nvif_mthd(ctrl, NVIF_CONTROL_PSTATE_USER, &args, sizeof(args)); | 186 | ret = nvif_mthd(ctrl, NVIF_CONTROL_PSTATE_USER, &args, sizeof(args)); |
| 187 | pm_runtime_put_autosuspend(drm->dev); | 187 | pm_runtime_put_autosuspend(drm->dev); |
diff --git a/drivers/gpu/drm/nouveau/nouveau_dmem.c b/drivers/gpu/drm/nouveau/nouveau_dmem.c index aa9fec80492d..40c47d6a7d78 100644 --- a/drivers/gpu/drm/nouveau/nouveau_dmem.c +++ b/drivers/gpu/drm/nouveau/nouveau_dmem.c | |||
| @@ -100,12 +100,10 @@ static void | |||
| 100 | nouveau_dmem_free(struct hmm_devmem *devmem, struct page *page) | 100 | nouveau_dmem_free(struct hmm_devmem *devmem, struct page *page) |
| 101 | { | 101 | { |
| 102 | struct nouveau_dmem_chunk *chunk; | 102 | struct nouveau_dmem_chunk *chunk; |
| 103 | struct nouveau_drm *drm; | ||
| 104 | unsigned long idx; | 103 | unsigned long idx; |
| 105 | 104 | ||
| 106 | chunk = (void *)hmm_devmem_page_get_drvdata(page); | 105 | chunk = (void *)hmm_devmem_page_get_drvdata(page); |
| 107 | idx = page_to_pfn(page) - chunk->pfn_first; | 106 | idx = page_to_pfn(page) - chunk->pfn_first; |
| 108 | drm = chunk->drm; | ||
| 109 | 107 | ||
| 110 | /* | 108 | /* |
| 111 | * FIXME: | 109 | * FIXME: |
| @@ -456,11 +454,6 @@ nouveau_dmem_resume(struct nouveau_drm *drm) | |||
| 456 | /* FIXME handle pin failure */ | 454 | /* FIXME handle pin failure */ |
| 457 | WARN_ON(ret); | 455 | WARN_ON(ret); |
| 458 | } | 456 | } |
| 459 | list_for_each_entry (chunk, &drm->dmem->chunk_empty, list) { | ||
| 460 | ret = nouveau_bo_pin(chunk->bo, TTM_PL_FLAG_VRAM, false); | ||
| 461 | /* FIXME handle pin failure */ | ||
| 462 | WARN_ON(ret); | ||
| 463 | } | ||
| 464 | mutex_unlock(&drm->dmem->mutex); | 457 | mutex_unlock(&drm->dmem->mutex); |
| 465 | } | 458 | } |
| 466 | 459 | ||
| @@ -479,9 +472,6 @@ nouveau_dmem_suspend(struct nouveau_drm *drm) | |||
| 479 | list_for_each_entry (chunk, &drm->dmem->chunk_full, list) { | 472 | list_for_each_entry (chunk, &drm->dmem->chunk_full, list) { |
| 480 | nouveau_bo_unpin(chunk->bo); | 473 | nouveau_bo_unpin(chunk->bo); |
| 481 | } | 474 | } |
| 482 | list_for_each_entry (chunk, &drm->dmem->chunk_empty, list) { | ||
| 483 | nouveau_bo_unpin(chunk->bo); | ||
| 484 | } | ||
| 485 | mutex_unlock(&drm->dmem->mutex); | 475 | mutex_unlock(&drm->dmem->mutex); |
| 486 | } | 476 | } |
| 487 | 477 | ||
| @@ -623,7 +613,7 @@ nouveau_dmem_init(struct nouveau_drm *drm) | |||
| 623 | */ | 613 | */ |
| 624 | drm->dmem->devmem = hmm_devmem_add(&nouveau_dmem_devmem_ops, | 614 | drm->dmem->devmem = hmm_devmem_add(&nouveau_dmem_devmem_ops, |
| 625 | device, size); | 615 | device, size); |
| 626 | if (drm->dmem->devmem == NULL) { | 616 | if (IS_ERR(drm->dmem->devmem)) { |
| 627 | kfree(drm->dmem); | 617 | kfree(drm->dmem); |
| 628 | drm->dmem = NULL; | 618 | drm->dmem = NULL; |
| 629 | return; | 619 | return; |
