drm: Nuke fb->bits_per_pixel
[linux-2.6-microblaze.git] / drivers / gpu / drm / gma500 / mdfld_intel_display.c
index 92e3f93..63c6e08 100644 (file)
@@ -148,7 +148,7 @@ static int check_fb(struct drm_framebuffer *fb)
        if (!fb)
                return 0;
 
-       switch (fb->bits_per_pixel) {
+       switch (fb->format->cpp[0] * 8) {
        case 8:
        case 16:
        case 24:
@@ -165,8 +165,9 @@ static int mdfld__intel_pipe_set_base(struct drm_crtc *crtc, int x, int y,
 {
        struct drm_device *dev = crtc->dev;
        struct drm_psb_private *dev_priv = dev->dev_private;
+       struct drm_framebuffer *fb = crtc->primary->fb;
        struct gma_crtc *gma_crtc = to_gma_crtc(crtc);
-       struct psb_framebuffer *psbfb = to_psb_fb(crtc->primary->fb);
+       struct psb_framebuffer *psbfb = to_psb_fb(fb);
        int pipe = gma_crtc->pipe;
        const struct psb_offset *map = &dev_priv->regmap[pipe];
        unsigned long start, offset;
@@ -178,12 +179,12 @@ static int mdfld__intel_pipe_set_base(struct drm_crtc *crtc, int x, int y,
        dev_dbg(dev->dev, "pipe = 0x%x.\n", pipe);
 
        /* no fb bound */
-       if (!crtc->primary->fb) {
+       if (!fb) {
                dev_dbg(dev->dev, "No FB bound\n");
                return 0;
        }
 
-       ret = check_fb(crtc->primary->fb);
+       ret = check_fb(fb);
        if (ret)
                return ret;
 
@@ -196,18 +197,18 @@ static int mdfld__intel_pipe_set_base(struct drm_crtc *crtc, int x, int y,
                return 0;
 
        start = psbfb->gtt->offset;
-       offset = y * crtc->primary->fb->pitches[0] + x * (crtc->primary->fb->bits_per_pixel / 8);
+       offset = y * fb->pitches[0] + x * fb->format->cpp[0];
 
-       REG_WRITE(map->stride, crtc->primary->fb->pitches[0]);
+       REG_WRITE(map->stride, fb->pitches[0]);
        dspcntr = REG_READ(map->cntr);
        dspcntr &= ~DISPPLANE_PIXFORMAT_MASK;
 
-       switch (crtc->primary->fb->bits_per_pixel) {
+       switch (fb->format->cpp[0] * 8) {
        case 8:
                dspcntr |= DISPPLANE_8BPP;
                break;
        case 16:
-               if (crtc->primary->fb->depth == 15)
+               if (fb->format->depth == 15)
                        dspcntr |= DISPPLANE_15_16BPP;
                else
                        dspcntr |= DISPPLANE_16BPP;