1. 12 6月, 2015 6 次提交
    • H
      drm/msm/mdp5: Always generate active-high sync signals for DSI · 1efb92a3
      Hai Li 提交于
      DSI video mode engine can only take active-high sync signals. This
      change prevents MDP5 sending active-low sync signals to DSI in any
      case.
      Signed-off-by: NHai Li <hali@codeaurora.org>
      Tested-by: NArchit Taneja <architt@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      1efb92a3
    • H
      drm/msm/mdp5: Wait for PP_DONE irq for command mode CRTC atomic commit · 68cdbed9
      Hai Li 提交于
      CRTCs in DSI command mode data path should wait for pingpong done,
      instead of vblank, to finish atomic commit.
      
      This change is to enable PP_DONE irq on command mode CRTCs and wait for
      this irq happens before atomic commit completion.
      Signed-off-by: NHai Li <hali@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      68cdbed9
    • H
      drm/msm: Use customized function to wait for atomic commit done · 0a5c9aad
      Hai Li 提交于
      MDP FLUSH registers could indicate if the previous flush updates
      has taken effect at vsync boundary. Making use of this H/W feature
      can catch the vsync that happened between CRTC atomic_flush and
      *_wait_for_vblanks, to avoid unnecessary wait.
      
      This change allows kms CRTCs to use their own *_wait_for_commit_done
      functions to wait for FLUSH register cleared at vsync, before commit
      completion.
      Signed-off-by: NHai Li <hali@codeaurora.org>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      0a5c9aad
    • R
      drm/msm/mdp5: fix for crash in disable path · e5989ee1
      Rob Clark 提交于
      Seems like disable can race with complete_flip() in process of disabling
      a crtc, leading to:
      
      [   49.065364] Call trace:
      [   49.071441] [<ffffffc00041d5a0>] mdp5_ctl_blend+0x20/0x1c0
      [   49.073788] [<ffffffc00041ebcc>] mdp5_crtc_disable+0x3c/0xa8
      [   49.079348] [<ffffffc0003e7854>] disable_outputs.isra.4+0x11c/0x220
      [   49.085164] [<ffffffc0003e7afc>] drm_atomic_helper_commit_modeset_disables+0x14/0x38
      [   49.091155] [<ffffffc000425c80>] complete_commit+0x40/0xb8
      [   49.099136] [<ffffffc0004260ac>] msm_atomic_commit+0x364/0x398
      [   49.104430] [<ffffffc00040a614>] drm_atomic_commit+0x3c/0x70
      [   49.110249] [<ffffffc0003e67b8>] drm_atomic_helper_set_config+0x1b0/0x3e0
      [   49.116065] [<ffffffc0003f99bc>] drm_mode_set_config_internal+0x64/0xf8
      [   49.122746] [<ffffffc0003fa624>] drm_framebuffer_remove+0xe4/0x128
      [   49.129171] [<ffffffc0003feaf8>] drm_mode_rmfb+0xc0/0x100
      [   49.135420] [<ffffffc0003efba8>] drm_ioctl+0x258/0x4d0
      [   49.140889] [<ffffffc0001b0388>] do_vfs_ioctl+0x338/0x5d0
      [   49.145921] [<ffffffc0001b06a8>] SyS_ioctl+0x88/0xa0
      
      It makes no sense to free the ctl without disabling all stages, so lets
      just move them together to avoid the crash.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      e5989ee1
    • R
      drm/msm: clarify downstream bus scaling · 6490ad47
      Rob Clark 提交于
      A few spots in the driver have support for downstream android
      CONFIG_MSM_BUS_SCALING.  This is mainly to simplify backporting the
      driver for various devices which do not have sufficient upstream
      kernel support.  But the intentionally dead code seems to cause
      some confusion.  Rename the #define to make this more clear.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      6490ad47
    • R
      drm/msm: update generated headers · af6cb4c1
      Rob Clark 提交于
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      af6cb4c1
  2. 21 5月, 2015 1 次提交
  3. 14 5月, 2015 1 次提交
    • S
      drm/msm/mdp5: Fix iteration on INTF config array · fe34464d
      Stephane Viau 提交于
      The current iteration in get_dsi_id_from_intf() is wrong:
      instead of iterating until hw_cfg->intf.count, we need to iterate
      until MDP5_INTF_NUM_MAX here.
      
      Let's take the example of msm8x16:
      
       hw_cfg->intf.count = 1
       intfs[0] = INTF_Disabled
       intfs[1] = INTF_DSI
      
      If we stop iterating once i reaches hw_cfg->intf.count (== 1),
      we will miss the test for intfs[1].
      
      Actually, this hw_cfg->intf.count entry is quite confusing and is not
      (or *should not be*) used anywhere else; let's remove it.
      Signed-off-by: NStephane Viau <sviau@codeaurora.org>
      fe34464d
  4. 02 4月, 2015 17 次提交
  5. 05 3月, 2015 7 次提交
  6. 02 2月, 2015 8 次提交