Commit 1e92a226 authored by Dave Airlie's avatar Dave Airlie

Merge tag 'exynos-drm-next-for-v5.1' of...

Merge tag 'exynos-drm-next-for-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next

- Add rotator support for s5pv210
  . With this patch series, s5pv210 SoC can use rotator module but
    only NV12 and XRGB8888 formats are supported.
- Modify e-mail address
  . It changes email address of scaler module author.
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>

From: Inki Dae <inki.dae@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/079a9586-9d85-7d38-2658-ce312b6d71e8@samsung.com
parents 2cc3b81d 9c0c4997
...@@ -2,9 +2,10 @@ ...@@ -2,9 +2,10 @@
Required properties: Required properties:
- compatible : value should be one of the following: - compatible : value should be one of the following:
(a) "samsung,exynos4210-rotator" for Rotator IP in Exynos4210 * "samsung,s5pv210-rotator" for Rotator IP in S5PV210
(b) "samsung,exynos4212-rotator" for Rotator IP in Exynos4212/4412 * "samsung,exynos4210-rotator" for Rotator IP in Exynos4210
(c) "samsung,exynos5250-rotator" for Rotator IP in Exynos5250 * "samsung,exynos4212-rotator" for Rotator IP in Exynos4212/4412
* "samsung,exynos5250-rotator" for Rotator IP in Exynos5250
- reg : Physical base address of the IP registers and length of memory - reg : Physical base address of the IP registers and length of memory
mapped region. mapped region.
......
...@@ -356,6 +356,11 @@ static int rotator_runtime_resume(struct device *dev) ...@@ -356,6 +356,11 @@ static int rotator_runtime_resume(struct device *dev)
} }
#endif #endif
static const struct drm_exynos_ipp_limit rotator_s5pv210_rbg888_limits[] = {
{ IPP_SIZE_LIMIT(BUFFER, .h = { 8, SZ_16K }, .v = { 8, SZ_16K }) },
{ IPP_SIZE_LIMIT(AREA, .h.align = 2, .v.align = 2) },
};
static const struct drm_exynos_ipp_limit rotator_4210_rbg888_limits[] = { static const struct drm_exynos_ipp_limit rotator_4210_rbg888_limits[] = {
{ IPP_SIZE_LIMIT(BUFFER, .h = { 8, SZ_16K }, .v = { 8, SZ_16K }) }, { IPP_SIZE_LIMIT(BUFFER, .h = { 8, SZ_16K }, .v = { 8, SZ_16K }) },
{ IPP_SIZE_LIMIT(AREA, .h.align = 4, .v.align = 4) }, { IPP_SIZE_LIMIT(AREA, .h.align = 4, .v.align = 4) },
...@@ -371,6 +376,11 @@ static const struct drm_exynos_ipp_limit rotator_5250_rbg888_limits[] = { ...@@ -371,6 +376,11 @@ static const struct drm_exynos_ipp_limit rotator_5250_rbg888_limits[] = {
{ IPP_SIZE_LIMIT(AREA, .h.align = 2, .v.align = 2) }, { IPP_SIZE_LIMIT(AREA, .h.align = 2, .v.align = 2) },
}; };
static const struct drm_exynos_ipp_limit rotator_s5pv210_yuv_limits[] = {
{ IPP_SIZE_LIMIT(BUFFER, .h = { 32, SZ_64K }, .v = { 32, SZ_64K }) },
{ IPP_SIZE_LIMIT(AREA, .h.align = 8, .v.align = 8) },
};
static const struct drm_exynos_ipp_limit rotator_4210_yuv_limits[] = { static const struct drm_exynos_ipp_limit rotator_4210_yuv_limits[] = {
{ IPP_SIZE_LIMIT(BUFFER, .h = { 32, SZ_64K }, .v = { 32, SZ_64K }) }, { IPP_SIZE_LIMIT(BUFFER, .h = { 32, SZ_64K }, .v = { 32, SZ_64K }) },
{ IPP_SIZE_LIMIT(AREA, .h.align = 8, .v.align = 8) }, { IPP_SIZE_LIMIT(AREA, .h.align = 8, .v.align = 8) },
...@@ -381,6 +391,11 @@ static const struct drm_exynos_ipp_limit rotator_4412_yuv_limits[] = { ...@@ -381,6 +391,11 @@ static const struct drm_exynos_ipp_limit rotator_4412_yuv_limits[] = {
{ IPP_SIZE_LIMIT(AREA, .h.align = 8, .v.align = 8) }, { IPP_SIZE_LIMIT(AREA, .h.align = 8, .v.align = 8) },
}; };
static const struct exynos_drm_ipp_formats rotator_s5pv210_formats[] = {
{ IPP_SRCDST_FORMAT(XRGB8888, rotator_s5pv210_rbg888_limits) },
{ IPP_SRCDST_FORMAT(NV12, rotator_s5pv210_yuv_limits) },
};
static const struct exynos_drm_ipp_formats rotator_4210_formats[] = { static const struct exynos_drm_ipp_formats rotator_4210_formats[] = {
{ IPP_SRCDST_FORMAT(XRGB8888, rotator_4210_rbg888_limits) }, { IPP_SRCDST_FORMAT(XRGB8888, rotator_4210_rbg888_limits) },
{ IPP_SRCDST_FORMAT(NV12, rotator_4210_yuv_limits) }, { IPP_SRCDST_FORMAT(NV12, rotator_4210_yuv_limits) },
...@@ -396,6 +411,11 @@ static const struct exynos_drm_ipp_formats rotator_5250_formats[] = { ...@@ -396,6 +411,11 @@ static const struct exynos_drm_ipp_formats rotator_5250_formats[] = {
{ IPP_SRCDST_FORMAT(NV12, rotator_4412_yuv_limits) }, { IPP_SRCDST_FORMAT(NV12, rotator_4412_yuv_limits) },
}; };
static const struct rot_variant rotator_s5pv210_data = {
.formats = rotator_s5pv210_formats,
.num_formats = ARRAY_SIZE(rotator_s5pv210_formats),
};
static const struct rot_variant rotator_4210_data = { static const struct rot_variant rotator_4210_data = {
.formats = rotator_4210_formats, .formats = rotator_4210_formats,
.num_formats = ARRAY_SIZE(rotator_4210_formats), .num_formats = ARRAY_SIZE(rotator_4210_formats),
...@@ -413,6 +433,9 @@ static const struct rot_variant rotator_5250_data = { ...@@ -413,6 +433,9 @@ static const struct rot_variant rotator_5250_data = {
static const struct of_device_id exynos_rotator_match[] = { static const struct of_device_id exynos_rotator_match[] = {
{ {
.compatible = "samsung,s5pv210-rotator",
.data = &rotator_s5pv210_data,
}, {
.compatible = "samsung,exynos4210-rotator", .compatible = "samsung,exynos4210-rotator",
.data = &rotator_4210_data, .data = &rotator_4210_data,
}, { }, {
......
/* /*
* Copyright (C) 2017 Samsung Electronics Co.Ltd * Copyright (C) 2017 Samsung Electronics Co.Ltd
* Author: * Author:
* Andrzej Pietrasiewicz <andrzej.p@samsung.com> * Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* Copyright (c) 2017 Samsung Electronics Co., Ltd. * Copyright (c) 2017 Samsung Electronics Co., Ltd.
* http://www.samsung.com/ * http://www.samsung.com/
* Author: Andrzej Pietrasiewicz <andrzej.p@samsung.com> * Author: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
* *
* Register definition file for Samsung scaler driver * Register definition file for Samsung scaler driver
* *
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment