cpp[BytePerPlane] can't describe the 10bit data format correctly,
So we use bpp[BitPerPlane] to instead cpp.

Signed-off-by: Sandy Huang <h...@rock-chips.com>
---
 drivers/gpu/drm/mgag200/mgag200_mode.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c 
b/drivers/gpu/drm/mgag200/mgag200_mode.c
index 6822655..5aff652 100644
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
@@ -41,7 +41,7 @@ static void mga_crtc_load_lut(struct drm_crtc *crtc)
 
        WREG8(DAC_INDEX + MGA1064_INDEX, 0);
 
-       if (fb && fb->format->cpp[0] * 8 == 16) {
+       if (fb && fb->format->bpp[0] == 16) {
                int inc = (fb->format->depth == 15) ? 8 : 4;
                u8 r, b;
                for (i = 0; i < MGAG200_LUT_SIZE; i += inc) {
@@ -925,7 +925,7 @@ static int mga_crtc_mode_set(struct drm_crtc *crtc,
                /* 0x48: */        0,    0,    0,    0,    0,    0,    0,    0
        };
 
-       bppshift = mdev->bpp_shifts[fb->format->cpp[0] - 1];
+       bppshift = mdev->bpp_shifts[fb->format->bpp[0] / 8 - 1];
 
        switch (mdev->type) {
        case G200_SE_A:
@@ -965,7 +965,7 @@ static int mga_crtc_mode_set(struct drm_crtc *crtc,
                break;
        }
 
-       switch (fb->format->cpp[0] * 8) {
+       switch (fb->format->bpp[0]) {
        case 8:
                dacvalue[MGA1064_MUL_CTL] = MGA1064_MUL_CTL_8bits;
                break;
@@ -1022,8 +1022,8 @@ static int mga_crtc_mode_set(struct drm_crtc *crtc,
        WREG_SEQ(3, 0);
        WREG_SEQ(4, 0xe);
 
-       pitch = fb->pitches[0] / fb->format->cpp[0];
-       if (fb->format->cpp[0] * 8 == 24)
+       pitch = fb->pitches[0] / fb->format->bpp[0] / 8;
+       if (fb->format->bpp[0] == 24)
                pitch = (pitch * 3) >> (4 - bppshift);
        else
                pitch = pitch >> (4 - bppshift);
@@ -1100,7 +1100,7 @@ static int mga_crtc_mode_set(struct drm_crtc *crtc,
                ((vdisplay & 0xc00) >> 7) |
                ((vsyncstart & 0xc00) >> 5) |
                ((vdisplay & 0x400) >> 3);
-       if (fb->format->cpp[0] * 8 == 24)
+       if (fb->format->bpp[0] == 24)
                ext_vga[3] = (((1 << bppshift) * 3) - 1) | 0x80;
        else
                ext_vga[3] = ((1 << bppshift) - 1) | 0x80;
@@ -1166,9 +1166,9 @@ static int mga_crtc_mode_set(struct drm_crtc *crtc,
                        u32 bpp;
                        u32 mb;
 
-                       if (fb->format->cpp[0] * 8 > 16)
+                       if (fb->format->bpp[0] > 16)
                                bpp = 32;
-                       else if (fb->format->cpp[0] * 8 > 8)
+                       else if (fb->format->bpp[0] > 8)
                                bpp = 16;
                        else
                                bpp = 8;
-- 
2.7.4



_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to