diff options
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_mixer.c | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c b/drivers/gpu/drm/exynos/exynos_mixer.c index adb5ec1b51ae..1bcbcfd5f8c3 100644 --- a/drivers/gpu/drm/exynos/exynos_mixer.c +++ b/drivers/gpu/drm/exynos/exynos_mixer.c | |||
@@ -44,6 +44,12 @@ | |||
44 | #define MIXER_WIN_NR 3 | 44 | #define MIXER_WIN_NR 3 |
45 | #define MIXER_DEFAULT_WIN 0 | 45 | #define MIXER_DEFAULT_WIN 0 |
46 | 46 | ||
47 | /* The pixelformats that are natively supported by the mixer. */ | ||
48 | #define MXR_FORMAT_RGB565 4 | ||
49 | #define MXR_FORMAT_ARGB1555 5 | ||
50 | #define MXR_FORMAT_ARGB4444 6 | ||
51 | #define MXR_FORMAT_ARGB8888 7 | ||
52 | |||
47 | struct mixer_resources { | 53 | struct mixer_resources { |
48 | int irq; | 54 | int irq; |
49 | void __iomem *mixer_regs; | 55 | void __iomem *mixer_regs; |
@@ -521,20 +527,27 @@ static void mixer_graph_buffer(struct mixer_context *ctx, int win) | |||
521 | 527 | ||
522 | plane = &ctx->planes[win]; | 528 | plane = &ctx->planes[win]; |
523 | 529 | ||
524 | #define RGB565 4 | 530 | switch (plane->pixel_format) { |
525 | #define ARGB1555 5 | 531 | case DRM_FORMAT_XRGB4444: |
526 | #define ARGB4444 6 | 532 | fmt = MXR_FORMAT_ARGB4444; |
527 | #define ARGB8888 7 | 533 | break; |
534 | |||
535 | case DRM_FORMAT_XRGB1555: | ||
536 | fmt = MXR_FORMAT_ARGB1555; | ||
537 | break; | ||
528 | 538 | ||
529 | switch (plane->bpp) { | 539 | case DRM_FORMAT_RGB565: |
530 | case 16: | 540 | fmt = MXR_FORMAT_RGB565; |
531 | fmt = ARGB4444; | ||
532 | break; | 541 | break; |
533 | case 32: | 542 | |
534 | fmt = ARGB8888; | 543 | case DRM_FORMAT_XRGB8888: |
544 | case DRM_FORMAT_ARGB8888: | ||
545 | fmt = MXR_FORMAT_ARGB8888; | ||
535 | break; | 546 | break; |
547 | |||
536 | default: | 548 | default: |
537 | fmt = ARGB8888; | 549 | DRM_DEBUG_KMS("pixelformat unsupported by mixer\n"); |
550 | return; | ||
538 | } | 551 | } |
539 | 552 | ||
540 | /* check if mixer supports requested scaling setup */ | 553 | /* check if mixer supports requested scaling setup */ |