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); |
