This series implements atomic modeset for TI's LCDC HW. The code has been tested on X-server, weston, and our kmsxx kms testing suite. The patches are based on my earlier tilcdc fixes and cleanups series [1]. I know that the tiny display pipe has been accepted for mainline and I have intention of moving lcdc on top of it at some point. However, there is just too many things I would still have to reimplemet to do it now. How to deal with different encoders, connectors and panels for example. This series should be considered as a first step towards making that move. It implements many things that are needed in simple display pipe too. There is a lot of changes since RFC version of the series and this is not a complete list: - Added patches - drm/tilcdc: Fix tilcdc component master unloading - drm/tilcdc: Make tilcdc_crtc_page_flip() work if crtc is not yet on - drm/tilcdc: panel: Set crtc panel info at init phase - drm/tilcdc: panel: Add atomic modeset helpers to connector funcs - drm/tilcdc: tfp410: Set crtc panel info at init phase - drm/tilcdc: tfp410: Add atomic modeset helpers to connector funcs - drm/tilcdc: Enable and disable interrupts in crtc start() and stop() - drm/tilcdc: Use drm_atomic_helper_resume/suspend() - drm/tilcdc: Get rid of legacy dpms mechanism - drm/tilcdc: Remove unnecessary pm_runtime_get() and *_put() calls - drm/tilcdc: Change tilcdc_crtc_page_flip() to tilcdc_crtc_update_fb() - At least following changes to the "old" patches - Add mechanism to update crtc state's mode_changed if plane fb pixel_format changes - Add tilcdc_atomic_check() for mode_config_funcs - Leave tilcdc_crtc_mode_fixup() connected to drm_crtc_helper_funcs [1] https://lists.freedesktop.org/archives/dri-devel/2016-June/111258.html Jyri Sarha (21): drm/tilcdc: Fix tilcdc component master unloading drm/tilcdc: Make tilcdc_crtc_page_flip() public drm/tilcdc: Make tilcdc_crtc_page_flip() work if crtc is not yet on drm/tilcdc: Add dummy primary plane implementation drm/tilcdc: Initialize dummy primary plane from crtc init drm/tilcdc: Add tilcdc_crtc_mode_set_nofb() drm/tilcdc: Add tilcdc_crtc_atomic_check() drm/tilcdc: Add atomic mode config funcs drm/tilcdc: Add drm_mode_config_reset() call to tilcdc_load() drm/tilcdc: Set DRIVER_ATOMIC and use atomic crtc helpers drm/tilcdc: Remove obsolete crtc helper functions drm/tilcdc: Remove tilcdc_verify_fb() drm/tilcdc: panel: Set crtc panel info at init phase drm/tilcdc: panel: Add atomic modeset helpers to connector funcs drm/tilcdc: tfp410: Set crtc panel info at init phase drm/tilcdc: tfp410: Add atomic modeset helpers to connector funcs drm/tilcdc: Enable and disable interrupts in crtc start() and stop() drm/tilcdc: Use drm_atomic_helper_resume/suspend() drm/tilcdc: Get rid of legacy dpms mechanism drm/tilcdc: Remove unnecessary pm_runtime_get() and *_put() calls drm/tilcdc: Change tilcdc_crtc_page_flip() to tilcdc_crtc_update_fb() drivers/gpu/drm/tilcdc/Makefile | 1 + drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 311 ++++++++++++++++----------------- drivers/gpu/drm/tilcdc/tilcdc_drv.c | 210 +++++++++++----------- drivers/gpu/drm/tilcdc/tilcdc_drv.h | 14 +- drivers/gpu/drm/tilcdc/tilcdc_panel.c | 11 +- drivers/gpu/drm/tilcdc/tilcdc_plane.c | 132 ++++++++++++++ drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 8 +- 7 files changed, 410 insertions(+), 277 deletions(-) create mode 100644 drivers/gpu/drm/tilcdc/tilcdc_plane.c -- 1.9.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel