linux_dsm_epyc7002/drivers/gpu/drm/i915
Rodrigo Vivi fd3da6c95b drm/i915: WA: FBC Render Nuke.
WaFbcNukeOn3DBlt for IVB, HSW.

According BSPec: "Workaround: Do not enable Render Command Streamer tracking for FBC.
Instead insert a LRI to address 0x50380 with data 0x00000004 after the PIPE_CONTROL that
follows each render submission."

v2: Chris noticed that flush_domains check was missing here and also suggested to do
    LRI only when fbc is enabled. To avoid do a I915_READ on every flush lets use the
    module parameter check.

v3: Adding Wa name as Damien suggested.

v4: Ville noticed VLV doesn't support fbc at all and comment came wrong from spec.

v5: Ville noticed than on blt a Cache Clean LRI should be used instead the Nuke one.

v6: Check for flush domain on blt (by Ville).
    Check for scanout dirty (by Chris).

v7: Apply proper fbc_dirty implemented by Chris.

v8: remove unused variables.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-06-07 17:56:55 +02:00
..
dvo_ch7xxx.c drm/i915: add support for dvo Chrontel 7010B 2013-05-20 22:02:49 +02:00
dvo_ch7017.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_ivch.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_ns2501.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_sil164.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_tfp410.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
i915_debugfs.c drm/i915: Track clients and print their object usage in debugfs 2013-06-06 10:45:37 +02:00
i915_dma.c i915/drm: Add private api for power well usage 2013-06-06 17:32:16 +02:00
i915_drv.c drm/i915: add enable_ips module option 2013-05-31 21:40:08 +02:00
i915_drv.h i915/drm: Add private api for power well usage 2013-06-06 17:32:16 +02:00
i915_gem_context.c drm/i915: context debug messages 2013-05-31 20:53:58 +02:00
i915_gem_debug.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_gem_dmabuf.c drm/i915: fix dmabuf vmap support 2013-05-01 16:09:31 +10:00
i915_gem_evict.c drm/i915: Create a gtt structure 2013-01-17 22:33:56 +01:00
i915_gem_execbuffer.c drm/i915: Track when we dirty the scanout with render commands 2013-06-07 17:56:45 +02:00
i915_gem_gtt.c drm/i915: Rename the gtt_list to global_list 2013-06-03 10:51:14 +02:00
i915_gem_stolen.c drm/i915: Rename the gtt_list to global_list 2013-06-03 10:51:14 +02:00
i915_gem_tiling.c drm/i915: Increase max fence pitch limit to 256KB on IVB+ 2013-04-18 09:43:20 +02:00
i915_gem.c drm/i915: Rename the gtt_list to global_list 2013-06-03 10:51:14 +02:00
i915_ioc32.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_irq.c drm/i915: add ibx_irq_preinstall 2013-06-06 13:34:59 +02:00
i915_reg.h drm/i915: WA: FBC Render Nuke. 2013-06-07 17:56:55 +02:00
i915_suspend.c drm/i915: protect backlight registers and data with a spinlock 2013-04-25 14:10:10 +02:00
i915_sysfs.c drm/i915: change VLV IOSF sideband accessors to not return error code 2013-05-23 23:25:42 +02:00
i915_trace_points.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
i915_trace.h drm/i915: Allow DRM_ROOT_ONLY|DRM_MASTER to submit privileged batchbuffers 2012-10-17 21:06:59 +02:00
i915_ums.c drm/i915: Apply OCD to data/link m/n register #defines 2013-05-06 11:27:57 +02:00
intel_acpi.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_bios.c drm/i915: Organize VBT stuff inside drm_i915_private 2013-05-10 21:56:46 +02:00
intel_bios.h drm/i915: set CPT FDI RX polarity bits based on VBT 2013-04-18 09:43:31 +02:00
intel_crt.c drm/i915: document why dvo/sdvo/crt need a special dpms function 2013-05-31 20:54:04 +02:00
intel_ddi.c drm/i915: set default value for config->pixel_multiplier 2013-06-05 22:16:22 +02:00
intel_display.c drm/i915: Track when we dirty the scanout with render commands 2013-06-07 17:56:45 +02:00
intel_dp.c drm/i915: enable 30bpp for DP outputs 2013-06-07 10:34:01 +02:00
intel_drv.h drm/i915: Track when we dirty the scanout with render commands 2013-06-07 17:56:45 +02:00
intel_dvo.c drm/i915: document why dvo/sdvo/crt need a special dpms function 2013-05-31 20:54:04 +02:00
intel_fb.c drm/i915: s/drm_i915_private_t/struct drm_i915_private/ 2013-06-03 13:47:40 +02:00
intel_hdmi.c drm/i915: store adjusted dotclock in adjusted_mode->clock 2013-06-04 14:01:48 +02:00
intel_i2c.c drm/i915: Don't touch South Display when PCH_NOP 2013-04-08 20:53:00 +02:00
intel_lvds.c drm/i915: consolidate and tighten encoder cloning checks 2013-06-05 12:33:14 +02:00
intel_modes.c drm/i915: Add "Automatic" mode for the "Broadcast RGB" property 2013-01-20 13:09:44 +01:00
intel_opregion.c drm/i915: distinguish between error messages in DIDL initialization 2013-06-05 21:14:03 +02:00
intel_overlay.c drm/i915: avoid big kmallocs on reading error state 2013-05-23 12:59:25 +02:00
intel_panel.c drm/i915: Fix WARN_ON() on UP machines 2013-05-23 12:51:30 +02:00
intel_pm.c drm/i915: WA: FBC Render Nuke. 2013-06-07 17:56:55 +02:00
intel_ringbuffer.c drm/i915: WA: FBC Render Nuke. 2013-06-07 17:56:55 +02:00
intel_ringbuffer.h drm/i915: Track when we dirty the scanout with render commands 2013-06-07 17:56:45 +02:00
intel_sdvo_regs.h drm/i915: clear the entire sdvo infoframe buffer 2012-10-24 15:12:48 +02:00
intel_sdvo.c drm/i915: pipe config quirk infrastructure plus sdvo mode.flags fix 2013-06-06 22:35:44 +02:00
intel_sideband.c drm/i915: change VLV IOSF sideband accessors to not return error code 2013-05-23 23:25:42 +02:00
intel_sprite.c drm/i915: Disable/restore all sprite planes around modeset 2013-06-06 13:47:39 +02:00
intel_tv.c drm/i915: consolidate and tighten encoder cloning checks 2013-06-05 12:33:14 +02:00
Makefile drm/i915: group sideband register accessors to a new file 2013-05-23 23:24:03 +02:00