1. 30 Jul, 2020 4 commits
    • Kalyan Thota's avatar
      drm/msm/dpu: ensure device suspend happens during PM sleep · ca8199f1
      Kalyan Thota authored
      "The PM core always increments the runtime usage counter
      before calling the ->suspend() callback and decrements it
      after calling the ->resume() callback"
      
      DPU and DSI are managed as runtime devices. When
      suspend is triggered, PM core adds a refcount on all the
      devices and calls device suspend, since usage count is
      already incremented, runtime suspend was not getting called
      and it kept the clocks on which resulted in target not
      entering into XO shutdown.
      
      Add changes to force suspend on runtime devices during pm sleep.
      
      Changes in v1:
       - Remove unnecessary checks in the function
          _dpu_kms_disable_dpu (Rob Clark).
      
      Changes in v2:
       - Avoid using suspend_late to reset the usagecount
         as suspend_late might not be called during suspend
         call failures (Doug).
      
      Changes in v3:
       - Use force suspend instead of managing device usage_count
         via runtime put and get API's to trigger callbacks (Doug).
      
      Changes in v4:
       - Check the return values of pm_runtime_force_suspend and
         pm_runtime_force_resume API's and pass appropriately (Doug).
      
      Changes in v5:
       - With v4 patch, test cycle has uncovered issues in device resume.
      
         On bubs: cmd tx failures were seen as SW is sending panel off
         commands when the dsi resources are turned off.
      
         Upon suspend, DRM driver will issue a NULL composition to the
         dpu, followed by turning off all the HW blocks.
      
         v5 changes will serialize the NULL commit and resource unwinding
         by handling them under PM prepare and PM complete phases there by
         ensuring that clks are on when panel off commands are being
         processed.
      
      Changes in v6:
      - Use drm_mode_config_helper_suspend/resume() instead of legacy API
        drm_atomic_helper_suspend/resume() (Doug).
      
        Trigger runtime callbacks from the suspend/resume call to turn
        off the resources.
      
      Changes in v7:
      - Add "__maybe_unused" to the functions to avoid compilation
        failures. Cleanup unnecessary configs (Doug).
      Signed-off-by: default avatarKalyan Thota <kalyan_t@codeaurora.org>
      Reviewed-by: default avatarDouglas Anderson <dianders@chromium.org>
      Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      ca8199f1
    • Jonathan Marek's avatar
      drm/msm: handle for EPROBE_DEFER for of_icc_get · 08af4769
      Jonathan Marek authored
      Check for errors instead of silently not using icc if the msm driver
      probes before the interconnect driver.
      
      Allow ENODATA for ocmem path, as it is optional and this error
      is returned when "gfx-mem" path is provided but not "ocmem".
      
      Because msm_gpu_cleanup assumes msm_gpu_init has been called, the icc path
      init needs to be after msm_gpu_init for the error path to work.
      Signed-off-by: default avatarJonathan Marek <jonathan@marek.ca>
      Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      08af4769
    • Jonathan Marek's avatar
      drm/msm: reset devfreq freq_table/max_state before devfreq_add_device · 0ded520b
      Jonathan Marek authored
      These never get set back to 0 when probing fails, so an attempt to probe
      again results in broken behavior. Fix the problem by setting thse to zero
      before they are used.
      Signed-off-by: default avatarJonathan Marek <jonathan@marek.ca>
      Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      0ded520b
    • Jonathan Marek's avatar
      drm/msm: fix unbalanced pm_runtime_enable in adreno_gpu_{init, cleanup} · 17e822f7
      Jonathan Marek authored
      adreno_gpu_init calls pm_runtime_enable, so adreno_gpu_cleanup needs to
      call pm_runtime_disable.
      Signed-off-by: default avatarJonathan Marek <jonathan@marek.ca>
      Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      17e822f7
  2. 29 Jul, 2020 2 commits
  3. 28 Jul, 2020 2 commits
  4. 27 Jul, 2020 2 commits
  5. 24 Jul, 2020 30 commits