{
        struct drm_device *dev = crtc->dev;
        struct mga_device *mdev = dev->dev_private;
+       const struct drm_framebuffer *fb = crtc->primary->fb;
        int hdisplay, hsyncstart, hsyncend, htotal;
        int vdisplay, vsyncstart, vsyncend, vtotal;
        int pitch;
                /* 0x48: */        0,    0,    0,    0,    0,    0,    0,    0
        };
 
-       bppshift = mdev->bpp_shifts[(crtc->primary->fb->bits_per_pixel >> 3) - 1];
+       bppshift = mdev->bpp_shifts[(fb->bits_per_pixel >> 3) - 1];
 
        switch (mdev->type) {
        case G200_SE_A:
                break;
        }
 
-       switch (crtc->primary->fb->bits_per_pixel) {
+       switch (fb->bits_per_pixel) {
        case 8:
                dacvalue[MGA1064_MUL_CTL] = MGA1064_MUL_CTL_8bits;
                break;
        case 16:
-               if (crtc->primary->fb->depth == 15)
+               if (fb->depth == 15)
                        dacvalue[MGA1064_MUL_CTL] = MGA1064_MUL_CTL_15bits;
                else
                        dacvalue[MGA1064_MUL_CTL] = MGA1064_MUL_CTL_16bits;
        WREG_SEQ(3, 0);
        WREG_SEQ(4, 0xe);
 
-       pitch = crtc->primary->fb->pitches[0] / (crtc->primary->fb->bits_per_pixel / 8);
-       if (crtc->primary->fb->bits_per_pixel == 24)
+       pitch = fb->pitches[0] / (fb->bits_per_pixel / 8);
+       if (fb->bits_per_pixel == 24)
                pitch = (pitch * 3) >> (4 - bppshift);
        else
                pitch = pitch >> (4 - bppshift);
                ((vdisplay & 0xc00) >> 7) |
                ((vsyncstart & 0xc00) >> 5) |
                ((vdisplay & 0x400) >> 3);
-       if (crtc->primary->fb->bits_per_pixel == 24)
+       if (fb->bits_per_pixel == 24)
                ext_vga[3] = (((1 << bppshift) * 3) - 1) | 0x80;
        else
                ext_vga[3] = ((1 << bppshift) - 1) | 0x80;
                        u32 bpp;
                        u32 mb;
 
-                       if (crtc->primary->fb->bits_per_pixel > 16)
+                       if (fb->bits_per_pixel > 16)
                                bpp = 32;
-                       else if (crtc->primary->fb->bits_per_pixel > 8)
+                       else if (fb->bits_per_pixel > 8)
                                bpp = 16;
                        else
                                bpp = 8;