drm/i915: Support 30 bit depth modes
authorKristian Høgsberg <krh@bitplanet.net>
Mon, 19 Oct 2009 18:35:30 +0000 (14:35 -0400)
committerEric Anholt <eric@anholt.net>
Thu, 5 Nov 2009 22:47:13 +0000 (14:47 -0800)
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_display.c

index d1be1849580d3186d348425b9541351ca8dda1a7..e8c6d00cde97266eb29ebd2b3d5f8b6d74a4a782 100644 (file)
 #define   DISPPLANE_16BPP                      (0x5<<26)
 #define   DISPPLANE_32BPP_NO_ALPHA             (0x6<<26)
 #define   DISPPLANE_32BPP                      (0x7<<26)
+#define   DISPPLANE_32BPP_30BIT_NO_ALPHA       (0xa<<26)
 #define   DISPPLANE_STEREO_ENABLE              (1<<25)
 #define   DISPPLANE_STEREO_DISABLE             0
 #define   DISPPLANE_SEL_PIPE_MASK              (1<<24)
index 8df81401c14980259bd4df25995fd147393c8b22..e4221b8844ceaf5add786b5fa69c6bd24cc74175 100644 (file)
@@ -1289,7 +1289,10 @@ intel_pipe_set_base(struct drm_crtc *crtc, int x, int y,
                break;
        case 24:
        case 32:
-               dspcntr |= DISPPLANE_32BPP_NO_ALPHA;
+               if (crtc->fb->depth == 30)
+                       dspcntr |= DISPPLANE_32BPP_30BIT_NO_ALPHA;
+               else
+                       dspcntr |= DISPPLANE_32BPP_NO_ALPHA;
                break;
        default:
                DRM_ERROR("Unknown color depth\n");