1. 16 8月, 2015 3 次提交
  2. 22 6月, 2015 7 次提交
  3. 19 6月, 2015 4 次提交
    • H
      drm/exynos: dsi: check whether dsi is enabled before sending data · 0e480f6f
      Hyungwon Hwang 提交于
      exynos_dsi_host_transfer() can be called through a panel driver while
      DSI is turning down. It is possible because the function checks only
      whether DSI is initialized or not, and there is a moment which DSI is
      set by uninitialized, but DSI is still turning down. To prevent it,
      DSI must be set by disabled before starting to be turned down, and
      exynos_dsi_host_transfer() must check whether DSI is enabled or not.
      
      Kernel dump:
      [ 4721.351448] Unhandled fault: synchronous external abort (0x96000210) at 0xffffff800015e018
      [ 4721.351809] Internal error: : 96000210 [#1] PREEMPT SMP
      [ 4721.352031] Modules linked in:
      [ 4721.352173] CPU: 2 PID: 300 Comm: deviced Tainted: G        W       4.0.4-01017-g7964a87 #1
      [ 4721.353989] Hardware name: Samsung DRACO board (DT)
      [ 4721.358852] task: ffffffc0a0b70000 ti: ffffffc0a00ec000 task.ti: ffffffc0a00ec000
      [ 4721.366327] PC is at exynos_dsi_enable_lane+0x14/0x5c
      [ 4721.371353] LR is at exynos_dsi_host_transfer+0x834/0x8d8
      [ 4721.376731] pc : [<ffffffc000432bcc>] lr : [<ffffffc000434590>] pstate: 60000145
      [ 4721.384107] sp : ffffffc0a00efbe0
      [ 4721.387405] x29: ffffffc0a00efbe0 x28: ffffffc0a00ec000
      [ 4721.392699] x27: ffffffc000968000 x26: 0000000000000040
      [ 4721.397994] x25: ffffffc000f74dc0 x24: ffffffc0a00efec8
      [ 4721.403290] x23: ffffffc0a4815400 x22: ffffffc0009f2729
      [ 4721.408584] x21: ffffffc0a00efcc8 x20: ffffffc0a4a2a848
      [ 4721.413879] x19: ffffffc0a4a2a818 x18: 0000000000000004
      [ 4721.419173] x17: 0000007faa5cddf0 x16: ffffffc0001a40a8
      [ 4721.424469] x15: 0000000000000009 x14: 000000000000000d
      [ 4721.429762] x13: 6e6e6f63206b726f x12: 0000000000000010
      [ 4721.435058] x11: 0101010101010101 x10: 0000000000000000
      [ 4721.440353] x9 : 000000000000000a x8 : 8386838282818381
      [ 4721.445648] x7 : ffffffc0a201efe8 x6 : 0000000000000000
      [ 4721.450943] x5 : 00000000fffffffa x4 : ffffffc0a201f170
      [ 4721.456237] x3 : ffffff800015e000 x2 : ffffff800015e018
      [ 4721.461531] x1 : 000000000000000f x0 : ffffffc0a4a2a818
      [ 4721.466826]
      [ 4721.468305] Process deviced (pid: 300, stack limit = 0xffffffc0a00ec028)
      [ 4721.474989] Stack: (0xffffffc0a00efbe0 to 0xffffffc0a00f0000)
      [ 4721.480720] fbe0: a00efca0 ffffffc0 0042c944 ffffffc0 a0f2d680 ffffffc0 00000024 00000000
      [ 4721.488895] fc00: a4b6d000 ffffffc0 009f2729 ffffffc0 a4815400 ffffffc0 a00efec8 ffffffc0
      Signed-off-by: NHyungwon Hwang <human.hwang@samsung.com>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      0e480f6f
    • A
      drm/exynos: fix broken component binding in case of multiple pipelines · 86650408
      Andrzej Hajda 提交于
      In case there are multiple pipelines and deferred probe occurs, only components
      of the first pipeline were bound. As a result only one pipeline was available.
      The main cause of this issue was dynamic generation of component match table -
      every component driver during probe registered itself on helper list, if there
      was at least one pipeline present on this list component match table were
      created without deferred components.
      This patch removes this helper list, instead it creates match table from
      existing devices requiring exynos_drm KMS drivers. This way match table do not
      depend on probe/deferral order and contains all KMS components.
      As a side effect patch makes the code cleaner and significantly smaller.
      Signed-off-by: NAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      86650408
    • G
      drm/exynos: atomic dpms support · 63498e30
      Gustavo Padovan 提交于
      Run dpms operations through the atomic intefaces. This basically removes
      the .dpms() callback from econders and crtcs and use .disable() and
      .enable() to turn the crtc on and off.
      
      v2: Address comments by Joonyoung:
      	- make hdmi code call ->disable() instead of ->dpms()
      	- do not use WARN_ON on crtc enable/disable
      
      v3: - Fix build failure after the hdmi change in v2
          - Change dpms helper of ptn3460 bridge
      
      v4: - remove win_commit() call from .enable()
      
      v5: - move .atomic_check() to the atomic PageFlip patch, and transform it
      in .atomic_begin()
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      Reviewed-by: NJoonyoung Shim <jy0922.shim@samsung.com>
      Tested-by: NTobias Jakobi <tjakobi@math.uni-bielefeld.de>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      63498e30
    • G
      drm/exynos: atomic phase 2: wire up state reset(), duplicate() and destroy() · 4ea9526b
      Gustavo Padovan 提交于
      Set CRTC, planes and connectors to use the default implementations from
      the atomic helper library. The helpers will work to keep track of state
      for each DRM object.
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      Reviewed-by: NJoonyoung Shim <jy0922.shim@samsung.com>
      Tested-by: NTobias Jakobi <tjakobi@math.uni-bielefeld.de>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      4ea9526b
  4. 13 4月, 2015 1 次提交
  5. 24 11月, 2014 8 次提交
  6. 13 11月, 2014 1 次提交
  7. 03 11月, 2014 1 次提交
  8. 19 9月, 2014 4 次提交
  9. 06 8月, 2014 1 次提交
  10. 04 8月, 2014 1 次提交
  11. 03 8月, 2014 3 次提交
  12. 19 6月, 2014 1 次提交
  13. 02 6月, 2014 3 次提交
    • I
      drm/exynos: consider deferred probe case · df5225bc
      Inki Dae 提交于
      This patch makes sure that exynos drm framework handles deferred
      probe case correctly.
      
      Sub drivers could be probed before resources, clock, regulator,
      phy or panel, are ready for them so we should make sure that exynos
      drm core waits until all resources are ready and sub drivers are
      probed correctly.
      
      Chagelog v2:
      - Make sure that exynos drm core tries to bind sub drivers only in case that
        they have a pair: crtc and encoder/connector components should be a pair.
      - Remove unnecessary patch:
        drm/exynos: mipi-dsi: consider panel driver-deferred probe
      - Return error type correctly.
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      Acked-by: NKyungmin Park <kyungmin.park@samsung.com>
      df5225bc
    • I
      drm/exynos: dsi: remove unnecessary pm interfaces · fbc2063d
      Inki Dae 提交于
      Exynos drm driver is a single driver so pm operation
      for kms drivers should be done by connector->dpms
      at top level driver.
      
      If kms driver has its own pm interfaces, single driver model
      would be broken so this patch removes unnecessary pm interfaces
      from dsi driver.
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      fbc2063d
    • I
      drm/exynos: add component framework support · f37cd5e8
      Inki Dae 提交于
      This patch adds component framework support to resolve
      the probe order issue.
      
      Until now, exynos drm had used codes specific to exynos drm
      to resolve that issue so with this patch, the specific codes
      are removed.
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      f37cd5e8
  14. 30 4月, 2014 1 次提交
  15. 04 4月, 2014 1 次提交