raspberrypi inclusion
category: feature
bugzilla: 50432
------------------------------
This patch adjusts following fbdev related patches for
raspberry pi on non-Raspberry Pi platforms, using specific
config CONFIG_OPENEULER_RASPBERRYPI to distinguish them:
29df1382f6 Speed up console framebuffer imageblit function
Signed-off-by: Zheng Zengkai <zhengzengkai(a)huawei.com>
---
drivers/video/fbdev/core/cfbimgblt.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/drivers/video/fbdev/core/cfbimgblt.c b/drivers/video/fbdev/core/cfbimgblt.c
index 436494fba15a..fb0e9cc0a0ba 100644
--- a/drivers/video/fbdev/core/cfbimgblt.c
+++ b/drivers/video/fbdev/core/cfbimgblt.c
@@ -266,7 +266,8 @@ static inline void fast_imageblit(const struct fb_image *image, struct fb_info *
s += spitch;
}
}
-
+
+#ifdef CONFIG_OPENEULER_RASPBERRYPI
/*
* Optimized fast_imageblit for bpp == 16. ppw = 2, bit_mask = 3 folded
* into the code, main loop unrolled.
@@ -393,6 +394,7 @@ static inline void fast_imageblit32(const struct fb_image *image,
s += spitch;
}
}
+#endif
void cfb_imageblit(struct fb_info *p, const struct fb_image *image)
{
@@ -425,7 +427,8 @@ void cfb_imageblit(struct fb_info *p, const struct fb_image *image)
fgcolor = image->fg_color;
bgcolor = image->bg_color;
}
-
+
+#ifdef CONFIG_OPENEULER_RASPBERRYPI
if (!start_index && !pitch_index) {
if (bpp == 32)
fast_imageblit32(image, p, dst1, fgcolor,
@@ -441,6 +444,13 @@ void cfb_imageblit(struct fb_info *p, const struct fb_image *image)
bgcolor,
start_index, pitch_index);
} else
+#else
+ if (32 % bpp == 0 && !start_index && !pitch_index &&
+ ((width & (32/bpp-1)) == 0) &&
+ bpp >= 8 && bpp <= 32)
+ fast_imageblit(image, p, dst1, fgcolor, bgcolor);
+ else
+#endif
slow_imageblit(image, p, dst1, fgcolor, bgcolor,
start_index, pitch_index);
} else
--
2.20.1