diff options
author | Marcin Kościelnicki <koriakin@0x04.net> | 2010-02-27 18:13:35 +0000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2010-03-10 16:06:44 +1000 |
commit | c82b88d578847909797945824851a6a9a84f9c20 (patch) | |
tree | dee4a902c6c7e013590410e48a4b54aae213b6e3 /drivers/gpu/drm/nouveau/nv04_fbcon.c | |
parent | 37000d275721e25af6b49fbb2dbcd04022091276 (diff) | |
download | talos-obmc-linux-c82b88d578847909797945824851a6a9a84f9c20.tar.gz talos-obmc-linux-c82b88d578847909797945824851a6a9a84f9c20.zip |
drm/nouveau: Fix fbcon corruption with font width not divisible by 8
NV50 is nice and has a switch that autoaligns stuff for us. Pre-NV50,
we need to align input bitmap width manually.
Signed-off-by: Marcin Kościelnicki <koriakin@0x04.net>
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nv04_fbcon.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nv04_fbcon.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/nouveau/nv04_fbcon.c b/drivers/gpu/drm/nouveau/nv04_fbcon.c index 3da90c2c4e63..813b25cec726 100644 --- a/drivers/gpu/drm/nouveau/nv04_fbcon.c +++ b/drivers/gpu/drm/nouveau/nv04_fbcon.c @@ -118,8 +118,8 @@ nv04_fbcon_imageblit(struct fb_info *info, const struct fb_image *image) return; } - width = ALIGN(image->width, 32); - dsize = (width * image->height) >> 5; + width = ALIGN(image->width, 8); + dsize = ALIGN(width * image->height, 32) >> 5; if (info->fix.visual == FB_VISUAL_TRUECOLOR || info->fix.visual == FB_VISUAL_DIRECTCOLOR) { @@ -136,8 +136,8 @@ nv04_fbcon_imageblit(struct fb_info *info, const struct fb_image *image) ((image->dx + image->width) & 0xffff)); OUT_RING(chan, bg); OUT_RING(chan, fg); - OUT_RING(chan, (image->height << 16) | image->width); OUT_RING(chan, (image->height << 16) | width); + OUT_RING(chan, (image->height << 16) | image->width); OUT_RING(chan, (image->dy << 16) | (image->dx & 0xffff)); while (dsize) { |