linux/drivers/gpu/drm/i915
Chris Wilson bef27bdb6c drm/i915: Assert we do not try to expand VMA for hugepage inside GGTT
We only apply the hugepage PD redirection inside the ppGTT, so during
i915_vma_insert() we want to exclude the GGTT from the additional
alignment constraints (thereby avoiding the extra GTT pressure from
fragmentation). Add an assert to document that intention alongside the
comment.

v2: After discussion with Matthew, make it a blanket GGTT ban
(previously we allowed the expansion for appgtt, and so indirectly
ggtt). There are issues we need to fix before allowing the current
appgtt to be used with hugepages, and if we do, we probably want more
care over when to expand/align, as the mappable aperture inside the ggtt
is precious.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.william.auld@gmail.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Matthew Auld <matthew.william.auld@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171009092019.20747-1-chris@chris-wilson.co.uk
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2017-10-09 17:07:28 +01:00
..
gvt drm/i915/execlists: Distinguish the incomplete context notifies 2017-10-04 17:52:45 +01:00
selftests drm/i915: enable platform support for 2M pages 2017-10-07 10:12:05 +01:00
dvo_ch7xxx.c drm/i915/dvo: fix debug logging on unknown DID 2017-06-01 15:53:03 +03:00
dvo_ch7017.c drm/i915/lvds: Remove magic from PLL programming 2017-05-10 13:47:55 +03:00
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_cmd_parser.c drm/i915: Recreate vmapping even when the object is pinned 2017-08-30 12:08:11 -07:00
i915_debugfs.c drm/i915/debugfs: include some gtt page size metrics 2017-10-07 10:11:59 +01:00
i915_drv.c drm/i915/scheduler: Support user-defined priorities 2017-10-04 17:52:46 +01:00
i915_drv.h drm/i915: introduce page_size members 2017-10-07 10:11:48 +01:00
i915_gem_batch_pool.c drm/i915: Reinstate reservation_object zapping for batch_pool objects 2017-06-14 14:06:22 +01:00
i915_gem_batch_pool.h
i915_gem_clflush.c drm/i915: Split obj->cache_coherent to track r/w 2017-08-15 15:46:57 +01:00
i915_gem_clflush.h drm/i915: Force CPU synchronisation even if userspace requests ASYNC 2017-07-27 22:07:24 +02:00
i915_gem_context.c drm/i915/scheduler: Support user-defined priorities 2017-10-04 17:52:46 +01:00
i915_gem_context.h drm/i915: Replace execbuf vma ht with an idr 2017-08-18 11:59:02 +01:00
i915_gem_dmabuf.c drm/i915: introduce page_size members 2017-10-07 10:11:48 +01:00
i915_gem_evict.c drm/i915: Convert execbuf to use struct-of-array packing for critical fields 2017-08-18 11:57:36 +01:00
i915_gem_execbuffer.c Merge drm-upstream/drm-next into drm-intel-next-queued 2017-09-28 15:56:49 +03:00
i915_gem_fence_reg.c drm/i915: Add interface to reserve fence registers for vGPU 2017-09-04 16:34:59 +01:00
i915_gem_fence_reg.h
i915_gem_gtt.c drm/i915: accurate page size tracking for the ppgtt 2017-10-07 10:11:58 +01:00
i915_gem_gtt.h drm/i915: support 64K pages for the 48b PPGTT 2017-10-07 10:11:57 +01:00
i915_gem_internal.c drm/i915: introduce page_size members 2017-10-07 10:11:48 +01:00
i915_gem_object.c drm/i915: Split obj->cache_coherent to track r/w 2017-08-15 15:46:57 +01:00
i915_gem_object.h drm/i915/selftests: huge page tests 2017-10-07 10:12:00 +01:00
i915_gem_render_state.c drm/i915: Perform an invalidate prior to executing golden renderstate 2017-08-14 19:28:06 +03:00
i915_gem_render_state.h
i915_gem_request.c drm/i915: Introduce a preempt context 2017-10-04 17:52:45 +01:00
i915_gem_request.h drm/i915/scheduler: Support user-defined priorities 2017-10-04 17:52:46 +01:00
i915_gem_shrinker.c drm/i915: wire up shrinkctl->nr_scanned 2017-09-06 17:27:25 -07:00
i915_gem_stolen.c drm/i915: introduce page_size members 2017-10-07 10:11:48 +01:00
i915_gem_tiling.c drm/i915: Fix logical inversion for gen4 quirking 2017-06-07 16:31:34 +03:00
i915_gem_timeline.c drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_gem_timeline.h drm/i915: Rename intel_timeline.sync_seqno[] to .global_sync[] 2017-05-03 11:08:52 +01:00
i915_gem_userptr.c drm/i915: introduce page_size members 2017-10-07 10:11:48 +01:00
i915_gem.c drm/i915: disable platform support for vGPU huge gtt pages 2017-10-07 10:12:03 +01:00
i915_gem.h drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_gemfs.c drm/i915/gemfs: enable THP 2017-10-07 10:11:43 +01:00
i915_gemfs.h drm/i915: introduce simple gemfs 2017-10-07 10:11:41 +01:00
i915_gpu_error.c drm/i915/execlists: Keep request->priority for its lifetime 2017-10-04 17:52:46 +01:00
i915_guc_reg.h
i915_guc_submission.c drm/i915: Fix pointer-to-int conversion 2017-10-06 16:29:47 +01:00
i915_guc_submission.h drm/i915: Unify uC variable types to avoid flooding checkpatch.pl 2017-10-06 14:09:40 +03:00
i915_ioc32.c
i915_irq.c drm/i915/execlists: Preemption! 2017-10-04 17:52:46 +01:00
i915_memcpy.c
i915_mm.c
i915_oa_bdw.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_bdw.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_bxt.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_bxt.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_cflgt2.c drm/i915/perf: add support for Coffeelake GT2 2017-09-18 19:46:36 +01:00
i915_oa_cflgt2.h drm/i915/perf: add support for Coffeelake GT2 2017-09-18 19:46:36 +01:00
i915_oa_chv.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_chv.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_glk.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_glk.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_hsw.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_hsw.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_kblgt2.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_kblgt2.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_kblgt3.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_kblgt3.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_sklgt2.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_sklgt2.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_sklgt3.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_sklgt3.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_oa_sklgt4.c drm/i915/perf: leave GDT_CHICKEN_BITS programming in configs 2017-08-03 18:18:44 +01:00
i915_oa_sklgt4.h drm/i915/perf: prune OA configs 2017-08-03 18:18:05 +01:00
i915_params.c drm/i915: Remove use_mmio_flip modparm, v2. 2017-10-04 15:51:09 +02:00
i915_params.h drm/i915: Remove use_mmio_flip modparm, v2. 2017-10-04 15:51:09 +02:00
i915_pci.c drm/i915: enable platform support for 2M pages 2017-10-07 10:12:05 +01:00
i915_perf.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
i915_pvinfo.h drm/i915: Enable guest i915 full ppgtt functionality 2017-08-15 10:12:48 +08:00
i915_reg.h drm/i915: enable IPS bit for 64K pages 2017-10-07 10:11:54 +01:00
i915_selftest.h drm/i915: Don't use MI_STORE_DWORD_IMM on Sandybridge/vcs 2017-08-18 11:55:02 +01:00
i915_suspend.c drm/i915: Move i915_gem_restore_fences to i915_gem_resume 2017-09-29 12:30:17 +01:00
i915_sw_fence.c drm/i915/fence: Avoid del_timer_sync() from inside a timer 2017-09-19 13:06:21 +01:00
i915_sw_fence.h main drm pull for v4.13 2017-07-09 18:48:37 -07:00
i915_syncmap.c drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_syncmap.h drm/i915: Squash repeated awaits on the same fence 2017-05-03 11:08:48 +01:00
i915_sysfs.c drm/i915: add const to bin_attribute 2017-08-03 12:20:09 +02:00
i915_trace_points.c
i915_trace.h drm/i915: Remove defunct trace points 2017-10-04 15:19:20 +01:00
i915_utils.h drm/i915: Try harder to finish the idle-worker 2017-10-06 17:49:46 +01:00
i915_vgpu.c drm/i915: Enable guest i915 full ppgtt functionality 2017-08-15 10:12:48 +08:00
i915_vgpu.h drm/i915: Enable guest i915 full ppgtt functionality 2017-08-15 10:12:48 +08:00
i915_vma.c drm/i915: Assert we do not try to expand VMA for hugepage inside GGTT 2017-10-09 17:07:28 +01:00
i915_vma.h drm/i915: align the vma start to the largest gtt page size 2017-10-07 10:11:52 +01:00
intel_acpi.c ACPI: Switch to use generic guid_t in acpi_evaluate_dsm() 2017-06-07 12:20:49 +02:00
intel_atomic_plane.c drm/i915: Pass proper old/new states to intel_plane_atomic_check_with_state() 2017-09-01 16:48:24 +03:00
intel_atomic.c drm/i915/cnl: Fix Cannonlake scaler mode programing. 2017-06-12 09:45:55 -07:00
intel_audio.c drm/i915: always update ELD connector type after get modes 2017-09-20 10:36:34 +03:00
intel_bios.c drm/i915/bios: ignore HDMI on port A 2017-09-25 10:49:55 +03:00
intel_bios.h
intel_breadcrumbs.c i915: Use %pS printk format for direct addresses 2017-09-27 14:23:30 +02:00
intel_cdclk.c drm/i915: Increase poll time for BDW FCLK_DONE 2017-09-12 12:19:57 +03:00
intel_color.c drm/i915: Use crtc_state_is_legacy_gamma in intel_color_check 2017-10-06 10:42:59 +02:00
intel_crt.c drm/i915/crt: clean up encoder hook assignment 2017-10-06 11:30:54 +03:00
intel_csr.c drm/i915/glk: Fix DMC/DC state idleness calculation 2017-10-04 11:38:33 +03:00
intel_ddi.c drm/i915: push DDI and DSI underrun reporting on enable to encoder 2017-10-06 11:30:31 +03:00
intel_device_info.c drm/i915/cnl: Add support slice/subslice/eu configs 2017-09-26 13:02:44 -07:00
intel_display.c drm/i915: Use intel_get_pipe_timings() and intel_mode_from_pipe_config() in intel_crtc_mode_get() 2017-10-09 17:48:08 +03:00
intel_dp_aux_backlight.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_dp_link_training.c drm/i915: Explicit the connector name for DP link training result 2017-07-19 08:32:42 +02:00
intel_dp_mst.c drm/i915/mst: Use MST sideband message transactions for dpms control 2017-10-05 08:38:17 +03:00
intel_dp.c drm/i915/edp: Increase the T12 delay quirk to 1300ms 2017-10-05 09:43:35 +03:00
intel_dpio_phy.c drm/i915: Fix DDI PHY init if it was already on 2017-10-03 12:09:52 +03:00
intel_dpll_mgr.c drm/i915/cnl: Dump the right pll registers when dumping pipe config. 2017-08-11 11:41:45 -07:00
intel_dpll_mgr.h drm/i915/cnl: Initialize PLLs 2017-06-12 09:42:18 -07:00
intel_drv.h drm/i915: Enable scanline read based on frame timestamps 2017-09-26 10:57:05 +03:00
intel_dsi_dcs_backlight.c drm/i915: Initialize 'data' in intel_dsi_dcs_backlight.c 2017-08-16 18:02:00 +03:00
intel_dsi_pll.c
intel_dsi_vbt.c drm/i915/bxt: use NULL for GPIO connection ID 2017-08-21 11:52:29 +03:00
intel_dsi.c drm/i915: push DDI and DSI underrun reporting on enable to encoder 2017-10-06 11:30:31 +03:00
intel_dsi.h
intel_dvo.c drm/i915: Constify states passed to enable/disable/etc. encoder hooks 2017-08-22 17:59:02 +03:00
intel_engine_cs.c drm/i915/cnl: Do not add an extra page for precaution in the Gen10 LRC size 2017-10-05 18:04:34 +01:00
intel_fbc.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_fbdev.c drm/i915: Wake up the device for the fbdev setup 2017-09-04 19:30:45 +03:00
intel_fifo_underrun.c drm/i915: Don't rmw PIPESTAT enable bits 2017-09-25 16:54:09 +03:00
intel_frontbuffer.c
intel_frontbuffer.h
intel_guc_ct.c drm/i915/guc: Introduce buffer based cmd transport 2017-05-26 13:26:53 +01:00
intel_guc_ct.h drm/i915/guc: Introduce buffer based cmd transport 2017-05-26 13:26:53 +01:00
intel_guc_fwif.h drm/i915: Unify uC variable types to avoid flooding checkpatch.pl 2017-10-06 14:09:40 +03:00
intel_guc_loader.c drm/i915/uc: Unify initialization of the uC firmware helper 2017-10-06 09:37:24 +03:00
intel_guc_log.c drm/i915: Unify uC variable types to avoid flooding checkpatch.pl 2017-10-06 14:09:40 +03:00
intel_guc_log.h drm/i915: Unify uC variable types to avoid flooding checkpatch.pl 2017-10-06 14:09:40 +03:00
intel_guc.c drm/i915/guc: Move GuC core definitions into dedicated files 2017-10-06 09:37:20 +03:00
intel_guc.h drm/i915: Unify uC variable types to avoid flooding checkpatch.pl 2017-10-06 14:09:40 +03:00
intel_gvt.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_gvt.h drm/i915/gvt: Add gvt options sanitize function 2017-05-30 15:59:47 +03:00
intel_hangcheck.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_hdmi.c drm/i915: Constify states passed to enable/disable/etc. encoder hooks 2017-08-22 17:59:02 +03:00
intel_hotplug.c drm/i915: Introduce intel_hpd_pin function. 2017-08-11 11:53:47 -07:00
intel_huc.c drm/i915/huc: Fix includes in intel_huc.c 2017-10-06 16:01:15 +01:00
intel_huc.h drm/i915/huc: Fix includes in intel_huc.c 2017-10-06 16:01:15 +01:00
intel_i2c.c drm/i915: Make i2c lock ops static 2017-09-01 10:30:40 -07:00
intel_lpe_audio.c drm/i915: Stop pretending to mask/unmask LPE audio interrupts 2017-05-26 11:51:18 +03:00
intel_lrc.c drm/i915/execlists: Add a comment for the extra MI_ARB_ENABLE 2017-10-06 23:21:11 +01:00
intel_lrc.h drm/i915/execlists: Distinguish the incomplete context notifies 2017-10-04 17:52:45 +01:00
intel_lspcon.c drm/i915/cnl: Fix LSPCON support. 2017-08-16 18:02:13 +03:00
intel_lvds.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_mocs.c drm/i915/cnl: Cannonlake has same MOCS table than Skylake. 2017-06-07 07:29:51 -07:00
intel_mocs.h
intel_modes.c drm/i915: always update ELD connector type after get modes 2017-09-20 10:36:34 +03:00
intel_opregion.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_overlay.c drm/i915: More surgically unbreak the modeset vs reset deadlock 2017-08-14 17:03:36 +02:00
intel_panel.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_pipe_crc.c drm/i915: Beef up of Beef up the IPS vs. CRC workaround 2017-08-28 16:12:47 +03:00
intel_pm.c drm/i915: disable GTT cache for 2M pages 2017-10-07 10:11:54 +01:00
intel_psr.c drm/i915/psr: Set frames before SU entry for psr2 2017-09-28 09:40:34 -07:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c drm/i915/gen9: Send all components in VF state 2017-08-14 12:15:49 +03:00
intel_renderstate.h
intel_ringbuffer.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_ringbuffer.h drm/i915/execlists: Preemption! 2017-10-04 17:52:46 +01:00
intel_runtime_pm.c drm/i915: Silence compiler warning for hsw_power_well_enable() 2017-10-06 18:04:06 +01:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Make i2c lock ops static 2017-09-01 10:30:40 -07:00
intel_sideband.c
intel_sprite.c drm/i915: Pass the crtc state explicitly to intel_pipe_update_start/end() 2017-08-31 21:23:28 +03:00
intel_tv.c drm/i915: Use mul_u32_u32() for 32b x 32b -> 64b result 2017-09-13 13:27:20 +01:00
intel_uc_fw.c drm/i915/uc: Move uC fw helper code into dedicated files 2017-10-04 19:45:29 +03:00
intel_uc_fw.h drm/i915: Unify uC variable types to avoid flooding checkpatch.pl 2017-10-06 14:09:40 +03:00
intel_uc.c drm/i915/uc: Fix includes order 2017-10-06 09:37:24 +03:00
intel_uc.h drm/i915/guc: Move GuC core definitions into dedicated files 2017-10-06 09:37:20 +03:00
intel_uncore.c drm/i915: Rename global i915 to i915_modparams 2017-09-22 14:50:36 +03:00
intel_uncore.h drm/i915: Make intel_uncore.h header self-contained 2017-10-04 19:39:23 +03:00
intel_vbt_defs.h drm/i915/bios: amend edp block based on intel_vbt_decode 2017-08-28 11:04:24 +03:00
Kconfig drm/i915/fence: Avoid del_timer_sync() from inside a timer 2017-09-19 13:06:21 +01:00
Kconfig.debug drm/i915: Add SW_SYNC to our recommend testing Kconfig 2017-08-12 10:30:42 +01:00
Makefile drm/i915: introduce simple gemfs 2017-10-07 10:11:41 +01:00