[git pull] drm/x86 pat regression fix.

From: Dave Airlie
Date: Wed Oct 26 2016 - 02:53:09 EST


Hi Linus,

This is a standalone pull request for the fix for a regression introduced
in -rc1 by a change to vm_insert_mixed to start using the PAT range tracking
to validate page protections. With this fix in place, all the VRAM mappings
for GPU drivers ended up at UC instead of WC.

There are probably better ways to fix this long term, but nothing I'd considered
for -fixes that wouldn't need more settling in time. So I've just created a new
arch API that the drivers can reserve all their VRAM aperture ranges as WC.

Dave.

The following changes since commit 07d9a380680d1c0eb51ef87ff2eab5c994949e69:

Linux 4.9-rc2 (2016-10-23 17:10:14 -0700)

are available in the git repository at:

git://people.freedesktop.org/~airlied/linux tags/drm-x86-pat-regression-fix

for you to fetch changes up to 7cf321d118a825c1541b43ca45294126fd474efa:

drm/drivers: add support for using the arch wc mapping API.
(2016-10-26 16:48:01 +1000)

----------------------------------------------------------------
patches to fix a regression in 4.9-rc1 on x86 PAT

----------------------------------------------------------------
Dave Airlie (2):
x86/io: add interface to reserve io memtype for a resource range. (v1.1)
drm/drivers: add support for using the arch wc mapping API.

arch/x86/include/asm/io.h | 6 ++++++
arch/x86/mm/pat.c | 14 ++++++++++++++
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 5 +++++
drivers/gpu/drm/ast/ast_ttm.c | 6 ++++++
drivers/gpu/drm/cirrus/cirrus_ttm.c | 7 +++++++
drivers/gpu/drm/mgag200/mgag200_ttm.c | 7 +++++++
drivers/gpu/drm/nouveau/nouveau_ttm.c | 8 ++++++++
drivers/gpu/drm/radeon/radeon_object.c | 5 +++++
include/linux/io.h | 22 ++++++++++++++++++++++
9 files changed, 80 insertions(+)