OpenCloudOS-Kernel/drivers/gpu/drm/i915
Chris Wilson e28f871165 drm/i915: Fix unfenced alignment on pre-G33 hardware
Align unfenced buffers on older hardware to the power-of-two object
size.  The docs suggest that it should be possible to align only to a
power-of-two tile height, but using the already computed fence size is
easier and always correct. We also have to make sure that we unbind
misaligned buffers upon tiling changes.

In order to prevent a repetition of this bug, we change the interface
to the alignment computation routines to force the caller to provide
the requested alignment and size of the GTT binding rather than assume
the current values on the object.

Reported-and-tested-by: Sitosfe Wheeler <sitsofe@yahoo.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36326
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: stable@kernel.org
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Keith Packard <keithp@keithp.com>
2011-07-18 14:02:06 -07:00
..
Makefile drm/i915: Split i915_gem_execbuffer into its own file. 2010-11-25 21:19:25 +00:00
dvo.h drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
dvo_ch7xxx.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo_ch7017.c drm/i915/dvo: Report LVDS attached to ch701x as connected 2010-12-30 13:50:43 +00:00
dvo_ivch.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo_sil164.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
dvo_tfp410.c drm/i915: use GMBUS to manage i2c links 2010-09-18 15:46:19 +01:00
i915_debugfs.c drm/i915: Don't call describe_obj on NULL pointers 2011-06-29 13:05:52 -07:00
i915_dma.c drm/i915: Clean up i915_driver_load failure path 2011-07-12 08:47:47 -07:00
i915_drv.c Revert "drm/i915: enable rc6 by default" 2011-07-12 08:49:31 -07:00
i915_drv.h drm/i915: Fix unfenced alignment on pre-G33 hardware 2011-07-18 14:02:06 -07:00
i915_gem.c drm/i915: Fix unfenced alignment on pre-G33 hardware 2011-07-18 14:02:06 -07:00
i915_gem_debug.c drm/i915: Refine tracepoints 2011-02-07 14:59:18 +00:00
i915_gem_evict.c drm/i915: Refine tracepoints 2011-02-07 14:59:18 +00:00
i915_gem_execbuffer.c Revert "drm/i915: Kill GTT mappings when moving from GTT domain" 2011-06-21 11:11:02 -07:00
i915_gem_gtt.c drm/i915: Rename agp_type to cache_level 2011-05-10 13:56:43 -07:00
i915_gem_tiling.c drm/i915: Fix unfenced alignment on pre-G33 hardware 2011-07-18 14:02:06 -07:00
i915_ioc32.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
i915_irq.c drm/i915: apply HWSTAM writes to Ivy Bridge as well 2011-07-01 13:28:53 -07:00
i915_mem.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
i915_reg.h drm/i915: Apply HWSTAM workaround for BSD ring on SandyBridge 2011-06-21 10:57:23 -07:00
i915_suspend.c drm/i915: Hold struct_mutex during i915_save_state/i915_restore_state 2011-06-29 11:20:45 -07:00
i915_trace.h drm/i915: Refine tracepoints 2011-02-07 14:59:18 +00:00
i915_trace_points.c drm/i915: Add tracepoints 2009-09-23 01:05:21 +01:00
intel_acpi.c drm/i915: i915 cannot provide switcher services. 2010-12-08 15:40:44 +10:00
intel_bios.c drm: Verify debug message arguments 2011-04-28 14:53:21 +10:00
intel_bios.h Revert "drm/i915: Disable SSC for outputs other than LVDS or DP" 2011-02-22 15:55:28 +00:00
intel_crt.c drm/i915/crt: Explicitly return false if connected to a digital monitor 2011-06-04 10:41:06 -07:00
intel_display.c drm/i915: Add quirk to disable SSC on Lenovo U160 LVDS 2011-07-13 23:53:41 -07:00
intel_dp.c drm/i915/dp: manage sink power state if possible 2011-07-07 13:38:54 -07:00
intel_drv.h drm/i915: Share the common force-audio property between connectors 2011-06-04 10:41:25 -07:00
intel_dvo.c drm/i915: cleanup per-pipe reg usage 2011-02-07 21:17:15 +00:00
intel_fb.c drm/i915: restore only the mode of this driver on lastclose (v2) 2011-04-27 17:51:59 +10:00
intel_hdmi.c drm/i915: Share the common force-audio property between connectors 2011-06-04 10:41:25 -07:00
intel_i2c.c Revert "drm/i915: Enable GMBUS for post-gen2 chipsets" 2011-06-17 09:22:01 +10:00
intel_lvds.c drm/i915: Add a no lvds quirk for the Asus EeeBox PC EB1007 2011-06-04 10:48:45 -07:00
intel_modes.c drm/i915: Share the common force-audio property between connectors 2011-06-04 10:41:25 -07:00
intel_opregion.c drm/i915: Use a symbolic constant for OpRegion lid state 2011-02-24 18:13:42 +00:00
intel_overlay.c drm/i915/overlay: Fix unpinning along init error paths 2011-06-29 19:09:13 -07:00
intel_panel.c Merge commit '5359533801e3dd3abca5b7d3d985b0b33fd9fe8b' into drm-core-next 2011-03-16 11:34:41 +10:00
intel_ringbuffer.c drm/i915: clean up unused ring_get_irq/ring_put_irq functions 2011-05-16 12:54:16 -07:00
intel_ringbuffer.h drm/i915/ringbuffer: Idling requires waiting for the ring to be empty 2011-07-12 10:35:45 -07:00
intel_sdvo.c drm/i915: Share the common force-audio property between connectors 2011-06-04 10:41:25 -07:00
intel_sdvo_regs.h Fix common misspellings 2011-03-31 11:26:23 -03:00
intel_tv.c drm/i915: Don't store temporary load-detect variables in the generic encoder 2011-05-10 13:19:15 -07:00