• Hugh Dickins's avatar
    drm/i915: fix freeze with blank screen booting highmem · 88b98287
    Hugh Dickins authored
    x86_64 boots and displays fine, but booting x86_32 with CONFIG_HIGHMEM
    has frozen with a blank screen throughout 3.16-rc on this ThinkPad T420s,
    with i915 generation 6 graphics.
    
    Fix 9d0a6fa6 ("drm/i915: add render state initialization"): kunmap()
    takes struct page * argument, not virtual address.  Which the compiler
    kindly points out, if you use the appropriate u32 *batch, instead of
    silencing it with a void *.
    
    Why did bisection lead decisively to nearby 229b0489 ("drm/i915:
    add null render states for gen6, gen7 and gen8")?  Because the u32
    deposited at that virtual address by the previous stub failed the
    PageHighMem test, and so did no harm.
    Signed-off-by: default avatarHugh Dickins <hughd@google.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    88b98287
i915_gem_render_state.c 4.56 KB