1. 09 4月, 2010 5 次提交
  2. 15 3月, 2010 1 次提交
  3. 10 3月, 2010 2 次提交
  4. 03 3月, 2010 1 次提交
  5. 01 3月, 2010 2 次提交
    • D
      vga_switcheroo: fix build on platforms with no ACPI · 8edb381d
      Dave Airlie 提交于
      radeon was always including the atpx code unnecessarily, also core
      switcheroo was including acpi headers.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      8edb381d
    • D
      vga_switcheroo: initial implementation (v15) · 6a9ee8af
      Dave Airlie 提交于
      Many new laptops now come with 2 gpus, one to be used for low power
      modes and one for gaming/on-ac applications. These GPUs are typically
      wired to the laptop panel and VGA ports via a multiplexer unit which
      is controlled via ACPI methods.
      
      4 combinations of systems typically exist - with 2 ACPI methods.
      Intel/ATI - Lenovo W500/T500 - use ATPX ACPI method
      ATI/ATI - some ASUS - use ATPX ACPI Method
      Intel/Nvidia - - use _DSM ACPI method
      Nvidia/Nvidia -  - use _DSM ACPI method.
      
      TODO:
      This patch adds support for the ATPX method and initial bits
      for the _DSM methods that need to written by someone with
      access to the hardware.
      Add a proper non-debugfs interface - need to get some proper
      testing first.
      
      v2: add power up/down support for both devices
      on W500 puts i915/radeon into D3 and cuts power to radeon.
      
      v3: redo probing methods, no DMI list, drm devices call to
      register with switcheroo, it tries to find an ATPX method on
      any device and once there is two devices + ATPX it inits the
      switcher.
      
      v4: ATPX msg handling using buffers - should work on more machines
      
      v5: rearchitect after more mjg59 discussion - move ATPX handling to
          radeon driver.
      
      v6: add file headers + initial nouveau bits (to be filled out).
      
      v7: merge delayed switcher code.
      
      v8: avoid suspend/resume of gpu that is off
      
      v9: rearchitect - mjg59 is always right. - move all ATPX code to
      radeon, should allow simpler DSM also proper ATRM handling
      
      v10: add ATRM support for radeon BIOS, add mutex to lock vgasr_priv
      
      v11: fix bug in resuming Intel for 2nd time.
      
      v12: start fixing up nvidia code blindly.
      
      v13: blindly guess at finishing nvidia code
      
      v14: remove radeon audio hacks - fix up intel resume more like upstream
      
      v15: clean up printks + remove unnecessary igd/dis pointers
      
      mount debugfs
      
      /sys/kernel/debug/vgaswitcheroo/switch - should exist if ATPX detected
       + 2 cards.
      
      DIS - immediate change to discrete
      IGD - immediate change to IGD
      DDIS - delayed change to discrete
      DIGD - delayed change to IGD
      ON - turn on not in use
      OFF - turn off not in use
      
      Tested on W500 (Intel/ATI) and T500 (Intel/ATI)
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      6a9ee8af
  6. 25 2月, 2010 5 次提交
  7. 23 2月, 2010 1 次提交
  8. 09 2月, 2010 2 次提交
  9. 25 1月, 2010 1 次提交
  10. 15 1月, 2010 1 次提交
    • B
      drm/nouveau: reserve VGA area for the moment · ac8fb975
      Ben Skeggs 提交于
      This is to prevent things such as GART tables and other important GPU
      structures being allocated there before we take over fbcon ourselves.
      
      This is more of a workaround for the moment, a better solution will
      require some more invasive changes, but it'll be done at some point.
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      ac8fb975
  11. 11 1月, 2010 14 次提交
  12. 16 12月, 2009 2 次提交
    • B
      drm/nv40: implement ctxprog/state generation · 054b93e4
      Ben Skeggs 提交于
      The context programs are *very* simple compared to the ones used by
      the binary driver.  There's notes in nv40_grctx.c explaining most of
      the things we don't implement.  If we discover if/why any of it is
      required further down the track, we'll handle it then.
      
      The PGRAPH state generated for each chipset should match what NVIDIA
      do almost exactly (there's a couple of exceptions).  If someone has
      a lot of time on their hands, they could figure out the mapping of
      object/method to PGRAPH register and demagic the initial state a little,
      it's not terribly important however.
      
      At time of commit, confirmed to be working at least well enough for
      accelerated X (and where tested, for 3D apps) on NV40, NV43, NV44, NV46,
      NV49, NV4A, NV4B and NV4E.
      
      A module option has been added to force the use of external firmware
      blobs if it becomes required.
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      054b93e4
    • M
      drm/nouveau: use drm debug levels · ef2bb506
      Maarten Maathuis 提交于
      - Use driver level (0x2) for NV_DEBUG instead of all levels
      - Create a NV_DEBUG_KMS for KMS level (0x4) and use them in modesetting code
      - Remove a few odd NV_TRACE calls and replace some of them with NV_DEBUG_KMS or
      NV_INFO
      Signed-off-by: NMaarten Maathuis <madman2003@gmail.com>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      ef2bb506
  13. 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