This patch series aims at enabling TTM support for system memory objects in integrated graphics platforms. Whether one wishes to use TTM for sysmem objects depends on a user-enabled kernel module parameter, so that the former behaviour of using shmem objects for the system memory region is kept by default. The rationale for this change is the benefits in having TTM allocate BO memory pages for us with alloc_page() rather than shmem. The first three patches in the series, which the latter three depend on, are being worked on in parallel by Bob, and handle TTM object cache level and coherence for sysmem-allocated objects too. Adrian Larumbe (4): drm/i915/ttm: don't overwrite cache_dirty after setting coherency drm/i915: Pick the right memory allocation flags for older devices drm/i915: Add module param for enabling TTM in sysmem region drm/i915: Optionally manage system memory with TTM and poolalloc Robert Beckett (3): drm/i915/ttm: dont trample cache_level overrides during ttm move drm/i915: limit ttm to dma32 for i965G[M] drm/i915/ttm: only trust snooping for dgfx when deciding default cache_level drivers/gpu/drm/i915/gem/i915_gem_domain.c | 4 +- drivers/gpu/drm/i915/gem/i915_gem_mman.c | 21 +- drivers/gpu/drm/i915/gem/i915_gem_object.c | 1 + drivers/gpu/drm/i915/gem/i915_gem_object.h | 2 +- .../gpu/drm/i915/gem/i915_gem_object_types.h | 1 + drivers/gpu/drm/i915/gem/i915_gem_phys.c | 127 +++++++----- drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 4 +- drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 193 +++++++++++++++++- drivers/gpu/drm/i915/gem/i915_gem_ttm.h | 14 ++ drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c | 13 +- drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 2 +- drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 6 +- drivers/gpu/drm/i915/i915_params.c | 6 + drivers/gpu/drm/i915/i915_params.h | 3 +- drivers/gpu/drm/i915/intel_memory_region.c | 2 +- drivers/gpu/drm/i915/intel_region_ttm.c | 7 +- 16 files changed, 331 insertions(+), 75 deletions(-) -- 2.37.0