linux/drivers/gpu/drm/i915
Chris Wilson d7f7633557 drm/i915: Force relocations via cpu if we run out of idle aperture
If we run out of enough aperture space to fit the entire object, we
fallback to trying to insert a single page. However, if that also fails,
we currently fail to userspace with an unexpected ENOSPC. (ENOSPC means
to userspace that their batch could not be fitted within the GTT.) Prior
to commit e8cb909ac3 ("drm/i915: Fallback to single page GTT
mmappings for relocations") the approach is to fallback to using the
slow CPU relocation path in case of iomapping failure, and that is the
behaviour we need to restore.

Fixes: e8cb909ac3 ("drm/i915: Fallback to single page GTT mmappings...")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98101
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161007065327.24515-2-chris@chris-wilson.co.uk
2016-10-07 08:27:22 +01:00
..
gvt drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
Kconfig drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
Kconfig.debug drm/i915: Select DRM_VGEM for igt 2016-07-10 13:22:39 +01:00
Makefile drm/i915: Add a sw fence for collecting up dma fences 2016-09-09 14:22:55 +01:00
dvo.h
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c
dvo_sil164.c
dvo_tfp410.c
i915_cmd_parser.c drm/i915: use NULL for NULL pointers 2016-09-16 10:35:43 +03:00
i915_debugfs.c drm/i915: Reduce trickery in DEV_INFO_FOR_EACH_FLAG 2016-10-05 15:24:54 +03:00
i915_drv.c drm/i915: Disable irqs across GPU reset 2016-10-05 08:40:06 +01:00
i915_drv.h drm/i915: Sort DEV_INFO_FOR_EACH_FLAG 2016-10-05 15:24:54 +03:00
i915_gem.c drm/i915: Double check hangcheck.seqno after reset 2016-10-05 08:40:06 +01:00
i915_gem.h
i915_gem_batch_pool.c drm/i915: Double check the active status on the batch pool 2016-08-04 20:19:50 +01:00
i915_gem_batch_pool.h drm/i915: Double check the active status on the batch pool 2016-08-04 20:19:50 +01:00
i915_gem_context.c drm/i915: Update reset path to fix incomplete requests 2016-09-09 14:23:05 +01:00
i915_gem_dmabuf.c drm/i915: Support for creating write combined type vmaps 2016-08-12 13:06:36 +01:00
i915_gem_dmabuf.h drm/i915: Serialise presentation with imported dmabufs 2016-06-17 10:32:26 +01:00
i915_gem_evict.c drm/i915: Mark up all locked waiters 2016-09-09 14:23:03 +01:00
i915_gem_execbuffer.c drm/i915: Force relocations via cpu if we run out of idle aperture 2016-10-07 08:27:22 +01:00
i915_gem_fence.c drm/i915: Flush delayed fence releases after reset 2016-08-19 16:59:22 +01:00
i915_gem_gtt.c drm/i915: remove writeq ifdeffery 2016-09-12 11:33:56 +03:00
i915_gem_gtt.h drm/i915: Embed the scratch page struct into each VM 2016-08-22 12:19:52 +01:00
i915_gem_render_state.c drm/i915: Use VMA for render state page tracking 2016-08-15 11:01:11 +01:00
i915_gem_render_state.h drm/i915: Use VMA for render state page tracking 2016-08-15 11:01:11 +01:00
i915_gem_request.c drm/i915: Distinguish last emitted request from last submitted request 2016-10-07 08:27:22 +01:00
i915_gem_request.h drm/i915: Nonblocking request submission 2016-09-09 14:23:08 +01:00
i915_gem_shrinker.c drm/i915: Mark up all locked waiters 2016-09-09 14:23:03 +01:00
i915_gem_stolen.c drm/i915: pdev cleanup 2016-08-22 12:19:52 +01:00
i915_gem_tiling.c drm/i915: Move fence tracking from object to vma 2016-08-18 22:36:50 +01:00
i915_gem_userptr.c drm/i915: Expand bool interruptible to pass flags to i915_wait_request() 2016-09-09 14:23:03 +01:00
i915_gpu_error.c drm/i915: Reduce trickery in DEV_INFO_FOR_EACH_FLAG 2016-10-05 15:24:54 +03:00
i915_guc_reg.h drm/i915/guc: general tidying up (loader) 2016-09-15 10:56:02 +01:00
i915_guc_submission.c drm/i915/guc: general tidying up (submission) 2016-09-15 10:56:07 +01:00
i915_ioc32.c
i915_irq.c drm/i915: Use correct index for backtracking HUNG semaphores 2016-10-03 20:59:55 +01:00
i915_memcpy.c drm/i915: Mark the static key for movntqda as static 2016-08-17 12:36:07 +01:00
i915_mm.c drm/i915: Use remap_io_mapping() to prefault all PTE in a single pass 2016-08-19 17:13:36 +01:00
i915_params.c drm/i915: Add a way to test the modeset done during gpu reset, v3. 2016-08-05 23:28:28 +03:00
i915_params.h drm/i915: Add a way to test the modeset done during gpu reset, v3. 2016-08-05 23:28:28 +03:00
i915_pci.c drm/i915: keep declarations in i915_drv.h 2016-09-22 14:53:29 +03:00
i915_pvinfo.h drm/i915: Use offsetof() to calculate the offset of members in PVINFO page 2016-06-17 19:44:25 +01:00
i915_reg.h drm/i915: Share the computation of ring size for RING_CTL register 2016-10-05 08:40:05 +01:00
i915_suspend.c drm/i915: pdev cleanup 2016-08-22 12:19:52 +01:00
i915_sw_fence.c drm/i915: Add a sw fence for collecting up dma fences 2016-09-09 14:22:55 +01:00
i915_sw_fence.h drm/i915: Add a sw fence for collecting up dma fences 2016-09-09 14:22:55 +01:00
i915_sysfs.c drm/i915: Drop mutex around clearing error state 2016-09-02 08:32:55 +01:00
i915_trace.h drm/i915: Remove surplus drm_device parameter to i915_gem_evict_something() 2016-08-04 20:19:50 +01:00
i915_trace_points.c
i915_vgpu.c drm/i915: enable vGPU detection for all 2016-09-06 16:39:36 +03:00
i915_vgpu.h drm/i915: Fold vGPU active check into inner functions 2016-06-17 19:44:29 +01:00
intel_acpi.c
intel_atomic.c drm: Consolidate plane arrays in drm_atomic_state 2016-06-02 17:20:25 +02:00
intel_atomic_plane.c drm/i915: Use drm_plane_helper_check_state() 2016-08-08 14:19:56 -04:00
intel_audio.c drm/i915/dp: DP audio API changes for MST 2016-09-22 09:01:55 -07:00
intel_bios.c drm/i915/bios: log about presence of DSI sequences we do not run 2016-09-19 18:38:02 +03:00
intel_bios.h drm/i915: Parse LFP brightness control field in VBT 2016-05-02 16:17:38 +03:00
intel_breadcrumbs.c drm/i915: Drive request submission through fence callbacks 2016-09-09 14:23:05 +01:00
intel_color.c drm/i915: Use more atomic state in intel_color.c 2016-08-23 11:58:56 +02:00
intel_crt.c drm/i915: Add spurious CRT DMI match for Intel DZ77BH-55K 2016-10-06 17:07:58 +03:00
intel_csr.c drm/i915: Fix botched merge that downgrades CSR versions. 2016-08-22 12:54:50 +02:00
intel_ddi.c Revert "drm/i915: start adding dp mst audio" 2016-09-29 11:02:41 +03:00
intel_device_info.c drm/i915: Reduce trickery in DEV_INFO_FOR_EACH_FLAG 2016-10-05 15:24:54 +03:00
intel_display.c drm/i915: keep CONFIG_DRM_FBDEV_EMULATION=n function stubs together 2016-10-04 12:03:17 +03:00
intel_dp.c drm/i915: Allow DP to work w/o EDID 2016-10-05 12:33:13 +03:00
intel_dp_aux_backlight.c
intel_dp_link_training.c drm/i915/skl: drop workarounds for A0 and B0 revisions 2016-09-26 12:08:22 +03:00
intel_dp_mst.c Revert "drm/i915: start adding dp mst audio" 2016-09-29 11:02:41 +03:00
intel_dpio_phy.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_dpll_mgr.c drm/i915/bxt: Fix HDMI DPLL configuration 2016-09-27 14:20:56 +03:00
intel_dpll_mgr.h drm/i915/dp: Add a standalone function to obtain shared dpll for HSW/BDW/SKL/BXT 2016-09-09 14:53:18 -07:00
intel_drv.h drm/i915: keep CONFIG_DRM_FBDEV_EMULATION=n function stubs together 2016-10-04 12:03:17 +03:00
intel_dsi.c drm/i915: Store port enum in intel_encoder 2016-09-21 09:32:00 -07:00
intel_dsi.h drm/i915/dsi: CABC support for Panel PWM backlight control 2016-05-17 16:12:39 +03:00
intel_dsi_dcs_backlight.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_dsi_panel_vbt.c drm/i915/dsi: double check element parsing against size if present 2016-09-19 18:38:11 +03:00
intel_dsi_pll.c drm/i915: Mass convert dev->dev_private to to_i915(dev) 2016-07-04 12:54:07 +01:00
intel_dvo.c drm/i915: Store port enum in intel_encoder 2016-09-21 09:32:00 -07:00
intel_engine_cs.c drm/i915: Show RING registers through debugfs 2016-10-05 08:40:06 +01:00
intel_fbc.c drm/i915/fbc: disable FBC on FIFO underruns 2016-09-22 17:01:34 -03:00
intel_fbdev.c drm/i915: pdev cleanup 2016-08-22 12:19:52 +01:00
intel_fifo_underrun.c drm/i915/fbc: disable FBC on FIFO underruns 2016-09-22 17:01:34 -03:00
intel_frontbuffer.c drm/i915: Use dev_priv consistently through the intel_frontbuffer interface 2016-08-04 20:20:03 +01:00
intel_frontbuffer.h drm/i915: Use dev_priv consistently through the intel_frontbuffer interface 2016-08-04 20:20:03 +01:00
intel_guc.h drm/i915/guc: general tidying up (submission) 2016-09-15 10:56:07 +01:00
intel_guc_fwif.h drm/i915/guc: rework guc_add_workqueue_item() 2016-05-23 14:21:53 +01:00
intel_guc_loader.c drm/i915: add a few missing platform tags to workaround tags 2016-09-27 09:29:49 +03:00
intel_gvt.c drm/i915/gvt: Mark i915.enable_gvt as false if loading fails 2016-06-21 12:40:13 +01:00
intel_gvt.h drm/i915: gvt: Introduce the basic architecture of GVT-g 2016-06-17 20:35:06 +01:00
intel_hdmi.c drm/i915: Store port enum in intel_encoder 2016-09-21 09:32:00 -07:00
intel_hotplug.c drm/i915: Mark i915_hpd_poll_init_work as static 2016-08-17 12:36:15 +01:00
intel_i2c.c drm/i915: Take forcewake once for the entire GMBUS transaction 2016-08-22 18:42:44 +01:00
intel_lrc.c drm/i915/execlists: Move clearing submission count from reset to init 2016-10-05 08:40:05 +01:00
intel_lrc.h drm/i915: Update reset path to fix incomplete requests 2016-09-09 14:23:05 +01:00
intel_lvds.c drm/i915: Store port enum in intel_encoder 2016-09-21 09:32:00 -07:00
intel_mocs.c drm/i915: Rename struct intel_ringbuffer to struct intel_ring 2016-08-02 22:58:16 +01:00
intel_mocs.h drm/i915: rename 'ring' where it refers to an engine or engine_id 2016-07-21 09:59:41 +01:00
intel_modes.c drm: Remove superflous linux/fb.h includes 2016-08-12 10:41:39 +02:00
intel_opregion.c drm/i915: Ignore OpRegion panel type except on select machines 2016-09-14 10:35:00 +03:00
intel_overlay.c drm/i915: Embed the io-mapping struct inside drm_i915_private 2016-08-19 17:13:35 +01:00
intel_panel.c drm/i915/backlight: setup backlight pwm alternate increment on backlight enable 2016-09-20 12:01:38 +03:00
intel_pm.c drm/i915: make skl_ddb_add_affected_planes static 2016-10-04 13:49:38 +03:00
intel_psr.c Revert "drm/i915/psr: Make idle_frames sensible again" 2016-09-13 11:57:53 +03:00
intel_renderstate.h drm/i915: Remove duplicate golden render state init from execlists 2016-08-02 22:58:30 +01:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_ringbuffer.c drm/i915: Show RING registers through debugfs 2016-10-05 08:40:06 +01:00
intel_ringbuffer.h drm/i915: Distinguish last emitted request from last submitted request 2016-10-07 08:27:22 +01:00
intel_runtime_pm.c drm/i915: pdev cleanup 2016-08-22 12:19:52 +01:00
intel_sdvo.c drm/i915: Store port enum in intel_encoder 2016-09-21 09:32:00 -07:00
intel_sdvo_regs.h
intel_sideband.c drm/i915: Convert wait_for(I915_READ(reg)) to intel_wait_for_register() 2016-06-30 15:42:33 +01:00
intel_sprite.c drm/i915/skl: Don't try to update plane watermarks if they haven't changed 2016-09-07 12:29:17 +02:00
intel_tv.c drm/i915: Store port enum in intel_encoder 2016-09-21 09:32:00 -07:00
intel_uncore.c drm/i915: Inline binary search 2016-10-04 11:10:01 +01:00
intel_vbt_defs.h drm/i915: Extract physical display dimensions from VBT 2016-06-10 10:41:15 +03:00