1. 24 10月, 2017 1 次提交
    • D
      Merge tag 'drm/tegra/for-4.15-rc1' of git://anongit.freedesktop.org/tegra/linux into drm-next · 3b677e43
      Dave Airlie 提交于
      drm/tegra: Changes for v4.15-rc1
      
      This contains a bit of cleanup and some minor fixes for the host1x and
      Tegra DRM drivers. There's also some more preparatory work for Tegra186
      support which I'm not quite ready to send upstream because the GPIO
      driver needed for HDMI support has been stuck for months, and we can't
      do much without it. Hopefully that driver will land in v4.15, which
      would mean we could go ahead with Tegra186 display support in v4.16.
      
      * tag 'drm/tegra/for-4.15-rc1' of git://anongit.freedesktop.org/tegra/linux: (21 commits)
        drm/tegra: hdmi: Add cec-notifier support
        drm/tegra: dc: Perform a complete reset sequence
        drm/tegra: dc: Make sure to set the module clock rate
        drm/tegra: dc: Simplify atomic plane helper functions
        drm/tegra: dc: Move some declarations to dc.h
        drm/tegra: vic: Use of_device_get_match_data()
        drm/tegra: sor: Use of_device_get_match_data()
        drm/tegra: hdmi: Use of_device_get_match_data()
        drm/tegra: dc: Use of_device_get_match_data()
        drm/tegra: Use u64_to_user_ptr helper
        gpu: host1x: Fix incorrect comment for channel_request
        gpu: host1x: Disassemble more instructions
        gpu: host1x: Improve debug disassembly formatting
        gpu: host1x: Enable gather filter
        gpu: host1x: Enable Tegra186 syncpoint protection
        gpu: host1x: Call of_dma_configure() after setting bus
        drm/tegra: Add Tegra186 support for VIC
        gpu: host1x: Add Tegra186 support
        dt-bindings: host1x: Add Tegra186 information
        gpu: host1x: syncpt: Request syncpoints per client
        ...
      3b677e43
  2. 23 10月, 2017 1 次提交
    • K
      drm: Add CRTC_GET_SEQUENCE and CRTC_QUEUE_SEQUENCE ioctls [v3] · 3064abfa
      Keith Packard 提交于
      These provide crtc-id based functions instead of pipe-number, while
      also offering higher resolution time (ns) and wider frame count (64)
      as required by the Vulkan API.
      
      v2:
      
       * Check for DRIVER_MODESET in new crtc-based vblank ioctls
      
      	Failing to check this will oops the driver.
      
       * Ensure vblank interupt is running in crtc_get_sequence ioctl
      
      	The sequence and timing values are not correct while the
      	interrupt is off, so make sure it's running before asking for
      	them.
      
       * Short-circuit get_sequence if the counter is enabled and accurate
      
      	Steal the idea from the code in wait_vblank to avoid the
      	expense of drm_vblank_get/put
      
       * Return active state of crtc in crtc_get_sequence ioctl
      
      	Might be useful for applications that aren't in charge of
      	modesetting?
      
       * Use drm_crtc_vblank_get/put in new crtc-based vblank sequence ioctls
      
      	Daniel Vetter prefers these over the old drm_vblank_put/get
      	APIs.
      
       * Return s64 ns instead of u64 in new sequence event
      Suggested-by: NDaniel Vetter <daniel@ffwll.ch>
      Suggested-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      
      v3:
      
       * Removed FIRST_PIXEL_OUT_FLAG
       * Document that the timestamp in the query and event are
         that of the first pixel leaving the display engine for
         the display (using the same wording as the Vulkan spec).
      Suggested-by: NMichel Dänzer <michel@daenzer.net>
      Acked-by: NDave Airlie <airlied@redhat.com>
      
      [airlied: left->leaves (Michel)]
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      Reviewed-by: NSean Paul <seanpaul@chromium.org>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      3064abfa
  3. 21 10月, 2017 2 次提交
    • K
      drm: Reorganize drm_pending_event to support future event types [v2] · bd386e51
      Keith Packard 提交于
      Place drm_event_vblank in a new union that includes that and a bare
      drm_event structure. This will allow new members of that union to be
      added in the future without changing code related to the existing vbl
      event type.
      
      Assignments to the crtc_id field are now done when the event is
      allocated, rather than when delievered. This way, delivery doesn't
      need to have the crtc ID available.
      
      v2:
       * Remove 'dev' argument from create_vblank_event
      
      	It wasn't being used anyways, and if we need it in the future,
      	we can always get it from crtc->dev.
      
       * Check for MODESETTING before looking for crtc in queue_vblank_event
      
      	UMS drivers will oops if we try to get a crtc, so make sure
      	we're modesetting before we try to find a crtc_id to fill into
      	the event.
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      Reviewed-by: NSean Paul <seanpaul@chromium.org>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      (cherry picked from commit dc695b85fde88eca3ef3b03fcd82f15b6bc6e462)
      bd386e51
    • K
      drm: Widen vblank count to 64-bits [v3] · 570e8696
      Keith Packard 提交于
      This modifies the datatypes used by the vblank code to provide 64 bits
      of vblank count.
      
      The driver interfaces have been left using 32 bits of vblank count;
      all of the code necessary to widen that value for the user API was
      already included to handle devices returning fewer than 32-bits.
      
      This will provide the necessary datatypes for the Vulkan API.
      
      v2:
      
       * Re-write wait_vblank ioctl to ABSOLUTE sequence
      
          When an application uses the WAIT_VBLANK ioctl with RELATIVE
          or NEXTONMISS bits set, the target vblank interval is updated
          within the kernel. We need to write that target back to the
          ioctl buffer and update the flags bits so that if the wait is
          interrupted by a signal, when it is re-started, it will target
          precisely the same vblank count as before.
      
       * Leave driver API with 32-bit vblank count
      
      v3:
      
       * Rebase on top of Arnd Bergmann's patch which had
         the switch to ktime_t parts.
      
      [airlied: fix conflict with Ville vblank change].
      Suggested-by: NMichel Dänzer <michel@daenzer.net>
      Suggested-by: NDaniel Vetter <daniel@ffwll.ch>
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      (cherry picked from commit 2affbc16983e4fc90960bc7f70e7615f4228199b)
      570e8696
  4. 20 10月, 2017 36 次提交