mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-27 00:04:47 +08:00
drm/exynos: rotator: Add support for s5pv210
This commit adds support for s5pv210. Currently only NV12 and XRGB8888 formats are supported. It was tested by using tool from https://www.spinics.net/lists/linux-samsung-soc/msg60498.html Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
This commit is contained in:
parent
2cc3b81dfa
commit
a6151792a3
@ -356,6 +356,11 @@ static int rotator_runtime_resume(struct device *dev)
|
||||
}
|
||||
#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[] = {
|
||||
{ IPP_SIZE_LIMIT(BUFFER, .h = { 8, SZ_16K }, .v = { 8, SZ_16K }) },
|
||||
{ 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[] = {
|
||||
{ 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[] = {
|
||||
{ IPP_SIZE_LIMIT(BUFFER, .h = { 32, SZ_64K }, .v = { 32, SZ_64K }) },
|
||||
{ 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[] = {
|
||||
{ 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[] = {
|
||||
{ IPP_SRCDST_FORMAT(XRGB8888, rotator_4210_rbg888_limits) },
|
||||
{ IPP_SRCDST_FORMAT(NV12, rotator_4210_yuv_limits) },
|
||||
@ -396,6 +411,11 @@ static const struct exynos_drm_ipp_formats rotator_5250_formats[] = {
|
||||
{ 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 = {
|
||||
.formats = rotator_4210_formats,
|
||||
.num_formats = ARRAY_SIZE(rotator_4210_formats),
|
||||
@ -413,6 +433,9 @@ static const struct rot_variant rotator_5250_data = {
|
||||
|
||||
static const struct of_device_id exynos_rotator_match[] = {
|
||||
{
|
||||
.compatible = "samsung,s5pv210-rotator",
|
||||
.data = &rotator_s5pv210_data,
|
||||
}, {
|
||||
.compatible = "samsung,exynos4210-rotator",
|
||||
.data = &rotator_4210_data,
|
||||
}, {
|
||||
|
Loading…
Reference in New Issue
Block a user