linux/drivers/gpu/drm/i915
John Harrison 4ad2fd888b drm/i915: Split i915_ppgtt_init_hw() in half - generic and per ring
The i915_gem_init_hw() function calls a bunch of smaller initialisation
functions. Multiple of which have generic sections and per ring sections. This
means multiple passes are done over the rings. Each pass writes data to the ring
which floats around in that ring's OLR until some random point in the future
when an add_request() is done by some random other piece of code.

This patch breaks i915_ppgtt_init_hw() in two with the per ring initialisation
now being done in i915_ppgtt_init_ring(). The ring looping is now done at the
top level in i915_gem_init_hw().

v2: Fix dumb loop variable re-use.

For: VIZ-5115
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Tomas Elf <tomas.elf@intel.com> (v1)
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-06-23 14:02:06 +02:00
..
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c Fix resume from suspend on IBM X30 2015-06-15 12:21:01 +02:00
dvo_ns2501.c drm/i915: Enable dithering on NatSemi DVO2501 for Fujitsu S6010 2015-04-23 21:31:58 +02:00
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_cmd_parser.c drm/i915: Add SCRATCH1 and ROW_CHICKEN3 to the register whitelist. 2015-06-15 16:00:48 +03:00
i915_debugfs.c drm/i915: unify no_fbc_reason message printing 2015-06-15 18:36:36 +02:00
i915_dma.c drm/i915: Report an error when i915.reset prevents a reset 2015-06-23 14:01:38 +02:00
i915_drv.c drm/i915: Report an error when i915.reset prevents a reset 2015-06-23 14:01:38 +02:00
i915_drv.h drm/i915: Add flag to i915_add_request() to skip the cache flush 2015-06-23 14:02:04 +02:00
i915_gem_batch_pool.c drm/i915: Split batch pool into size buckets 2015-04-10 08:56:05 +02:00
i915_gem_batch_pool.h drm/i915: Split batch pool into size buckets 2015-04-10 08:56:05 +02:00
i915_gem_context.c drm/i915: add a context parameter to {en, dis}able zero address mapping 2015-05-29 10:15:19 +02:00
i915_gem_debug.c drm/i915: Implement inter-engine read-read optimisations 2015-05-21 15:11:42 +02:00
i915_gem_dmabuf.c dma-buf: cleanup dma_buf_export() to make it easily extensible 2015-04-21 14:47:16 +05:30
i915_gem_evict.c drm/i915: kerneldoc for i915_gem_shrinker.c 2015-03-20 11:48:16 +01:00
i915_gem_execbuffer.c drm/i915: Add flag to i915_add_request() to skip the cache flush 2015-06-23 14:02:04 +02:00
i915_gem_gtt.c drm/i915: Split i915_ppgtt_init_hw() in half - generic and per ring 2015-06-23 14:02:06 +02:00
i915_gem_gtt.h drm/i915: Split i915_ppgtt_init_hw() in half - generic and per ring 2015-06-23 14:02:06 +02:00
i915_gem_render_state.c drm/i915: Add flag to i915_add_request() to skip the cache flush 2015-06-23 14:02:04 +02:00
i915_gem_render_state.h
i915_gem_shrinker.c drm/i915: Simplify object is-pinned checking for shrinker 2015-04-10 10:58:34 +02:00
i915_gem_stolen.c drm/i915: use proper FBC base register on all new platforms 2015-04-09 15:57:46 +02:00
i915_gem_tiling.c drm/i915: Simplify i915_gem_obj_is_pinned() test for set-tiling 2015-04-16 11:20:29 +02:00
i915_gem_userptr.c drm/i915: Use uninterruptible mutex_lock for userptr bo creation 2015-05-20 11:26:03 +02:00
i915_gem.c drm/i915: Split i915_ppgtt_init_hw() in half - generic and per ring 2015-06-23 14:02:06 +02:00
i915_gpu_error.c drm/i915: Implement inter-engine read-read optimisations 2015-05-21 15:11:42 +02:00
i915_ioc32.c
i915_irq.c drm/i915: reduce line width in {pch, i9xx}_get_hpd_pins() 2015-06-22 15:04:43 +02:00
i915_params.c drm/i915: Report an error when i915.reset prevents a reset 2015-06-23 14:01:38 +02:00
i915_reg.h drm/i915/gen8: Add WaFlushCoherentL3CacheLinesAtContextSwitch workaround 2015-06-23 14:01:41 +02:00
i915_suspend.c
i915_sysfs.c drm/i915/vlv: fix RC6 residency time calculation 2015-06-15 11:56:37 +02:00
i915_trace_points.c
i915_trace.h Merge tag 'drm-intel-next-2015-04-23-fixed' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-05-08 20:51:06 +10:00
i915_vgpu.c
i915_vgpu.h
intel_acpi.c
intel_atomic_plane.c drm/i915: Remove transitional references from intel_plane_atomic_check. 2015-06-22 14:28:29 +02:00
intel_atomic.c drm/i915: Make cdclk part of the atomic state. 2015-06-22 14:28:37 +02:00
intel_audio.c drm/i915/audio: do not mess with audio registers if port is invalid 2015-05-08 13:03:36 +02:00
intel_bios.c drm/i915/bios: be more explicit about discarding iomem address space 2015-05-20 11:26:01 +02:00
intel_bios.h drm/i915: Fix the VBT child device parsing for BSW 2015-04-10 08:56:14 +02:00
intel_crt.c drm/i915: Disable CRT port after pipe on PCH platforms 2015-05-21 23:23:16 +02:00
intel_csr.c Merge remote-tracking branch 'airlied/drm-next' into HEAD 2015-06-23 14:01:53 +02:00
intel_ddi.c drm/i915/bxt: fix DDI PHY vswing scale value setting 2015-06-12 13:14:38 +03:00
intel_display.c Merge remote-tracking branch 'airlied/drm-next' into HEAD 2015-06-23 14:01:53 +02:00
intel_dp_mst.c drm/i915: Use for_each_connector_in_state helper macro 2015-05-08 13:03:58 +02:00
intel_dp.c drm/i915: Split skl_update_scaler, v4. 2015-06-22 14:19:50 +02:00
intel_drv.h drm/i915: Remove unused ring argument from frontbuffer invalidate and busy functions. 2015-06-22 15:59:18 +02:00
intel_dsi_panel_vbt.c drm/i915: s/dpio_lock/sb_lock/ 2015-05-28 11:13:51 +02:00
intel_dsi_pll.c drm/i915: s/dpio_lock/sb_lock/ 2015-05-28 11:13:51 +02:00
intel_dsi.c drm/i915/dsi: remove non-op hot plug callback 2015-05-29 10:15:21 +02:00
intel_dsi.h
intel_dvo.c drm/i915: Silence compiler warning in dvo 2015-04-29 14:37:48 +03:00
intel_fbc.c drm/i915: don't set the FBC plane select bits on HSW+ 2015-06-15 18:36:42 +02:00
intel_fbdev.c drm/i915: Remove unused ring argument from frontbuffer invalidate and busy functions. 2015-06-22 15:59:18 +02:00
intel_fifo_underrun.c
intel_frontbuffer.c drm/i915: Remove unused ring argument from frontbuffer invalidate and busy functions. 2015-06-22 15:59:18 +02:00
intel_hdmi.c drm/i915: Double the port clock when using double clocked modes with 12bpc 2015-06-15 11:36:40 +02:00
intel_hotplug.c drm/i915: move generic hotplug code into new intel_hotplug.c file 2015-06-22 15:03:42 +02:00
intel_i2c.c drm/i915: don't register invalid gmbus pins for skl 2015-05-20 11:25:50 +02:00
intel_lrc.c drm/i915: Add flag to i915_add_request() to skip the cache flush 2015-06-23 14:02:04 +02:00
intel_lrc.h drm/i915: Merged the many do_execbuf() parameters into a structure 2015-06-23 14:01:59 +02:00
intel_lvds.c drm/i915: Ignore LVDS presence in VBT flag if the LVDS is enabled by BIOS 2015-06-22 16:13:48 +02:00
intel_modes.c
intel_opregion.c
intel_overlay.c drm/i915: i915_add_request must not fail 2015-06-23 14:01:57 +02:00
intel_panel.c drm/i915/bxt: BLC implementation 2015-05-08 13:03:38 +02:00
intel_pm.c drm/i915: Remove more ilk rc6 remnants 2015-06-15 23:25:25 +02:00
intel_psr.c drm/i915: PSR VLV: Add single frame update. 2015-04-14 19:15:23 +02:00
intel_renderstate_gen6.c
intel_renderstate_gen7.c
intel_renderstate_gen8.c
intel_renderstate_gen9.c
intel_renderstate.h
intel_ringbuffer.c drm/i915: Update alloc_request to return the allocated request 2015-06-23 14:02:00 +02:00
intel_ringbuffer.h drm/i915: Reserve ring buffer space for i915_add_request() commands 2015-06-23 14:01:56 +02:00
intel_runtime_pm.c drm/i915: Throw out WIP CHV power well definitions 2015-05-28 11:13:50 +02:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Disable SDVO port after the pipe on PCH platforms 2015-05-21 23:22:01 +02:00
intel_sideband.c drm/i915: s/dpio_lock/sb_lock/ 2015-05-28 11:13:51 +02:00
intel_sprite.c drm/i915: Make setting color key atomic. 2015-06-22 14:28:15 +02:00
intel_tv.c drm/i915: Allocate connector state together with the connectors 2015-04-13 15:21:21 +03:00
intel_uncore.c drm/i915: Report an error when i915.reset prevents a reset 2015-06-23 14:01:38 +02:00
Kconfig drm/i915: Remove KMS Kconfig option 2015-06-22 16:16:35 +02:00
Makefile drm/i915: move generic hotplug code into new intel_hotplug.c file 2015-06-22 15:03:42 +02:00