diff options
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_gem.c')
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_gem.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c b/drivers/gpu/drm/exynos/exynos_drm_gem.c index 42d2904d88c7..163a054922cb 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_gem.c +++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c | |||
@@ -612,22 +612,20 @@ int exynos_drm_gem_dumb_create(struct drm_file *file_priv, | |||
612 | args->pitch = args->width * ((args->bpp + 7) / 8); | 612 | args->pitch = args->width * ((args->bpp + 7) / 8); |
613 | args->size = args->pitch * args->height; | 613 | args->size = args->pitch * args->height; |
614 | 614 | ||
615 | exynos_gem_obj = exynos_drm_gem_create(dev, EXYNOS_BO_CONTIG | | 615 | if (is_drm_iommu_supported(dev)) { |
616 | EXYNOS_BO_WC, args->size); | 616 | exynos_gem_obj = exynos_drm_gem_create(dev, |
617 | /* | 617 | EXYNOS_BO_NONCONTIG | EXYNOS_BO_WC, |
618 | * If physically contiguous memory allocation fails and if IOMMU is | 618 | args->size); |
619 | * supported then try to get buffer from non physically contiguous | 619 | } else { |
620 | * memory area. | ||
621 | */ | ||
622 | if (IS_ERR(exynos_gem_obj) && is_drm_iommu_supported(dev)) { | ||
623 | dev_warn(dev->dev, "contiguous FB allocation failed, falling back to non-contiguous\n"); | ||
624 | exynos_gem_obj = exynos_drm_gem_create(dev, | 620 | exynos_gem_obj = exynos_drm_gem_create(dev, |
625 | EXYNOS_BO_NONCONTIG | EXYNOS_BO_WC, | 621 | EXYNOS_BO_CONTIG | EXYNOS_BO_WC, |
626 | args->size); | 622 | args->size); |
627 | } | 623 | } |
628 | 624 | ||
629 | if (IS_ERR(exynos_gem_obj)) | 625 | if (IS_ERR(exynos_gem_obj)) { |
626 | dev_warn(dev->dev, "FB allocation failed.\n"); | ||
630 | return PTR_ERR(exynos_gem_obj); | 627 | return PTR_ERR(exynos_gem_obj); |
628 | } | ||
631 | 629 | ||
632 | ret = exynos_drm_gem_handle_create(&exynos_gem_obj->base, file_priv, | 630 | ret = exynos_drm_gem_handle_create(&exynos_gem_obj->base, file_priv, |
633 | &args->handle); | 631 | &args->handle); |