diff options
Diffstat (limited to 'drivers/video/intelfb/intelfbdrv.c')
-rw-r--r-- | drivers/video/intelfb/intelfbdrv.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/drivers/video/intelfb/intelfbdrv.c b/drivers/video/intelfb/intelfbdrv.c index a09e23649357..6d8e5415c809 100644 --- a/drivers/video/intelfb/intelfbdrv.c +++ b/drivers/video/intelfb/intelfbdrv.c | |||
@@ -1493,8 +1493,10 @@ static void intelfb_fillrect (struct fb_info *info, | |||
1493 | DBG_MSG("intelfb_fillrect\n"); | 1493 | DBG_MSG("intelfb_fillrect\n"); |
1494 | #endif | 1494 | #endif |
1495 | 1495 | ||
1496 | if (!ACCEL(dinfo, info) || dinfo->depth == 4) | 1496 | if (!ACCEL(dinfo, info) || dinfo->depth == 4) { |
1497 | return cfb_fillrect(info, rect); | 1497 | cfb_fillrect(info, rect); |
1498 | return; | ||
1499 | } | ||
1498 | 1500 | ||
1499 | if (rect->rop == ROP_COPY) | 1501 | if (rect->rop == ROP_COPY) |
1500 | rop = PAT_ROP_GXCOPY; | 1502 | rop = PAT_ROP_GXCOPY; |
@@ -1521,8 +1523,10 @@ static void intelfb_copyarea(struct fb_info *info, | |||
1521 | DBG_MSG("intelfb_copyarea\n"); | 1523 | DBG_MSG("intelfb_copyarea\n"); |
1522 | #endif | 1524 | #endif |
1523 | 1525 | ||
1524 | if (!ACCEL(dinfo, info) || dinfo->depth == 4) | 1526 | if (!ACCEL(dinfo, info) || dinfo->depth == 4) { |
1525 | return cfb_copyarea(info, region); | 1527 | cfb_copyarea(info, region); |
1528 | return; | ||
1529 | } | ||
1526 | 1530 | ||
1527 | intelfbhw_do_bitblt(dinfo, region->sx, region->sy, region->dx, | 1531 | intelfbhw_do_bitblt(dinfo, region->sx, region->sy, region->dx, |
1528 | region->dy, region->width, region->height, | 1532 | region->dy, region->width, region->height, |
@@ -1540,8 +1544,10 @@ static void intelfb_imageblit(struct fb_info *info, | |||
1540 | #endif | 1544 | #endif |
1541 | 1545 | ||
1542 | if (!ACCEL(dinfo, info) || dinfo->depth == 4 | 1546 | if (!ACCEL(dinfo, info) || dinfo->depth == 4 |
1543 | || image->depth != 1) | 1547 | || image->depth != 1) { |
1544 | return cfb_imageblit(info, image); | 1548 | cfb_imageblit(info, image); |
1549 | return; | ||
1550 | } | ||
1545 | 1551 | ||
1546 | if (dinfo->depth != 8) { | 1552 | if (dinfo->depth != 8) { |
1547 | fgcolor = dinfo->pseudo_palette[image->fg_color]; | 1553 | fgcolor = dinfo->pseudo_palette[image->fg_color]; |
@@ -1554,8 +1560,10 @@ static void intelfb_imageblit(struct fb_info *info, | |||
1554 | if (!intelfbhw_do_drawglyph(dinfo, fgcolor, bgcolor, image->width, | 1560 | if (!intelfbhw_do_drawglyph(dinfo, fgcolor, bgcolor, image->width, |
1555 | image->height, image->data, | 1561 | image->height, image->data, |
1556 | image->dx, image->dy, | 1562 | image->dx, image->dy, |
1557 | dinfo->pitch, info->var.bits_per_pixel)) | 1563 | dinfo->pitch, info->var.bits_per_pixel)) { |
1558 | return cfb_imageblit(info, image); | 1564 | cfb_imageblit(info, image); |
1565 | return; | ||
1566 | } | ||
1559 | } | 1567 | } |
1560 | 1568 | ||
1561 | static int intelfb_cursor(struct fb_info *info, struct fb_cursor *cursor) | 1569 | static int intelfb_cursor(struct fb_info *info, struct fb_cursor *cursor) |