linux/drivers/gpu/drm/i915
John Harrison 98e1bd4ae6 drm/i915: Cache ringbuf pointer in request structure
In execlist mode, the ringbuf is a function of the ring and context whereas in
legacy mode, it is derived from the ring alone. Thus the calculation required to
determine the ringbuf pointer from the ring (and context) also needs to test
execlist mode or not. This is messy.

Further, the request structure holds a pointer to both the ring and the context
for which it was created. Thus, given a request, it is possible to derive the
ringbuf in either legacy or execlist mode. Hence it is necessary to pass just
the request in to all the low level functions rather than some combination of
request, ring, context and ringbuf. However, rather than recalculating it each
time, it is much simpler to just cache the ringbuf pointer in the request
structure itself.

Caching the pointer means the calculation is done once at request creation time
and all further code and simply read it directly from the request structure.

OTC-Jira: VIZ-5115
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
[danvet: Drop contentless comment in lrc alloc request entirely. And
spelling fix in the commit message.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-02-25 22:53:10 +01:00
..
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c drm/i915: Check pixel clock in ns2501 mode_valid hook 2014-09-03 11:05:21 +02:00
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_cmd_parser.c drm/i915: Trim the command parser allocations 2015-02-23 17:07:40 +01:00
i915_debugfs.c drm/i915: Complete page table structures 2015-02-25 16:53:07 +01:00
i915_dma.c drm/i915/skl: Tune IZ hashing when subslices are unbalanced 2015-02-24 00:07:05 +01:00
i915_drv.c drm/i915: Remove references to previously removed UMS config option 2015-02-13 23:28:40 +01:00
i915_drv.h drm/i915: Cache ringbuf pointer in request structure 2015-02-25 22:53:10 +01:00
i915_gem_batch_pool.c drm/i915: Mark shadow batch buffers as purgeable 2014-12-16 10:39:09 +01:00
i915_gem_context.c drm/i915: Reset logical ring contexts' head and tail during GPU reset 2015-02-24 00:19:37 +01:00
i915_gem_debug.c
i915_gem_dmabuf.c dma-buf: use reservation objects 2014-07-08 13:03:20 -07:00
i915_gem_evict.c drm/i915: Add some extra guards in evict_vm 2015-01-06 09:07:59 +01:00
i915_gem_execbuffer.c drm/i915: Rename 'flags' to 'dispatch_flags' for better code reading 2015-02-25 22:43:29 +01:00
i915_gem_gtt.c drm/i915: Plumb drm_device through page tables operations 2015-02-25 16:56:57 +01:00
i915_gem_gtt.h drm/i915: Create page table allocators 2015-02-25 16:53:43 +01:00
i915_gem_render_state.c drm/i915: Remove obsolete seqno parameter from 'i915_add_request' 2014-12-03 09:35:19 +01:00
i915_gem_render_state.h drm/i915/bdw: Render state init for Execlists 2014-09-03 11:04:52 +02:00
i915_gem_stolen.c drm/i915: don't reallocate the compressed FB at every frame 2015-02-24 00:02:20 +01:00
i915_gem_tiling.c drm/i915: Replace last_[rwf]_seqno with last_[rwf]_req 2014-12-03 09:35:14 +01:00
i915_gem_userptr.c drm/i915: Do not leak pages when freeing userptr objects 2014-09-29 15:31:01 +02:00
i915_gem.c drm/i915: Cache ringbuf pointer in request structure 2015-02-25 22:53:10 +01:00
i915_gpu_error.c drm/i915: Add process identifier to requests 2015-02-13 23:28:37 +01:00
i915_ioc32.c drm/i915: remove redundant #ifdef CONFIG_COMPAT 2014-10-24 16:34:07 +02:00
i915_irq.c drm/i915: Flatten DRIVER_MODESET checks in i915_irq.c 2015-02-23 10:54:27 +01:00
i915_params.c drm/i915: Add i915.nuclear_pageflip command line param to force atomic (v4) 2015-01-27 09:57:34 +01:00
i915_reg.h drm/i915: Support for RR switching on VLV 2015-02-24 11:51:37 +01:00
i915_suspend.c Merge tag 'topic/i915-hda-componentized-2015-01-12' into drm-intel-next-queued 2015-01-12 23:07:46 +01:00
i915_sysfs.c drm/i915: Introduce intel_set_rps() 2015-02-13 23:27:59 +01:00
i915_trace_points.c
i915_trace.h drm/i915/trace: Fix offsets for 64b 2015-02-13 23:28:11 +01:00
i915_ums.c drm/i915: don't save/restore backlight hist ctl registers 2014-11-14 10:29:28 +01:00
i915_vgpu.c drm/i915: Adds graphic address space ballooning logic 2015-02-13 23:28:23 +01:00
i915_vgpu.h drm/i915: Add the display switch logic for vGPU in i915 driver 2015-02-13 23:28:24 +01:00
intel_acpi.c
intel_atomic_plane.c drm/i915: Switch plane properties to full atomic helper. 2015-01-27 09:57:25 +01:00
intel_atomic.c drm/i915: Add crtc state duplication/destruction functions 2015-01-27 09:57:18 +01:00
intel_audio.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_bios.c drm/i915/skl: Support for edp low_vswing param in vbt 2015-02-25 16:06:00 +01:00
intel_bios.h drm/i915/skl: Support for edp low_vswing param in vbt 2015-02-25 16:06:00 +01:00
intel_crt.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_ddi.c drm/i915/skl: Add support for edp1.4 low vswing 2015-02-25 16:06:42 +01:00
intel_display.c drm/i915: Enable eDP DRRS for CHV 2015-02-24 11:51:38 +01:00
intel_dp_mst.c drm/i915: Use pipe_config's cpu_transcoder for reading encoder hw state 2015-01-30 19:38:43 +01:00
intel_dp.c drm/i915/skl: Add support for edp1.4 low vswing 2015-02-25 16:06:42 +01:00
intel_drv.h drm/i915: Add support for DRRS in intel_dp_set_m_n 2015-02-24 11:51:36 +01:00
intel_dsi_panel_vbt.c drm/i915/dsi: remove intel_dsi_cmd.c and the unused functions therein 2015-01-29 16:57:14 +01:00
intel_dsi_pll.c drm/i915: Use DSI Pll1 for enabling MIPI DSI on Port C 2014-12-10 17:47:21 +01:00
intel_dsi.c drm/i915: Correct the variable holding the value for EOT to write 2015-02-13 23:28:00 +01:00
intel_dsi.h drm/i915/dsi: add drm mipi dsi host support 2015-01-29 16:51:39 +01:00
intel_dvo.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_fbc.c drm/i915: gen5+ can have FBC with multiple pipes 2015-02-23 23:59:57 +01:00
intel_fbdev.c drm/i915: Switch intel_fb_align_height to fb format modifiers 2015-02-13 23:28:18 +01:00
intel_fifo_underrun.c drivers: gpu: drm: i915: intel_fifo_underrun.c: Fix a typo in comment 2015-01-27 10:30:01 +01:00
intel_frontbuffer.c drm/i915: DRRS calls based on frontbuffer 2015-01-27 09:51:15 +01:00
intel_hdmi.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_i2c.c drm/i915: Kill duplicated cdclk readout code from i2c 2014-07-07 11:27:52 +02:00
intel_lrc.c drm/i915: Cache ringbuf pointer in request structure 2015-02-25 22:53:10 +01:00
intel_lrc.h drm/i915: Rename 'flags' to 'dispatch_flags' for better code reading 2015-02-25 22:43:29 +01:00
intel_lvds.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_modes.c
intel_opregion.c ACPI / i915: Update the condition to ignore firmware backlight change request 2014-09-30 01:11:18 +02:00
intel_overlay.c drm/i915: Make intel_crtc->config a pointer 2015-01-27 09:50:50 +01:00
intel_panel.c drm/i915: Embedded struct drm_crtc_state in intel_crtc_state 2015-01-27 09:50:48 +01:00
intel_pm.c drm/i915/skl: Make sure to allocate mininum sizes in the DDB 2015-02-24 21:40:32 +01:00
intel_psr.c drm/i915/skl: Enabling PSR on Skylake 2015-01-28 17:22:29 +01:00
intel_renderstate_gen6.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_renderstate_gen7.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_renderstate_gen8.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_renderstate_gen9.c drm/i915: Add headers to the various render state 2014-12-10 17:47:23 +01:00
intel_renderstate.h drm/i915 Add golden context support for Gen9 2014-11-04 14:04:55 +01:00
intel_ringbuffer.c drm/i915: Cache ringbuf pointer in request structure 2015-02-25 22:53:10 +01:00
intel_ringbuffer.h drm/i915: Rename 'flags' to 'dispatch_flags' for better code reading 2015-02-25 22:43:29 +01:00
intel_runtime_pm.c drm/i915/skl: Implementation of SKL display power well support 2015-02-13 23:28:01 +01:00
intel_sdvo_regs.h
intel_sdvo.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_sideband.c drm/i915: Increase the range of sideband address. 2015-01-27 09:50:43 +01:00
intel_sprite.c drm/i915: Switch to drm_crtc variants of vblank functions 2015-02-23 10:54:28 +01:00
intel_tv.c drm/i915: Add atomic_get_property entrypoint for connectors (v2) 2015-01-27 09:57:10 +01:00
intel_uncore.c drm/i915: FIFO space query code refactor 2015-02-23 16:45:16 +01:00
Kconfig drm/i915/dsi: add drm mipi dsi host support 2015-01-29 16:51:39 +01:00
Makefile drm/i915: Introduce a PV INFO page structure for Intel GVT-g. 2015-02-13 23:28:22 +01:00