linux-stable/drivers/gpu/drm
Monk Liu 65781c78ad drm/amdgpu/SRIOV:implement guilty job TDR for(V2)
1,TDR will kickout guilty job if it hang exceed the threshold
of the given one from kernel paramter "job_hang_limit", that
way a bad command stream will not infinitly cause GPU hang.

by default this threshold is 1 so a job will be kicked out
after it hang.

2,if a job timeout TDR routine will not reset all sched/ring,
instead if will only reset on the givn one which is indicated
by @job of amdgpu_sriov_gpu_reset, that way we don't need to
reset and recover each sched/ring if we already know which job
cause GPU hang.

3,unblock sriov_gpu_reset for AI family.

V2:
1:put kickout guilty job after sched parked.
2:since parking scheduler prior to kickout already occupies a
while, we can do last check on the in question job before
doing hw_reset.

TODO:
1:when a job is considered as guilty, we should mark some flag
in its fence status flag, and let UMD side aware that this
fence signaling is not due to job complete but job hang.

2:if gpu reset cause all video memory lost, we need introduce
a new policy to implement TDR, like drop all jobs not yet
signaled, and all IOCTL on this device will return ERROR
DEVICE_LOST.
this will be implemented later.

Signed-off-by: Monk Liu <Monk.Liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2017-05-24 17:40:40 -04:00
..
amd drm/amdgpu/SRIOV:implement guilty job TDR for(V2) 2017-05-24 17:40:40 -04:00
arc
arm drm: mali-dp: use div_u64 for expensive 64-bit divisions 2017-04-26 17:54:58 +01:00
armada dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro 2017-04-20 13:47:46 +05:30
ast Merge tag 'drm-misc-next-2017-04-07' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-04-11 07:41:10 +10:00
atmel-hlcdc drm: atmel-hlcdc: Uninitialized return in atmel_hlcdc_create_outputs() 2017-04-18 11:52:45 +02:00
bochs drm/ttm: add io_mem_pfn callback 2017-04-04 23:33:42 -04:00
bridge main drm pull request for 4.12 kernel 2017-05-04 08:42:49 -04:00
cirrus Merge tag 'drm-misc-next-2017-04-07' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-04-11 07:41:10 +10:00
etnaviv mm, vmalloc: use __GFP_HIGHMEM implicitly 2017-05-08 17:15:13 -07:00
exynos Merge tag 'drm-misc-next-2017-05-16' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-05-18 12:57:06 +10:00
fsl-dcu drm: convert drivers to use drm_of_find_panel_or_bridge 2017-04-06 17:00:27 -04:00
gma500 Merge tag 'drm-misc-next-2017-05-16' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-05-18 12:57:06 +10:00
hisilicon drm: convert drivers to use drm_of_find_panel_or_bridge 2017-04-06 17:00:27 -04:00
i2c
i810
i915 Merge tag 'drm-misc-next-2017-05-16' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-05-18 12:57:06 +10:00
imx Merge tag 'drm-misc-next-2017-04-07' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-04-11 07:41:10 +10:00
lib
mediatek Merge tag 'drm-misc-next-2017-04-07' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-04-11 07:41:10 +10:00
meson drm: convert drivers to use of_graph_get_remote_node 2017-04-06 17:00:27 -04:00
mga
mgag200 Merge tag 'drm-misc-next-2017-04-07' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-04-11 07:41:10 +10:00
msm drm/vblank: drop the mode argument from drm_calc_vbltimestamp_from_scanoutpos 2017-05-10 10:21:31 +02:00
mxsfb drm: convert drivers to use drm_of_find_panel_or_bridge 2017-04-06 17:00:27 -04:00
nouveau Merge tag 'drm-misc-next-2017-05-16' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-05-18 12:57:06 +10:00
omapdrm dma-buf: Rename dma-ops to prevent conflict with kunmap_atomic macro 2017-04-20 13:47:46 +05:30
panel drm/panel: Changes for v4.12-rc1 2017-04-13 06:17:40 +10:00
pl111 drm/pl111: Initial drm/kms driver for pl111 2017-05-08 12:24:06 -07:00
qxl drm/ttm: add io_mem_pfn callback 2017-04-04 23:33:42 -04:00
r128
radeon drm/radeon: Unbreak HPD handling for r600+ 2017-05-24 17:39:33 -04:00
rcar-du drm: rcar-du: Add HDMI outputs to R8A7795 device description 2017-04-04 17:04:21 +03:00
rockchip drm/rockchip: analogix_dp: Remove unused check and variables 2017-05-02 14:44:28 -04:00
savage
selftests drm/mm: Split up long running selftests with cond_resched() 2017-05-04 08:11:46 +02:00
shmobile
sis
sti Merge tag 'drm-misc-next-2017-05-16' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-05-18 12:57:06 +10:00
stm drm/stm: Add STM32 LTDC driver 2017-04-14 11:30:29 -07:00
sun4i Allwinner DRM changes for 4.12 2017-04-20 13:19:34 +10:00
tdfx
tegra Merge tag 'drm-misc-next-2017-05-16' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-05-18 12:57:06 +10:00
tilcdc drm: convert drivers to use of_graph_get_remote_node 2017-04-06 17:00:27 -04:00
tinydrm
ttm Merge branch 'drm-next-4.12' of git://people.freedesktop.org/~agd5f/linux into drm-next 2017-05-12 13:58:29 +10:00
udl main drm pull request for 4.12 kernel 2017-05-03 11:44:24 -07:00
vc4 drm/vblank: drop the mode argument from drm_calc_vbltimestamp_from_scanoutpos 2017-05-10 10:21:31 +02:00
vgem drm/vgem: Convert to a struct drm_device subclass 2017-05-10 10:14:06 +02:00
via
virtio virtio: fixes, cleanups, performance 2017-05-10 11:33:08 -07:00
vmwgfx drm/vmwgfx: Convert macro to octal representation 2017-04-21 09:25:47 -07:00
zte drm: zte: add VGA driver support 2017-05-04 13:53:05 +08:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic.c drm/atomic: Add support for custom scaling mode properties, v2 2017-05-08 13:20:43 +02:00
drm_atomic_helper.c drm: Add driver-private objects to atomic state 2017-05-04 15:02:45 +02:00
drm_auth.c
drm_blend.c
drm_bridge.c
drm_bufs.c
drm_cache.c
drm_color_mgmt.c drm/doc: Interlink color manager docs better 2017-04-18 08:56:29 +02:00
drm_connector.c drm/atomic: Add support for custom scaling mode properties, v2 2017-05-08 13:20:43 +02:00
drm_context.c
drm_crtc.c drm: Take mode_config.mutex in setcrtc ioctl 2017-04-06 22:49:50 +02:00
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h drm: extract legacy framebuffer remove 2017-04-06 10:22:43 +02:00
drm_debugfs.c
drm_debugfs_crc.c Revert "drm: Don't allow interruptions when opening debugfs/crc" 2017-04-07 16:18:28 -04:00
drm_dma.c
drm_dp_aux_dev.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c
drm_dp_mst_topology.c drm/dp: Wait up all outstanding tx waiters 2017-05-15 14:04:49 +02:00
drm_drv.c
drm_dumb_buffers.c
drm_edid.c drm/edid: Add 10 bpc quirk for LGD 764 panel in HP zBook 17 G2 2017-05-02 10:37:45 +02:00
drm_edid_load.c
drm_encoder.c
drm_encoder_slave.c
drm_fb_cma_helper.c drm/cma-helper: Return ENOENT for "no such gem obj" 2017-04-18 17:57:37 +02:00
drm_fb_helper.c format-security: move static strings to const 2017-05-08 17:15:14 -07:00
drm_file.c drm: Nerf the preclose callback for modern drivers 2017-05-09 13:22:11 +02:00
drm_flip_work.c
drm_fourcc.c
drm_framebuffer.c drm: extract legacy framebuffer remove 2017-04-06 10:22:43 +02:00
drm_gem.c
drm_gem_cma_helper.c
drm_global.c
drm_hashtab.c
drm_info.c
drm_internal.h
drm_ioc32.c drm: document drm_ioctl.[hc] 2017-04-04 20:47:54 +02:00
drm_ioctl.c drm: Pass CRTC ID in userspace vblank events 2017-04-04 20:59:12 +01:00
drm_irq.c drm/vblank: Lock down vblank->hwmode more 2017-05-10 10:21:37 +02:00
drm_kms_helper_common.c
drm_legacy.h
drm_lock.c
drm_memory.c
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c
drm_mode_object.c
drm_modes.c
drm_modeset_helper.c
drm_modeset_lock.c drm: Remove drm_modeset_legacy_acquire_ctx and crtc->acquire_ctx 2017-04-05 09:26:45 +02:00
drm_of.c drm: of: introduce drm_of_find_panel_or_bridge 2017-04-06 17:00:27 -04:00
drm_panel.c
drm_pci.c
drm_plane.c drm: Only take cursor locks when the cursor plane exists 2017-04-07 13:28:32 -04:00
drm_plane_helper.c drm: Remove redundant NULL check during atomic plane commit 2017-05-08 18:44:24 +03:00
drm_prime.c drm/prime: Introduce drm_gem_prime_import_dev 2017-05-08 09:39:13 +02:00
drm_print.c
drm_probe_helper.c drm/atomic: Acquire connection_mutex lock in drm_helper_probe_single_connector_modes, v4. 2017-04-06 21:29:23 +02:00
drm_property.c drm: Fix get_property logic fumble 2017-04-12 18:11:32 +02:00
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_simple_kms_helper.c drm: Clarify the role of plane_state argument to drm_simple update(). 2017-03-30 12:02:00 -07:00
drm_sysfs.c drm: Consolidate and document sysfs support 2017-04-04 20:47:54 +02:00
drm_trace.h
drm_trace_points.c
drm_vm.c
drm_vma_manager.c
Kconfig drm/pl111: Initial drm/kms driver for pl111 2017-05-08 12:24:06 -07:00
Makefile drm/pl111: Initial drm/kms driver for pl111 2017-05-08 12:24:06 -07:00