drm/i915: Fix display corruption issues on Haswell

* The mid-level cache is setup differently on Haswell

* Haswell's PTE encoding has also changed; we have to know what
  GPU generation we're running on to write the correct attributes
  to the Graphics Translation Tables
bsd-family-tree: Sync with FreeBSD.