OpenCloudOS-Kernel/drivers/gpu/drm
Alex Dai bac427f8ab drm/i915: Prepare for GuC-based command submission
This adds the first of the data structures used to communicate with the
GuC (the pool of guc_context structures).

We create a GuC-specific wrapper round the GEM object allocator as all
GEM objects shared with the GuC must be pinned into GGTT space at an
address that is NOT in the range [0..WOPCM_TOP), as that range of GGTT
addresses is not accessible to the GuC (from the GuC's point of view,
it's permanently reserved for other objects such as the BootROM & SRAM).

Later, we will need to allocate additional GuC-sharable objects for the
submission client(s) and the GuC's debug log.

v2:
    Remove redundant initialisation [Chris Wilson]
    Defer adding struct members until needed [Chris Wilson]
    Local functions should pass dev_priv rather than dev [Chris Wilson]

v5:
    Invalidate GuC TLB after allocating and pinning a new object

v6:
    Rebased

Issue: VIZ-4884
Signed-off-by: Alex Dai <yu.dai@intel.com>
Signed-off-by: Dave Gordon <david.s.gordon@intel.com>
Reviewed-by: Tom O'Rourke <Tom.O'Rourke@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-08-14 18:16:41 +02:00
..
amd Merge tag 'drm-intel-fixes-2015-08-14' into drm-intel-next-fixes 2015-08-14 18:11:30 +02:00
armada Merge branch 'drm-armada-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-fixes 2015-07-17 10:06:04 +10:00
ast
atmel-hlcdc Merge tag 'drm-intel-fixes-2015-08-14' into drm-intel-next-fixes 2015-08-14 18:11:30 +02:00
bochs drm/bochs: disable video before changing video mode 2015-04-01 08:28:15 +10:00
bridge drm/exynos: atomic dpms support 2015-06-20 00:32:52 +09:00
cirrus
exynos drm/atomic: pass old crtc state to atomic_begin/flush. 2015-07-27 16:23:22 +02:00
gma500 drm/gma500: constify all struct drm_*_helper funcs pointers 2015-04-07 17:06:41 +02:00
i2c Merge branch 'drm-tda998x-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-08-07 04:48:46 +03:00
i810
i915 drm/i915: Prepare for GuC-based command submission 2015-08-14 18:16:41 +02:00
imx drm/imx: tve: fix media bus format for VGA output 2015-07-10 11:02:47 +02:00
mga
mgag200 Merge tag 'topic/drm-misc-2015-07-23' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-07-24 14:28:16 +10:00
msm Merge tag 'drm-intel-fixes-2015-08-14' into drm-intel-next-fixes 2015-08-14 18:11:30 +02:00
nouveau Merge tag 'drm-intel-fixes-2015-08-14' into drm-intel-next-fixes 2015-08-14 18:11:30 +02:00
omapdrm drm/omap: replace ALIGN(PAGE_SIZE) by PAGE_ALIGN 2015-07-02 15:58:07 +03:00
panel drm/panel: simple: Add bus format for HannStar HSD100PXN1 2015-06-12 16:40:42 +02:00
qxl drm/qxl: Propagate correctly errors from qxlhw_handle_to_bo 2015-06-05 11:00:52 +10:00
r128
radeon Merge tag 'drm-intel-fixes-2015-08-14' into drm-intel-next-fixes 2015-08-14 18:11:30 +02:00
rcar-du drm/atomic: pass old crtc state to atomic_begin/flush. 2015-07-27 16:23:22 +02:00
rockchip Merge branch 'drm-rockchip-2015-07-13' of https://github.com/markyzq/kernel-drm-rockchip into drm-fixes 2015-07-17 10:25:02 +10:00
savage
shmobile drm: Simplify drm_for_each_legacy_plane arguments 2015-07-22 16:25:45 +02:00
sis
sti drm/atomic: pass old crtc state to atomic_begin/flush. 2015-07-27 16:23:22 +02:00
tdfx
tegra drm: Make the connector dpms callback return a value, v2. 2015-07-27 16:23:28 +02:00
tilcdc drm/tilcdc: Add DRM_TILCDC_SLAVE_COMPAT for ti,tilcdc,slave binding support 2015-05-27 13:13:33 +03:00
ttm drm/ttm: recognize ARM64 arch in ioprot handler 2015-07-24 11:51:14 +10:00
udl dma-buf: cleanup dma_buf_export() to make it easily extensible 2015-04-21 14:47:16 +05:30
vgem drm/vgem: Set unique to "vgem" 2015-06-24 11:20:46 +10:00
via
virtio virtio-gpu: add locking for vbuf pool 2015-06-16 11:22:41 +02:00
vmwgfx drm: Make the connector dpms callback return a value, v2. 2015-07-27 16:23:28 +02:00
Kconfig drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
Makefile drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic.c Merge tag 'topic/connector-locking-2015-07-23' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-07-24 14:30:29 +10:00
drm_atomic_helper.c Merge tag 'drm-intel-fixes-2015-08-14' into drm-intel-next-fixes 2015-08-14 18:11:30 +02:00
drm_auth.c drm: simplify authentication management 2015-05-05 09:45:57 +02:00
drm_bridge.c drm/DocBook: Add more drm_bridge documentation 2015-05-21 13:56:51 +02:00
drm_bufs.c
drm_cache.c drm: Avoid the double clflush on the last cache line in drm_clflush_virt_range() 2015-06-19 17:25:17 +02:00
drm_context.c drm: Convert drm_legacy_ctxbitmap_init to void return type 2015-07-02 17:00:48 +02:00
drm_crtc.c Merge tag 'drm-intel-fixes-2015-08-14' into drm-intel-next-fixes 2015-08-14 18:11:30 +02:00
drm_crtc_helper.c drm: Make the connector dpms callback return a value, v2. 2015-07-27 16:23:28 +02:00
drm_crtc_internal.h
drm_debugfs.c
drm_dma.c
drm_dp_helper.c drm: Fix for DP CTS test 4.2.2.5 - I2C DEFER handling 2015-04-20 09:29:41 -07:00
drm_dp_mst_topology.c drm/dp-mst: Remove debug WARN_ON 2015-08-04 11:10:16 +02:00
drm_drv.c Merge tag 'topic/connector-locking-2015-07-23' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-07-24 14:30:29 +10:00
drm_edid.c drm: Roll out drm_for_each_connector more 2015-07-22 16:25:47 +02:00
drm_edid_load.c drm: Add edid_corrupt flag for Displayport Link CTS 4.2.2.6 2015-05-08 13:03:46 +02:00
drm_encoder_slave.c
drm_fb_cma_helper.c drm: Roll out drm_for_each_{plane,crtc,encoder} 2015-07-22 17:29:37 +02:00
drm_fb_helper.c Merge tag 'topic/connector-locking-2015-07-23' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-07-24 14:30:29 +10:00
drm_flip_work.c drm/core: get rid of -Iinclude/drm 2015-05-13 11:28:22 +02:00
drm_fops.c drm/mode: Add user blob-creation ioctl 2015-05-22 16:18:28 +02:00
drm_gem.c drm/gem: rip out drm vma accounting for gem mmaps 2015-07-14 12:18:45 +02:00
drm_gem_cma_helper.c drm/cma-helper: Fix locking in drm_fb_cma_debugfs_show 2015-07-22 17:29:24 +02:00
drm_global.c
drm_hashtab.c
drm_info.c
drm_internal.h drm: simplify authentication management 2015-05-05 09:45:57 +02:00
drm_ioc32.c Merge tag 'topic/drm-misc-2015-07-23' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-07-24 14:28:16 +10:00
drm_ioctl.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2015-06-26 13:18:51 -07:00
drm_irq.c Merge tag 'drm-intel-fixes-2015-08-14' into drm-intel-next-fixes 2015-08-14 18:11:30 +02:00
drm_legacy.h drm: Convert drm_legacy_ctxbitmap_init to void return type 2015-07-02 17:00:48 +02:00
drm_lock.c drm: Reject DRI1 hw lock ioctl functions for kms drivers 2015-07-02 17:00:48 +02:00
drm_memory.c
drm_mipi_dsi.c
drm_mm.c drm: clean up drm_mm debugfs output 2015-05-29 09:17:57 +10:00
drm_modes.c drm/mode: Unstatic kernel-userspace mode conversion 2015-05-22 16:18:21 +02:00
drm_modeset_lock.c drm: Roll out drm_for_each_{plane,crtc,encoder} 2015-07-22 17:29:37 +02:00
drm_of.c drm: Add modeset object iterators 2015-07-22 16:25:45 +02:00
drm_panel.c
drm_pci.c
drm_plane_helper.c drm/atomic: pass old crtc state to atomic_begin/flush. 2015-07-27 16:23:22 +02:00
drm_platform.c
drm_prime.c drm: prime: Document gem_prime_mmap 2015-06-19 17:50:05 +02:00
drm_probe_helper.c drm/probe-helper: Grab mode_config.mutex in poll_init/enable 2015-07-22 16:25:45 +02:00
drm_rect.c
drm_scatter.c
drm_sysfs.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2015-06-26 13:18:51 -07:00
drm_trace.h tracing/drm: Remove unused TRACE_SYSTEM_STRING define 2015-04-07 12:29:23 -04:00
drm_trace_points.c
drm_vm.c
drm_vma_manager.c