From: Dave Airlie Date: Tue, 3 Jan 2012 09:43:28 +0000 (+0000) Subject: Merge branch 'drm-radeon-testing' of ../drm-radeon-next into drm-core-next X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=7a7e8734ac3235efafd34819b27fbdf5417e6d60;p=deliverable%2Flinux.git Merge branch 'drm-radeon-testing' of ../drm-radeon-next into drm-core-next This merges the evergreen HDMI audio support. * 'drm-radeon-testing' of ../drm-radeon-next: drm/radeon/kms: define TMDS/LVTM HDMI enabling bits drm/radeon/kms: workaround invalid AVI infoframe checksum issue drm/radeon/kms: setup HDMI mode on Evergreen encoders drm/radeon/kms: support for audio on Evergreen drm/radeon/kms: minor HDMI audio cleanups drm/radeon/kms: do not force DVI mode on DCE4 if audio is on ridge Conflicts: drivers/gpu/drm/radeon/evergreen.c --- 7a7e8734ac3235efafd34819b27fbdf5417e6d60 diff --cc drivers/gpu/drm/radeon/evergreen.c index 1934728e2465,a7da8d437161..ccde2c9540e2 --- a/drivers/gpu/drm/radeon/evergreen.c +++ b/drivers/gpu/drm/radeon/evergreen.c @@@ -3182,14 -3069,9 +3182,19 @@@ static int evergreen_startup(struct rad if (r) return r; + r = radeon_ib_pool_start(rdev); + if (r) + return r; + + r = r600_ib_test(rdev, RADEON_RING_TYPE_GFX_INDEX); + if (r) { + DRM_ERROR("radeon: failed testing IB (%d).\n", r); + rdev->accel_working = false; ++ } ++ + r = r600_audio_init(rdev); + if (r) { + DRM_ERROR("radeon: audio init failed\n"); return r; } @@@ -3225,13 -3118,10 +3230,14 @@@ int evergreen_resume(struct radeon_devi int evergreen_suspend(struct radeon_device *rdev) { + struct radeon_ring *ring = &rdev->ring[RADEON_RING_TYPE_GFX_INDEX]; + + r600_audio_fini(rdev); /* FIXME: we should wait for ring to be empty */ + radeon_ib_pool_suspend(rdev); + r600_blit_suspend(rdev); r700_cp_stop(rdev); - rdev->cp.ready = false; + ring->ready = false; evergreen_irq_suspend(rdev); radeon_wb_disable(rdev); evergreen_pcie_gart_disable(rdev);