From: Dave Airlie Date: Tue, 15 May 2018 05:37:07 +0000 (+1000) Subject: Merge tag 'exynos-drm-next-for-v4.18' of git://git.kernel.org/pub/scm/linux/kernel... X-Git-Tag: v4.18-rc1~16^2~20 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=444ac87becd8a2ff76f9e4194dd98da4f5d5586d;p=uclinux-h8%2Flinux.git Merge tag 'exynos-drm-next-for-v4.18' of git://git./linux/kernel/git/daeinki/drm-exynos into drm-next - Add S5PV210 FIMD variant support. - Add IPP v2 framework. . it is a rewritten version of the Exynos mem-to-mem image processing framework which supprts color space conversion, image up/down-scaling and rotation. This new version replaces existing userspace API with new easy-to-use and simple ones so we have already applied the use of these API to real user, Tizen Platform[1], and also makes existing Scaler, FIMC, GScaler and Rotator drivers to use IPP v2 core API. And below are patch lists we have applied to a real user, https://git.tizen.org/cgit/platform/adaptation/samsung_exynos/libtdm-exynos/log/?h=tizen&qt=grep&q=ipp https://git.tizen.org/cgit/platform/adaptation/samsung_exynos/libtdm-exynos/commit/?h=tizen&id=b59be207365d10efd489e6f71c8a045b558c44fe https://git.tizen.org/cgit/platform/kernel/linux-exynos/log/?h=tizen&qt=grep&q=ipp TDM(Tizen Display Manager) is a Display HAL for Tizen platform. Ps. Only real user using IPP API is Tizen. [1] https://www.tizen.org/ - Two cleanups . One is to just remove mode_set callback from MIPI-DSI driver because drm_display_mode data is already available from crtc atomic state. . And other is to just use new return type, vm_fault_t for page fault handler. Signed-off-by: Dave Airlie # gpg: Signature made Mon 14 May 2018 14:23:53 AEST # gpg: using RSA key 573834890C4312B8 # gpg: Can't check signature: public key not found Link: https://patchwork.freedesktop.org/patch/msgid/1526276453-29879-1-git-send-email-inki.dae@samsung.com --- 444ac87becd8a2ff76f9e4194dd98da4f5d5586d diff --cc drivers/gpu/drm/exynos/exynos_drm_drv.c index 39284bb7c2c2,f55ce44b0c0d..a81b4a5e24a7 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c @@@ -33,10 -34,37 +34,17 @@@ #define DRIVER_NAME "exynos" #define DRIVER_DESC "Samsung SoC DRM" - #define DRIVER_DATE "20110530" + #define DRIVER_DATE "20180330" + + /* + * Interface history: + * + * 1.0 - Original version + * 1.1 - Upgrade IPP driver to version 2.0 + */ #define DRIVER_MAJOR 1 - #define DRIVER_MINOR 0 + #define DRIVER_MINOR 1 -int exynos_atomic_check(struct drm_device *dev, - struct drm_atomic_state *state) -{ - int ret; - - ret = drm_atomic_helper_check_modeset(dev, state); - if (ret) - return ret; - - ret = drm_atomic_normalize_zpos(dev, state); - if (ret) - return ret; - - ret = drm_atomic_helper_check_planes(dev, state); - if (ret) - return ret; - - return ret; -} - static int exynos_drm_open(struct drm_device *dev, struct drm_file *file) { struct drm_exynos_file_private *file_priv; diff --cc drivers/gpu/drm/exynos/exynos_drm_drv.h index 075957cb6ba1,c07e6f380e60..0f6d079a55c9 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.h +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h @@@ -273,8 -273,18 +273,17 @@@ static inline int exynos_dpi_bind(struc } #endif + #ifdef CONFIG_DRM_EXYNOS_FIMC + int exynos_drm_check_fimc_device(struct device *dev); + #else + static inline int exynos_drm_check_fimc_device(struct device *dev) + { + return 0; + } + #endif + int exynos_atomic_commit(struct drm_device *dev, struct drm_atomic_state *state, bool nonblock); -int exynos_atomic_check(struct drm_device *dev, struct drm_atomic_state *state); extern struct platform_driver fimd_driver;