|
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 |
|