1. 15 Jun, 2018 6 commits
  2. 14 Jun, 2018 1 commit
  3. 13 Jun, 2018 13 commits
  4. 08 Jun, 2018 3 commits
  5. 07 Jun, 2018 4 commits
  6. 04 Jun, 2018 6 commits
  7. 03 Jun, 2018 7 commits
    • Archit Taneja's avatar
      drm/msm: Don't subclass drm_atomic_state anymore · c21c731d
      Archit Taneja authored
      With the addition of "private_objs" in drm_atomic_state, we no longer
      need to subclass drm_atomic_state to store state of share resources
      that don't perfectly fit within planes/crtc/connector state information.
      We can now save this state within drm_atomic_state itself using
      the private objects.
      
      Remove the infrastructure that allowed subclassing of drm_atomic_state
      in the driver.
      
      Changes in v3:
      - Added to the msm atomic helper patch set
      Changes in v4:
      - None
      Signed-off-by: default avatarArchit Taneja <architt@codeaurora.org>
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
      c21c731d
    • Archit Taneja's avatar
      drm/msm/mdp5: Use the new private_obj state · 7907a0d7
      Archit Taneja authored
      This replaces the usage of the subclassed atomic state (mdp5_state)
      with a private_obj state embedded within drm_atomic_state. The latter
      method is the preferred approach, since it's simpler to implement
      and less prone to errors.
      
      The new API replaces the older and equivalent mdp5_state usage in the
      following pattern:
      - References to "mdp5_kms->state" (i.e, the old/existing state) is
        replaced with mdp5_get_existing_global_state(). In the atomic_check
        path, this should be called with the glob_state_lock drm_modeset_lock
        alredy taken.
      - References to "mdp5_get_state()" are replaced with
        mdp5_get_global_state(). This acquires glob_state_lock and uses
        drm_atomic_get_private_obj_state() to create a new duplicated state.
      
      Changes in v3:
      - Acquire glob_state_lock in mdp5_smp.c
      - Added to the msm atomic helper patch set
      Changes in v4:
      - None
      Signed-off-by: default avatarArchit Taneja <architt@codeaurora.org>
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
      7907a0d7
    • Archit Taneja's avatar
      drm/msm/mdp5: Add global state as a private atomic object · 8d58ef34
      Archit Taneja authored
      Global shared resources (hwpipes, hwmixers and SMP) for MDP5 are
      implemented as a part of atomic state by subclassing drm_atomic_state.
      
      The preferred approach is to use the drm_private_obj infrastructure
      available in the atomic core.
      
      mdp5_global_state is introduced as a drm atomic private object. The two
      funcs mdp5_get_global_state() and mdp5_get_existing_global_state() are
      the two variants that will be used to access mdp5_global_state.
      
      This will replace the existing mdp5_state struct (which subclasses
      drm_atomic_state) and the funcs around it. These will be removed later
      once we mdp5_global_state is put to use everywhere.
      
      Changes in v3:
      - Added glob_state_lock instead of pushing it into the core
      - Added to the msm atomic helper patch set
      Changes in v4:
      - None
      Signed-off-by: default avatarArchit Taneja <architt@codeaurora.org>
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
      8d58ef34
    • Daniel Mack's avatar
      drm/msm: use correct aspace pointer in msm_gem_put_iova() · acb1acdb
      Daniel Mack authored
      Even though msm_gem_put_iova() is currently a NOP function, the caller
      should pass in the address space pointer it used to obtain the object.
      
      Other call sites were changed in 8bdcd949 ("drm/msm: pass
      address-space to _get_iova() and friends"), but this one seems to have
      been forgotten.
      Signed-off-by: default avatarDaniel Mack <daniel@zonque.org>
      Cc: Rob Clark <robdclark@gmail.com>
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      acb1acdb
    • Daniel Mack's avatar
      drm/msm: remove unbalanced mutex unlock · 3c9620cd
      Daniel Mack authored
      This regression stems from 0e08270a ("drm/msm: Separate locking of
      buffer resources from struct_mutex").
      Signed-off-by: default avatarDaniel Mack <daniel@zonque.org>
      Cc: Sushmita Susheelendra <ssusheel@codeaurora.org>
      Cc: Rob Clark <rclark@redhat.com>
      Fixes: 0e08270a ("drm/msm: Separate locking of buffer resources from struct_mutex")
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      3c9620cd
    • Emil Velikov's avatar
      drm/msm: don't deref error pointer in the msm_fbdev_create error path · 641be142
      Emil Velikov authored
      Currently the error pointer returned by msm_alloc_stolen_fb gets passed
      to drm_framebuffer_remove. The latter handles only NULL pointers, thus
      a nasty crash will occur.
      
      Drop the unnecessary fail label and the associated checks - both err and
      fb will be set at this stage.
      
      Cc: Rob Clark <robdclark@gmail.com>
      Cc: linux-arm-msm@vger.kernel.org
      Cc: dri-devel@lists.freedesktop.org
      Cc: freedreno@lists.freedesktop.org
      Signed-off-by: default avatarEmil Velikov <emil.velikov@collabora.com>
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      641be142
    • Stefan Agner's avatar
      drm/msm/dsi: use correct enum in dsi_get_cmd_fmt · cf606fe3
      Stefan Agner authored
      The function dsi_get_cmd_fmt returns enum dsi_cmd_dst_format,
      use the correct enum value also for MIPI_DSI_FMT_RGB666/_PACKED.
      
      This has been discovered using clang:
        drivers/gpu/drm/msm/dsi/dsi_host.c:743:35: warning: implicit conversion
              from enumeration type 'enum dsi_vid_dst_format' to different
              enumeration type 'enum dsi_cmd_dst_format' [-Wenum-conversion]
                case MIPI_DSI_FMT_RGB666:       return VID_DST_FORMAT_RGB666;
                                                ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~
      Signed-off-by: default avatarStefan Agner <stefan@agner.ch>
      Reviewed-by: default avatarArchit Taneja <architt@codeaurora.org>
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      cf606fe3