• Ben Widawsky's avatar
    drm/i915/bdw: Support BDW caching · fbe5d36e
    Ben Widawsky authored
    BDW caching works differently than the previous generations. Instead of
    having bits in the PTE which directly control how the page is cached,
    the 3 PTE bits PWT PCD and PAT provide an index into a PAT defined by
    register 0x40e0. This style of caching is functionally equivalent to how
    it works on HSW and before.
    
    v2: Tiny bikeshed as discussed on internal irc.
    
    v3: Squash in patch from Ville to mirror the x86 PAT setup more like
    in arch/x86/mm/pat.c. Primarily, the 0th index will be WB, and not
    uncached.
    
    v4: Comment for reason to not use a 64b write on the PPAT.
    
    v5: Add a FIXME comment that the caching bits in the PAT registers
    might be wrong due to doc confusion.
    
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Ben Widawsky <ben@bwidawsk.net> (v1)
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: default avatarImre Deak <imre.deak@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    fbe5d36e
i915_reg.h 220 KB