Takashi Iwai ecd71e
From 0a727b459ee39bd4c5ced19d6024258ac87b6b2e Mon Sep 17 00:00:00 2001
Takashi Iwai ecd71e
From: Xianting Tian <xianting.tian@linux.alibaba.com>
Takashi Iwai ecd71e
Date: Wed, 12 Jan 2022 20:33:34 +0800
Takashi Iwai ecd71e
Subject: [PATCH] drm/msm: Fix wrong size calculation
Takashi Iwai ecd71e
Git-commit: 0a727b459ee39bd4c5ced19d6024258ac87b6b2e
Takashi Iwai ecd71e
Patch-mainline: v5.17-rc2
Takashi Iwai ecd71e
References: git-fixes
Takashi Iwai ecd71e
Takashi Iwai ecd71e
For example, memory-region in .dts as below,
Takashi Iwai ecd71e
	reg = <0x0 0x50000000 0x0 0x20000000>
Takashi Iwai ecd71e
Takashi Iwai ecd71e
We can get below values,
Takashi Iwai ecd71e
struct resource r;
Takashi Iwai ecd71e
r.start = 0x50000000;
Takashi Iwai ecd71e
r.end	= 0x6fffffff;
Takashi Iwai ecd71e
Takashi Iwai ecd71e
So the size should be:
Takashi Iwai ecd71e
size = r.end - r.start + 1 = 0x20000000
Takashi Iwai ecd71e
Takashi Iwai ecd71e
Signed-off-by: Xianting Tian <xianting.tian@linux.alibaba.com>
Takashi Iwai ecd71e
Fixes: 072f1f9168ed ("drm/msm: add support for "stolen" mem")
Takashi Iwai ecd71e
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Takashi Iwai ecd71e
Link: https://lore.kernel.org/r/20220112123334.749776-1-xianting.tian@linux.alibaba.com
Takashi Iwai ecd71e
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Takashi Iwai ecd71e
Acked-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai ecd71e
Takashi Iwai ecd71e
---
Takashi Iwai ecd71e
 drivers/gpu/drm/msm/msm_drv.c | 2 +-
Takashi Iwai ecd71e
 1 file changed, 1 insertion(+), 1 deletion(-)
Takashi Iwai ecd71e
Takashi Iwai ecd71e
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
Takashi Iwai ecd71e
index 59e30192cdf6..555666e3f960 100644
Takashi Iwai ecd71e
--- a/drivers/gpu/drm/msm/msm_drv.c
Takashi Iwai ecd71e
+++ b/drivers/gpu/drm/msm/msm_drv.c
Takashi Iwai ecd71e
@@ -461,7 +461,7 @@ static int msm_init_vram(struct drm_device *dev)
Takashi Iwai ecd71e
 		of_node_put(node);
Takashi Iwai ecd71e
 		if (ret)
Takashi Iwai ecd71e
 			return ret;
Takashi Iwai ecd71e
-		size = r.end - r.start;
Takashi Iwai ecd71e
+		size = r.end - r.start + 1;
Takashi Iwai ecd71e
 		DRM_INFO("using VRAM carveout: %lx@%pa\n", size, &r.start);
Takashi Iwai ecd71e
 
Takashi Iwai ecd71e
 		/* if we have no IOMMU, then we need to use carveout allocator.
Takashi Iwai ecd71e
-- 
Takashi Iwai ecd71e
2.31.1
Takashi Iwai ecd71e