[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1569243230-183568-3-git-send-email-hjc@rock-chips.com>
Date: Mon, 23 Sep 2019 20:53:47 +0800
From: Sandy Huang <hjc@...k-chips.com>
To: dri-devel@...ts.freedesktop.org, Dave Airlie <airlied@...hat.com>,
David Airlie <airlied@...ux.ie>,
Daniel Vetter <daniel@...ll.ch>,
Thomas Zimmermann <tzimmermann@...e.de>,
Gerd Hoffmann <kraxel@...hat.com>,
Sam Ravnborg <sam@...nborg.org>,
Neil Armstrong <narmstrong@...libre.com>,
Sandy Huang <hjc@...k-chips.com>,
José Roberto de Souza <jose.souza@...el.com>,
Andrzej Pietrasiewicz <andrzej.p@...labora.com>
Cc: Daniel Vetter <daniel.vetter@...ll.ch>,
linux-kernel@...r.kernel.org
Subject: [PATCH 33/36] drm/mgag200: use bpp instead of cpp for drm_format_info
cpp[BytePerPlane] can't describe the 10bit data format correctly,
So we use bpp[BitPerPlane] to instead cpp.
Signed-off-by: Sandy Huang <hjc@...k-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
Powered by blists - more mailing lists