linux/drivers/gpu/drm
Chris Wilson 7f5f95d8ac drm/i915: Move whole object to CPU domain for coherent shmem access
If the object is coherent, we can simply update the cache domain on the
whole object rather than calculate the before/after clflushes. The
advantage is that we then get correct tracking of ellided flushes when
changing coherency later.

Testcase: igt/gem_pwrite_snooped
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170310000942.11661-1-chris@chris-wilson.co.uk
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2017-03-13 11:16:09 +00:00
..
amd Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
arc drm: remove drm_vblank_no_hw_counter assignment from driver code 2017-02-07 21:43:55 +01:00
arm drm: Constify drm_mode_config atomic helper private pointer 2017-02-12 12:05:23 +01:00
armada Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
ast Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
atmel-hlcdc drm/atmel-hlcdc: Simplify the HLCDC layer logic 2017-02-28 11:57:56 +01:00
bochs drm/fb-helper: Automatically clean up fb_info 2017-02-07 21:36:28 +01:00
bridge drm/bridge/sii8620: add missing error handling in probe 2017-02-23 11:06:11 -05:00
cirrus drm/fb-helper: Automatically clean up fb_info 2017-02-07 21:36:28 +01:00
etnaviv sched/headers: Prepare to move the get_task_struct()/put_task_struct() and related APIs from <linux/sched.h> to <linux/sched/task.h> 2017-03-02 08:42:40 +01:00
exynos Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
fsl-dcu Merge airlied/drm-next into drm-misc-next 2017-02-26 21:34:42 +01:00
gma500 Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
hisilicon drm: kirin: use vblank hooks in struct drm_crtc_funcs 2017-02-21 11:17:45 -05:00
i2c
i810 drm/i810: drop device_is_agp callback 2017-01-26 10:44:43 +01:00
i915 drm/i915: Move whole object to CPU domain for coherent shmem access 2017-03-13 11:16:09 +00:00
imx Merge airlied/drm-next into drm-misc-next 2017-02-26 21:34:42 +01:00
lib
mediatek drm: mediatek: use vblank hooks in struct drm_crtc_funcs 2017-02-21 11:17:54 -05:00
meson drm: meson: use vblank hooks in struct drm_crtc_funcs 2017-02-09 16:08:09 +08:00
mga lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
mgag200 gpu: drm: drivers: Convert printk(KERN_<LEVEL> to pr_<level> 2017-03-01 09:44:11 +01:00
msm Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
mxsfb drm: remove drm_vblank_no_hw_counter assignment from driver code 2017-02-07 21:43:55 +01:00
nouveau Merge branch 'linux-4.12' of git://github.com/skeggsb/linux into drm-next 2017-03-08 12:54:58 +10:00
omapdrm Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
panel drm/panel: simple: Specify bus width and flags for EDT displays 2017-01-26 10:57:18 +01:00
qxl Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
r128 gpu: drm: drivers: Convert printk(KERN_<LEVEL> to pr_<level> 2017-03-01 09:44:11 +01:00
radeon Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
rcar-du drm: rcar-du: use vblank hooks in struct drm_crtc_funcs 2017-02-09 16:08:44 +08:00
rockchip Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
savage
selftests drm: kselftest: fix spelling mistake: "misalinged" -> "misaligned" 2017-02-26 22:54:47 +01:00
shmobile drm: shmobile: use vblank hooks in struct drm_crtc_funcs 2017-02-09 16:10:16 +08:00
sis drm: Improve drm_mm search (and fix topdown allocation) with rbtrees 2017-02-03 11:10:32 +01:00
sti drm: sti: make driver use devm_of_platform_populate() 2017-02-27 17:20:29 +01:00
sun4i drm: sun4i: use vblank hooks in struct drm_crtc_funcs 2017-02-09 16:10:52 +08:00
tdfx
tegra Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
tilcdc drm: tilcdc: use vblank hooks in struct drm_crtc_funcs 2017-02-09 16:12:01 +08:00
tinydrm Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
ttm Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
udl Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
vc4 Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
vgem Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-03-02 15:20:00 -08:00
via drm/via: use get_user_pages_unlocked() 2017-02-28 10:00:50 +01:00
virtio Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
vmwgfx Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
zte Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
ati_pcigart.c
drm_agpsupport.c drm/i810: drop device_is_agp callback 2017-01-26 10:44:43 +01:00
drm_atomic_helper.c drm: Rename connector list iterator API 2017-02-28 16:16:48 +01:00
drm_atomic.c drm: Rename connector list iterator API 2017-02-28 16:16:48 +01:00
drm_auth.c drm/core: Use recommened kerneldoc for struct member refs 2017-01-25 16:22:42 +01:00
drm_blend.c drm/kms-core: Use recommened kerneldoc for struct member refs 2017-01-25 16:30:34 +01:00
drm_bridge.c
drm_bufs.c
drm_cache.c gpu: drm: core: Convert printk(KERN_<LEVEL> to pr_<level> 2017-02-28 14:32:19 +01:00
drm_color_mgmt.c drm/color: un-inline drm_color_lut_extract() 2017-01-31 15:31:58 +02:00
drm_connector.c drm: Rename connector list iterator API 2017-02-28 16:16:48 +01:00
drm_context.c
drm_crtc_helper_internal.h
drm_crtc_helper.c drm: Rename connector list iterator API 2017-02-28 16:16:48 +01:00
drm_crtc_internal.h drm: Rename drm_mode_object_get() 2017-02-28 16:14:53 +01:00
drm_crtc.c drm: Introduce drm_framebuffer_{get,put}() 2017-02-28 16:15:03 +01:00
drm_debugfs_crc.c
drm_debugfs.c drm: add drm_get_connector_force_name 2017-02-28 12:17:08 +02:00
drm_dma.c
drm_dp_aux_dev.c
drm_dp_dual_mode_helper.c drm: Add name for DRM_DP_DUAL_MODE_LSPCON 2017-02-23 11:06:12 -05:00
drm_dp_helper.c drm/kms-helpers: Use recommened kerneldoc for struct member refs 2017-01-25 16:18:57 +01:00
drm_dp_mst_topology.c Less anger inducing pull request for 4.11 2017-02-23 18:58:18 -08:00
drm_drv.c Linux 4.10-rc8 2017-02-23 12:10:12 +10:00
drm_dumb_buffers.c drm/kms-core: Use recommened kerneldoc for struct member refs 2017-01-25 16:30:34 +01:00
drm_edid_load.c drm: move edid property update and add modes out of edid firmware loader 2017-02-21 15:41:24 +02:00
drm_edid.c gpu: drm: core: Convert printk(KERN_<LEVEL> to pr_<level> 2017-02-28 14:32:19 +01:00
drm_encoder_slave.c drm/kms-core: Use recommened kerneldoc for struct member refs 2017-01-25 16:30:34 +01:00
drm_encoder.c drm: Rename connector list iterator API 2017-02-28 16:16:48 +01:00
drm_fb_cma_helper.c drm: Update drm_fbdev_cma_init documentation 2017-03-01 23:52:35 +01:00
drm_fb_helper.c drm/fb-helper: implement ioctl FBIO_WAITFORVSYNC 2017-03-02 08:12:15 +01:00
drm_flip_work.c
drm_fops.c drm/core: Use recommened kerneldoc for struct member refs 2017-01-25 16:22:42 +01:00
drm_fourcc.c
drm_framebuffer.c drm: Introduce drm_framebuffer_{get,put}() 2017-02-28 16:15:03 +01:00
drm_gem_cma_helper.c Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
drm_gem.c drm: Introduce drm_gem_object_{get,put}() 2017-02-28 16:16:43 +01:00
drm_global.c
drm_hashtab.c
drm_info.c
drm_internal.h drm: remove device_is_agp callback 2017-01-26 10:45:14 +01:00
drm_ioc32.c gpu: drm: core: Convert printk(KERN_<LEVEL> to pr_<level> 2017-02-28 14:32:19 +01:00
drm_ioctl.c
drm_irq.c drm: unexport function drm_vblank_no_hw_counter() 2017-02-07 21:45:02 +01:00
drm_kms_helper_common.c
drm_legacy.h
drm_lock.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h> 2017-03-02 08:42:29 +01:00
drm_memory.c
drm_mipi_dsi.c
drm_mm.c drm: Micro-optimise drm_mm_for_each_node_in_range() 2017-02-06 16:57:37 +01:00
drm_mode_config.c drm: Rename connector list iterator API 2017-02-28 16:16:48 +01:00
drm_mode_object.c Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
drm_modes.c drm: Rename drm_mode_object_get() 2017-02-28 16:14:53 +01:00
drm_modeset_helper.c
drm_modeset_lock.c drm/kms-core: Use recommened kerneldoc for struct member refs 2017-01-25 16:30:34 +01:00
drm_of.c
drm_panel.c
drm_pci.c drm: remove device_is_agp callback 2017-01-26 10:45:14 +01:00
drm_plane_helper.c drm: Rename connector list iterator API 2017-02-28 16:16:48 +01:00
drm_plane.c drm: Introduce drm_framebuffer_{get,put}() 2017-02-28 16:15:03 +01:00
drm_platform.c drm/core: Use recommened kerneldoc for struct member refs 2017-01-25 16:22:42 +01:00
drm_prime.c drm: Introduce drm_gem_object_{get,put}() 2017-02-28 16:16:43 +01:00
drm_print.c drm: drm_printer: add __printf validation 2017-02-26 21:43:08 +01:00
drm_probe_helper.c Merge tag 'drm-misc-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-03-07 13:59:53 +10:00
drm_property.c drm: Introduce drm_property_blob_{get,put}() 2017-02-28 16:16:46 +01:00
drm_rect.c
drm_scatter.c
drm_simple_kms_helper.c
drm_sysfs.c drm/core: Use recommened kerneldoc for struct member refs 2017-01-25 16:22:42 +01:00
drm_trace_points.c
drm_trace.h
drm_vm.c drm: remove unnecessary fault wrappers 2017-02-24 17:46:55 -08:00
drm_vma_manager.c drm: Improve drm_mm search (and fix topdown allocation) with rbtrees 2017-02-03 11:10:32 +01:00
Kconfig drm/fb-helper: Add multi buffer support for cma fbdev 2017-02-26 22:11:37 +01:00
Makefile drm: Add DRM support for tiny LCD displays 2017-02-18 18:04:58 +01:00