1. 02 10月, 2014 1 次提交
    • B
      drm/nouveau: punt fbcon resume out to a workqueue · 634ffccc
      Ben Skeggs 提交于
      Preparation for some runtime pm fixes.  Currently we skip over fbcon
      suspend/resume in the runtime path, which causes issues on resume if
      fbcon tries to write to the framebuffer before the BAR subdev has
      been resumed to restore the BAR1 VM setup.
      
      As we might be woken up via a sysfs connector, we are unable to call
      fb_set_suspend() in the resume path as it could make its way down to
      a modeset and cause all sorts of locking hilarity.
      
      To solve this, we'll just delay the fbcon resume to a workqueue.
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      634ffccc
  2. 10 8月, 2014 2 次提交
  3. 08 7月, 2014 1 次提交
    • B
      drm/nouveau/kms: restore fbcon after display has been resumed · 028791bb
      Ben Skeggs 提交于
      Under some complicated circumstances (boot, suspend, resume, attach
      second display, suspend, resume, suspend, detach second display,
      resume, suspend, attach second display, resume), the fb_set_suspend()
      call can somehow result in a modeset being attempted before we're
      ready for it and things blow up in fun ways.
      
      Running display init first fixes the issue.
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      028791bb
  4. 03 10月, 2012 3 次提交
  5. 21 12月, 2010 1 次提交
  6. 03 12月, 2010 1 次提交
  7. 18 5月, 2010 1 次提交
    • D
      drm/fbdev: rework output polling to be back in the core. (v4) · eb1f8e4f
      Dave Airlie 提交于
      After thinking it over a lot it made more sense for the core to deal with
      the output polling especially so it can notify X.
      
      v2: drop plans for fake connector - per Michel's comments - fix X patch sent to xorg-devel, add intel polled/hpd setting, add initial nouveau polled/hpd settings.
      
      v3: add config lock take inside polling, add intel/nouveau poll init/fini calls
      
      v4: config lock was a bit agressive, only needed around connector list reading.
      otherwise it could re-enter.
      
      glisse: discard drm_helper_hpd_irq_event
      
      v3: Reviewed-by: Michel Dänzer <michel@daenzer.net>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      eb1f8e4f
  8. 07 4月, 2010 3 次提交
    • D
      drm/kms/fb: use slow work mechanism for normal hotplug also. · 4abe3520
      Dave Airlie 提交于
      a) slow work is always used now for any fbcon hotplug, as its not
         a fast task and is more suited to being ran under slow work.
      
      b) attempt to not do any fbdev changes when X is running as we'll
         just mess it up. This hooks set_par to hopefully do the changes
         once X hands control to fbdev.
      
      This also adds the nouveau/intel hotplug support.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      4abe3520
    • D
      drm/kms/fb: move to using fb helper crtc grouping instead of core crtc list · 8be48d92
      Dave Airlie 提交于
      This move to using the list of crtcs in the fb helper and cleans up the
      whole picking code, now we store the crtc/connectors we want directly
      into the modeset and we use the modeset directly to set the mode.
      
      Fixes from James Simmons and Ben Skeggs.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      8be48d92
    • D
      drm/fb: fix fbdev object model + cleanup properly. · 38651674
      Dave Airlie 提交于
      The fbdev layer in the kms code should act like a consumer of the kms services and avoid having relying on information being store in the kms core structures in order for it to work.
      
      This patch
      
      a) removes the info pointer/psuedo palette from the core drm_framebuffer structure and moves it to the fbdev helper layer, it also removes the core drm keeping a list of kernel kms fbdevs.
      b) migrated all the fb helper functions out of the crtc helper file into the fb helper file.
      c) pushed the fb probing/hotplug control into the driver
      d) makes the surface sizes into a structure for ease of passing
      This changes the intel/radeon/nouveau drivers to use the new helper.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      38651674
  9. 09 2月, 2010 1 次提交
  10. 11 1月, 2010 2 次提交
  11. 11 12月, 2009 1 次提交
    • B
      drm/nouveau: Add DRM driver for NVIDIA GPUs · 6ee73861
      Ben Skeggs 提交于
      This adds a drm/kms staging non-API stable driver for GPUs from NVIDIA.
      
      This driver is a KMS-based driver and requires a compatible nouveau
      userspace libdrm and nouveau X.org driver.
      
      This driver requires firmware files not available in this kernel tree,
      interested parties can find them via the nouveau project git archive.
      
      This driver is reverse engineered, and is in no way supported by nVidia.
      
      Support for nearly the complete range of nvidia hw from nv04->g80 (nv50)
      is available, and the kms driver should support driving nearly all
      output types (displayport is under development still) along with supporting
      suspend/resume.
      
      This work is all from the upstream nouveau project found at
      nouveau.freedesktop.org.
      
      The original authors list from nouveau git tree is:
      Anssi Hannula <anssi.hannula@iki.fi>
      Ben Skeggs <bskeggs@redhat.com>
      Francisco Jerez <currojerez@riseup.net>
      Maarten Maathuis <madman2003@gmail.com>
      Marcin Kościelnicki <koriakin@0x04.net>
      Matthew Garrett <mjg@redhat.com>
      Matt Parnell <mparnell@gmail.com>
      Patrice Mandin <patmandin@gmail.com>
      Pekka Paalanen <pq@iki.fi>
      Xavier Chantry <shiningxc@gmail.com>
      along with project founder Stephane Marchesin <marchesin@icps.u-strasbg.fr>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      6ee73861