Merge branch 'drm-radeon-testing' of ../drm-radeon-next into drm-core-next
authorDave Airlie <airlied@redhat.com>
Tue, 3 Jan 2012 09:43:28 +0000 (09:43 +0000)
committerDave Airlie <airlied@redhat.com>
Tue, 3 Jan 2012 09:45:12 +0000 (09:45 +0000)
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

1  2 
drivers/gpu/drm/radeon/evergreen.c
drivers/gpu/drm/radeon/evergreen_reg.h

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