linux/drivers/gpu/drm/radeon
Christian König 8a47cc9ec1 drm/radeon: rework locking ring emission mutex in fence deadlock detection v2
Some callers illegal called fence_wait_next/empty
while holding the ring emission mutex. So don't
relock the mutex in that cases, and move the actual
locking into the fence code.

v2: Don't try to unlock the mutex if it isn't locked.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-05-09 17:22:20 +01:00
..
reg_srcs drm/radeon/kms: add htile support to the cs checker v3 2012-03-26 09:53:22 +01:00
.gitignore
atom-bits.h
atom-names.h
atom-types.h
atom.c drm/radeon/kms: fix fans after resume 2012-04-02 11:07:42 +01:00
atom.h drm/radeon/kms: fix fans after resume 2012-04-02 11:07:42 +01:00
atombios_crtc.c Linux 3.4-rc6 2012-05-07 14:02:14 +02:00
atombios_dp.c drm/radeon/kms: improve bpc handling (v2) 2012-04-24 09:50:12 +01:00
atombios_encoders.c Merge tag 'drm-intel-next-2012-04-23' of git://people.freedesktop.org/~danvet/drm-intel into drm-core-next 2012-05-02 09:22:29 +01:00
atombios_i2c.c drm/radeon/kms/dce3+: add support for hw i2c using atom 2012-02-03 09:38:05 +00:00
atombios.h drm/radeon/kms: upstream power table updates 2012-03-21 06:55:50 +00:00
avivod.h
cayman_blit_shaders.c bug.h: add include of it to various implicit C users 2012-02-29 17:15:08 -05:00
cayman_blit_shaders.h drm/radeon/kms: add blit support for cayman (v2) 2011-05-26 09:19:31 +10:00
evergreen_blit_kms.c drm/radeon/kms: cayman gpu init updates for trinity 2012-03-21 06:55:57 +00:00
evergreen_blit_shaders.c bug.h: add include of it to various implicit C users 2012-02-29 17:15:08 -05:00
evergreen_blit_shaders.h
evergreen_cs.c drm/radeon/kms: add htile support to the cs checker v3 2012-03-26 09:53:22 +01:00
evergreen_reg.h drm/radeon/kms: get rid of hdmi_config_offset 2012-05-01 10:57:52 +01:00
evergreen.c drm/radeon: make forcing ring activity a common function 2012-05-03 09:16:38 +01:00
evergreend.h drm/radeon/kms: add register definitions for audio 2012-04-24 09:50:13 +01:00
Kconfig drm/radeon/kms: clean up the radeon kms Kconfig 2011-05-26 09:22:05 +10:00
Makefile drm/radeon/kms: add support for CP setup on SI 2012-03-21 06:55:54 +00:00
mkregtable.c radeon mkregtable: Add missing fclose() calls 2011-02-14 09:22:54 +10:00
ni_reg.h drm/radeon/kms: add ni_reg.h 2011-01-07 14:11:38 +10:00
ni.c drm/radeon: remove cayman_gpu_is_lockup 2012-05-03 09:16:42 +01:00
nid.h drm/radeon/kms: Update evergreen functions for trinity 2012-03-21 06:55:57 +00:00
ObjectID.h drm/radeon/kms: Upstream ObjectID.h updates 2012-03-21 06:55:49 +00:00
r100_track.h drm/radeon: Remove more bogus inlines in the radeon driver. 2011-10-18 09:44:52 +01:00
r100.c drm/radeon: Original Radeons had PCI GART, not PCIe GART. 2012-05-03 09:18:10 +01:00
r100d.h drm/radeon: Definition of R_0003C2_GENMO_WT seems wrong 2010-12-21 12:55:33 +10:00
r200.c drm/radeon/kms: add r1xx/r2xx CS support for tiled textures 2012-02-03 09:41:35 +00:00
r300_cmdbuf.c drm/radeon: Move more code out of line 2011-10-18 09:53:05 +01:00
r300_reg.h Fix common misspellings 2011-03-31 11:26:23 -03:00
r300.c drm/radeon: remove r300_gpu_is_lockup 2012-05-03 09:16:40 +01:00
r300d.h drm/radeon/kms: manage r300 CMASK RAM access and allow CMASK clear 2011-01-06 13:00:45 +10:00
r420.c drm/radeon: use central function for IB testing 2012-05-03 09:16:10 +01:00
r420d.h
r500_reg.h drm/radeon/kms: add wait_for_vblank asic callback 2012-02-27 14:46:13 +00:00
r520.c drm/radeon: use central function for IB testing 2012-05-03 09:16:10 +01:00
r520d.h
r600_audio.c drm/radeon/kms: move audio params to separated struct 2012-05-01 10:57:36 +01:00
r600_blit_kms.c drm/radeon/kms: common definitions for blit copy code 2012-02-03 09:31:14 +00:00
r600_blit_shaders.c The following text was taken from the original review request: 2012-03-24 10:08:39 -07:00
r600_blit_shaders.h
r600_blit.c drm/radeon: drop inlines in r600_blit.c 2011-10-18 09:44:38 +01:00
r600_cp.c drm/radeon: replace udelay with mdelay for long timeouts 2012-04-10 10:21:00 +01:00
r600_cs.c drm/radeon/kms: add htile support to the cs checker v3 2012-03-26 09:53:22 +01:00
r600_hdmi.c drm/radeon/kms/hdmi: use relative offsets, official regs 2012-05-01 10:58:14 +01:00
r600_reg.h drm/radeon/kms/hdmi: use relative offsets, official regs 2012-05-01 10:58:14 +01:00
r600.c Merge branch 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel into drm-core-next 2012-05-07 16:09:35 +01:00
r600d.h drm/radeon/kms/hdmi: use relative offsets, official regs 2012-05-01 10:58:14 +01:00
radeon_acpi.c drm/radeon/kms: Skip ACPI call to ATIF when possible 2011-12-01 09:57:34 +00:00
radeon_agp.c
radeon_asic.c drm/radeon: remove cayman_gpu_is_lockup 2012-05-03 09:16:42 +01:00
radeon_asic.h drm/radeon: remove cayman_gpu_is_lockup 2012-05-03 09:16:42 +01:00
radeon_atombios.c drm/radeon/kms: update power table parsing for SI 2012-03-21 06:55:52 +00:00
radeon_atpx_handler.c drm/radeon: fix use after free in ATRM bios reading code. 2012-02-02 15:25:16 +00:00
radeon_benchmark.c drm/radeon/kms: reorganize copy callbacks 2012-02-29 10:14:14 +00:00
radeon_bios.c drm/radeon: finish getting bios earlier 2012-01-24 17:34:32 +00:00
radeon_blit_common.h drm/radeon/kms: common definitions for blit copy code 2012-02-03 09:31:14 +00:00
radeon_clocks.c drm/radeon: replace udelay with mdelay for long timeouts 2012-04-10 10:21:00 +01:00
radeon_combios.c drm/radeon: add connector table for SAM440ep embedded board 2012-05-03 09:19:08 +01:00
radeon_connectors.c Linux 3.4-rc6 2012-05-07 14:02:14 +02:00
radeon_cp.c drm: move pci bus master enable into driver. 2012-02-16 18:31:07 +00:00
radeon_cs.c drm/radeon: fix possible lack of synchronization btw ttm and other ring 2012-05-09 17:22:12 +01:00
radeon_cursor.c drm/radeon: Drop radeon_gem_object_(un)pin. 2012-03-20 08:47:50 +00:00
radeon_device.c drm/radeon: rework locking ring emission mutex in fence deadlock detection v2 2012-05-09 17:22:20 +01:00
radeon_display.c drm/radeon: add a missing entry to encoder_names 2012-04-27 08:29:50 +01:00
radeon_drv.c drm/radeon: make lockup timeout a module param 2012-05-03 09:16:35 +01:00
radeon_drv.h Fix common misspellings 2011-03-31 11:26:23 -03:00
radeon_encoders.c drm/radeon/kms: update duallink checks for DCE6 2012-03-21 06:55:58 +00:00
radeon_family.h drm/radeon/kms: add trinity (TN) chip family 2012-03-21 06:55:55 +00:00
radeon_fb.c drm/radeon: Restrict offset for legacy display engine. 2012-03-20 08:47:46 +00:00
radeon_fence.c drm/radeon: rework locking ring emission mutex in fence deadlock detection v2 2012-05-09 17:22:20 +01:00
radeon_gart.c drm/radeon/kms/vm: fix possible bug in radeon_vm_bo_rmv() 2012-02-29 17:47:57 +00:00
radeon_gem.c drm/radeon: rework recursive gpu reset handling 2012-05-03 09:16:31 +01:00
radeon_i2c.c drm/radeon: only add the mm i2c bus if the hw_i2c module param is set 2012-04-11 09:36:53 +01:00
radeon_ioc32.c
radeon_irq_kms.c Linux 3.4-rc6 2012-05-07 14:02:14 +02:00
radeon_irq.c drm/radeon: Move more code out of line 2011-10-18 09:53:05 +01:00
radeon_kms.c drm/radeon: enable pci bus mastering after card is initialised (v2) 2012-04-12 09:27:47 +01:00
radeon_legacy_crtc.c drm/radeon: Restrict offset for legacy display engine. 2012-03-20 08:47:46 +00:00
radeon_legacy_encoders.c drm/radeon: replace udelay with mdelay for long timeouts 2012-04-10 10:21:00 +01:00
radeon_legacy_tv.c drm/radeon: Move more code out of line 2011-10-18 09:53:05 +01:00
radeon_mem.c drivers: use kzalloc/kcalloc instead of 'kmalloc+memset', where possible 2011-07-25 20:57:13 -07:00
radeon_mode.h drm/radeon: add connector table for SAM440ep embedded board 2012-05-03 09:19:08 +01:00
radeon_object.c drm/radeon: Don't dereference possibly-NULL pointer. 2012-04-02 11:09:50 +01:00
radeon_object.h drm/radeon: Restrict offset for legacy hardware cursor. 2012-03-20 08:47:41 +00:00
radeon_pm.c drm/radeon: rework locking ring emission mutex in fence deadlock detection v2 2012-05-09 17:22:20 +01:00
radeon_reg.h drm/radeon/kms: fix up atom HPD gpio parsing for DCE6 2012-03-21 06:55:50 +00:00
radeon_ring.c drm/radeon: rework locking ring emission mutex in fence deadlock detection v2 2012-05-09 17:22:20 +01:00
radeon_sa.c drm/radeon: fix a bug in the SA code 2012-05-03 09:16:15 +01:00
radeon_semaphore.c drm/radeon: replace the per ring mutex with a global one 2012-05-09 17:22:14 +01:00
radeon_state.c drm/radeon: Move more code out of line 2011-10-18 09:53:05 +01:00
radeon_test.c drm/radeon/kms: add missing ring ready check in sync tests 2012-01-05 10:02:42 +00:00
radeon_trace_points.c drm/radeon: add initial tracepoint support. 2010-12-16 14:37:47 +10:00
radeon_trace.h drm/radeon: add initial tracepoint support. 2010-12-16 14:37:47 +10:00
radeon_ttm.c drm/radeon: fix a bug with the ring syncing code 2012-05-03 09:16:27 +01:00
radeon.h drm/radeon: rework locking ring emission mutex in fence deadlock detection v2 2012-05-09 17:22:20 +01:00
rs100d.h
rs400.c drm/radeon: use central function for IB testing 2012-05-03 09:16:10 +01:00
rs400d.h
rs600.c drm/radeon: use central function for IB testing 2012-05-03 09:16:10 +01:00
rs600d.h drm/radeon/kms: add register definitions for audio 2012-04-24 09:50:13 +01:00
rs690.c drm/radeon: use central function for IB testing 2012-05-03 09:16:10 +01:00
rs690d.h
rv200d.h
rv250d.h
rv350d.h
rv515.c drm/radeon: use central function for IB testing 2012-05-03 09:16:10 +01:00
rv515d.h
rv770.c Merge branch 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel into drm-core-next 2012-05-07 16:09:35 +01:00
rv770d.h drm/radeon/kms: add register definitions for audio 2012-04-24 09:50:13 +01:00
si_blit_shaders.c The following text was taken from the original review request: 2012-03-24 10:08:39 -07:00
si_blit_shaders.h drm/radeon/kms: add support for CP setup on SI 2012-03-21 06:55:54 +00:00
si_reg.h drm/radeon/kms: fix up atom HPD gpio parsing for DCE6 2012-03-21 06:55:50 +00:00
si.c Merge branch 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel into drm-core-next 2012-05-07 16:09:35 +01:00
sid.h drm/radeon/kms: add support for interrupts on SI 2012-03-21 06:55:54 +00:00