[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