1. 10 8月, 2014 8 次提交
  2. 17 6月, 2014 1 次提交
  3. 11 6月, 2014 2 次提交
  4. 10 6月, 2014 1 次提交
  5. 02 5月, 2014 1 次提交
  6. 02 4月, 2014 1 次提交
    • M
      drm: Replace crtc fb with primary plane fb (v3) · f4510a27
      Matt Roper 提交于
      Now that CRTC's have a primary plane, there's no need to track the
      framebuffer in the CRTC.  Replace all references to the CRTC fb with the
      primary plane's fb.
      
      This patch was generated by the Coccinelle semantic patching tool using
      the following rules:
      
              @@ struct drm_crtc C; @@
              -   (C).fb
              +   C.primary->fb
      
              @@ struct drm_crtc *C; @@
              -   (C)->fb
              +   C->primary->fb
      
      v3: Generate patch via coccinelle.  Actual removal of crtc->fb has been
          moved to a subsequent patch.
      
      v2: Fixup several lingering crtc->fb instances that were missed in the
          first patch iteration.  [Rob Clark]
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: NRob Clark <robdclark@gmail.com>
      f4510a27
  7. 26 3月, 2014 3 次提交
    • M
      drm/nouveau: fix small thinko in vblank timestamping. · 6c3252bc
      Mario Kleiner 提交于
      *hpos horizontal scanout position doesn't need to be corrected
      to count the pixels between hactive end and htotal negative.
      That is only needed for *vpos to count lines until end of
      vblank for the vblank timestamping.
      
      Use hpos as is without correction.
      
      Removes occassional spikes in timestamps of up to 1 scanline
      duration, thereby improves accuracy to about +/- 2 usecs instead
      of +/- 12 usecs, wrt. true onset time as measured with high
      precision equipment on NV-A5.
      Signed-off-by: NMario Kleiner <mario.kleiner.de@gmail.com>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      6c3252bc
    • A
      support for platform devices · 420b9469
      Alexandre Courbot 提交于
      Upcoming mobile Kepler GPUs (such as GK20A) use the platform bus instead
      of PCI to which Nouveau is tightly dependent. This patch allows Nouveau
      to handle platform devices by:
      
      - abstracting PCI-dependent functions that were typically used for
        resource querying and page mapping,
      - introducing a nv_device_is_pci() function that allows to make
        PCI-dependent code conditional,
      - providing a nouveau_drm_platform_probe() function that takes a GPU
        platform device to be probed.
      
      Core code as well as engine/subdev drivers are updated wherever possible
      to make use of these functions. Some older drivers are too dependent on
      PCI to be properly updated, but all newer code on which future chips may
      depend should at least be runnable with platform devices.
      Signed-off-by: NAlexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      420b9469
    • B
      drm/nouveau: support modesetting on GM107 · 0b681687
      Ben Skeggs 提交于
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      0b681687
  8. 30 1月, 2014 2 次提交
  9. 23 1月, 2014 3 次提交
  10. 08 1月, 2014 1 次提交
  11. 03 12月, 2013 2 次提交
  12. 14 11月, 2013 4 次提交
  13. 08 11月, 2013 2 次提交
  14. 09 10月, 2013 1 次提交
    • D
      drm/nouveau: embed gem object in nouveau_bo · 55fb74ad
      David Herrmann 提交于
      There is no reason to keep the gem object separately allocated. nouveau is
      the last user of gem_obj->driver_private, so if we embed it, we can get
      rid of 8bytes per gem-object.
      
      The implementation follows the radeon driver. bo->gem is only valid, iff
      the bo was created via the gem helpers _and_ iff the user holds a valid
      gem reference. That is, as the gem object holds a reference to the
      nouveau_bo. If you use nouveau_ref() to gain a bo reference, you are not
      guaranteed to also hold a gem reference. The gem object might get
      destroyed after the last user drops the gem-ref via
      drm_gem_object_unreference(). Use drm_gem_object_reference() to gain a
      gem-reference.
      
      For debugging, we can use bo->gem.filp != NULL to test whether a gem-bo is
      valid. However, this shouldn't be used for real functionality to avoid
      gem-internal dependencies.
      
      Note that the implementation follows the previous style. However, we no
      longer can check for bo->gem != NULL to test for a valid gem object. This
      wasn't done before, so we should be safe now.
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Acked-by: NMaarten Lankhorst <maarten.lankhorst@canonical.com>
      Reviewed-by: NBen Skeggs <bskeggs@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      55fb74ad
  15. 17 9月, 2013 1 次提交
  16. 04 9月, 2013 1 次提交
  17. 30 8月, 2013 1 次提交
  18. 29 8月, 2013 1 次提交
    • D
      nouveau: add runtime PM support (v0.9) · 5addcf0a
      Dave Airlie 提交于
      This hooks nouveau up to the runtime PM system to enable
      dynamic power management for secondary GPUs in switchable
      and optimus laptops.
      
      a) rewrite suspend/resume printks to hide them during dynamic s/r
      to avoid cluttering logs
      b) add runtime pm suspend to irq handler, crtc display, ioctl handler,
      connector status,
      c) handle hdmi audio dynamic power on/off using magic register.
      
      v0.5:
      make sure we hit D3 properly
      fix fbdev_set_suspend locking interaction, we only will poweroff if we have no
      active crtcs/fbcon anyways.
      add reference for active crtcs.
      sprinkle mark last busy for autosuspend timeout
      
      v0.6:
      allow more flexible debugging - to avoid log spam
      add option to enable/disable dynpm
      got to D3Cold
      
      v0.7:
      add hdmi audio support.
      
      v0.8:
      call autosuspend from idle, so pci config space access doesn't go straight
      back to sleep, this makes starting X faster.
      only signal usage if we actually handle the irq, otherwise usb keeps us awake.
      fix nv50 display active powerdown
      
      v0.9:
      use masking function to enable hdmi audio
      set busy when we fail to suspend
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      5addcf0a
  19. 21 8月, 2013 1 次提交
  20. 07 8月, 2013 1 次提交
  21. 25 7月, 2013 1 次提交
    • D
      drm/ttm: convert to unified vma offset manager · 72525b3f
      David Herrmann 提交于
      Use the new vma-manager infrastructure. This doesn't change any
      implementation details as the vma-offset-manager is nearly copied 1-to-1
      from TTM.
      
      The vm_lock is moved into the offset manager so we can drop it from TTM.
      During lookup, we use the vma locking helpers to take a reference to the
      found object.
      In all other scenarios, locking stays the same as before. We always
      guarantee that drm_vma_offset_remove() is called only during destruction.
      Hence, helpers like drm_vma_node_offset_addr() are always safe as long as
      the node has a valid offset.
      
      This also drops the addr_space_offset member as it is a copy of vm_start
      in vma_node objects. Use the accessor functions instead.
      
      v4:
       - remove vm_lock
       - use drm_vma_offset_lock_lookup() to protect lookup (instead of vm_lock)
      
      Cc: Dave Airlie <airlied@redhat.com>
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
      Cc: Martin Peres <martin.peres@labri.fr>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Cc: Thomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NDave Airlie <airlied@gmail.com>
      72525b3f
  22. 10 7月, 2013 1 次提交