diff options
Diffstat (limited to 'drivers/gpu/drm/drm_format_helper.c')
| -rw-r--r-- | drivers/gpu/drm/drm_format_helper.c | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/drivers/gpu/drm/drm_format_helper.c b/drivers/gpu/drm/drm_format_helper.c index 3ee59bae9d2f..74ff33c2ddaa 100644 --- a/drivers/gpu/drm/drm_format_helper.c +++ b/drivers/gpu/drm/drm_format_helper.c @@ -660,6 +660,11 @@ int drm_fb_blit(struct iosys_map *dst, const unsigned int *dst_pitch, uint32_t d  			drm_fb_xrgb8888_to_rgb565(dst, dst_pitch, src, fb, clip, false);  			return 0;  		} +	} else if (dst_format == (DRM_FORMAT_RGB565 | DRM_FORMAT_BIG_ENDIAN)) { +		if (fb_format == DRM_FORMAT_RGB565) { +			drm_fb_swab(dst, dst_pitch, src, fb, clip, false); +			return 0; +		}  	} else if (dst_format == DRM_FORMAT_RGB888) {  		if (fb_format == DRM_FORMAT_XRGB8888) {  			drm_fb_xrgb8888_to_rgb888(dst, dst_pitch, src, fb, clip); @@ -678,6 +683,11 @@ int drm_fb_blit(struct iosys_map *dst, const unsigned int *dst_pitch, uint32_t d  			drm_fb_xrgb8888_to_xrgb2101010(dst, dst_pitch, src, fb, clip);  			return 0;  		} +	} else if (dst_format == DRM_FORMAT_BGRX8888) { +		if (fb_format == DRM_FORMAT_XRGB8888) { +			drm_fb_swab(dst, dst_pitch, src, fb, clip, false); +			return 0; +		}  	}  	drm_warn_once(fb->dev, "No conversion helper from %p4cc to %p4cc found.\n", |