OK. On 27 August 2013 09:44, Inki Dae <inki.dae@xxxxxxxxxxx> wrote: > > One more thing, changed the subject to "Consider fallback option to > allocation fail". The subject is too long :) > > Thanks, > Inki Dae > > >> -----Original Message----- >> From: linux-samsung-soc-owner@xxxxxxxxxxxxxxx [mailto:linux-samsung-soc- >> owner@xxxxxxxxxxxxxxx] On Behalf Of Vikas Sajjan >> Sent: Tuesday, August 27, 2013 12:05 PM >> To: Inki Dae >> Cc: DRI mailing list; kgene.kim; Sylwester Nawrocki; Rob Clark; Tomasz >> Figa; Laurent Pinchart; Patch Tracking; linaro-dev@xxxxxxxxxxxxxxxx; sunil >> joshi; linux-samsung-soc@xxxxxxxxxxxxxxx >> Subject: Re: [PATCH] drm/exynos: Add fallback option to get non physically >> contiguous memory for gem_dumb_create >> >> Thanks. >> >> On 27 August 2013 08:14, Inki Dae <inki.dae@xxxxxxxxxxx> wrote: >> > Applied. >> > >> > Thanks, >> > Inki Dae >> > >> >> -----Original Message----- >> >> From: Vikas Sajjan [mailto:vikas.sajjan@xxxxxxxxxx] >> >> Sent: Friday, August 23, 2013 3:35 PM >> >> To: dri-devel@xxxxxxxxxxxxxxxxxxxxx; inki.dae@xxxxxxxxxxx >> >> Cc: kgene.kim@xxxxxxxxxxx; s.nawrocki@xxxxxxxxxxx; robdclark@xxxxxxxxx; >> >> tomasz.figa@xxxxxxxxx; laurent.pinchart@xxxxxxxxxxxxxxxx; >> >> patches@xxxxxxxxxx; linaro-dev@xxxxxxxxxxxxxxxx >> >> Subject: [PATCH] drm/exynos: Add fallback option to get non physically >> >> contiguous memory for gem_dumb_create >> >> >> >> To address the case where physically contiguous memory MAY NOT be a >> >> mandatory >> >> requirement for framebuffer for the application calling >> >> exynos_drm_gem_dumb_create, >> >> the patch adds a feature to get non physically contiguous memory for >> >> framebuffer, >> >> if physically contiguous memory allocation fails and if IOMMU is >> > supported. >> >> >> >> Signed-off-by: Vikas Sajjan <vikas.sajjan@xxxxxxxxxx> >> >> Signed-off-by: Arun Kumar <arun.kk@xxxxxxxxxxx> >> >> --- >> >> drivers/gpu/drm/exynos/exynos_drm_gem.c | 13 +++++++++++++ >> >> 1 file changed, 13 insertions(+) >> >> >> >> diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c >> >> b/drivers/gpu/drm/exynos/exynos_drm_gem.c >> >> index 2eabe1a..66d1b40 100644 >> >> --- a/drivers/gpu/drm/exynos/exynos_drm_gem.c >> >> +++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c >> >> @@ -17,6 +17,7 @@ >> >> #include "exynos_drm_drv.h" >> >> #include "exynos_drm_gem.h" >> >> #include "exynos_drm_buf.h" >> >> +#include "exynos_drm_iommu.h" >> >> >> >> static unsigned int convert_to_vm_err_msg(int msg) >> >> { >> >> @@ -666,6 +667,18 @@ int exynos_drm_gem_dumb_create(struct drm_file >> >> *file_priv, >> >> >> >> exynos_gem_obj = exynos_drm_gem_create(dev, EXYNOS_BO_CONTIG | >> >> EXYNOS_BO_WC, > args->size); >> >> + /* >> >> + * If physically contiguous memory allocation fails and if IOMMU >> is >> >> + * supported then try to get buffer from non physically > contiguous >> >> + * memory area. >> >> + */ >> >> + if (IS_ERR(exynos_gem_obj) && is_drm_iommu_supported(dev)) { >> >> + dev_warn(dev->dev, "contiguous FB allocation failed, > falling >> >> back to non-contiguous\n"); >> >> + exynos_gem_obj = exynos_drm_gem_create(dev, >> >> + EXYNOS_BO_NONCONTIG | > EXYNOS_BO_WC, >> >> + args->size); >> >> + } >> >> + >> >> if (IS_ERR(exynos_gem_obj)) >> >> return PTR_ERR(exynos_gem_obj); >> >> >> >> -- >> >> 1.7.9.5 >> > >> >> >> >> -- >> Thanks and Regards >> Vikas Sajjan >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-samsung- >> soc" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html > -- Thanks and Regards Vikas Sajjan -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html