diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2017-04-03 03:08:44 -0400 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2017-04-04 04:10:19 -0400 |
commit | d519cb76181efc78ba67e87b38286fa04d46dfa3 (patch) | |
tree | b5fcd90ae83a08587bcfd9a5604bf6121ecf1b5c /drivers/gpu/drm/virtio/virtgpu_fb.c | |
parent | 5d5f7c571549099dd03e56cdb46a551da088a106 (diff) |
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
Diffstat (limited to 'drivers/gpu/drm/virtio/virtgpu_fb.c')
-rw-r--r-- | drivers/gpu/drm/virtio/virtgpu_fb.c | 58 |
1 files changed, 2 insertions, 56 deletions
diff --git a/drivers/gpu/drm/virtio/virtgpu_fb.c b/drivers/gpu/drm/virtio/virtgpu_fb.c index 9bfaef379469..33df067b11c1 100644 --- a/drivers/gpu/drm/virtio/virtgpu_fb.c +++ b/drivers/gpu/drm/virtio/virtgpu_fb.c | |||
@@ -231,63 +231,9 @@ static int virtio_gpufb_create(struct drm_fb_helper *helper, | |||
231 | mode_cmd.pitches[0] = mode_cmd.width * 4; | 231 | mode_cmd.pitches[0] = mode_cmd.width * 4; |
232 | mode_cmd.pixel_format = drm_mode_legacy_fb_format(32, 24); | 232 | mode_cmd.pixel_format = drm_mode_legacy_fb_format(32, 24); |
233 | 233 | ||
234 | switch (mode_cmd.pixel_format) { | 234 | format = virtio_gpu_translate_format(mode_cmd.pixel_format); |
235 | #ifdef __BIG_ENDIAN | 235 | if (format == 0) |
236 | case DRM_FORMAT_XRGB8888: | ||
237 | format = VIRTIO_GPU_FORMAT_X8R8G8B8_UNORM; | ||
238 | break; | ||
239 | case DRM_FORMAT_ARGB8888: | ||
240 | format = VIRTIO_GPU_FORMAT_A8R8G8B8_UNORM; | ||
241 | break; | ||
242 | case DRM_FORMAT_BGRX8888: | ||
243 | format = VIRTIO_GPU_FORMAT_B8G8R8X8_UNORM; | ||
244 | break; | ||
245 | case DRM_FORMAT_BGRA8888: | ||
246 | format = VIRTIO_GPU_FORMAT_B8G8R8A8_UNORM; | ||
247 | break; | ||
248 | case DRM_FORMAT_RGBX8888: | ||
249 | format = VIRTIO_GPU_FORMAT_R8G8B8X8_UNORM; | ||
250 | break; | ||
251 | case DRM_FORMAT_RGBA8888: | ||
252 | format = VIRTIO_GPU_FORMAT_R8G8B8A8_UNORM; | ||
253 | break; | ||
254 | case DRM_FORMAT_XBGR8888: | ||
255 | format = VIRTIO_GPU_FORMAT_X8B8G8R8_UNORM; | ||
256 | break; | ||
257 | case DRM_FORMAT_ABGR8888: | ||
258 | format = VIRTIO_GPU_FORMAT_A8B8G8R8_UNORM; | ||
259 | break; | ||
260 | #else | ||
261 | case DRM_FORMAT_XRGB8888: | ||
262 | format = VIRTIO_GPU_FORMAT_B8G8R8X8_UNORM; | ||
263 | break; | ||
264 | case DRM_FORMAT_ARGB8888: | ||
265 | format = VIRTIO_GPU_FORMAT_B8G8R8A8_UNORM; | ||
266 | break; | ||
267 | case DRM_FORMAT_BGRX8888: | ||
268 | format = VIRTIO_GPU_FORMAT_X8R8G8B8_UNORM; | ||
269 | break; | ||
270 | case DRM_FORMAT_BGRA8888: | ||
271 | format = VIRTIO_GPU_FORMAT_A8R8G8B8_UNORM; | ||
272 | break; | ||
273 | case DRM_FORMAT_RGBX8888: | ||
274 | format = VIRTIO_GPU_FORMAT_X8B8G8R8_UNORM; | ||
275 | break; | ||
276 | case DRM_FORMAT_RGBA8888: | ||
277 | format = VIRTIO_GPU_FORMAT_A8B8G8R8_UNORM; | ||
278 | break; | ||
279 | case DRM_FORMAT_XBGR8888: | ||
280 | format = VIRTIO_GPU_FORMAT_R8G8B8X8_UNORM; | ||
281 | break; | ||
282 | case DRM_FORMAT_ABGR8888: | ||
283 | format = VIRTIO_GPU_FORMAT_R8G8B8A8_UNORM; | ||
284 | break; | ||
285 | #endif | ||
286 | default: | ||
287 | DRM_ERROR("failed to find virtio gpu format for %d\n", | ||
288 | mode_cmd.pixel_format); | ||
289 | return -EINVAL; | 236 | return -EINVAL; |
290 | } | ||
291 | 237 | ||
292 | size = mode_cmd.pitches[0] * mode_cmd.height; | 238 | size = mode_cmd.pitches[0] * mode_cmd.height; |
293 | obj = virtio_gpu_alloc_object(dev, size, false, true); | 239 | obj = virtio_gpu_alloc_object(dev, size, false, true); |