1. 19 10月, 2010 1 次提交
  2. 06 10月, 2010 1 次提交
    • J
      drm, kdb, kms: Add an enter argument to mode_set_base_atomic() API · 413d45d3
      Jason Wessel 提交于
      Some devices such as the radeon chips receive information from user
      space which needs to be saved when executing an atomic mode set
      operation, else the user space would have to be queried again for the
      information.
      
      This patch extends the mode_set_base_atomic() call to pass an argument
      to indicate if this is an entry or an exit from an atomic kernel mode
      set change.  Individual drm drivers can properly save and restore
      state accordingly.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      CC: Jesse Barnes <jbarnes@virtuousgeek.org>
      CC: David Airlie <airlied@linux.ie>
      CC: dri-devel@lists.freedesktop.org
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      413d45d3
  3. 05 8月, 2010 1 次提交
  4. 07 7月, 2010 1 次提交
  5. 01 6月, 2010 1 次提交
  6. 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
  7. 07 4月, 2010 2 次提交
    • D
      drm/kms/fb: separate fbdev connector list from core drm connectors · 0b4c0f3f
      Dave Airlie 提交于
      This breaks the connection between the core drm connector list
      and the fbdev connector usage, and allows them to become disjoint
      in the future. It also removes the untype void* that was in the
      connector struct to support this.
      
      All connectors are added to the fbdev now but this could be
      changed in the future.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      0b4c0f3f
    • 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
  8. 05 10月, 2009 1 次提交
  9. 28 9月, 2009 1 次提交
  10. 02 9月, 2009 1 次提交
  11. 31 8月, 2009 1 次提交
  12. 04 6月, 2009 1 次提交
    • K
      drm: Hook up DPMS property handling in drm_crtc.c. Add drm_helper_connector_dpms. · c9fb15f6
      Keith Packard 提交于
      Making the drm_crtc.c code recognize the DPMS property and invoke the
      connector->dpms function doesn't remove any capability from the driver while
      reducing code duplication.
      
      That just highlighted the problem with the existing DPMS functions which
      could turn off the connector, but failed to turn off any relevant crtcs. The
      new drm_helper_connector_dpms function manages all of that, using the
      drm_helper-specific crtc and encoder dpms functions, automatically computing
      the appropriate DPMS level for each object in the system.
      
      This fixes the current troubles in the i915 driver which left PLLs, pipes
      and planes running while in DPMS_OFF mode or even while they were unused.
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      c9fb15f6
  13. 03 4月, 2009 2 次提交
  14. 25 2月, 2009 1 次提交
  15. 20 2月, 2009 1 次提交
  16. 16 1月, 2009 1 次提交
    • J
      drm: initial KMS config fixes · 40a518d9
      Jesse Barnes 提交于
      When mode setting is first initialized, the driver will call into
      drm_helper_initial_config() to set up an initial output and framebuffer
      configuration.  This routine is responsible for probing the available
      connectors, encoders, and crtcs, looking for modes and putting together
      something reasonable (where reasonable is defined as "allows kernel
      messages to be visible on as many displays as possible").
      
      However, the code was a bit too aggressive in setting default modes when
      none were found on a given connector.  Even if some connectors had modes,
      any connectors found lacking modes would have the default 800x600 mode added
      to their mode list, which in some cases could cause problems later down the
      line.  In my case, the LVDS was perfectly available, but the initial config
      code added 800x600 modes to both of the detected but unavailable HDMI
      connectors (which are on my non-existent docking station).  This ended up
      preventing later code from setting a mode on my LVDS, which is bad.
      
      This patch fixes that behavior by making the initial config code walk
      through the connectors first, counting the available modes, before it decides
      to add any default modes to a possibly connected output.  It also fixes the
      logic in drm_target_preferred() that was causing zeroed out modes to be set
      as the preferred mode for a given connector, even if no modes were available.
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Signed-off-by: NDave Airlie <airlied@linux.ie>
      40a518d9
  17. 29 12月, 2008 2 次提交
    • K
      drm: pin new and unpin old buffer when setting a mode. · 3c4fdcfb
      Kristian Høgsberg 提交于
      This removes the requirement for user space to pin a buffer before
      setting a mode that is backed by the pixels from that buffer.
      Signed-off-by: NKristian Høgsberg <krh@redhat.com>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Signed-off-by: NDave Airlie <airlied@linux.ie>
      3c4fdcfb
    • D
      DRM: add mode setting support · f453ba04
      Dave Airlie 提交于
      Add mode setting support to the DRM layer.
      
      This is a fairly big chunk of work that allows DRM drivers to provide
      full output control and configuration capabilities to userspace.  It was
      motivated by several factors:
        - the fb layer's APIs aren't suited for anything but simple
          configurations
        - coordination between the fb layer, DRM layer, and various userspace
          drivers is poor to non-existent (radeonfb excepted)
        - user level mode setting drivers makes displaying panic & oops
          messages more difficult
        - suspend/resume of graphics state is possible in many more
          configurations with kernel level support
      
      This commit just adds the core DRM part of the mode setting APIs.
      Driver specific commits using these new structure and APIs will follow.
      
      Co-authors: Jesse Barnes <jbarnes@virtuousgeek.org>, Jakob Bornecrantz <jakob@tungstengraphics.com>
      Contributors: Alan Hourihane <alanh@tungstengraphics.com>, Maarten Maathuis <madman2003@gmail.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      f453ba04