drm/rockchip: gem: don't limit to 32bit mapping when not support LPAE

Change-Id: Ia4fab3d63947ba693488fb58e3a104d400bd6e23
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Signed-off-by: Meiyou Chen <cmy@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
This commit is contained in:
Sandy Huang 2019-06-11 16:29:48 +08:00 committed by Tao Huang
parent ccc8053479
commit cb1cb6f184

View File

@ -19,6 +19,7 @@
#include <linux/dma-buf.h>
#include <linux/iommu.h>
#include <linux/pagemap.h>
#include "rockchip_drm_drv.h"
#include "rockchip_drm_gem.h"
@ -460,9 +461,15 @@ static void rockchip_gem_release_object(struct rockchip_gem_object *rk_obj)
static struct rockchip_gem_object *
rockchip_gem_alloc_object(struct drm_device *drm, unsigned int size)
{
struct address_space *mapping;
struct rockchip_gem_object *rk_obj;
struct drm_gem_object *obj;
#ifdef CONFIG_ARM_LPAE
gfp_t gfp_mask = GFP_HIGHUSER | __GFP_RECLAIMABLE | __GFP_DMA32;
#else
gfp_t gfp_mask = GFP_HIGHUSER | __GFP_RECLAIMABLE;
#endif
size = round_up(size, PAGE_SIZE);
rk_obj = kzalloc(sizeof(*rk_obj), GFP_KERNEL);
@ -473,6 +480,9 @@ static struct rockchip_gem_object *
drm_gem_object_init(drm, obj, size);
mapping = file_inode(obj->filp)->i_mapping;
mapping_set_gfp_mask(mapping, gfp_mask);
return rk_obj;
}