drm/amdgpu: check ring being ready before using
authorDing Pixel <pding@amd.com>
Wed, 18 Jan 2017 09:26:38 +0000 (17:26 +0800)
committerRaspbian kernel package updater <root@raspbian.org>
Sun, 23 Jul 2017 03:05:25 +0000 (03:05 +0000)
commit119abc4f9cb38178a8f5409a8fc76e4b85c0ab52
tree6cac9495a50e29d08aeea1bd9258371d0d8440c3
parent10a1b8d4b3cf168f7e7e664293516d438227349c
drm/amdgpu: check ring being ready before using

[ Upstream commit c5f21c9f878b8dcd54d0b9739c025ca73cb4c091 ]

Return success when the ring is properly initialized, otherwise return
failure.

Tonga SRIOV VF doesn't have UVD and VCE engines, the initialization of
these IPs is bypassed. The system crashes if application submit IB to
their rings which are not ready to use. It could be a common issue if
IP having ring buffer is disabled for some reason on specific ASIC, so
it should check the ring being ready to use.

Bug: amdgpu_test crashes system on Tonga VF.

Signed-off-by: Ding Pixel <Pixel.Ding@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c