lkml.org 
[lkml]   [2015]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.12 077/176] drm/i915: Don't complain about stolen conflicts on gen3
    Date
    From: Daniel Vetter <daniel.vetter@ffwll.ch>

    3.12-stable review patch. If anyone has any objections, please let me know.

    ===============

    commit 0b6d24c01932db99fc95304235e751e7f7625c41 upstream.

    Apparently stuff works that way on those machines.

    I agree with Chris' concern that this is a bit risky but imo worth a
    shot in -next just for fun. Afaics all these machines have the pci
    resources allocated like that by the BIOS, so I suspect that it's all
    ok.

    This regression goes back to

    commit eaba1b8f3379b5d100bd146b9a41d28348bdfd09
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date: Thu Jul 4 12:28:35 2013 +0100

    drm/i915: Verify that our stolen memory doesn't conflict

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76983
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71031
    Tested-by: lu hua <huax.lu@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Tested-by: Paul Menzel <paulepanter@users.sourceforge.net>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    ---
    drivers/gpu/drm/i915/i915_gem_stolen.c | 6 +++++-
    1 file changed, 5 insertions(+), 1 deletion(-)

    diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
    index b6d73fee7aec..c052e1e49d75 100644
    --- a/drivers/gpu/drm/i915/i915_gem_stolen.c
    +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
    @@ -137,7 +137,11 @@ static unsigned long i915_stolen_to_physical(struct drm_device *dev)
    r = devm_request_mem_region(dev->dev, base + 1,
    dev_priv->gtt.stolen_size - 1,
    "Graphics Stolen Memory");
    - if (r == NULL) {
    + /*
    + * GEN3 firmware likes to smash pci bridges into the stolen
    + * range. Apparently this works.
    + */
    + if (r == NULL && !IS_GEN3(dev)) {
    DRM_ERROR("conflict detected with stolen region: [0x%08x - 0x%08x]\n",
    base, base + (uint32_t)dev_priv->gtt.stolen_size);
    base = 0;
    --
    2.2.2


    \
     
     \ /
      Last update: 2015-01-29 11:21    [W:3.861 / U:0.660 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site