]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/gpu/ipu-v3/ipu-cpmem.c
Merge tag 'usercopy-v5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
[linux.git] / drivers / gpu / ipu-v3 / ipu-cpmem.c
index be1226ce28cd556b6fbd2c8057b4c6e306e76742..a1c85d1521f5c8fc9ebca3e83fb9f499f14aee66 100644 (file)
@@ -182,9 +182,27 @@ static int v4l2_pix_fmt_to_drm_fourcc(u32 pixelformat)
        case V4L2_PIX_FMT_RGB32:
                /* R G B A <=> [32:0] A:B:G:R */
                return DRM_FORMAT_XBGR8888;
+       case V4L2_PIX_FMT_ABGR32:
+               /* B G R A <=> [32:0] A:R:G:B */
+               return DRM_FORMAT_ARGB8888;
        case V4L2_PIX_FMT_XBGR32:
                /* B G R X <=> [32:0] X:R:G:B */
                return DRM_FORMAT_XRGB8888;
+       case V4L2_PIX_FMT_BGRA32:
+               /* A B G R <=> [32:0] R:G:B:A */
+               return DRM_FORMAT_RGBA8888;
+       case V4L2_PIX_FMT_BGRX32:
+               /* X B G R <=> [32:0] R:G:B:X */
+               return DRM_FORMAT_RGBX8888;
+       case V4L2_PIX_FMT_RGBA32:
+               /* R G B A <=> [32:0] A:B:G:R */
+               return DRM_FORMAT_ABGR8888;
+       case V4L2_PIX_FMT_RGBX32:
+               /* R G B X <=> [32:0] X:B:G:R */
+               return DRM_FORMAT_XBGR8888;
+       case V4L2_PIX_FMT_ARGB32:
+               /* A R G B <=> [32:0] B:G:R:A */
+               return DRM_FORMAT_BGRA8888;
        case V4L2_PIX_FMT_XRGB32:
                /* X R G B <=> [32:0] B:G:R:X */
                return DRM_FORMAT_BGRX8888;
@@ -823,8 +841,14 @@ int ipu_cpmem_set_image(struct ipuv3_channel *ch, struct ipu_image *image)
                break;
        case V4L2_PIX_FMT_RGB32:
        case V4L2_PIX_FMT_BGR32:
-       case V4L2_PIX_FMT_XRGB32:
+       case V4L2_PIX_FMT_ABGR32:
        case V4L2_PIX_FMT_XBGR32:
+       case V4L2_PIX_FMT_BGRA32:
+       case V4L2_PIX_FMT_BGRX32:
+       case V4L2_PIX_FMT_RGBA32:
+       case V4L2_PIX_FMT_RGBX32:
+       case V4L2_PIX_FMT_ARGB32:
+       case V4L2_PIX_FMT_XRGB32:
                offset = image->rect.left * 4 +
                        image->rect.top * pix->bytesperline;
                break;