diff options
author | Lucas Stach <l.stach@pengutronix.de> | 2015-08-04 11:21:04 -0400 |
---|---|---|
committer | Philipp Zabel <p.zabel@pengutronix.de> | 2015-10-30 12:13:47 -0400 |
commit | 7d2e8a204aa04b83aca2beb5f1441262c3aa26c8 (patch) | |
tree | abd7059f3cfb7296c6dea2a6c1ba7fa77f3d7da5 /drivers/gpu/ipu-v3 | |
parent | 59d6b7189a968d627af37fc26a410dced0854b99 (diff) |
gpu: ipu-v3: add support for ARGB4444 16-bit color format
This patch adds support for the ARGB4444 color format.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Diffstat (limited to 'drivers/gpu/ipu-v3')
-rw-r--r-- | drivers/gpu/ipu-v3/ipu-common.c | 1 | ||||
-rw-r--r-- | drivers/gpu/ipu-v3/ipu-cpmem.c | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/ipu-v3/ipu-common.c b/drivers/gpu/ipu-v3/ipu-common.c index c0b19160a946..ba47b30d28fa 100644 --- a/drivers/gpu/ipu-v3/ipu-common.c +++ b/drivers/gpu/ipu-v3/ipu-common.c | |||
@@ -65,6 +65,7 @@ enum ipu_color_space ipu_drm_fourcc_to_colorspace(u32 drm_fourcc) | |||
65 | case DRM_FORMAT_BGR565: | 65 | case DRM_FORMAT_BGR565: |
66 | case DRM_FORMAT_RGB888: | 66 | case DRM_FORMAT_RGB888: |
67 | case DRM_FORMAT_BGR888: | 67 | case DRM_FORMAT_BGR888: |
68 | case DRM_FORMAT_ARGB4444: | ||
68 | case DRM_FORMAT_XRGB8888: | 69 | case DRM_FORMAT_XRGB8888: |
69 | case DRM_FORMAT_XBGR8888: | 70 | case DRM_FORMAT_XBGR8888: |
70 | case DRM_FORMAT_RGBX8888: | 71 | case DRM_FORMAT_RGBX8888: |
diff --git a/drivers/gpu/ipu-v3/ipu-cpmem.c b/drivers/gpu/ipu-v3/ipu-cpmem.c index 0e6b8687c61a..63eb16bf2cf0 100644 --- a/drivers/gpu/ipu-v3/ipu-cpmem.c +++ b/drivers/gpu/ipu-v3/ipu-cpmem.c | |||
@@ -524,6 +524,14 @@ static const struct ipu_rgb def_argb_16 = { | |||
524 | .bits_per_pixel = 16, | 524 | .bits_per_pixel = 16, |
525 | }; | 525 | }; |
526 | 526 | ||
527 | static const struct ipu_rgb def_argb_16_4444 = { | ||
528 | .red = { .offset = 8, .length = 4, }, | ||
529 | .green = { .offset = 4, .length = 4, }, | ||
530 | .blue = { .offset = 0, .length = 4, }, | ||
531 | .transp = { .offset = 12, .length = 4, }, | ||
532 | .bits_per_pixel = 16, | ||
533 | }; | ||
534 | |||
527 | static const struct ipu_rgb def_abgr_16 = { | 535 | static const struct ipu_rgb def_abgr_16 = { |
528 | .red = { .offset = 0, .length = 5, }, | 536 | .red = { .offset = 0, .length = 5, }, |
529 | .green = { .offset = 5, .length = 5, }, | 537 | .green = { .offset = 5, .length = 5, }, |
@@ -649,6 +657,9 @@ int ipu_cpmem_set_fmt(struct ipuv3_channel *ch, u32 drm_fourcc) | |||
649 | case DRM_FORMAT_BGRA5551: | 657 | case DRM_FORMAT_BGRA5551: |
650 | ipu_cpmem_set_format_rgb(ch, &def_bgra_16); | 658 | ipu_cpmem_set_format_rgb(ch, &def_bgra_16); |
651 | break; | 659 | break; |
660 | case DRM_FORMAT_ARGB4444: | ||
661 | ipu_cpmem_set_format_rgb(ch, &def_argb_16_4444); | ||
662 | break; | ||
652 | default: | 663 | default: |
653 | return -EINVAL; | 664 | return -EINVAL; |
654 | } | 665 | } |