drm/exynos: gsc: Convert driver to IPP v2 core API

This patch adapts Exynos DRM GScaler driver to new IPP v2 core API.
The side effect of this conversion is a switch to driver component API
to register properly in the Exynos DRM core. During the conversion
driver has been adapted to support more specific compatible strings
to distinguish between Exynos5250 and Exynos5420 (different hardware
limits). Support for Exynos5433 variant has been added too
(different limits table, removed dependency on ARCH_EXYNOS5).

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
This commit is contained in:
Marek Szyprowski 2018-05-09 10:59:24 +02:00 committed by Inki Dae
parent d8cb9eeaa7
commit 8b7d3ec83a
4 changed files with 342 additions and 769 deletions

View File

@ -112,7 +112,8 @@ config DRM_EXYNOS_ROTATOR
config DRM_EXYNOS_GSC config DRM_EXYNOS_GSC
bool "GScaler" bool "GScaler"
depends on BROKEN && ARCH_EXYNOS5 && VIDEO_SAMSUNG_EXYNOS_GSC=n depends on VIDEO_SAMSUNG_EXYNOS_GSC=n
select DRM_EXYNOS_IPP
help help
Choose this option if you want to use Exynos GSC for DRM. Choose this option if you want to use Exynos GSC for DRM.

View File

@ -266,6 +266,7 @@ static struct exynos_drm_driver_info exynos_drm_drivers[] = {
DRM_COMPONENT_DRIVER DRM_COMPONENT_DRIVER
}, { }, {
DRV_PTR(gsc_driver, CONFIG_DRM_EXYNOS_GSC), DRV_PTR(gsc_driver, CONFIG_DRM_EXYNOS_GSC),
DRM_COMPONENT_DRIVER
}, { }, {
&exynos_drm_platform_driver, &exynos_drm_platform_driver,
DRM_VIRTUAL_DEVICE DRM_VIRTUAL_DEVICE

File diff suppressed because it is too large Load Diff

View File

@ -1,24 +0,0 @@
/*
* Copyright (c) 2012 Samsung Electronics Co., Ltd.
*
* Authors:
* Eunchul Kim <chulspro.kim@samsung.com>
* Jinyoung Jeon <jy0.jeon@samsung.com>
* Sangmin Lee <lsmin.lee@samsung.com>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*/
#ifndef _EXYNOS_DRM_GSC_H_
#define _EXYNOS_DRM_GSC_H_
/*
* TODO
* FIMD output interface notifier callback.
* Mixer output interface notifier callback.
*/
#endif /* _EXYNOS_DRM_GSC_H_ */