drm/i915: Avoid accessing the stolen address when it is unavailable
Chuansheng Liu
chuansheng.liu at intel.com
Thu Oct 24 18:33:47 CEST 2013
In our platform, we hit the the stolen region initialization failure case,
such as below log:
[drm:i915_stolen_to_physical] *ERROR* conflict detected with stolen region: [0x7b000000]
And it causes the dev_priv->mm.stolen_base is NULL, in this case, we should
avoid accessing it any more.
Here is possible call trace:
intel_enable_gt_powersave -- >
valleyview_enable_rps -- >
valleyview_setup_pctx
Cc: Li Fei <fei.li at intel.com>
Signed-off-by: Liu, Chuansheng <chuansheng.liu at intel.com>
---
drivers/gpu/drm/i915/intel_pm.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 26c2ea3..1069b24 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -3735,6 +3735,9 @@ static void valleyview_setup_pctx(struct drm_device *dev)
u32 pcbr;
int pctx_size = 24*1024;
+ if (!dev_priv->mm.stolen_base)
+ return;
+
pcbr = I915_READ(VLV_PCBR);
if (pcbr) {
/* BIOS set it up already, grab the pre-alloc'd space */
--
1.7.9.5
More information about the dri-devel
mailing list