On Thu, Oct 24, 2013 at 01:17:06PM +0100, Chris Wilson wrote:
On Fri, Oct 25, 2013 at 12:33:47AM +0800, Chuansheng Liu wrote:
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
The two create_stolen routines are no-ops in that case so all that happens instead is that we read VLV_PCBR. However, really if i915_gem_object_create_stolen_for_preallocated() fails we should abort loading the driver as it means we have a hardware conflict and undefined behaviour. -Chris
-- Chris Wilson, Intel Open Source Technology Centre
I agree. We should start treating these things as errors since no RPS/RC6 is essentially not what anyone wants.
For another immediate solution it seems you can demote the DRM_ERROR to DRM_DEBUG_DRIVER, and add a check in valleyview_enable_rps for the pctx value.