linux/drivers/gpu/drm/i915
Ben Widawsky c0c7babc48 drm/i915: add register read IOCTL
The interface's immediate purpose is to do synchronous timestamp queries
as required by GL_TIMESTAMP. The GPU has a register for reading the
timestamp but because that would normally require root access through
libpciaccess, the IOCTL can provide this service instead.

Currently the implementation whitelists only the render ring timestamp
register, because that is the only thing we need to expose at this time.

v2: make size implicit based on the register offset
Add a generation check

Reviewed-by: Eric Anholt <eric@anholt.net>
Cc: Jacek Lawrynowicz <jacek.lawrynowicz@intel.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
[danvet: fixup the ioctl numerb:]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-07-25 18:23:49 +02:00
..
dvo_ch7xxx.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ch7017.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ivch.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ns2501.c drm/i915: Support for ns2501-DVO 2012-07-25 18:23:48 +02:00
dvo_sil164.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_tfp410.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo.h drm/i915: Support for ns2501-DVO 2012-07-25 18:23:48 +02:00
i915_debugfs.c drm/i915: Add comments to explain the BSD tail write workaround 2012-07-20 12:21:37 +02:00
i915_dma.c drm/i915: add register read IOCTL 2012-07-25 18:23:49 +02:00
i915_drv.c drm/i915: add register read IOCTL 2012-07-25 18:23:49 +02:00
i915_drv.h drm/i915: add register read IOCTL 2012-07-25 18:23:49 +02:00
i915_gem_context.c drm/i915: Cleanup context switching through do_switch() 2012-07-25 18:23:45 +02:00
i915_gem_debug.c drm/i915: stop using dev->agp->base 2012-06-12 22:18:06 +02:00
i915_gem_dmabuf.c i915: add dma-buf vmap support for exporting vmapped buffer 2012-05-31 14:13:57 +01:00
i915_gem_evict.c drm: Add colouring to the range allocator 2012-07-16 05:59:37 +10:00
i915_gem_execbuffer.c drm/i915: Set the context before setting up regs for the context. 2012-07-25 10:39:59 +02:00
i915_gem_gtt.c i915: add dmabuf/prime buffer sharing support. 2012-05-23 10:47:10 +01:00
i915_gem_stolen.c drm/i915: Split the stolen handling for GEM out of i915_dma.c 2012-05-03 11:18:11 +02:00
i915_gem_tiling.c drm/i915: Only the zap the VMA after updating the tiling parameters 2012-05-03 11:18:07 +02:00
i915_gem.c drm/i915: Add -EIO to the list of known errors for __wait_seqno 2012-07-25 10:39:57 +02:00
i915_ioc32.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
i915_irq.c drm/i915: Add comments to explain the BSD tail write workaround 2012-07-20 12:21:37 +02:00
i915_reg.h drm/i915: add register read IOCTL 2012-07-25 18:23:49 +02:00
i915_suspend.c drm/i915: wrap up gt powersave enabling functions 2012-06-25 21:07:03 +02:00
i915_sysfs.c drm/i915: simplify sysfs setup code 2012-06-01 10:00:57 +02:00
i915_trace_points.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
i915_trace.h drm/i915: improve i915_wait_request_begin trace 2012-05-25 09:55:15 +02:00
intel_acpi.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
intel_bios.c drm/i915/bios: cleanup return type of intel_parse_bios() 2012-06-27 10:17:51 +01:00
intel_bios.h drm/i915/bios: cleanup return type of intel_parse_bios() 2012-06-27 10:17:51 +01:00
intel_crt.c drm/i915: simplify possible_clones computation 2012-07-25 18:23:46 +02:00
intel_ddi.c drm/i915: add port parameter to intel_hdmi_init 2012-07-25 18:23:47 +02:00
intel_display.c drm/i915: Support for ns2501-DVO 2012-07-25 18:23:48 +02:00
intel_dp.c drm/i915: add port field to struct intel_dp and use it 2012-07-25 18:23:48 +02:00
intel_drv.h drm/i915: add port field to struct intel_dp and use it 2012-07-25 18:23:48 +02:00
intel_dvo.c drm/i915: Support for ns2501-DVO 2012-07-25 18:23:48 +02:00
intel_fb.c drm/i915: Zero initialize mode_cmd 2012-07-05 13:27:58 +02:00
intel_hdmi.c drm/i915: add port parameter to intel_hdmi_init 2012-07-25 18:23:47 +02:00
intel_i2c.c drm/i915: be more careful when returning -ENXIO in gmbus transfer 2012-05-21 21:04:21 +02:00
intel_lvds.c drm/i915: simplify possible_clones computation 2012-07-25 18:23:46 +02:00
intel_modes.c drm/i915: kill intel_ddc_probe 2012-07-20 12:21:39 +02:00
intel_opregion.c drm/i915: [sparse] __iomem fixes for opregion 2012-05-03 11:18:00 +02:00
intel_overlay.c drm/i915: s/i915_wait_request/i915_wait_seqno/g 2012-05-25 14:18:42 +02:00
intel_panel.c drm/i915: don't forget the PCH backlight registers 2012-07-20 12:21:41 +02:00
intel_pm.c drm/i915: initialize power wells in modeset_init_hw 2012-07-20 12:21:36 +02:00
intel_ringbuffer.c drm/i915: missing error case in init status page 2012-07-20 12:21:40 +02:00
intel_ringbuffer.h drm/i915: disable flushing_list/gpu_write_list 2012-06-20 13:54:28 +02:00
intel_sdvo_regs.h drm/i915: properly handle interlaced bit for sdvo dtd conversion 2012-05-24 17:53:52 +02:00
intel_sdvo.c drm/i915: simplify possible_clones computation 2012-07-25 18:23:46 +02:00
intel_sprite.c drm/i915: mask tiled bit when updating ILK sprites 2012-07-20 12:21:40 +02:00
intel_tv.c drm/i915: simplify possible_clones computation 2012-07-25 18:23:46 +02:00
Makefile drm/i915: Support for ns2501-DVO 2012-07-25 18:23:48 +02:00