mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 19:43:43 -04:00
drm: virtio: add virtio_gpu_translate_format
Factors out code, no functional change. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Tested-by: Laurent Vivier <lvivier@redhat.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170403070845.10793-2-kraxel@redhat.com
This commit is contained in:
@@ -231,63 +231,9 @@ static int virtio_gpufb_create(struct drm_fb_helper *helper,
|
||||
mode_cmd.pitches[0] = mode_cmd.width * 4;
|
||||
mode_cmd.pixel_format = drm_mode_legacy_fb_format(32, 24);
|
||||
|
||||
switch (mode_cmd.pixel_format) {
|
||||
#ifdef __BIG_ENDIAN
|
||||
case DRM_FORMAT_XRGB8888:
|
||||
format = VIRTIO_GPU_FORMAT_X8R8G8B8_UNORM;
|
||||
break;
|
||||
case DRM_FORMAT_ARGB8888:
|
||||
format = VIRTIO_GPU_FORMAT_A8R8G8B8_UNORM;
|
||||
break;
|
||||
case DRM_FORMAT_BGRX8888:
|
||||
format = VIRTIO_GPU_FORMAT_B8G8R8X8_UNORM;
|
||||
break;
|
||||
case DRM_FORMAT_BGRA8888:
|
||||
format = VIRTIO_GPU_FORMAT_B8G8R8A8_UNORM;
|
||||
break;
|
||||
case DRM_FORMAT_RGBX8888:
|
||||
format = VIRTIO_GPU_FORMAT_R8G8B8X8_UNORM;
|
||||
break;
|
||||
case DRM_FORMAT_RGBA8888:
|
||||
format = VIRTIO_GPU_FORMAT_R8G8B8A8_UNORM;
|
||||
break;
|
||||
case DRM_FORMAT_XBGR8888:
|
||||
format = VIRTIO_GPU_FORMAT_X8B8G8R8_UNORM;
|
||||
break;
|
||||
case DRM_FORMAT_ABGR8888:
|
||||
format = VIRTIO_GPU_FORMAT_A8B8G8R8_UNORM;
|
||||
break;
|
||||
#else
|
||||
case DRM_FORMAT_XRGB8888:
|
||||
format = VIRTIO_GPU_FORMAT_B8G8R8X8_UNORM;
|
||||
break;
|
||||
case DRM_FORMAT_ARGB8888:
|
||||
format = VIRTIO_GPU_FORMAT_B8G8R8A8_UNORM;
|
||||
break;
|
||||
case DRM_FORMAT_BGRX8888:
|
||||
format = VIRTIO_GPU_FORMAT_X8R8G8B8_UNORM;
|
||||
break;
|
||||
case DRM_FORMAT_BGRA8888:
|
||||
format = VIRTIO_GPU_FORMAT_A8R8G8B8_UNORM;
|
||||
break;
|
||||
case DRM_FORMAT_RGBX8888:
|
||||
format = VIRTIO_GPU_FORMAT_X8B8G8R8_UNORM;
|
||||
break;
|
||||
case DRM_FORMAT_RGBA8888:
|
||||
format = VIRTIO_GPU_FORMAT_A8B8G8R8_UNORM;
|
||||
break;
|
||||
case DRM_FORMAT_XBGR8888:
|
||||
format = VIRTIO_GPU_FORMAT_R8G8B8X8_UNORM;
|
||||
break;
|
||||
case DRM_FORMAT_ABGR8888:
|
||||
format = VIRTIO_GPU_FORMAT_R8G8B8A8_UNORM;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
DRM_ERROR("failed to find virtio gpu format for %d\n",
|
||||
mode_cmd.pixel_format);
|
||||
format = virtio_gpu_translate_format(mode_cmd.pixel_format);
|
||||
if (format == 0)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
size = mode_cmd.pitches[0] * mode_cmd.height;
|
||||
obj = virtio_gpu_alloc_object(dev, size, false, true);
|
||||
|
||||
Reference in New Issue
Block a user