Skip to content
  1. May 11, 2018
  2. May 10, 2018
  3. May 09, 2018
    • Matt Atwood's avatar
      drm/dp: Correctly mask DP_TRAINING_AUX_RD_INTERVAL values for DP 1.4 · 2f065d8a
      Matt Atwood authored
      
      
      DP_TRAINING_AUX_RD_INTERVAL with DP 1.3 spec changed bit scheeme from 8
      bits to 7 in DPCD 0x000e. The 8th bit is used to identify extended
      receiver capabilities. For panels that use this new feature wait interval
      would be increased by 512 ms, when spec is max 16 ms. This behavior is
      described in table 2-158 of DP 1.4 spec address 0000eh.
      
      With the introduction of DP 1.4 spec main link clock recovery was
      standardized to 100 us regardless of TRAINING_AUX_RD_INTERVAL value.
      
      To avoid breaking panels that are not spec compiant we now warn on
      invalid values.
      
      V2: commit title/message, masking all 7 bits, warn on out of spec values.
      V3: commit message, make link train clock recovery follow DP 1.4 spec.
      V4: style changes
      V5: typo
      V6: print statement revisions, DP_REV to DPCD_REV, comment correction
      V7: typo
      V8: Style
      V9: Strip out DPCD_REV_XX into seperate patch
      v10: DPCD_REV_XX to DP_DPCD_REV_XX
      
      Signed-off-by: default avatarMatt Atwood <matthew.s.atwood@intel.com>
      Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180504221800.17830-2-matthew.s.atwood@intel.com
      2f065d8a
    • Matt Atwood's avatar
      drm/dp: Add DP_DPCD_REV_XX to drm_dp_helper · 0597017c
      Matt Atwood authored
      
      
      As more differentation occurs between DP spec. Its useful to have these
      as macros in a drm_dp_helper.
      
      v2: DPCD_REV_XX to DP_DPCD_REV_XX
      
      Signed-off-by: default avatarMatt Atwood <matthew.s.atwood@intel.com>
      Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180504221800.17830-1-matthew.s.atwood@intel.com
      0597017c
  4. May 08, 2018
  5. May 07, 2018
  6. May 04, 2018
  7. May 03, 2018
    • Satendra Singh Thakur's avatar
      drm/atomic: Handling the case when setting old crtc for plane · fc2a69f3
      Satendra Singh Thakur authored
      
      
      In the func drm_atomic_set_crtc_for_plane, with the current code,
      if crtc of the plane_state and crtc passed as argument to the func
      are same, entire func will executed in vein.
      It will get state of crtc and clear and set the bits in plane_mask.
      All these steps are not required for same old crtc.
      Ideally, we should do nothing in this case, this patch handles the same,
      and causes the program to return without doing anything in such scenario.
      
      Signed-off-by: default avatarSatendra Singh Thakur <satendra.t@samsung.com>
      Cc: Madhur Verma <madhur.verma@samsung.com>
      Cc: Hemanshu Srivastava <hemanshu.s@samsung.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/1525326572-25854-1-git-send-email-satendra.t@samsung.com
      fc2a69f3
    • Daniel Vetter's avatar
      Revert 190c462d..bf3012ad" · 51f170a5
      Daniel Vetter authored
      
      
      I shouldn't have pushed this, CI was right - I failed to remove the
      BUG_ON(!ops->wait);
      
      Reported-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Acked-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      51f170a5
    • Daniel Vetter's avatar
      drm/qxl: Remove unecessary dma_fence_ops · bf3012ad
      Daniel Vetter authored
      
      
      The trivial enable_signaling implementation matches the default code.
      
      v2: Fix up commit message to match patch better (Eric).
      
      Cc: Eric Anholt <eric@anholt.net>
      Reviewed-by: default avatarEric Anholt <eric@anholt.net>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Dave Airlie <airlied@redhat.com>
      Cc: Gerd Hoffmann <kraxel@redhat.com>
      Cc: virtualization@lists.linux-foundation.org
      Link: https://patchwork.freedesktop.org/patch/msgid/20180502082325.30264-1-daniel.vetter@ffwll.ch
      bf3012ad
    • Daniel Vetter's avatar
      drm: Remove unecessary dma_fence_ops · 95aee35f
      Daniel Vetter authored
      
      
      dma_fence_default_wait is the default now, same for the trivial
      enable_signaling implementation.
      
      Reviewed-by: default avatarEric Anholt <eric@anholt.net>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Gustavo Padovan <gustavo@padovan.org>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Sean Paul <seanpaul@chromium.org>
      Cc: David Airlie <airlied@linux.ie>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180427061724.28497-8-daniel.vetter@ffwll.ch
      95aee35f
    • Daniel Vetter's avatar
      dma-fence: Make ->wait callback optional · 49a53d49
      Daniel Vetter authored
      
      
      Almost everyone uses dma_fence_default_wait.
      
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Sumit Semwal <sumit.semwal@linaro.org>
      Cc: Gustavo Padovan <gustavo@padovan.org>
      Cc: linux-media@vger.kernel.org
      Cc: linaro-mm-sig@lists.linaro.org
      Link: https://patchwork.freedesktop.org/patch/msgid/20180427061724.28497-6-daniel.vetter@ffwll.ch
      49a53d49
    • Daniel Vetter's avatar
      dma-fence: Allow wait_any_timeout for all fences · 90e99655
      Daniel Vetter authored
      When this was introduced in
      
      commit a519435a
      
      
      Author: Christian König <christian.koenig@amd.com>
      Date:   Tue Oct 20 16:34:16 2015 +0200
      
          dma-buf/fence: add fence_wait_any_timeout function v2
      
      there was a restriction added that this only works if the dma-fence
      uses the dma_fence_default_wait hook. Which works for amdgpu, which is
      the only caller. Well, until you share some buffers with e.g. i915,
      then you get an -EINVAL.
      
      But there's really no reason for this, because all drivers must
      support callbacks. The special ->wait hook is only as an optimization;
      if the driver needs to create a worker thread for an active callback,
      then it can avoid to do that if it knows that there's a process
      context available already. So ->wait is just an optimization, just
      using the logic in dma_fence_default_wait() should work for all
      drivers.
      
      Let's remove this restriction.
      
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Cc: Sumit Semwal <sumit.semwal@linaro.org>
      Cc: Gustavo Padovan <gustavo@padovan.org>
      Cc: linux-media@vger.kernel.org
      Cc: linaro-mm-sig@lists.linaro.org
      Cc: Christian König <christian.koenig@amd.com>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180427061724.28497-5-daniel.vetter@ffwll.ch
      90e99655
    • Daniel Vetter's avatar
      dma-fence: Make ->enable_signaling optional · 95ed01ea
      Daniel Vetter authored
      
      
      Many drivers have a trivial implementation for ->enable_signaling.
      Let's make it optional by assuming that signalling is already
      available when the callback isn't present.
      
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Cc: Sumit Semwal <sumit.semwal@linaro.org>
      Cc: Gustavo Padovan <gustavo@padovan.org>
      Cc: linux-media@vger.kernel.org
      Cc: linaro-mm-sig@lists.linaro.org
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180427061724.28497-4-daniel.vetter@ffwll.ch
      95ed01ea
    • Daniel Vetter's avatar
      dma-fence: remove fill_driver_data callback · aee1a37d
      Daniel Vetter authored
      
      
      Noticed while I was typing docs. Entirely unused.
      
      v2: Remove reference in @timeline_value_str too. While at it clarify
      why timeline_value_str has a fence parameter - we don't have an
      explicit timeline structure unfortunately.
      
      Cc: Eric Anholt <eric@anholt.net>
      Reviewed-by: Christian König <christian.koenig@amd.com> (v1)
      Reviewed-by: default avatarEric Anholt <eric@anholt.net>
      Cc: Christian König <christian.koenig@amd.com> (v1)
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180502082359.30345-1-daniel.vetter@ffwll.ch
      aee1a37d
    • Daniel Vetter's avatar
      drm/vmwgfx: Drop DRM_CONTROL_ALLOW · 190c462d
      Daniel Vetter authored
      
      
      Control nodes are no more!
      
      Reviewed-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Reviewed-by: default avatarSean Paul <seanpaul@chromium.org>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Cc: VMware Graphics <linux-graphics-maintainer@vmware.com>
      Cc: Sinclair Yeh <syeh@vmware.com>
      Cc: Thomas Hellstrom <thellstrom@vmware.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180420065159.4531-3-daniel.vetter@ffwll.ch
      190c462d
    • Daniel Vetter's avatar
      drm/i915: Drop DRM_CONTROL_ALLOW · 0cd54b03
      Daniel Vetter authored
      
      
      Control nodes are no more!
      
      Reviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Reviewed-by: default avatarSean Paul <seanpaul@chromium.org>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: intel-gfx@lists.freedesktop.org
      Link: https://patchwork.freedesktop.org/patch/msgid/20180420065159.4531-2-daniel.vetter@ffwll.ch
      0cd54b03
    • Daniel Vetter's avatar
      drm: Drop DRM_CONTROL_ALLOW from ioctls · 5bb562f8
      Daniel Vetter authored
      We've disabled control nodes in
      
      commit 8a357d10
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Fri Oct 28 10:10:50 2016 +0200
      
          drm: Nerf DRM_CONTROL nodes
      
      and there was only a minor uapi break that we've paper over with
      
      commit 6449b088
      
      
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Fri Dec 9 14:56:56 2016 +0100
      
          drm: Add fake controlD* symlinks for backwards compat
      
      Since then Keith has also added real control nodes with a
      proper&useable uapi in the form of drm leases.
      
      It's time to remove the control node leftovers.
      
      Cc: Keith Packard <keithp@keithp.com>
      Reviewed-by: default avatarSean Paul <seanpaul@chromium.org>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
      Cc: Gustavo Padovan <gustavo@padovan.org>
      Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Cc: Sean Paul <seanpaul@chromium.org>
      Cc: David Airlie <airlied@linux.ie>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180420065159.4531-1-daniel.vetter@ffwll.ch
      5bb562f8
    • Ville Syrjälä's avatar
      drm/rect: Fix drm_rect_rotation_inv() docs · ec667231
      Ville Syrjälä authored
      
      
      An overeager sed has corrupted the drm_rect_rotation_inv()
      documentation. Fix it up.
      
      Looks like it wasn't entirely correct before the sed fail
      either. We were missing _rect_ from the function names, which
      also explains why the sed hit these by accident.
      
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180426141631.15798-1-ville.syrjala@linux.intel.com
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      ec667231
    • Linus Walleij's avatar
      drm/pl111: Enable device-specific assigned memory · 57450671
      Linus Walleij authored
      
      
      The Versatile Express has 8 MB of dedicated video RAM (VRAM)
      on the motherboard, which is what we should be using for the
      PL111 if available. On this platform, the memory backplane
      is constructed so that only this memory will work properly
      with the CLCD on the motherboard, using any other memory
      area just gives random snow on the display.
      
      The CA9 Versatile Express also has a PL111 instance on its
      core tile that can address all memory, and this does not
      have the restriction.
      
      The memory is assigned to the device using the memory-region
      device tree property and a "shared-dma-pool" reserved
      memory pool like this:
      
      reserved-memory {
              #address-cells = <1>;
              #size-cells = <1>;
              ranges;
      
              vram: vram@48000000 {
                      compatible = "shared-dma-pool";
                      reg = <0x48000000 0x00800000>;
                      no-map;
              };
      };
      
      clcd@1f000 {
              compatible = "arm,pl111", "arm,primecell";
      	(...)
              memory-region = <&vram>;
      }·;
      
      Cc: Liviu Dudau <liviu.dudau@arm.com>
      Cc: Mali DP Maintainers <malidp@foss.arm.com>
      Reviewed-by: default avatarEric Anholt <eric@anholt.net>
      Tested-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180502134719.8388-2-linus.walleij@linaro.org
      57450671
    • Linus Walleij's avatar
      drm/pl111: Support the Versatile Express · ca454bd4
      Linus Walleij authored
      
      
      The Versatile Express uses a special configuration controller
      deeply embedded in the system motherboard FPGA to multiplex the
      two to three (!) display controller instances out to the single
      SiI9022 bridge.
      
      Set up an extra file with the logic to probe to the FPGA mux
      register on the system controller bus, then parse the device
      tree to see if there is a CLCD or HDLCD instance on the core
      tile (also known as the daughterboard) by looking in the
      root of the device tree for compatible nodes.
      
      - If there is a HDLCD on the core tile, and there is a driver
        for it, we exit probe and deactivate the motherboard CLCD.
        We do not touch the DVI mux in this case, to make sure we
        don't break HDLCD.
      
      - If there is a CLCD on both the motherboard and the core tile
        (only the CA9 has this) the core tile CLCD takes precedence
        and get muxed to the DVI connector.
      
      - Only if there is no working graphics on the core tile, the
        motherboard CLCD is probed and muxed to the DVI connector.
      
      Core tile graphics should always take precedence as it can
      address all memory and is also faster, however the motherboard
      CLCD is good to have around for diagnostics and testing.
      
      It is possible to test the motherboard CLCD by setting the
      status = "disabled" property on the core tile CLCD or
      HDLCD.
      
      Scale down the Versatile Express to 16BPP so we can support a
      1024x768 display despite the bus bandwidth restrictions on this
      platform. (The motherboard CLCD supports slightly lower
      resolution.)
      
      Cc: Liviu Dudau <liviu.dudau@arm.com>
      Cc: Pawel Moll <pawel.moll@arm.com>
      Acked-by: default avatarEric Anholt <eric@anholt.net>
      Tested-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180502134719.8388-1-linus.walleij@linaro.org
      ca454bd4
  8. May 02, 2018
  9. May 01, 2018