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.h
drm/prime: expose capability flags for userspace.
2012-05-18 11:12:16 +01: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.h
drm/edid: limit printk when facing bad edid
2012-09-17 11:16:40 +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_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
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