Skip to content

Commit 1e92a22

Browse files
committed
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: Dave 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
2 parents 2cc3b81 + 9c0c499 commit 1e92a22

File tree

4 files changed

+29
-5
lines changed

4 files changed

+29
-5
lines changed

Documentation/devicetree/bindings/gpu/samsung-rotator.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22

33
Required properties:
44
- compatible : value should be one of the following:
5-
(a) "samsung,exynos4210-rotator" for Rotator IP in Exynos4210
6-
(b) "samsung,exynos4212-rotator" for Rotator IP in Exynos4212/4412
7-
(c) "samsung,exynos5250-rotator" for Rotator IP in Exynos5250
5+
* "samsung,s5pv210-rotator" for Rotator IP in S5PV210
6+
* "samsung,exynos4210-rotator" for Rotator IP in Exynos4210
7+
* "samsung,exynos4212-rotator" for Rotator IP in Exynos4212/4412
8+
* "samsung,exynos5250-rotator" for Rotator IP in Exynos5250
89

910
- reg : Physical base address of the IP registers and length of memory
1011
mapped region.

drivers/gpu/drm/exynos/exynos_drm_rotator.c

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,11 @@ static int rotator_runtime_resume(struct device *dev)
356356
}
357357
#endif
358358

359+
static const struct drm_exynos_ipp_limit rotator_s5pv210_rbg888_limits[] = {
360+
{ IPP_SIZE_LIMIT(BUFFER, .h = { 8, SZ_16K }, .v = { 8, SZ_16K }) },
361+
{ IPP_SIZE_LIMIT(AREA, .h.align = 2, .v.align = 2) },
362+
};
363+
359364
static const struct drm_exynos_ipp_limit rotator_4210_rbg888_limits[] = {
360365
{ IPP_SIZE_LIMIT(BUFFER, .h = { 8, SZ_16K }, .v = { 8, SZ_16K }) },
361366
{ 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[] = {
371376
{ IPP_SIZE_LIMIT(AREA, .h.align = 2, .v.align = 2) },
372377
};
373378

379+
static const struct drm_exynos_ipp_limit rotator_s5pv210_yuv_limits[] = {
380+
{ IPP_SIZE_LIMIT(BUFFER, .h = { 32, SZ_64K }, .v = { 32, SZ_64K }) },
381+
{ IPP_SIZE_LIMIT(AREA, .h.align = 8, .v.align = 8) },
382+
};
383+
374384
static const struct drm_exynos_ipp_limit rotator_4210_yuv_limits[] = {
375385
{ IPP_SIZE_LIMIT(BUFFER, .h = { 32, SZ_64K }, .v = { 32, SZ_64K }) },
376386
{ 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[] = {
381391
{ IPP_SIZE_LIMIT(AREA, .h.align = 8, .v.align = 8) },
382392
};
383393

394+
static const struct exynos_drm_ipp_formats rotator_s5pv210_formats[] = {
395+
{ IPP_SRCDST_FORMAT(XRGB8888, rotator_s5pv210_rbg888_limits) },
396+
{ IPP_SRCDST_FORMAT(NV12, rotator_s5pv210_yuv_limits) },
397+
};
398+
384399
static const struct exynos_drm_ipp_formats rotator_4210_formats[] = {
385400
{ IPP_SRCDST_FORMAT(XRGB8888, rotator_4210_rbg888_limits) },
386401
{ IPP_SRCDST_FORMAT(NV12, rotator_4210_yuv_limits) },
@@ -396,6 +411,11 @@ static const struct exynos_drm_ipp_formats rotator_5250_formats[] = {
396411
{ IPP_SRCDST_FORMAT(NV12, rotator_4412_yuv_limits) },
397412
};
398413

414+
static const struct rot_variant rotator_s5pv210_data = {
415+
.formats = rotator_s5pv210_formats,
416+
.num_formats = ARRAY_SIZE(rotator_s5pv210_formats),
417+
};
418+
399419
static const struct rot_variant rotator_4210_data = {
400420
.formats = rotator_4210_formats,
401421
.num_formats = ARRAY_SIZE(rotator_4210_formats),
@@ -413,6 +433,9 @@ static const struct rot_variant rotator_5250_data = {
413433

414434
static const struct of_device_id exynos_rotator_match[] = {
415435
{
436+
.compatible = "samsung,s5pv210-rotator",
437+
.data = &rotator_s5pv210_data,
438+
}, {
416439
.compatible = "samsung,exynos4210-rotator",
417440
.data = &rotator_4210_data,
418441
}, {

drivers/gpu/drm/exynos/exynos_drm_scaler.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* Copyright (C) 2017 Samsung Electronics Co.Ltd
33
* Author:
4-
* Andrzej Pietrasiewicz <andrzej.p@samsung.com>
4+
* Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
55
*
66
* This program is free software; you can redistribute it and/or modify
77
* it under the terms of the GNU General Public License version 2 as

drivers/gpu/drm/exynos/regs-scaler.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
*
33
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
44
* http://www.samsung.com/
5-
* Author: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
5+
* Author: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
66
*
77
* Register definition file for Samsung scaler driver
88
*

0 commit comments

Comments
 (0)