Skip to content
  1. May 04, 2021
  2. May 03, 2021
    • Rob Clark's avatar
      drm/msm/dpu: Delete bonkers code · a712b307
      Rob Clark authored
      
      
      dpu_crtc_atomic_flush() was directly poking it's attached planes in a
      code path that ended up in dpu_plane_atomic_update(), even if the plane
      was not involved in the current atomic update.  While a bit dubious,
      this worked before because plane->state would always point to something
      valid.  But now using drm_atomic_get_new_plane_state() we could get a
      NULL state pointer instead, leading to:
      
         [   20.873273] Call trace:
         [   20.875740]  dpu_plane_atomic_update+0x5c/0xed0
         [   20.880311]  dpu_plane_restore+0x40/0x88
         [   20.884266]  dpu_crtc_atomic_flush+0xf4/0x208
         [   20.888660]  drm_atomic_helper_commit_planes+0x150/0x238
         [   20.894014]  msm_atomic_commit_tail+0x1d4/0x7a0
         [   20.898579]  commit_tail+0xa4/0x168
         [   20.902102]  drm_atomic_helper_commit+0x164/0x178
         [   20.906841]  drm_atomic_commit+0x54/0x60
         [   20.910798]  drm_atomic_connector_commit_dpms+0x10c/0x118
         [   20.916236]  drm_mode_obj_set_property_ioctl+0x1e4/0x440
         [   20.921588]  drm_connector_property_set_ioctl+0x60/0x88
         [   20.926852]  drm_ioctl_kernel+0xd0/0x120
         [   20.930807]  drm_ioctl+0x21c/0x478
         [   20.934235]  __arm64_sys_ioctl+0xa8/0xe0
         [   20.938193]  invoke_syscall+0x64/0x130
         [   20.941977]  el0_svc_common.constprop.3+0x5c/0xe0
         [   20.946716]  do_el0_svc+0x80/0xa0
         [   20.950058]  el0_svc+0x20/0x30
         [   20.953145]  el0_sync_handler+0x88/0xb0
         [   20.957014]  el0_sync+0x13c/0x140
      
      The reason for the codepath seems dubious, the atomic suspend/resume
      heplers should handle the power-collapse case.  If not, the CRTC's
      atomic_check() should be adding the planes to the atomic update.
      
      Reported-by: default avatarStephen Boyd <swboyd@chromium.org>
      Reported-by: default avatarJohn Stultz <john.stultz@linaro.org>
      Fixes: 37418bf1
      
       ("drm: Use state helper instead of the plane state pointer")
      Tested-by: default avatarJohn Stultz <john.stultz@linaro.org>
      Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210430171744.1721408-1-robdclark@gmail.com
      a712b307
  3. Apr 27, 2021
  4. Apr 23, 2021
  5. Apr 21, 2021
  6. Apr 16, 2021
  7. Apr 08, 2021
  8. Apr 07, 2021
  9. Apr 01, 2021
  10. Mar 31, 2021
  11. Mar 30, 2021