2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-29 07:34:06 +08:00
linux-next/drivers/gpu/drm/i915
Rodrigo Vivi 1d73c2a8f2 drm/i915: Minimize the huge amount of unecessary fbc sw cache clean.
The sw cache clean on BDW is a tempoorary workaround because we cannot
set cache clean on blt ring with risk of hungs. So we are doing the cache clean on sw.
However we are doing much more than needed. Not only when using blt ring.
So, with this extra w/a we minimize the ammount of cache cleans and call it only
on same cases that it was being called on gen7.

The traditional FBC Cache clean happens over LRI on BLT ring when there is a
frontbuffer touch happening. frontbuffer tracking set fbc_dirty variable
to let BLT flush that it must clean FBC cache.

fbc.need_sw_cache_clean works in the opposite information direction
of ring->fbc_dirty telling software on frontbuffer tracking to perform
the cache clean on sw side.

v2: Clean it a little bit and fully check for Broadwell instead of gen8.

v3: Rebase after frontbuffer organization.

v4: Wiggle confused me. So fixing v3!

Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-09-29 14:17:31 +02:00
..
dvo_ch7xxx.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_ch7017.c
dvo_ivch.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_ns2501.c drm/i915: Check pixel clock in ns2501 mode_valid hook 2014-09-03 11:05:21 +02:00
dvo_sil164.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo_tfp410.c drm/i915: Remove spurious semicolons 2014-04-09 21:54:33 +02:00
dvo.h
i915_cmd_parser.c drm/i915: Log a message when rejecting LRM to OACONTROL 2014-09-19 17:56:20 +02:00
i915_debugfs.c drm/i915: Clarify event_lock locking, process context 2014-09-19 14:43:17 +02:00
i915_dma.c drm/i915: Convert backlight_lock to a mutex 2014-09-19 14:43:15 +02:00
i915_drv.c drm/i915: Clarify irq_lock locking, special cases 2014-09-19 14:43:21 +02:00
i915_drv.h drm/i915: Minimize the huge amount of unecessary fbc sw cache clean. 2014-09-29 14:17:31 +02:00
i915_gem_context.c drm/i915/bdw: Apply workarounds in render ring init function 2014-09-03 11:04:42 +02:00
i915_gem_debug.c drm/i915: prefer struct drm_i915_private to drm_i915_private_t 2014-03-31 15:34:21 +02:00
i915_gem_dmabuf.c dma-buf: use reservation objects 2014-07-08 13:03:20 -07:00
i915_gem_evict.c drm/i915: fix another use-after-free in i915_gem_evict_everything 2014-09-19 14:41:16 +02:00
i915_gem_execbuffer.c drm/i915: Only track real ppgtt for a context 2014-08-13 14:23:33 +02:00
i915_gem_gtt.c drm/i915: Inline feature detection into sanitize_enable_ppgtt 2014-09-19 17:58:42 +02:00
i915_gem_gtt.h drm/i915: Rework GPU reset sequence to match driver load & thaw 2014-09-03 10:54:09 +02:00
i915_gem_render_state.c drm/i915/bdw: Render state init for Execlists 2014-09-03 11:04:52 +02: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: Extend BIOS stolen mem handling to all platform 2014-09-19 14:41:19 +02:00
i915_gem_tiling.c drm/i915/bdw: Let the memory controller do all the swizzling 2014-09-03 11:04:33 +02:00
i915_gem_userptr.c drm/i915: Prevent recursive deadlock on releasing a busy userptr 2014-09-08 08:38:49 +03:00
i915_gem.c drm/i915: DocBook integration for frontbuffer tracking 2014-09-19 19:46:49 +02:00
i915_gpu_error.c drm/i915: Clarify gpu_error.lock locking 2014-09-19 14:43:18 +02:00
i915_ioc32.c drm: Remove DRM_ARRAY_SIZE() for ARRAY_SIZE() 2014-06-10 09:36:17 +10:00
i915_irq.c drm/i915: Clarify irq_lock locking, special cases 2014-09-19 14:43:21 +02:00
i915_params.c Merge tag 'drm-intel-next-2014-09-01' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-09-03 08:30:48 +10:00
i915_reg.h drm/i915: Extend BIOS stolen mem handling to all platform 2014-09-19 14:41:19 +02:00
i915_suspend.c drm/i915: disable GT power saving early during system suspend 2014-05-22 21:53:27 +02:00
i915_sysfs.c drm/i915: Differentiate between LLC or snooped for the user 2014-09-03 11:04:25 +02:00
i915_trace_points.c
i915_trace.h drm/i915: s/intel_ring_buffer/intel_engine_cs 2014-05-22 23:01:05 +02:00
i915_ums.c
intel_acpi.c
intel_bios.c Merge tag 'drm-intel-next-2014-09-05' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-09-16 16:02:09 +10:00
intel_bios.h drm/i915/bios: add missing __packed to structs used for reading vbt 2014-09-19 14:43:14 +02:00
intel_crt.c drm/i915: Remove bogus __init annotation from DMI callbacks 2014-08-28 09:54:27 +03:00
intel_ddi.c drm/i915: Rewrite ABS_DIFF() in a safer manner 2014-09-04 15:08:53 +02:00
intel_display.c drm/i915: DocBook integration for frontbuffer tracking 2014-09-19 19:46:49 +02:00
intel_dp_mst.c drm/i915: fix build without fbdev. 2014-07-22 20:11:29 +10:00
intel_dp.c drm/i915: Avoid re-configure panel on every PSR re-enable. 2014-09-24 21:00:46 +02:00
intel_drv.h drm/i915: DocBook integration for frontbuffer tracking 2014-09-19 19:46:49 +02:00
intel_dsi_cmd.c drm/i915: Align intel_dsi*.c files a bit 2014-08-08 17:43:45 +02:00
intel_dsi_cmd.h drm/i915: wait for all DSI FIFOs to be empty 2014-08-07 11:07:15 +02:00
intel_dsi_panel_vbt.c drm/i915: Add support for Video Burst Mode for MIPI DSI 2014-08-08 17:43:45 +02:00
intel_dsi_pll.c drm/i915: Align intel_dsi*.c files a bit 2014-08-08 17:43:45 +02:00
intel_dsi.c drm/i915: Align intel_dsi*.c files a bit 2014-08-08 17:43:45 +02:00
intel_dsi.h drm/i915: Add support for Video Burst Mode for MIPI DSI 2014-08-08 17:43:45 +02:00
intel_dvo.c drm/i915: Don't call DVO mode_set hook on DPMS changes 2014-09-03 11:05:14 +02:00
intel_fbdev.c drm/i915: make fbdev initialization asynchronous v2 2014-09-03 11:05:01 +02:00
intel_frontbuffer.c drm/i915: Minimize the huge amount of unecessary fbc sw cache clean. 2014-09-29 14:17:31 +02:00
intel_hdmi.c drm/i915/hdmi, dp: Do not dereference the encoder in the connector destroy 2014-09-19 14:41:12 +02: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: Fix irq checks in ring->irq_get/put functions 2014-09-19 14:43:13 +02:00
intel_lrc.h drm/i915/bdw: Render state init for Execlists 2014-09-03 11:04:52 +02:00
intel_lvds.c Linux 3.17-rc5 2014-09-16 11:38:04 +10:00
intel_modes.c
intel_opregion.c Linux 3.16 2014-08-05 09:04:59 +10:00
intel_overlay.c drm/i915: use helpers 2014-07-18 14:25:15 +10:00
intel_panel.c drm/i915: Convert backlight_lock to a mutex 2014-09-19 14:43:15 +02:00
intel_pm.c drm/i915: Minimize the huge amount of unecessary fbc sw cache clean. 2014-09-29 14:17:31 +02:00
intel_renderstate_gen6.c drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +02:00
intel_renderstate_gen7.c drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +02:00
intel_renderstate_gen8.c drm/i915: Simplify processing of the golden render context state 2014-06-16 19:53:09 +02:00
intel_renderstate.h drm/i915/bdw: Render state init for Execlists 2014-09-03 11:04:52 +02:00
intel_ringbuffer.c drm/i915: Minimize the huge amount of unecessary fbc sw cache clean. 2014-09-29 14:17:31 +02:00
intel_ringbuffer.h drm/i915/bdw: Apply workarounds in render ring init function 2014-09-03 11:04:42 +02:00
intel_sdvo_regs.h
intel_sdvo.c Merge tag 'topic/core-stuff-2014-06-30' of git://anongit.freedesktop.org/drm-intel into drm-next 2014-07-08 11:04:35 +10:00
intel_sideband.c drm/i915: vlv/chv: fix DSI sideband register accessing 2014-05-19 17:50:14 +02:00
intel_sprite.c drm/i915: Fix regression in the sprite plane update split 2014-09-19 14:43:10 +02:00
intel_tv.c drm/i915: Clarify irq_lock locking, intel_tv_detect 2014-09-19 14:43:19 +02:00
intel_uncore.c drm/i915/vlv: Remove check for Old Ack during forcewake 2014-09-19 14:43:25 +02:00
Kconfig drm/i915: Ditch UMS config option 2014-07-24 10:59:53 +02:00
Makefile drm/i915: DocBook integration for frontbuffer tracking 2014-09-19 19:46:49 +02:00