android_kernel_samsung_msm8976/drivers/gpu/drm/radeon
Nicolai Hähnle f839050dd4 drm/radeon: hold reference to fences in radeon_sa_bo_new (3.17 and older)
[Backport of upstream commit f6ff4f67cdf8455d0a4226eeeaf5af17c37d05eb, with
 an additional NULL pointer guard that is required for kernels 3.17 and older.

 To be precise, any kernel that does *not* have commit 954605ca3 "drm/radeon:
 use common fence implementation for fences, v4" requires this additional
 NULL pointer guard.]

An arbitrary amount of time can pass between spin_unlock and
radeon_fence_wait_any, so we need to ensure that nobody frees the
fences from under us.

Based on the analogous fix for amdgpu.

Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com> (v1 + fix)
Tested-by: Lutz Euler <lutz.euler@freenet.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
2016-06-07 10:42:50 +02:00
..
reg_srcs
…
.gitignore
…
Kconfig
…
Makefile drm/radeon: UVD bringup v8 2013-04-09 10:31:33 -04:00
ObjectID.h
…
atom-bits.h
…
atom-names.h
…
atom-types.h
…
atom.c drm/radeon/atom: initialize more atom interpretor elements to 0 2013-08-04 16:51:14 +08:00
atom.h
…
atombios.h drm/radeon: fix endian bugs in radeon_atom_get_clock_dividers() (v3) 2013-04-23 18:04:00 -04:00
atombios_crtc.c drm/radeon: fix doublescan modes (v2) 2015-05-06 21:56:27 +02:00
atombios_dp.c drm/radeon: properly filter DP1.2 4k modes on non-DP1.2 hw 2015-01-27 07:52:31 -08:00
atombios_encoders.c drm/radeon: Don't drop DP 2.7 Ghz link setup on some cards. 2016-06-07 10:42:47 +02:00
atombios_i2c.c drm/radeon: fix endian bugs in hw i2c atom routines 2013-10-01 09:17:47 -07:00
avivod.h
…
cayman_blit_shaders.c
…
cayman_blit_shaders.h
…
evergreen.c drm/radeon: do a posting read in evergreen_set_irq 2015-03-26 15:00:56 +01:00
evergreen_blit_kms.c
…
evergreen_blit_shaders.c
…
evergreen_blit_shaders.h
…
evergreen_cs.c drm/radeon: skip colorbuffer checking if COLOR_INFO.FORMAT is set to INVALID 2014-02-13 13:48:02 -08:00
evergreen_hdmi.c drm/radeon: use hw generated CTS/N values for audio 2013-12-04 10:57:35 -08:00
evergreen_reg.h drm/radeon: properly lock disp in mc_stop/resume for evergreen+ 2013-04-22 10:39:08 -04:00
evergreend.h drm/radeon: fix typo in CP DMA register headers 2013-10-18 07:45:46 -07:00
mkregtable.c
…
ni.c drm/radeon: fix 1 RB harvest config setup for TN/RL 2015-03-18 13:22:35 +01:00
ni_reg.h
…
nid.h drm/radeon: fix surface sync in fence on cayman (v2) 2014-02-13 13:48:02 -08:00
r100.c drm/radeon: do a posting read in r100_set_irq 2015-03-26 15:00:56 +01:00
r100_track.h
…
r100d.h
…
r200.c
…
r300.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
r300_cmdbuf.c drm/radeon: check incoming cliprects pointer 2013-05-13 15:23:34 +10:00
r300_reg.h
…
r300d.h
…
r420.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
r420d.h
…
r500_reg.h drm/radeon: disable the crtcs in mc_stop (r5xx-r7xx) (v2) 2013-04-22 10:39:09 -04:00
r520.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
r520d.h
…
r600.c drm/radeon: do a posting read in r600_set_irq 2015-03-26 15:00:57 +01:00
r600_audio.c drm/radeon: clean up audio dto programming 2013-04-23 18:03:53 -04:00
r600_blit.c
…
r600_blit_kms.c
…
r600_blit_shaders.c
…
r600_blit_shaders.h
…
r600_cp.c
…
r600_cs.c drm/radeon: skip colorbuffer checking if COLOR_INFO.FORMAT is set to INVALID 2014-02-13 13:48:02 -08:00
r600_hdmi.c drm/radeon: program DCE2 audio dto just like DCE3 2013-12-20 07:45:09 -08:00
r600_reg.h
…
r600d.h drm/radeon: set the full cache bit for fences on r7xx+ 2014-02-13 13:48:02 -08:00
radeon.h drm/radeon: fix WREG32_OR macro setting bits in a register 2013-08-29 09:47:37 -07:00
radeon_acpi.c
…
radeon_acpi.h
…
radeon_agp.c
…
radeon_asic.c Revert "drm/radeon: add missing hdmi callbacks for rv6xx" 2013-10-13 16:08:34 -07:00
radeon_asic.h drm/radeon: fix halting UVD 2013-08-14 22:59:10 -07:00
radeon_atombios.c drm/radeon: clean up fujitsu quirks 2016-03-03 15:06:23 -08:00
radeon_atpx_handler.c drm/radeon: fix ATPX detection on non-VGA GPUs 2014-06-07 13:25:32 -07:00
radeon_benchmark.c drm/radeon/benchmark: allow same domains for dma copy 2013-03-15 18:47:18 -04:00
radeon_bios.c radeon: Do not directly dereference pointers to BIOS area. 2015-04-19 10:10:48 +02:00
radeon_blit_common.h
…
radeon_clocks.c
…
radeon_combios.c Add radeon suspend/resume quirk for HP Compaq dc5750. 2015-10-01 12:07:30 +02:00
radeon_connectors.c DRM - radeon: Don't link train DisplayPort on HPD until we get the dpcd 2015-09-21 10:00:07 -07:00
radeon_cp.c
…
radeon_cs.c drm/radeon: fix DRM_IOCTL_RADEON_CS oops 2015-03-26 15:00:56 +01:00
radeon_cursor.c
…
radeon_device.c drm/radeon: disable tests/benchmarks if accel is disabled 2013-10-05 07:13:12 -07:00
radeon_display.c drm/radeon: avoid leaking edid data 2014-07-28 08:00:07 -07:00
radeon_drv.c drm/radeon: restore nomodeset operation (v2) 2013-05-17 11:47:07 +10:00
radeon_drv.h
…
radeon_encoders.c
…
radeon_family.h drm/radeon: add chip family for Hainan 2013-05-20 11:13:06 -04:00
radeon_fb.c
…
radeon_fence.c drm/radeon: only save UVD bo when we have open handles 2013-08-14 22:59:10 -07:00
radeon_gart.c drm/radeon: Don't flush the GART TLB if rdev->gart.ptr == NULL 2015-08-03 09:29:45 -07:00
radeon_gem.c radeon: add bo tracking debugfs 2013-05-02 10:09:47 -04:00
radeon_i2c.c drm/radeon: warn users when hw_i2c is enabled (v2) 2014-02-13 13:48:01 -08:00
radeon_ioc32.c
…
radeon_irq.c
…
radeon_irq_kms.c drm/radeon: fix hotplug race at startup 2016-03-03 15:06:19 -08:00
radeon_kms.c drm/radeon: kernel panic in drm_calc_vbltimestamp_from_scanoutpos with 3.18.0-rc6 2014-12-16 09:09:42 -08:00
radeon_legacy_crtc.c radeon: workaround pinning failure on low ram gpu 2013-12-04 10:57:15 -08:00
radeon_legacy_encoders.c
…
radeon_legacy_tv.c
…
radeon_mem.c
…
radeon_mode.h drm/radeon: Remove superfluous variable 2013-05-20 10:44:57 -04:00
radeon_object.c drm/radeon: also try GART for CPU accessed buffers 2014-06-11 12:03:23 -07:00
radeon_object.h drm/radeon: allow selection of alignment in the sub-allocator 2013-08-04 16:51:05 +08:00
radeon_pm.c radeon/pm: Guard access to rdev->pm.power_state array 2014-02-13 13:48:02 -08:00
radeon_prime.c
…
radeon_reg.h
…
radeon_ring.c drm/radeon: Make r100_cp_ring_info() and radeon_ring_gfx() safe (v2) 2013-10-05 07:13:12 -07:00
radeon_sa.c drm/radeon: hold reference to fences in radeon_sa_bo_new (3.17 and older) 2016-06-07 10:42:50 +02:00
radeon_semaphore.c
…
radeon_state.c
…
radeon_test.c drm/radeon: forever loop on error in radeon_do_test_moves() 2013-10-18 07:45:45 -07:00
radeon_trace.h
…
radeon_trace_points.c
…
radeon_ttm.c drm/radeon: use post-decrement in error handling 2016-03-03 15:06:24 -08:00
radeon_uvd.c drm/radeon: check buffer relocation offset 2014-06-07 13:25:32 -07:00
rs100d.h
…
rs400.c drm/radeon: fix resume on some rs4xx boards (v2) 2013-10-01 09:17:47 -07:00
rs400d.h
…
rs600.c drm/radeon: do a posting read in rs600_set_irq 2015-03-26 15:00:57 +01:00
rs600d.h
…
rs690.c drm/radeon: Fix sideport problems on certain RS690 boards 2014-01-09 12:24:21 -08:00
rs690d.h drm/radeon: Use direct mapping for fast fb access on RS690 2013-04-09 10:31:31 -04:00
rv200d.h
…
rv250d.h
…
rv350d.h
…
rv515.c radeon: Fix system hang issue when using KMS with older cards 2013-06-03 10:17:54 -04:00
rv515d.h
…
rv770.c drm/radeon/r7xx: fix copy paste typo in golden register setup 2013-08-29 09:47:36 -07:00
rv770d.h drm/radeon: fix UPLL_REF_DIV_MASK definition 2013-05-02 10:09:48 -04:00
si.c drm/radeon: drop setting UPLL to sleep mode 2015-03-26 15:00:57 +01:00
si_blit_shaders.c
…
si_blit_shaders.h
…
si_reg.h
…
sid.h drm/radeon: fix DAC interrupt handling on DCE5+ 2014-02-13 13:48:02 -08:00