[PATCH] mach64: fix console corruption in 24bpp mode
Ville Syrjälä
syrjala at sci.fi
Sun Aug 19 10:26:28 UTC 2018
On Fri, Aug 17, 2018 at 03:15:52PM -0400, Mikulas Patocka wrote:
> There's console font corruption when using the mach64 driver in 24bpp
> mode.
>
> In 24bpp mode, the mach64 accelerator is set up for 8-bpp mode (with
> horizontal width and stride multiplied by 3). In this mode, the
> accelerator can't even possibly support color expansion. Consquently, we
> have to use an unaccelerated function cfb_imageblit for color expansion.
Hmm. I would think it should work just fine since we feed in each bit
three times and the hw 24bpp rotate thing should take care of selecting
the right component.
- if (M64_HAS(HW_TRIPLE) && image->width % 8 == 0)
+ if (M64_HAS(HW_TRIPLE) && width % 8 == 0)
pix_width |= DP_HOST_TRIPLE_EN;
perhaps?
> Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>
> Cc: stable at vger.kernel.org
>
> ---
> drivers/video/fbdev/aty/mach64_accel.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> Index: linux-stable/drivers/video/fbdev/aty/mach64_accel.c
> ===================================================================
> --- linux-stable.orig/drivers/video/fbdev/aty/mach64_accel.c 2018-04-20 18:11:01.000000000 +0200
> +++ linux-stable/drivers/video/fbdev/aty/mach64_accel.c 2018-08-13 17:37:04.000000000 +0200
> @@ -291,7 +291,8 @@ void atyfb_imageblit(struct fb_info *inf
> if (!image->width || !image->height)
> return;
> if (!par->accel_flags ||
> - (image->depth != 1 && info->var.bits_per_pixel != image->depth)) {
> + (image->depth != 1 && info->var.bits_per_pixel != image->depth) ||
> + (image->depth == 1 && info->var.bits_per_pixel == 24)) {
> cfb_imageblit(info, image);
> return;
> }
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Ville Syrjälä
syrjala at sci.fi
http://www.sci.fi/~syrjala/
More information about the dri-devel
mailing list