Hello all, This patch set fixes the following: . fixed page align - page align is done by exynos_drm_gem_create() so do not align in page unit at exynos_drm_gem_dumb_create(). . removed unnecessary dpms call - encoder's mode_set callback isn't specific to hardware so it doesn't need to call exynos_drm_encoder_dpms() . control display power at connector module - it doesn't need that display power is controlled by encoder's dpms so moves it into connector module so that the display power can be controlled by connector's dpms properly. . make sure that hardware overlay for fimd and hdmi is disabled - the values set to registers will be updated into real registers at vsync so dma operation could be malfunctioned when accessed to memory after gem buffer was released. this patch makes sure that hw overlay is disabled before the gem buffer is released. . check NV12M format specific to Exynos properly - this patch adds buf_cnt variable in exynos_drm_fb structure and that means a buffer count to drm framebuffer and also adds two functions to get/set the buffer count from/to exynos_drm_fb structure. if pixel format is not DRM_FORMAT_NV12MT then it gets a buffer count to drm framebuffer refering to mode_cmd->handles and offsets. but when booted, the buffer count will always be 1 because pixel format of console framebuffer is RGB format. . updated crtc to plane safely - if old_crtc isn't same as encoder->crtc then it means that user changed crtc id to another one so a plane to old_crtc should be disabled so that current plane can be updated safely and plane->crtc should be set to new crtc(encoder->crtc) And code clean like below: . separated fimd_power_on into some parts - separated fimd_power_on into fimd_activate and fimd_clock functions and fimd_activate function will call fimd_clock to control fimd power and vsync interrupt. . separated subdrv->probe call and encoder/connector creation - with this patch, exynos drm core module can take exception when some operation was failed properly. . changed context name of hdmi and mixer - changed ctx variable name in exynos_drm_hdmi_context structure to client because the use of ctx variable name makes it confused. . fixed build warning Thanks. Inki Dae (13): drm/exynos: added device object to subdrv's remove callback as argument drm/exynos: separated subdrv->probe call and encoder/connector creation. drm/exynos: fixed page align bug. drm/exynos: use empty function instead of drm_helper_connector_dpms drm/exynos: removed exynos_drm_encoder_dpms call drm/exynos: separeated fimd_power_on into some parts. drm/exynos: control display power at connector module. drm/exynos: make sure that hardware overlay for fimd is disabled drm/exynos: check NV12M format specific to Exynos properly drm/exynos: update crtc to plane safely drm/exynos: changed context name of hdmi and mixer drm/exynos: fixed build warning drm/exynos: make sure that hardware overlay for hdmi is disabled drivers/gpu/drm/exynos/exynos_drm_connector.c | 18 +++++- drivers/gpu/drm/exynos/exynos_drm_core.c | 93 +++++++++++++++++-------- drivers/gpu/drm/exynos/exynos_drm_drv.h | 19 +++++- drivers/gpu/drm/exynos/exynos_drm_encoder.c | 92 +++++++++++++++++------- drivers/gpu/drm/exynos/exynos_drm_fb.c | 65 ++++++++++++++++- drivers/gpu/drm/exynos/exynos_drm_fb.h | 20 ++---- drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 3 + drivers/gpu/drm/exynos/exynos_drm_fimd.c | 74 ++++++++++++++------ drivers/gpu/drm/exynos/exynos_drm_gem.c | 2 +- drivers/gpu/drm/exynos/exynos_drm_hdmi.c | 47 ++++++++----- drivers/gpu/drm/exynos/exynos_drm_hdmi.h | 5 +- drivers/gpu/drm/exynos/exynos_drm_plane.c | 2 +- drivers/gpu/drm/exynos/exynos_drm_vidi.c | 2 +- drivers/gpu/drm/exynos/exynos_hdmi.c | 12 ++-- drivers/gpu/drm/exynos/exynos_mixer.c | 21 +++++- 15 files changed, 349 insertions(+), 126 deletions(-) -- 1.7.4.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel