Ping ... thanks xiaolei ________________________________ From: Wang, Xiaolei Sent: Wednesday, August 7, 2024 9:33 AM To: l.st...@pengutronix.de <l.st...@pengutronix.de>; linux+etna...@armlinux.org.uk <linux+etna...@armlinux.org.uk>; christian.gmei...@gmail.com <christian.gmei...@gmail.com>; airl...@gmail.com <airl...@gmail.com>; dan...@ffwll.ch <dan...@ffwll.ch> Cc: etna...@lists.freedesktop.org <etna...@lists.freedesktop.org>; dri-devel@lists.freedesktop.org <dri-devel@lists.freedesktop.org>; linux-ker...@vger.kernel.org <linux-ker...@vger.kernel.org> Subject: [PATCH v2] drm/etnaviv: Clear the __GFP_HIGHMEM bit in GFP_HIGHUSER with 32 address
GFP_HIGHUSER is a combination of GFP_USER | __GFP_HIGHMEM. Only the highmem part is incompatible with DMA32. Reserve GFP_USER bit here, as the driver allocated buffers might be mapped to userspace. Fixes: b72af445cd38 ("drm/etnaviv: request pages from DMA32 zone when needed") Signed-off-by: Xiaolei Wang <xiaolei.w...@windriver.com> --- change log v1: https://patchwork.kernel.org/project/dri-devel/patch/20240806104733.2018783-1-xiaolei.w...@windriver.com/ v2: Modify the issue of not retaining GFP_USER in v1 and update the commit log. drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c index 7c7f97793ddd..0e6bdf2d028b 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c @@ -844,8 +844,10 @@ int etnaviv_gpu_init(struct etnaviv_gpu *gpu) * request pages for our SHM backend buffers from the DMA32 zone to * hopefully avoid performance killing SWIOTLB bounce buffering. */ - if (dma_addressing_limited(gpu->dev)) + if (dma_addressing_limited(gpu->dev)) { priv->shm_gfp_mask |= GFP_DMA32; + priv->shm_gfp_mask &= ~__GFP_HIGHMEM; + } /* Create buffer: */ ret = etnaviv_cmdbuf_init(priv->cmdbuf_suballoc, &gpu->buffer, -- 2.25.1