1. 04 Nov, 2019 1 commit
  2. 29 Oct, 2019 2 commits
    • Robin Murphy's avatar
      drm/panfrost: Don't dereference bogus MMU pointers · f70744c6
      Robin Murphy authored
      It seems that killing an application while faults are occurring
      (particularly with a GPU in FPGA at a whopping 40MHz) can lead to
      handling a lingering page fault after all the address space contexts
      have already been freed. In this situation, the LRU list is empty so
      addr_to_drm_mm_node() ends up dereferencing the list head as if it were
      a struct panfrost_mmu entry; this leaves "mmu->as" actually pointing at
      the pfdev->alloc_mask bitmap, which is also empty, and given that the
      fault has a high likelihood of being in AS0, hilarity ensues.
      
      Sadly, the cleanest solution seems to involve another goto. Oh well, at
      least it's robust...
      
      Fixes: 65e51e30 ("drm/panfrost: Prevent race when handling page fault")
      Signed-off-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/9a0b09e6b5851f0d4428b72dd6b8b4c0d0ef4206.1572293305.git.robin.murphy@arm.com
      f70744c6
    • Yi Wang's avatar
      drm/panfrost: fix -Wmissing-prototypes warnings · 6f39188c
      Yi Wang authored
      We get these warnings when build kernel W=1:
      drivers/gpu/drm/panfrost/panfrost_perfcnt.c:35:6: warning: no previous prototype for ‘panfrost_perfcnt_clean_cache_done’ [-Wmissing-prototypes]
      drivers/gpu/drm/panfrost/panfrost_perfcnt.c:40:6: warning: no previous prototype for ‘panfrost_perfcnt_sample_done’ [-Wmissing-prototypes]
      drivers/gpu/drm/panfrost/panfrost_perfcnt.c:190:5: warning: no previous prototype for ‘panfrost_ioctl_perfcnt_enable’ [-Wmissing-prototypes]
      drivers/gpu/drm/panfrost/panfrost_perfcnt.c:218:5: warning: no previous prototype for ‘panfrost_ioctl_perfcnt_dump’ [-Wmissing-prototypes]
      drivers/gpu/drm/panfrost/panfrost_perfcnt.c:250:6: warning: no previous prototype for ‘panfrost_perfcnt_close’ [-Wmissing-prototypes]
      drivers/gpu/drm/panfrost/panfrost_perfcnt.c:264:5: warning: no previous prototype for ‘panfrost_perfcnt_init’ [-Wmissing-prototypes]
      drivers/gpu/drm/panfrost/panfrost_perfcnt.c:320:6: warning: no previous prototype for ‘panfrost_perfcnt_fini’ [-Wmissing-prototypes]
      drivers/gpu/drm/panfrost/panfrost_mmu.c:227:6: warning: no previous prototype for ‘panfrost_mmu_flush_range’ [-Wmissing-prototypes]
      drivers/gpu/drm/panfrost/panfrost_mmu.c:435:5: warning: no previous prototype for ‘panfrost_mmu_map_fault_addr’ [-Wmissing-prototypes]
      
      For file panfrost_mmu.c, make functions static to fix this.
      For file panfrost_perfcnt.c, include header file can fix this.
      Signed-off-by: default avatarYi Wang <wang.yi59@zte.com.cn>
      Reviewed-by: default avatarSteven Price <steven.price@arm.com>
      Cc: stable@vger.kernel.org
      [robh: fixup function parameter alignment]
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/1571967015-42854-1-git-send-email-wang.yi59@zte.com.cn
      6f39188c
  3. 23 Oct, 2019 2 commits
  4. 21 Oct, 2019 2 commits
  5. 15 Oct, 2019 1 commit
  6. 14 Oct, 2019 4 commits
  7. 11 Oct, 2019 1 commit
    • Jeffrey Hugo's avatar
      drm/msm/dsi: Implement reset correctly · 78e31c42
      Jeffrey Hugo authored
      On msm8998, vblank timeouts are observed because the DSI controller is not
      reset properly, which ends up stalling the MDP.  This is because the reset
      logic is not correct per the hardware documentation.
      
      The documentation states that after asserting reset, software should wait
      some time (no indication of how long), or poll the status register until it
      returns 0 before deasserting reset.
      
      wmb() is insufficient for this purpose since it just ensures ordering, not
      timing between writes.  Since asserting and deasserting reset occurs on the
      same register, ordering is already guaranteed by the architecture, making
      the wmb extraneous.
      
      Since we would define a timeout for polling the status register to avoid a
      possible infinite loop, lets just use a static delay of 20 ms, since 16.666
      ms is the time available to process one frame at 60 fps.
      
      Fixes: a689554b ("drm/msm: Initial add DSI connector support")
      Cc: Hai Li <hali@codeaurora.org>
      Cc: Rob Clark <robdclark@gmail.com>
      Signed-off-by: default avatarJeffrey Hugo <jeffrey.l.hugo@gmail.com>
      Reviewed-by: default avatarSean Paul <sean@poorly.run>
      [seanpaul renamed RESET_DELAY to DSI_RESET_TOGGLE_DELAY_MS]
      Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191011133939.16551-1-jeffrey.l.hugo@gmail.com
      78e31c42
  8. 10 Oct, 2019 4 commits
  9. 08 Oct, 2019 5 commits
  10. 03 Oct, 2019 3 commits
  11. 30 Sep, 2019 15 commits