[PATCH 00/10 v2] updated exynos-drm-fixes
Inki Dae
inki.dae at samsung.com
Mon Aug 20 05:35:45 PDT 2012
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
More information about the dri-devel
mailing list