Hi Andrzej, Merge conflict. Could you rebase this patch series on top of exynos-drm-next? Thanks, Inki Dae 19. 3. 20. 오후 10:06에 Andrzej Hajda 이(가) 쓴 글: > Hi Inki, > > GSCALERs in Exynos SoCs support conversion between wide range of image formats, > plus scaling and rotation. > Driver already supports mem2mem mode - via ExynosDRM IPP framework. > This patchset adds support for mem to display mode - framebuffers can > be converted, scaled and send directly to Display Controller. From DRM > framework's point of view every GSCALER exposes drm_plane which can be connected > to display controller (display panel or TV). > The feature is not well documented so the development was quite difficult - > a process of trial and error, vendor code analysis, guessing from datasheets. > Hopefully most of the issues were solved. I have developed and tested it on > TM2 device with panel and TV paths. > > The patchset contains three parts: > 1. Preparatory patches - mostly cleanup and refactoring of drm_crtc and drm_plane > related structures, to allow usage of planes which are not physically bound > to crtcs (01-13). > 2. Adding local path support to GSCALER and DECON (14-20). > 3. Few fixes of bugs existing already in the code but discovered due to added > local path support (21-23). > > The patchset is based on exynos_drm_next plus my patchset adding zpos to DECON > and FIMD - 'drm/exynos: add support for dynamic zpos in DECON and FIMD' - it is > required to allow set z-pos position of GSCALER planes. > To simplify tests I have also created branch containing all required patches: > Repo: https://git.tizen.org/cgit/platform/kernel/linux-exynos > Branch: sandbox/ahajda/dev/exynos-drm-local-path > > This is v2 version of the patchset. In this version I have moved code setting > cursor plane in crtc to separate patch together with code disabling fast cursor > updates - hardware does not support it. To keep bisectability DTS patches should > be applied before subsequent ones. > > Regards > Andrzej > > > Andrzej Hajda (24): > drm/exynos: remove exynos_drm_plane.h header > drm/exynos: remove spare macro > drm/exynos: drop exynos_drm_plane_config structure > drm/exynos: add exynos_drm_crtc_init function > drm/exynos/decon5433: embed exynos_drm_crtc directly into context > drm/exynos/decon7: embed exynos_drm_crtc directly into context > drm/exynos/fimd: embed exynos_drm_crtc directly into context > drm/exynos/mixer: embed exynos_drm_crtc directly into context > drm/exynos/vidi: embed exynos_drm_crtc directly into context > drm/exynos: remove standalone exynos_drm_crtc leftovers > drm/exynos/vidi: remove encoder_to_vidi helper > drm/exynos: unify plane type assignment > drm/exynos: set primary plane in exynos_drm_crtc_init > drm/exynos: set cursor plane in exynos_drm_crtc_init > drm/exynos: add plane update/disable callbacks for planes > drm/exynos: add GSCALER plane capability > drm/exynos/gscaler: fix id assignement > arm64: dts: exynos: configure GSCALER related clocks > arm64: dts: exynos: add DSD/GSD clocks to DECONs and GSCALERs > drm/exynos/gscaler: add local path support > drm/exynos/decon5433: add local path support > drm/exynos/decon5433: wait for finish previous update > drm/exynos/gscaler: change supported color format BGRX8888 to XBGR8888 > drm/exynos/gscaler: fix handling YVU420 pixel format > > .../dts/exynos/exynos5433-tm2-common.dtsi | 6 + > arch/arm64/boot/dts/exynos/exynos5433-tm2.dts | 6 +- > arch/arm64/boot/dts/exynos/exynos5433.dtsi | 25 +- > drivers/gpu/drm/exynos/exynos5433_drm_decon.c | 162 ++++++++----- > drivers/gpu/drm/exynos/exynos7_drm_decon.c | 66 +++-- > drivers/gpu/drm/exynos/exynos_drm_crtc.c | 46 ++-- > drivers/gpu/drm/exynos/exynos_drm_crtc.h | 7 +- > drivers/gpu/drm/exynos/exynos_drm_drv.c | 1 - > drivers/gpu/drm/exynos/exynos_drm_drv.h | 50 ++-- > drivers/gpu/drm/exynos/exynos_drm_fb.c | 10 +- > drivers/gpu/drm/exynos/exynos_drm_fimd.c | 85 +++---- > drivers/gpu/drm/exynos/exynos_drm_gsc.c | 229 ++++++++++++++---- > drivers/gpu/drm/exynos/exynos_drm_plane.c | 84 ++++--- > drivers/gpu/drm/exynos/exynos_drm_plane.h | 14 -- > drivers/gpu/drm/exynos/exynos_drm_vidi.c | 48 ++-- > drivers/gpu/drm/exynos/exynos_mixer.c | 95 +++----- > drivers/gpu/drm/exynos/regs-decon5433.h | 6 + > drivers/gpu/drm/exynos/regs-gsc.h | 6 + > 18 files changed, 538 insertions(+), 408 deletions(-) > delete mode 100644 drivers/gpu/drm/exynos/exynos_drm_plane.h >