linux/include/drm
Chris Wilson 9da3da660d drm/i915: Replace the array of pages with a scatterlist
Rather than have multiple data structures for describing our page layout
in conjunction with the array of pages, we can migrate all users over to
a scatterlist.

One major advantage, other than unifying the page tracking structures,
this offers is that we replace the vmalloc'ed array (which can be up to
a megabyte in size) with a chain of individual pages which helps reduce
memory pressure.

The disadvantage is that we then do not have a simple array to iterate,
or to access randomly. The common case for this is in the relocation
processing, which will typically fit within a single scatterlist page
and so be almost the same cost as the simple array. For iterating over
the array, the extra function call could be optimised away, but in
reality is an insignificant cost of either binding the pages, or
performing the pwrite/pread.

v2: Fix drm_clflush_sg() to not invoke wbinvd as well! And fix the
trivial compile error from rebasing.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-09-20 14:22:57 +02:00
..
i2c drm: Import driver for the sil164 I2C TMDS transmitter. 2010-08-02 10:21:13 +10:00
ttm drm/ttm: remove stale declaration and field 2012-07-24 15:30:36 +10:00
drm_buffer.h drm: Add generic multipart buffer. 2010-02-23 09:46:20 +10:00
drm_cache.h drm/ttm: consolidate cache flushing code in one place. 2009-08-27 09:53:47 +10:00
drm_core.h drm: Fix support for PCI domains 2010-08-10 08:20:20 +10:00
drm_crtc_helper.h drm: Make the .mode_fixup() operations mode argument a const pointer 2012-07-19 21:52:38 -04:00
drm_crtc.h drm/edid: limit printk when facing bad edid 2012-09-17 11:16:40 +10:00
drm_dp_helper.h drm/dp: Add DPCD defines for register 0x007 2012-05-22 10:18:36 +01:00
drm_edid.h drm/edid: Add packed attribute to new gtf2 and cvt structs 2012-04-23 17:41:17 +01:00
drm_encoder_slave.h drm: Make the .mode_fixup() operations mode argument a const pointer 2012-07-19 21:52:38 -04:00
drm_fb_cma_helper.h DRM: Add DRM KMS/FB CMA helper 2012-09-18 12:28:21 +02:00
drm_fb_helper.h drm fb helper: remove unused variable crtc_id 2012-02-03 09:55:52 +00:00
drm_fixed.h drm: fixed: Add dfixed_frac 2012-04-27 09:29:35 +01:00
drm_fourcc.h drm: Add NV24 and NV42 pixel formats 2012-09-18 12:28:21 +02:00
drm_gem_cma_helper.h DRM: Add DRM GEM CMA helper 2012-09-18 12:28:21 +02:00
drm_global.h drm: move ttm global code to core drm 2010-08-04 09:46:06 +10:00
drm_hashtab.h drm: Remove unused members from struct drm_open_hash 2011-02-23 11:16:40 +10:00
drm_mem_util.h introduce SIZE_MAX 2012-05-31 17:49:26 -07:00
drm_memory.h includecheck fix: include/drm, drm_memory.h 2009-09-20 16:02:58 +05:30
drm_mm.h drm: Add colouring to the range allocator 2012-07-16 05:59:37 +10:00
drm_mode.h drm: add bitmask property type 2012-05-22 10:54:16 +01:00
drm_os_linux.h drm/i915: add i915_lp_ring_sync helper 2009-11-05 14:47:07 -08:00
drm_pciids.h drm/radeon: add some new SI pci ids 2012-08-13 10:50:53 -04:00
drm_sarea.h drm: Define SAREA_MAX for Loongson (PageSize = 16KB). 2012-08-24 09:41:10 +10:00
drm_sysfs.h drm: Enable drm drivers to add drm sysfs devices. 2009-08-19 16:08:51 +10:00
drm_usb.h drm: add usb framework 2011-02-07 13:09:42 +10:00
drm.h drm/prime: expose capability flags for userspace. 2012-05-18 11:12:16 +01:00
drmP.h drm/i915: Replace the array of pages with a scatterlist 2012-09-20 14:22:57 +02:00
exynos_drm.h drm/exynos: add property for plane zpos 2012-07-27 11:13:54 +09:00
gma_drm.h gma500: fix ioctl confict 2012-03-10 13:06:04 +00:00
i810_drm.h
i915_drm.h drm/i915: placeholder getparam 2012-09-20 14:22:55 +02:00
intel-gtt.h drm/i915: Replace the array of pages with a scatterlist 2012-09-20 14:22:57 +02:00
Kbuild drm/exynos: exynos_drm.h header file fixes 2012-02-15 10:29:12 +09:00
mga_drm.h Fix common misspellings 2011-03-31 11:26:23 -03:00
nouveau_drm.h drm/nouveau: mark most of our ioctls as deprecated, move to compat layer 2012-07-26 10:28:15 +10:00
r128_drm.h
radeon_drm.h drm/radeon/kms: implement timestamp userspace query (v2) 2012-08-13 10:50:56 -04:00
savage_drm.h Fix common misspellings 2011-03-31 11:26:23 -03:00
sis_drm.h drm/sis: fixup sis_mm ioctl structs 2012-07-19 22:51:58 -04:00
via_drm.h drm/via: track obj->drm_fd relations in the driver 2011-12-22 00:33:19 +01:00
vmwgfx_drm.h vmwgfx: Reinstate the update_layout ioctl 2011-11-02 08:30:31 +00:00