diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2015-07-08 12:58:20 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2015-07-09 11:40:12 -0400 |
commit | 355c822847fa70fa1df6a7451b7ecf76116efcd2 (patch) | |
tree | 043fd8b60106d7097a0d84df29982d01a4680ada | |
parent | 0f11770417d849558c727ed20e1cd07444e15a00 (diff) |
drm/radeon: disable vce init on cayman (v2)
Cayman does not have vce. There were a few places in the
shared cayman/TV code where we were trying to do vce stuff.
v2: remove -ENOENT check
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/radeon/ni.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c index 8e5aeeb058a5..158872eb78e4 100644 --- a/drivers/gpu/drm/radeon/ni.c +++ b/drivers/gpu/drm/radeon/ni.c | |||
@@ -2162,18 +2162,20 @@ static int cayman_startup(struct radeon_device *rdev) | |||
2162 | DRM_ERROR("radeon: failed initializing UVD (%d).\n", r); | 2162 | DRM_ERROR("radeon: failed initializing UVD (%d).\n", r); |
2163 | } | 2163 | } |
2164 | 2164 | ||
2165 | ring = &rdev->ring[TN_RING_TYPE_VCE1_INDEX]; | 2165 | if (rdev->family == CHIP_ARUBA) { |
2166 | if (ring->ring_size) | 2166 | ring = &rdev->ring[TN_RING_TYPE_VCE1_INDEX]; |
2167 | r = radeon_ring_init(rdev, ring, ring->ring_size, 0, 0x0); | 2167 | if (ring->ring_size) |
2168 | r = radeon_ring_init(rdev, ring, ring->ring_size, 0, 0x0); | ||
2168 | 2169 | ||
2169 | ring = &rdev->ring[TN_RING_TYPE_VCE2_INDEX]; | 2170 | ring = &rdev->ring[TN_RING_TYPE_VCE2_INDEX]; |
2170 | if (ring->ring_size) | 2171 | if (ring->ring_size) |
2171 | r = radeon_ring_init(rdev, ring, ring->ring_size, 0, 0x0); | 2172 | r = radeon_ring_init(rdev, ring, ring->ring_size, 0, 0x0); |
2172 | 2173 | ||
2173 | if (!r) | 2174 | if (!r) |
2174 | r = vce_v1_0_init(rdev); | 2175 | r = vce_v1_0_init(rdev); |
2175 | else if (r != -ENOENT) | 2176 | if (r) |
2176 | DRM_ERROR("radeon: failed initializing VCE (%d).\n", r); | 2177 | DRM_ERROR("radeon: failed initializing VCE (%d).\n", r); |
2178 | } | ||
2177 | 2179 | ||
2178 | r = radeon_ib_pool_init(rdev); | 2180 | r = radeon_ib_pool_init(rdev); |
2179 | if (r) { | 2181 | if (r) { |
@@ -2396,7 +2398,8 @@ void cayman_fini(struct radeon_device *rdev) | |||
2396 | radeon_irq_kms_fini(rdev); | 2398 | radeon_irq_kms_fini(rdev); |
2397 | uvd_v1_0_fini(rdev); | 2399 | uvd_v1_0_fini(rdev); |
2398 | radeon_uvd_fini(rdev); | 2400 | radeon_uvd_fini(rdev); |
2399 | radeon_vce_fini(rdev); | 2401 | if (rdev->family == CHIP_ARUBA) |
2402 | radeon_vce_fini(rdev); | ||
2400 | cayman_pcie_gart_fini(rdev); | 2403 | cayman_pcie_gart_fini(rdev); |
2401 | r600_vram_scratch_fini(rdev); | 2404 | r600_vram_scratch_fini(rdev); |
2402 | radeon_gem_fini(rdev); | 2405 | radeon_gem_fini(rdev); |