1. 09 Feb, 2016 1 commit
    • Lukas Wunner's avatar
      drm/nouveau: Switch DDC when reading the EDID · 39c1c901
      Lukas Wunner authored
      The pre-retina MacBook Pro uses an LVDS panel and a gmux controller
      to switch the panel between its two GPUs. The panel mode in VBIOS
      is notoriously bogus on these machines.
      Use drm_get_edid_switcheroo() in lieu of drm_get_edid() on LVDS
      if the vga_switcheroo handler is capable of temporarily switching
      the panel's DDC lines to the discrete GPU. This allows us to retrieve
      the EDID if the panel is currently muxed to the integrated GPU.
      Likewise, ask vga_switcheroo to switch DDC before probing LVDS
      This only enables EDID probing on the pre-retina MBP (2008 - 2013).
      The retina MBP (2012 - present) uses eDP and gmux is not capable of
      switching AUX separately from the main link on these models.
      This will be addressed in later patches.
      List of pre-retina MBPs with dual GPUs, either or both Nvidia:
          [MBP  5,1 2008  nvidia MCP79 + G96        pre-retina  15"]
          [MBP  5,2 2009  nvidia MCP79 + G96        pre-retina  17"]
          [MBP  5,3 2009  nvidia MCP79 + G96        pre-retina  15"]
          [MBP  6,2 2010  intel ILK + nvidia GT216  pre-retina  15"]
          [MBP  6,1 2010  intel ILK + nvidia GT216  pre-retina  17"]
          [MBP  9,1 2012  intel IVB + nvidia GK107  pre-retina  15"]
      v3: Commit newly added due to introduction of drm_get_edid_switcheroo()
          wrapper which drivers need to opt-in to.
      v5: Rebase on "vga_switcheroo: Add handler flags infrastructure",
          i.e. call drm_get_edid_switcheroo() only if the handler
          indicates that DDC is switchable.
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=88861
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61115
      Tested-by: default avatarLukas Wunner <lukas@wunner.de>
          [MBP  9,1 2012  intel IVB + nvidia GK107  pre-retina  15"]
      Signed-off-by: default avatarLukas Wunner <lukas@wunner.de>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: http://patchwork.freedesktop.org/patch/msgid/e9466eb3d66b5b30f1e93c3b3da79d8b9ad0830f.1452525860.git.lukas@wunner.de
  2. 11 Jan, 2016 4 commits
  3. 08 Dec, 2015 1 commit
  4. 28 Aug, 2015 3 commits
  5. 27 Jul, 2015 1 commit
  6. 07 Apr, 2015 1 commit
    • Jani Nikula's avatar
      drm/nouveau: constify all struct drm_*_helper funcs pointers · d58ded76
      Jani Nikula authored
      They are not to be modified.
      Generated using the semantic patch:
        const struct drm_crtc_helper_funcs *
      - struct drm_crtc_helper_funcs *
      + const struct drm_crtc_helper_funcs *
        const struct drm_encoder_helper_funcs *
      - struct drm_encoder_helper_funcs *
      + const struct drm_encoder_helper_funcs *
        const struct drm_connector_helper_funcs *
      - struct drm_connector_helper_funcs *
      + const struct drm_connector_helper_funcs *
        const struct drm_plane_helper_funcs *
      - struct drm_plane_helper_funcs *
      + const struct drm_plane_helper_funcs *
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
  7. 22 Jan, 2015 6 commits
  8. 15 Sep, 2014 1 commit
  9. 09 Aug, 2014 4 commits
  10. 18 Jul, 2014 1 commit
  11. 19 Jun, 2014 1 commit
  12. 11 Jun, 2014 6 commits
  13. 04 Jun, 2014 1 commit
  14. 26 Mar, 2014 2 commits
  15. 08 Nov, 2013 2 commits
  16. 09 Oct, 2013 1 commit
  17. 29 Aug, 2013 1 commit
    • Dave Airlie's avatar
      nouveau: add runtime PM support (v0.9) · 5addcf0a
      Dave Airlie authored
      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.
      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
      allow more flexible debugging - to avoid log spam
      add option to enable/disable dynpm
      got to D3Cold
      add hdmi audio support.
      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
      use masking function to enable hdmi audio
      set busy when we fail to suspend
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
  18. 26 Apr, 2013 1 commit
    • Ben Skeggs's avatar
      drm/nv04/disp: hide all the cruft away in its own little hole · 1a646342
      Ben Skeggs authored
      It'd be pretty awesome if someone would care enough to port this all
      properly to a class interface, perhaps submitting a command stream to
      the core via a sw object on PFIFO (emulating how EVO works basically,
      and also what nvidia have done forever..)..
      But, this seems unlikely given how old this hardware is now, so, lets
      just hide it away.
      There's a heap of other bits and pieces laying around that are still
      tangled.  I'll (re)move them in pieces.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
  19. 20 Feb, 2013 2 commits