• Ben Widawsky's avatar
    drm/i915: store eLLC size · 59124506
    Ben Widawsky authored
    The eLLC cannot be determined by PCIID because as far as we know, even
    machines supporting eLLC may not have it enabled, or fused off or
    whatever. It's possible this isn't actually true, and at that point we
    can switch to a DEV_INFO flag instead.
    
    I've defined everything where the docs are clear, and left the rest as
    magic.
    
    But we need it before we set the pte_encode function pointers, which
    happens really early, in gtt_init.
    
    The problem with just doing the normal sequence earlier is we don't have
    the ability to use forcewake until after the pte functions have been set
    up.
    
    Since all solutions are somewhat ugly (barring rewriting all the init
    ordering), I've opted to do the detection really early, and the enabling
    later - since the register to detect doesn't require forcewake.
    Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
    [danvet: Move dev_priv->ellc_size away from the dri1 dungeon to a nice
    place right next to the l3 parity stuff. Also squash in the follow-up
    commit to read out the eLLC size a bit earlier.]
    Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@gmail.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    59124506
i915_dma.c 51.4 KB