Hello all, Changelog v2: . fixed duplicated mode setting. - this patch includes below three patches of v1 and fixes the issue that drm_helper_connector_dpms() isn't called. http://www.spinics.net/lists/dri-devel/msg26427.html http://www.spinics.net/lists/dri-devel/msg26428.html http://www.spinics.net/lists/dri-devel/msg26430.html . removed below two patches of v1 and the patch for changing context name of hdmi and mixer will be updated for code consistency later because now hdmi module still use "hdata" term as context name in other functions. http://www.spinics.net/lists/dri-devel/msg26434.html http://www.spinics.net/lists/dri-devel/msg26435.html . fixed below patch of v1 so that drm_format_num_planes() is called http://www.spinics.net/lists/dri-devel/msg26432.html . separated below patch of v1 into exynos drm framework and device specific parts. http://www.spinics.net/lists/dri-devel/msg26431.html Changelog v1: 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 (10): drm/exynos: added device object to subdrv's remove callback as argument drm/exynos: separated subdrv_probe function into two parts. drm/exynos: fixed page align bug. drm/exynos: separeated fimd_power_on into some parts. drm/exynos: fixed duplicated mode setting. drm/exynos: add wait_for_vblank callback interface. drm/exynos: make sure that hardware overlay for fimd is disabled drm/exynos: make sure that hardware overlay for hdmi is disabled drm/exynos: check NV12M format specific to Exynos properly drm/exynos: update crtc to plane safely drivers/gpu/drm/exynos/exynos_drm_connector.c | 41 ++++++++++- drivers/gpu/drm/exynos/exynos_drm_connector.h | 2 + drivers/gpu/drm/exynos/exynos_drm_core.c | 93 ++++++++++++++++------- drivers/gpu/drm/exynos/exynos_drm_crtc.c | 3 +- drivers/gpu/drm/exynos/exynos_drm_drv.h | 19 +++++- drivers/gpu/drm/exynos/exynos_drm_encoder.c | 99 +++++++++++++++++++++---- 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 | 11 +++ drivers/gpu/drm/exynos/exynos_drm_hdmi.h | 1 + drivers/gpu/drm/exynos/exynos_drm_plane.c | 2 +- drivers/gpu/drm/exynos/exynos_drm_vidi.c | 2 +- drivers/gpu/drm/exynos/exynos_mixer.c | 13 +++ 16 files changed, 364 insertions(+), 86 deletions(-) -- 1.7.4.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel