1. 11 Jun, 2015 15 commits
    • Rob Clark's avatar
      drm/msm/edp: fix build warning - missing prototype · 07549dfb
      Rob Clark authored
      Fix build warning when building edp/edp_aux.o due to missing
      prototype for edp_aux_transfer.
      
      This function is only used in edp_aux.c so just make it static.
      Reported-by: default avatarNicholas Mc Guire <hofrat@osadl.org>
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      07549dfb
    • Nicholas Mc Guire's avatar
      drm/msm: drop redundant output in debug message · a7c07690
      Nicholas Mc Guire authored
      wait_for_completion_timeout returns 0 in case of timeout so printing the
      return value here will always yield 0 and is therefor redundant - dropped.
      Signed-off-by: default avatarNicholas Mc Guire <hofrat@osadl.org>
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      a7c07690
    • Nicholas Mc Guire's avatar
      drm/msm: fix HZ dependency of timeout · 84c3b87b
      Nicholas Mc Guire authored
      The timeout is passed as a constant which makes it HZ dependent because
      jiffies are expected so it should be converted to jiffies. The actual
      value is not clear from the code - my best guess is that this should be
      300 milliseconds given that other timeouts are in milliseconds based on
      looking at other drm drivers (e.g. exynos_drm_dsi.c:356 300ms,
      tegra/dpaux.c:188 250ms) - this needs to be confirmed by someone who
      knows the details of the driver.
      Signed-off-by: default avatarNicholas Mc Guire <hofrat@osadl.org>
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      84c3b87b
    • Nicholas Mc Guire's avatar
      drm/msm: fixup wait_for_completion_timeout handling · 9f68ef90
      Nicholas Mc Guire authored
      wait_for_completion_timeout return >= 0 but never negative so the check
      logic looks inconsistent. Further the return value of
      wait_for_completion_timeout was being passed up the call chain but the
      x call sites as drm_dp_i2c_do_msg()/drm_dp_dpcd_access() check for < 0
      thus timeout was being treated as success case.
      
      <snip> drivers/gpu/drm/drm_dp_helper.c:drm_dp_i2c_do_msg()
                      mutex_lock(&aux->hw_mutex);
                      ret = aux->transfer(aux, msg);
                      mutex_unlock(&aux->hw_mutex);
                      if (ret < 0) {
      <snip>
      logic in edp_aux_transfer() seems incorrect as it could return 0 (timeout)
      but checks of <= 0 to indicate error so the return probably should be
      -ETIMEDOUT in case wait_for_completion_timeout returns 0 (timeout
      occurred).
      Signed-off-by: default avatarNicholas Mc Guire <hofrat@osadl.org>
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      9f68ef90
    • Rob Clark's avatar
      drm/msm/mdp5: fix for crash in disable path · e5989ee1
      Rob Clark authored
      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: default avatarRob Clark <robdclark@gmail.com>
      e5989ee1
    • Rob Clark's avatar
      d735fdc3
    • Rob Clark's avatar
      drm/msm: adreno a306 support · de558cd2
      Rob Clark authored
      As found in apq8016 (used in DragonBoard 410c) and msm8916.
      
      Note that numerically a306 is actually 307 (since a305c already claimed
      306).  Nice and confusing.
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      de558cd2
    • Rob Clark's avatar
      drm/msm: clarify downstream bus scaling · 6490ad47
      Rob Clark authored
      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: default avatarRob Clark <robdclark@gmail.com>
      6490ad47
    • Rob Clark's avatar
      drm/msm/mdp4: Support NV12MT format in mdp4 · 570655b0
      Rob Clark authored
      Using fb modifier flag, support NV12MT format in MDP4.
      
      v2:
      - rework the modifier's description [Daniel Vetter's comment]
      - drop .set_mode_config() callback [Rob Clark's comment]
      v3:
      - change VENDOR's name and restrict usage to NV12 [pointed by Daniel]
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      570655b0
    • Rob Clark's avatar
      drm/msm: update generated headers · af6cb4c1
      Rob Clark authored
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      af6cb4c1
    • Rob Clark's avatar
      drm/msm: add missing DRIVER_ATOMIC flag · a5436e1d
      Rob Clark authored
      Somehow this got lost when msm atomic support was first merged.
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      a5436e1d
    • Rob Clark's avatar
      drm/msm/adreno: dump scratch regs and other info on hang · 26716185
      Rob Clark authored
      Dump a bit more info when the GPU hangs, without having hang_debug
      enabled (which dumps a *lot* of registers).  Also dump the scratch
      registers, as they are useful for determining where in the cmdstream
      the GPU hung (and they seem always safe to read when GPU has hung).
      
      Note that the freedreno gallium driver emits increasing counter values
      to SCRATCH6 (to identify tile #) and SCRATCH7 (to identify draw #), so
      these two in particular can be used to "triangulate" where in the
      cmdstream the GPU hung.
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      26716185
    • Dan Carpenter's avatar
      drm/virtio: remove some dead code · 3f05eb4e
      Dan Carpenter authored
      The goto is correct, and we never reach the return statement so just
      delete the dead code.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      3f05eb4e
    • Dan Carpenter's avatar
      drm/virtio: checking for NULL instead of IS_ERR · 2b7edcad
      Dan Carpenter authored
      virtio_gpu_alloc_object() returns an error pointer, it never returns
      NULL.
      
      Fixes: dc5698e8 ('Add virtio gpu driver.')
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      2b7edcad
    • Dave Airlie's avatar
      Merge branch 'drm-next-4.2-amdgpu' of git://people.freedesktop.org/~agd5f/linux into drm-next · dc9be8e2
      Dave Airlie authored
      More fixes for amdgpu for 4.2.  We've integrated Jerome's comments
      about the interface among other things.  I'll be on vacation next week
      so Christian will be handling any updates next week.
      
      * 'drm-next-4.2-amdgpu' of git://people.freedesktop.org/~agd5f/linux: (23 commits)
        drm/amdgpu: fix a amdgpu_dpm=0 bug
        drm/amdgpu: don't enable/disable display twice on suspend/resume
        drm/amdgpu: fix UVD/VCE VM emulation
        drm/amdgpu: enable vce powergating
        drm/amdgpu/iceland: don't call smu_init on resume
        drm/amdgpu/tonga: don't call smu_init on resume
        drm/amdgpu/cz: don't call smu_init on resume
        drm/amdgpu: update to latest gfx8 golden register settings
        drm/amdgpu: whitespace cleanup in gmc8 golden regs
        drm/admgpu: move XDMA golden registers to dce code
        drm/amdgpu: fix the build on big endian
        drm/amdgpu: cleanup UAPI comments
        drm/amdgpu: remove AMDGPU_CTX_OP_STATE_RUNNING
        drm/amdgpu: remove the VI hardware semaphore in ring sync
        drm/amdgpu: set the gfx config properly for all CZ variants (v2)
        drm/amdgpu: also print the pci revision when printing the pci ids
        drm/amdgpu: cleanup VA IOCTL
        drm/amdgpu: fix saddr handling in amdgpu_vm_bo_unmap
        drm/amdgpu: fix amdgpu_vm_bo_map
        drm/amdgpu: remove unused AMDGPU_IB_FLAG_GDS
        ...
      dc9be8e2
  2. 10 Jun, 2015 14 commits
  3. 09 Jun, 2015 5 commits
  4. 05 Jun, 2015 6 commits