1. 25 Nov, 2014 4 commits
    • Gustavo Padovan's avatar
      drm/exynos: avoid leak if exynos_dpi_probe() fails · 5baf5d44
      Gustavo Padovan authored
      The component must be deleted if the probe fails.
      Signed-off-by: default avatarGustavo Padovan <gustavo.padovan@collabora.co.uk>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      5baf5d44
    • Gustavo Padovan's avatar
      drm/exynos: Fix exynos_dpi_remove() parameter · 1c9ff4ab
      Gustavo Padovan authored
      exynos_dpi_remove() should receive a exynos_drm_display but when
      DRM_EXYNOS_DPI was disabled it was receiving a struct device resulting in
      ia compiler warning.
      Signed-off-by: default avatarGustavo Padovan <gustavo.padovan@collabora.co.uk>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      1c9ff4ab
    • Inki Dae's avatar
      drm/exynos: vidi: add component support · 1d50aa9c
      Inki Dae authored
      This patch adds component support for vidi driver.
      
      vidi driver is a kms driver so it doesn't need to be registered
      to exynos_drm_subdrv_list. For this, it changes for the component
      framework to be used for vidi driver.
      
      This patch fixes below error also,
      
      # echo 1 > /sys/devices/platform/exynos-drm-vidi/connection
      [   55.618529] ------------[ cut here ]------------
      [   55.621960] WARNING: CPU: 0 PID: 1397 at drivers/gpu/drm/drm_irq.c:1203 exynos_drm_crtc_dpms+0x88/0x17c()
      [   55.631268] Modules linked in:
      [   55.634278] CPU: 0 PID: 1397 Comm: sh Not tainted 3.18.0-rc2-146253-g31449d7 #1154
      [   55.641885] [<c0014400>] (unwind_backtrace) from [<c0011570>] (show_stack+0x10/0x14)
      [   55.649597] [<c0011570>] (show_stack) from [<c04764f4>] (dump_stack+0x84/0xc4)
      [   55.656802] [<c04764f4>] (dump_stack) from [<c00218b8>] (warn_slowpath_common+0x6c/0x88)
      [   55.664866] [<c00218b8>] (warn_slowpath_common) from [<c0021970>] (warn_slowpath_null+0x1c/0x24)
      [   55.673632] [<c0021970>] (warn_slowpath_null) from [<c027a780>] (exynos_drm_crtc_dpms+0x88/0x17c)
      [   55.682482] [<c027a780>] (exynos_drm_crtc_dpms) from [<c027a910>] (exynos_drm_crtc_commit+0x14/0x44)
      [   55.691622] [<c027a910>] (exynos_drm_crtc_commit) from [<c025521c>] (drm_crtc_helper_set_mode+0x3d0/0x51c)
      [   55.701233] [<c025521c>] (drm_crtc_helper_set_mode) from [<c0255d68>] (drm_crtc_helper_set_config+0x87c/0x9dc)
      [   55.711230] [<c0255d68>] (drm_crtc_helper_set_config) from [<c026afa8>] (drm_mode_set_config_internal+0x58/0xd4)
      [   55.721380] [<c026afa8>] (drm_mode_set_config_internal) from [<c025c208>] (restore_fbdev_mode+0xcc/0xec)
      [   55.730834] [<c025c208>] (restore_fbdev_mode) from [<c025c244>] (drm_fb_helper_restore_fbdev_mode_unlocked+0x1c/0x30)
      [   55.741424] [<c025c244>] (drm_fb_helper_restore_fbdev_mode_unlocked) from [<c025e0a8>] (drm_fb_helper_set_par+0x1c/0x60)
      [   55.752271] [<c025e0a8>] (drm_fb_helper_set_par) from [<c025e174>] (drm_fb_helper_hotplug_event+0x88/0xc4)
      [   55.761906] [<c025e174>] (drm_fb_helper_hotplug_event) from [<c02571c4>] (drm_helper_hpd_irq_event+0xc8/0x134)
      [   55.771898] [<c02571c4>] (drm_helper_hpd_irq_event) from [<c028e27c>] (vidi_store_connection+0x90/0xc8)
      [   55.781268] [<c028e27c>] (vidi_store_connection) from [<c0125f80>] (kernfs_fop_write+0xc0/0x180)
      [   55.790045] [<c0125f80>] (kernfs_fop_write) from [<c00cdf60>] (vfs_write+0xa0/0x1ac)
      [   55.797757] [<c00cdf60>] (vfs_write) from [<c00ce468>] (SyS_write+0x44/0x9c)
      [   55.804790] [<c00ce468>] (SyS_write) from [<c000e6a0>] (ret_fast_syscall+0x0/0x30)
      [   55.812328] ---[ end trace 3c0fe4386702d4dd ]---
      
      This issue occurs when modeset to vidi is tried in case that drm_vblank_init
      is called prior to crtc creation of vidi driver. In this case, crtc number
      of vidi is invalid so any requests with the crtc number will fail.
      This patch guarantees drm_vblank_init to be called after all kms drivers
      are ready by using component framework.
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      1d50aa9c
    • Inki Dae's avatar
      drm/exynos: fix exynos_drm_component_del · 33e2192f
      Inki Dae authored
      This patch resolves the issue that component object isn't removed
      correctly.
      
      A given component object couldn't be placed to head of drm_component_list
      so all component objects added to the drm_component_list should be checked
      to remove the given component object.
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      33e2192f
  2. 24 Nov, 2014 36 commits