linux/drivers/gpu/drm/radeon
Dave Airlie edbaae5a5c Merge tag 'topic/vblank-rework-2014-09-12' of git://anongit.freedesktop.org/drm-intel into drm-next
So updated vblank-rework pull request, now with the polish that Mario
requested applied (and reviewed by him). Also with backmerge like you've
requested for easier merging.

The neat thing this finally allows is to immediately disable the vblank
interrupt on the last drm_vblank_put if the hardware has perfectly
accurate vblank counter and timestamp readout support. On i915 that
required piles of small adjustements from Ville since depending upon the
platform and port the vblank happens at different scanout lines.

Of course this is fully opt-in and per-device (we need that since gen2
doesn't have a hw vblank counter).

* tag 'topic/vblank-rework-2014-09-12' of git://anongit.freedesktop.org/drm-intel: (22 commits)
  drm: Clarify vblank ts/scanoutpos sampling #defines
  drm: Simplify return value of drm_get_last_vbltimestamp
  drm: Only update final vblank count when precise ts is available
  drm: Really never disable vblank irqs for offdelay==0
  drm: Use vblank_disable_and_save in drm_vblank_cleanup()
  drm: Remove drm_vblank_cleanup from drm_vblank_init error path.
  drm: Store the vblank timestamp when adjusting the counter during disable
  drm: Fix confusing debug message in drm_update_vblank_count()
  drm/i915: Update scanline_offset only for active crtcs
  drm: Kick start vblank interrupts at drm_vblank_on()
  drm/i915: Opt out of vblank disable timer on >gen2
  drm: Add dev->vblank_disable_immediate flag
  drm: Disable vblank interrupt immediately when drm_vblank_offdelay<0
  drm: Fix race between drm_vblank_off() and drm_queue_vblank_event()
  drm: Fix deadlock between event_lock and vbl_lock/vblank_time_lock
  drm: Reduce the amount of dev->vblank[crtc] in the code
  drm: Avoid random vblank counter jumps if the hardware counter has been reset
  drm: Have the vblank counter account for the time between vblank irq disable and drm_vblank_off()
  drm: Move drm_update_vblank_count()
  drm: Don't clear vblank timestamps when vblank interrupt is disabled
  ...
2014-09-12 19:04:53 +10:00
..
reg_srcs drm/radeon: allow geom rings to be setup on r600/r700 (v2) 2014-02-06 12:13:52 +10:00
.gitignore
atom-bits.h
atom-names.h
atom-types.h
atom.c drm/radeon/atom: initialize more atom interpretor elements to 0 2013-07-30 17:24:12 -04:00
atom.h
atombios_crtc.c drm/radeon: Prevent too early kms-pageflips triggered by vblank. 2014-07-17 09:01:31 -04:00
atombios_dp.c drm/radeon/dp: return -EIO for flags not zero case 2014-07-10 17:01:28 -04:00
atombios_encoders.c drm/radeon: use a fetch function to get the edid 2014-08-05 08:53:30 -04:00
atombios_i2c.c drm/radeon: add a i2c bus mutex 2014-06-02 10:25:02 -04:00
atombios.h drm/radeon: atombios.h updates for hawaii 2013-11-08 12:33:45 -05:00
avivod.h
btc_dpm.c drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
btc_dpm.h drm/radeon/dpm: fetch the max clk from voltage dep tables helper 2013-09-23 10:29:51 -04:00
btcd.h drm/radeon/dpm: use the driver state for dpm debugfs 2014-02-06 12:22:46 -05:00
cayman_blit_shaders.c drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
cayman_blit_shaders.h
ci_dpm.c drm/radeon: Add missing lines to ci_set_thermal_temperature_range 2014-08-15 00:58:18 -04:00
ci_dpm.h drm/radeon/dpm: track uvd gated state for ci 2013-08-30 16:31:06 -04:00
ci_smc.c drm/radeon/cik: Add support for new ucode format (v5) 2014-08-05 08:53:24 -04:00
cik_blit_shaders.c drm/radeon: Add CP init for CIK (v7) 2013-06-25 17:50:28 -04:00
cik_blit_shaders.h drm/radeon: Add CP init for CIK (v7) 2013-06-25 17:50:28 -04:00
cik_reg.h drm/radeon: add indirect accessors for dift registers on CIK 2013-08-30 16:30:09 -04:00
cik_sdma.c drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
cik.c drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
cikd.h drm/radeon/cik: fix typo in EOP packet 2014-07-02 14:10:19 -04:00
clearstate_cayman.h drm/radeon: use NULL instead of zero in clearstate headers 2014-06-02 10:25:07 -04:00
clearstate_ci.h drm/radeon: use NULL instead of zero in clearstate headers 2014-06-02 10:25:07 -04:00
clearstate_defs.h drm/radeon: properly set up the RLC on ON/LN/TN (v3) 2013-06-27 10:49:18 -04:00
clearstate_evergreen.h drm/radeon: convert SI,CIK to use sumo_rlc functions 2013-08-30 16:30:08 -04:00
clearstate_si.h drm/radeon: use NULL instead of zero in clearstate headers 2014-06-02 10:25:07 -04:00
cypress_dpm.c drm/radeon/dpm: fix typo in vddci setup for eg/btc 2014-07-01 12:15:17 -04:00
cypress_dpm.h drm/radeon/dpm: add pre/post_set_power_state callback (BTC) 2013-06-27 19:16:19 -04:00
dce3_1_afmt.c drm/radeon/hdmi: use separated file for DCE 3.1/3.2 code 2014-06-02 10:25:04 -04:00
dce6_afmt.c drm/radeon: use a fetch function to get the edid 2014-08-05 08:53:30 -04:00
drm_buffer.c drm/radeon: move drm_buffer to drm/radeon/ 2014-09-10 17:11:21 +10:00
drm_buffer.h drm/radeon: move drm_buffer to drm/radeon/ 2014-09-10 17:11:21 +10:00
evergreen_blit_shaders.c drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
evergreen_blit_shaders.h
evergreen_cs.c drm/radeon: remove struct radeon_bo_list 2014-03-04 14:34:34 +01:00
evergreen_dma.c drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
evergreen_hdmi.c drm/radeon: use a fetch function to get the edid 2014-08-05 08:53:30 -04:00
evergreen_reg.h drm/radeon: Prevent too early kms-pageflips triggered by vblank. 2014-07-17 09:01:31 -04:00
evergreen_smc.h drm/radeon/dpm: fix typo in EVERGREEN_SMC_FIRMWARE_HEADER_softRegisters 2014-03-06 16:46:58 -05:00
evergreen.c drm/radeon: Only flush HDP cache for indirect buffers from userspace 2014-08-18 17:09:44 -04:00
evergreend.h drm/radeon: Setup HDMI_CONTROL for hdmi deep color gcp's (v2) 2014-06-02 18:37:33 -04:00
Kconfig drm/radeon: Deprecate UMS support v2 2013-01-31 16:24:47 -05:00
kv_dpm.c drm/radeon/dpm: select the appropriate vce power state for KV/KB/ML 2014-08-15 00:58:19 -04:00
kv_dpm.h drm/radeon/dpm: handle bapm on kb/kv 2013-09-11 11:44:38 -04:00
kv_smc.c drm/radeon/dpm: handle bapm on kb/kv 2013-09-11 11:44:38 -04:00
Makefile drm/radeon: move drm_buffer to drm/radeon/ 2014-09-10 17:11:21 +10:00
mkregtable.c mkregtable: Fix sscanf handling 2014-01-10 15:28:10 +01:00
ni_dma.c drm/radeon: split PT setup in more functions 2014-08-05 08:53:55 -04:00
ni_dpm.c drm/radeon/dpm: fix vddci setup typo on cayman 2014-07-01 12:15:53 -04:00
ni_dpm.h drm/radeon/dpm: implement vblank_too_short callback for si 2013-07-08 17:41:11 -04:00
ni_reg.h
ni.c drm/radeon: Only flush HDP cache for indirect buffers from userspace 2014-08-18 17:09:44 -04:00
nid.h drm/radeon: add proper support for RADEON_VM_BLOCK_SIZE v2 2014-06-02 10:25:03 -04:00
nislands_smc.h drm/radeon/kms: add dpm support for cayman (v5) 2013-06-27 19:16:10 -04:00
ObjectID.h drm/radeon: upstream ObjectID.h updates (v2) 2013-06-26 16:11:34 -04:00
ppsmc.h drm/radeon/dpm: handle bapm on trinity 2013-09-11 11:44:37 -04:00
pptable.h drm/radeon: fix pptable.h portability 2014-01-03 11:34:21 -05:00
r100_track.h drm/radeon: use common next_reloc function 2013-01-31 16:24:45 -05:00
r100.c drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
r100d.h drm/radeon: consolidate redundant macros and constants 2013-01-31 16:24:46 -05:00
r200.c drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
r300_cmdbuf.c drm/radeon: move drm_buffer to drm/radeon/ 2014-09-10 17:11:21 +10:00
r300_reg.h
r300.c drm/radeon: Only flush HDP cache for indirect buffers from userspace 2014-08-18 17:09:44 -04:00
r300d.h drm/radeon: consolidate redundant macros and constants 2013-01-31 16:24:46 -05:00
r420.c drm/radeon: Only flush HDP cache for indirect buffers from userspace 2014-08-18 17:09:44 -04:00
r420d.h
r500_reg.h drm/radeon: Bypass hw lut's for > 8 bpc framebuffer scanout. 2014-06-13 12:22:30 -04:00
r520.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
r520d.h
r600_audio.c drm/radeon: change audio enable logic 2014-02-27 14:21:31 -05:00
r600_blit_shaders.c
r600_blit_shaders.h drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
r600_blit.c drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
r600_cp.c drm: mark drm_buf and drm_map as legacy 2014-09-10 17:11:30 +10:00
r600_cs.c drm/radeon: use helpers 2014-07-18 14:25:23 +10:00
r600_dma.c drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
r600_dpm.c drm/radeon/pm: don't walk the crtc list before it has been initialized (v2) 2014-04-22 16:51:19 +02:00
r600_dpm.h drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
r600_hdmi.c drm/radeon/hdmi: DCE2: simplify audio workaround 2014-06-02 10:25:06 -04:00
r600_reg.h drm/radeon: add indirect accessors for UVD CTX registers 2013-06-27 19:16:30 -04:00
r600.c drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
r600d.h drm/radeon: implement UVD hw workarounds for R6xx v3 2014-08-27 12:47:56 -04:00
radeon_acpi.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
radeon_acpi.h
radeon_agp.c radeon: Remove useless quirk for zx1/FireGL X1 combo introduced with fdo #7770 2014-06-02 10:25:08 -04:00
radeon_asic.c drm/radeon: 760G/780V/880V don't have UVD 2014-08-27 12:47:58 -04:00
radeon_asic.h drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
radeon_atombios.c drm/radeon/atom: add new voltage fetch function for hawaii 2014-08-05 08:53:46 -04:00
radeon_atpx_handler.c drm/radeon: fix ATPX detection on non-VGA GPUs 2014-04-22 16:51:20 +02:00
radeon_benchmark.c drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
radeon_bios.c drm: Remove spurious ';' 2014-06-10 09:35:42 +10:00
radeon_clocks.c
radeon_combios.c drivers: gpu: Move prototype declarations to header file radeon_mode.h from radeon_atombios.c and radeon_combios.c 2014-01-07 13:06:31 -05:00
radeon_connectors.c drm/radeon: Prevent hdmi deep color if max_tmds_clock is undefined. 2014-08-05 11:22:54 -04:00
radeon_cp.c drm: mark drm_buf and drm_map as legacy 2014-09-10 17:11:30 +10:00
radeon_cs.c drm/radeon: allow concurrent buffer reads 2014-09-11 10:46:02 -04:00
radeon_cursor.c drm/radeon/cik: add hw cursor support (v2) 2013-06-26 16:11:38 -04:00
radeon_device.c drm/radeon: use common fence implementation for fences, v4 2014-09-01 10:22:08 +02:00
radeon_display.c Merge remote-tracking branch 'airlied/drm-next' into topic/vblank-rework 2014-09-11 14:46:53 +02:00
radeon_drv.c drm: add driver->set_busid() callback 2014-09-10 17:43:04 +10:00
radeon_drv.h drm: split ati_pcigart.h out of drmP.h 2014-09-12 14:11:14 +10:00
radeon_encoders.c drm/radeon: use a fetch function to get the edid 2014-08-05 08:53:30 -04:00
radeon_family.h drm/radeon: add Mullins chip family 2014-05-06 12:19:57 +02:00
radeon_fb.c drm/radeon: remove discardable flag from radeon_gem_object_create 2014-08-05 08:53:37 -04:00
radeon_fence.c drm/radeon: use common fence implementation for fences, v4 2014-09-01 10:22:08 +02:00
radeon_gart.c drm/radeon: Allow write-combined CPU mappings of BOs in GTT (v2) 2014-08-05 08:53:33 -04:00
radeon_gem.c drm/radeon: use rcu waits in some ioctls 2014-09-02 16:41:50 +02:00
radeon_i2c.c drm/dp: add a hw mutex around the transfer functions. (v2) 2014-06-05 09:54:29 +10:00
radeon_ib.c drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
radeon_ioc32.c drm: Remove DRM_ARRAY_SIZE() for ARRAY_SIZE() 2014-06-10 09:36:17 +10:00
radeon_irq_kms.c drm/radeon: use common fence implementation for fences, v4 2014-09-01 10:22:08 +02:00
radeon_irq.c drm: Kill DRM_COPY_(TO|FROM)_USER 2013-12-18 11:35:01 +10:00
radeon_kms.c drm/radeon: add userptr support v8 2014-08-11 11:04:23 -04:00
radeon_legacy_crtc.c drm: Replace crtc fb with primary plane fb (v3) 2014-04-01 20:18:28 -04:00
radeon_legacy_encoders.c drm/sysfs: sort out minor and connector device object lifetimes. 2013-10-22 09:37:40 +01:00
radeon_legacy_tv.c
radeon_mem.c drm: Kill DRM_COPY_(TO|FROM)_USER 2013-12-18 11:35:01 +10:00
radeon_mn.c drm/ttm: flip the switch, and convert to dma_fence 2014-09-02 16:41:50 +02:00
radeon_mode.h drm/radeon: make radeon_connector_encoder_is_hbr2 static 2014-08-05 08:53:39 -04:00
radeon_object.c drm/radeon: add RADEON_GEM_NO_CPU_ACCESS BO creation flag (v4) 2014-09-10 11:29:46 -04:00
radeon_object.h drm/radeon: add radeon_bo_ref function 2014-08-05 08:53:53 -04:00
radeon_pm.c Merge remote-tracking branch 'airlied/drm-next' into topic/vblank-rework 2014-09-11 14:46:53 +02:00
radeon_prime.c Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux into drm-next 2014-08-26 09:05:14 +10:00
radeon_reg.h drm/radeon/cik: add hw cursor support (v2) 2013-06-26 16:11:38 -04:00
radeon_ring.c drm: drop DRM_DEBUG_CODE 2014-09-10 17:41:20 +10:00
radeon_sa.c drm/radeon: Allow write-combined CPU mappings of BOs in GTT (v2) 2014-08-05 08:53:33 -04:00
radeon_semaphore.c drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
radeon_state.c drm/radeon: move drm_buffer to drm/radeon/ 2014-09-10 17:11:21 +10:00
radeon_test.c drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
radeon_trace_points.c
radeon_trace.h drm/radeon: use an intervall tree to manage the VMA v2 2014-08-05 08:53:51 -04:00
radeon_ttm.c drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
radeon_ucode.c drm/radeon: add new firmware header definitions (v3) 2014-08-05 08:53:22 -04:00
radeon_ucode.h drm/radeon: add new firmware header definitions (v3) 2014-08-05 08:53:22 -04:00
radeon_uvd.c drm/ttm: flip the switch, and convert to dma_fence 2014-09-02 16:41:50 +02:00
radeon_vce.c drm/radeon: Only flush HDP cache for indirect buffers from userspace 2014-08-18 17:09:44 -04:00
radeon_vm.c drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
radeon.h drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
rs100d.h
rs400.c drm/radeon: Pass GART page flags to radeon_gart_set_page() explicitly 2014-08-05 08:53:32 -04:00
rs400d.h
rs600.c drm/radeon: Pass GART page flags to radeon_gart_set_page() explicitly 2014-08-05 08:53:32 -04:00
rs600d.h
rs690.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
rs690d.h drm/radeon: Use direct mapping for fast fb access on RS690 2013-04-09 10:31:31 -04:00
rs780_dpm.c drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
rs780_dpm.h drm/radeon/kms: add dpm support for rs780/rs880 2013-06-27 10:49:25 -04:00
rs780d.h drm/radeon/dpm: add debugfs support for RS780/RS880 (v3) 2013-07-17 16:47:52 -04:00
rv6xx_dpm.c drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
rv6xx_dpm.h drm/radeon/kms: add dpm support for rv6xx (v3) 2013-06-27 10:50:08 -04:00
rv6xxd.h drm/radeon/kms: add dpm support for rv6xx (v3) 2013-06-27 10:50:08 -04:00
rv200d.h
rv250d.h
rv350d.h
rv515.c drm/radeon: Only flush HDP cache for indirect buffers from userspace 2014-08-18 17:09:44 -04:00
rv515d.h drm/radeon: consolidate redundant macros and constants 2013-01-31 16:24:46 -05:00
rv730_dpm.c drm/radeon/kms: add dpm support for rv7xx (v4) 2013-06-27 19:14:59 -04:00
rv730d.h drm/radeon/kms: add dpm support for rv7xx (v4) 2013-06-27 19:14:59 -04:00
rv740_dpm.c drm/radeon/dpm/rv7xx: restructure code 2013-06-27 19:16:12 -04:00
rv740d.h drm/radeon/kms: add dpm support for rv7xx (v4) 2013-06-27 19:14:59 -04:00
rv770_dma.c drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
rv770_dpm.c drm/radeon/dpm: Reenabling SS on Cayman 2014-07-10 17:01:30 -04:00
rv770_dpm.h drm/radeon/dpm: switch on new late_enable callback 2013-12-24 17:56:50 -05:00
rv770_smc.c drm/radeon: protect concurrent smc register access with a spinlock 2013-09-11 11:44:28 -04:00
rv770_smc.h drm/radeon: protect concurrent smc register access with a spinlock 2013-09-11 11:44:28 -04:00
rv770.c drm/radeon: Remove radeon_gart_restore() 2014-08-05 08:53:31 -04:00
rv770d.h drm/radeon: implement pci config reset for r6xx/7xx (v3) 2014-01-08 18:42:22 -05:00
si_blit_shaders.c
si_blit_shaders.h
si_dma.c drm/radeon: add the infrastructure for concurrent buffer access 2014-09-11 10:46:01 -04:00
si_dpm.c drm/radeon/dpm: add support for SVI2 voltage for SI 2014-08-05 08:53:21 -04:00
si_dpm.h drm/radeon/dpm: add support for SVI2 voltage for SI 2014-08-05 08:53:21 -04:00
si_reg.h
si_smc.c drm/radeon/si: Add support for new ucode format (v3) 2014-08-05 08:53:23 -04:00
si.c drm/radeon: fix active_cu mask on SI and CIK after re-init (v3) 2014-08-19 12:01:49 -04:00
sid.h Merge commit '9e9a928eed8796a0a1aaed7e0b676db86ba84594' into drm-next 2014-06-05 20:28:59 +10:00
sislands_smc.h drm/radeon/dpm: add support for SVI2 voltage for SI 2014-08-05 08:53:21 -04:00
smu7_discrete.h drm/radeon: add dpm support for CI dGPUs (v2) 2013-08-30 16:30:29 -04:00
smu7_fusion.h drm/radeon/kms: add dpm support for KB/KV 2013-08-30 16:30:28 -04:00
smu7.h drm/radeon/kms: add dpm support for KB/KV 2013-08-30 16:30:28 -04:00
sumo_dpm.c drm/radeon/dpm: move platform caps fetching to a separate function 2014-02-18 16:11:30 +01:00
sumo_dpm.h drm/radeon/sumo add helper to go from vid7 to vid2 2013-08-30 16:30:10 -04:00
sumo_smc.c drm/radeon/dpm: make some functions static for sumo 2014-01-07 12:55:50 -05:00
sumod.h drm/radeon: add dpm UVD handling for sumo asics 2013-06-27 19:15:48 -04:00
trinity_dpm.c drm/radeon: add bapm module parameter 2014-08-15 00:57:27 -04:00
trinity_dpm.h drm/radeon/dpm: add bapm callback for trinity 2013-09-11 11:44:39 -04:00
trinity_smc.c drm/radeon/dpm: make some functions static for TN 2014-01-07 12:55:57 -05:00
trinityd.h drm/radeon: add dpm UVD handling for TN asics (v2) 2013-06-27 19:15:48 -04:00
uvd_v1_0.c drm/radeon: enable RB_ARB before resetting the VCPU 2014-08-27 12:48:00 -04:00
uvd_v2_2.c drm/radeon: add UVD support for older asics v4 2014-08-27 12:47:55 -04:00
uvd_v3_1.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
uvd_v4_2.c drm/radeon: split out radeon_uvd_resume from uvd_v4_2_resume 2013-08-30 16:31:12 -04:00
vce_v1_0.c drm/radeon: drop drivers copy of the rptr 2014-02-18 17:49:19 +01:00
vce_v2_0.c drm/radeon: add support for vce 2.0 clock gating 2014-02-18 16:11:44 +01:00