From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mailout2.samsung.com ([203.254.224.25]:61504 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751399AbdKWFiZ (ORCPT ); Thu, 23 Nov 2017 00:38:25 -0500 MIME-version: 1.0 Content-transfer-encoding: 8BIT Content-type: text/plain; charset="utf-8" Message-id: <5A165ECA.5050903@samsung.com> Date: Thu, 23 Nov 2017 14:38:18 +0900 From: Inki Dae To: Marek Szyprowski , dri-devel@lists.freedesktop.org, linux-samsung-soc@vger.kernel.org Cc: Seung-Woo Kim , Bartlomiej Zolnierkiewicz , Krzysztof Kozlowski , Marian Mihailescu , stable@vger.kernel.org Subject: Re: [PATCH v2] drm/exynos: gem: Drop NONCONTIG flag for buffers allocated without IOMMU In-reply-to: <20171122131447.25627-1-m.szyprowski@samsung.com> References: <20171122131447.25627-1-m.szyprowski@samsung.com> Sender: stable-owner@vger.kernel.org List-ID: 2017년 11월 22일 22:14에 Marek Szyprowski 이(가) 쓴 글: > When no IOMMU is available, all GEM buffers allocated by Exynos DRM driver > are contiguous, because of the underlying dma_alloc_attrs() function > provides only such buffers. In such case it makes no sense to keep > BO_NONCONTIG flag for the allocated GEM buffers. This allows to avoid > failures for buffer contiguity checks in the subsequent operations on GEM > objects. > > Signed-off-by: Marek Szyprowski > CC: stable@vger.kernel.org # v4.4+ > --- > This issue is there since commit 0519f9a12d011 ("drm/exynos: add iommu > support for exynos drm framework"), but this patch applies cleanly > only to v4.4+ kernel releases due changes in the surrounding code. > > Changelog: > v2: > - added warning message when buffer flags are updadated (requested by Inki) > > v1: https://patchwork.kernel.org/patch/10034919/ > - initial version > --- > drivers/gpu/drm/exynos/exynos_drm_gem.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c b/drivers/gpu/drm/exynos/exynos_drm_gem.c > index 077de014d610..4400efe3974a 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_gem.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c > @@ -247,6 +247,15 @@ struct exynos_drm_gem *exynos_drm_gem_create(struct drm_device *dev, > if (IS_ERR(exynos_gem)) > return exynos_gem; > > + if (!is_drm_iommu_supported(dev) && (flags & EXYNOS_BO_NONCONTIG)) { > + /* > + * when no IOMMU is available, all allocated buffers are > + * contiguous anyway, so drop EXYNOS_BO_NONCONTIG flag > + */ > + flags &= ~EXYNOS_BO_NONCONTIG; > + DRM_WARN("Non-contiguous allocation is not supported without IOMMU, falling back to contiguous buffer\n"); WARNING: line over 80 characters I wil change above a warning like below if you are ok, DRM_WARN("Changed to CONTIG buffer due to no IOMMU support.\n"); Thanks, Inki Dae > + } > + > /* set memory type and cache attribute from user side. */ > exynos_gem->flags = flags; > >