• Ben Widawsky's avatar
    drm/i915/bdw: Split ppgtt initialization up · bf2b4ed2
    Ben Widawsky authored
    Like cleanup in an earlier patch, the code becomes much more readable,
    and easier to extend if we extract out helper functions for the various
    stages of init.
    
    Note that with this patch it becomes really simple, and tempting to begin
    using the 'goto out' idiom with explicit free/fini semantics. I've
    kept the error path as similar as possible to the cleanup() function to
    make sure cleanup is as robust as possible
    
    v2: Remove comment "NB:From here on, ppgtt->base.cleanup() should
    function properly"
    Update commit message to reflect above
    
    v3: Rebased on top of bugfixes found in the previous patch by Imre
    Moved number of pd pages assertion to the proper place (Imre)
    
    v4:
    Allocate dma address space for num_pd_pages, not num_pd_entries (Ben)
    Don't use gen8_pt_dma_addr after free on error path (Imre)
    With new fix from v4 of the previous patch.
    Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
    Reviewed-by: default avatarImre Deak <imre.deak@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    bf2b4ed2
i915_gem_gtt.c 53.2 KB